关键事项、周进度、月度计划

This commit is contained in:
2025-03-24 14:21:16 +08:00
parent 4ee7d38c78
commit 477afee030
58 changed files with 4929 additions and 1732 deletions
+13 -10
View File
@@ -19,7 +19,7 @@
ClicksToEdit="1" DataIDField="MonthPlanId" AllowSorting="true" SortField="SortIndex"
SortDirection="ASC" EnableColumnLines="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="1000"
AllowFilters="true" EnableTextSelection="True">
AllowFilters="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
@@ -31,19 +31,19 @@
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="BtnAnalyse" ToolTip="统计" Icon="ChartPie" runat="server" OnClick="BtnAnalyse_Click">
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" runat="server"
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" OnClick="btnNew_Click" runat="server"
Hidden="true">
</f:Button>
<f:Button ID="btnModify" ToolTip="修改" Icon="Pencil" OnClick="btnModify_Click" runat="server"
<%--<f:Button ID="btnModify" ToolTip="修改" Icon="Pencil" OnClick="btnModify_Click" runat="server"
Hidden="true">
</f:Button>--%>
<f:Button ID="btnImport" ToolTip="导入" Icon="PackageIn" runat="server"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Icon="ApplicationGet" runat="server"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@@ -89,6 +89,9 @@
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Hidden="true" Icon="Pencil" Text="修改"
OnClick="btnMenuModify_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Hidden="true" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click">
</f:MenuButton>
+94 -43
View File
@@ -19,12 +19,25 @@ namespace FineUIPro.Web.JDGL.Check
if (!IsPostBack)
{
GetButtonPower();
btnNew.OnClientClick = Window1.GetShowReference("MonthPlanEdit.aspx") + "return false;";
this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
//btnNew.OnClientClick = Window1.GetShowReference("MonthPlanEditNew.aspx") + "return false;";
//btnNew.OnClientClick = Window1.GetShowReference(String.Format("MonthPlanEditNew.aspx?Months={0}", this.txtMonths.Text, "新增 - ")) + "return false;";
BindGrid();
}
}
#region 编制
/// <summary>
/// 编制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanEditNew.aspx?Months={0}", this.txtMonths.Text), "新增 - 月度计划"));
}
#endregion
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
@@ -43,17 +56,41 @@ namespace FineUIPro.Web.JDGL.Check
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnNew.Hidden = false;
this.btnModify.Hidden = false;
//this.btnModify.Hidden = false;
//this.btnMenuDel.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
protected void btnMenuModify_Click(object sender, EventArgs e)
{
EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanEditNew.aspx?Id={0}", Grid1.SelectedRowID), "编辑 - 月度计划"));
}
protected void btnModify_Click(object sender, EventArgs e)
{
Window1.Title = "录入";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanEdit.aspx?Months={0}", this.txtMonths.Text, "编辑 - ")));
//Window1.Title = "录入";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanEditNew.aspx?Months={0}", this.txtMonths.Text), "编辑 - 月度计划"));
}
/// <summary>
@@ -61,14 +98,18 @@ namespace FineUIPro.Web.JDGL.Check
/// </summary>
private void BindGrid()
{
string strSql = @"select mp.*,u.UnitName,us.UserName as DutyPersonName from [dbo].[JDGL_MonthPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
left join Sys_User us on us.UserId=mp.DutyPerson where mp.ProjectId=@ProjectId and mp.Months=@month order by mp.SortIndex";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@month", string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"))));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// string strSql = @"select mp.*,u.UnitName
//,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
//from [dbo].[JDGL_MonthPlan] mp
//left join Base_Unit u on u.UnitId=mp.UnitId
//where mp.ProjectId=@ProjectId and mp.Months=@month order by mp.SortIndex";
// List<SqlParameter> listStr = new List<SqlParameter>();
// listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
// listStr.Add(new SqlParameter("@month", string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"))));
// SqlParameter[] parameter = listStr.ToArray();
// DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
DataTable tb = BindData();
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
@@ -76,6 +117,24 @@ left join Sys_User us on us.UserId=mp.DutyPerson where mp.ProjectId=@ProjectId a
Grid1.DataBind();
}
/// <summary>
/// 加载数据
/// </summary>
/// <returns></returns>
private DataTable BindData()
{
string strSql = @"select mp.*,u.UnitName
,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from [dbo].[JDGL_MonthPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
where mp.ProjectId=@ProjectId and mp.Months=@month order by mp.SortIndex";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@month", string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"))));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
return tb;
}
#region 月份选择事件
/// <summary>
/// 月份选择事件
@@ -144,8 +203,8 @@ left join Sys_User us on us.UserId=mp.DutyPerson where mp.ProjectId=@ProjectId a
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
Window1.Title = "导入";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - ")));
//Window1.Title = "导入";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId), "导入 - 月度计划"));
}
/// <summary>
@@ -167,8 +226,7 @@ left join Sys_User us on us.UserId=mp.DutyPerson where mp.ProjectId=@ProjectId a
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
Window1.Title = "统计";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanStatisc.aspx", "统计 - ")));
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanStatisc.aspx"), "统计 - 月度计划"));
}
#endregion
@@ -200,10 +258,7 @@ left join Sys_User us on us.UserId=mp.DutyPerson where mp.ProjectId=@ProjectId a
workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
}
Model.SGGLDB db = Funs.DB;
var units = from x in db.Base_Unit select x;
var users = from x in db.Sys_User select x;
DateTime months = Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01");
var lists = from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months orderby x.SortIndex select x;
DataTable tb = BindData();
// 创建单元格样式
NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
@@ -219,56 +274,51 @@ left join Sys_User us on us.UserId=mp.DutyPerson where mp.ProjectId=@ProjectId a
cellStyle.SetFont(font);
// 第二步:创建新数据行
NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0);
NPOI.SS.UserModel.IRow row = null;
NPOI.SS.UserModel.ICell cell;
int i = 1;
foreach (var item in lists)
for (int j = 0; j < tb.Rows.Count; j++)
{
// 第二步:创建新数据行
NPOI.SS.UserModel.IRow row = sheet.CreateRow(i);
NPOI.SS.UserModel.ICell cell;
row = sheet.CreateRow(i);
// 添加数据
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
cell.SetCellValue(i.ToString());
cell = row.CreateCell(1);
cell.CellStyle = cellStyle;
string unitName = string.Empty;
var unit = units.FirstOrDefault(x => x.UnitId == item.UnitId);
if (unit != null)
{
unitName = unit.UnitName;
}
cell.SetCellValue(unitName);
//string unitName = string.Empty;
//var unit = units.FirstOrDefault(x => x.UnitId == item.UnitId);
//if (unit != null)
//{
// unitName = unit.UnitName;
//}
cell.SetCellValue(tb.Rows[j]["UnitName"].ToString());
cell = row.CreateCell(2);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.NodeContent);
cell.SetCellValue(tb.Rows[j]["NodeContent"].ToString());
cell = row.CreateCell(3);
cell.CellStyle = cellStyle;
string planDate = string.Empty;
if (item.PlanDate != null)
if (tb.Rows[j]["PlanDate"] != DBNull.Value)
{
planDate = string.Format("{0:yyyy-MM-dd}", item.PlanDate);
planDate = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(tb.Rows[j]["PlanDate"].ToString()));
}
cell.SetCellValue(planDate);
cell = row.CreateCell(4);
cell.CellStyle = cellStyle;
string userName = string.Empty;
var user = users.FirstOrDefault(x => x.UserId == item.DutyPerson);
if (user != null)
{
userName = user.UserName;
}
cell.SetCellValue(userName);
cell.SetCellValue(tb.Rows[j]["DutyPersonName"].ToString());
cell = row.CreateCell(5);
cell.CellStyle = cellStyle;
string realDate = string.Empty;
if (item.RealDate != null)
if (tb.Rows[j]["RealDate"] != DBNull.Value)
{
realDate = string.Format("{0:yyyy-MM-dd}", item.RealDate);
realDate = string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(tb.Rows[j]["RealDate"].ToString()));
}
cell.SetCellValue(realDate);
cell = row.CreateCell(6);
cell.CellStyle = cellStyle;
cell.SetCellValue(item.Remark);
cell.SetCellValue(tb.Rows[j]["Remark"].ToString());
i++;
}
// 第三步:写入文件流
@@ -290,5 +340,6 @@ left join Sys_User us on us.UserId=mp.DutyPerson where mp.ProjectId=@ProjectId a
File.Delete(newUrl);
}
#endregion
}
}
+30 -28
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class MonthPlan {
namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlan
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtMonths 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonths;
/// <summary>
/// btnSave 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// BtnAnalyse 控件。
/// </summary>
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// btnNew 控件。
/// </summary>
@@ -92,16 +94,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnModify;
/// <summary>
/// btnImport 控件。
/// </summary>
@@ -110,7 +103,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnOut 控件。
/// </summary>
@@ -119,7 +112,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
@@ -128,7 +121,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -137,7 +130,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
@@ -146,7 +139,16 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
@@ -64,22 +64,24 @@
<f:RenderField Width="95px" ColumnID="PlanDate" DataField="PlanDate" Renderer="Date" RendererArgument="yyyy-MM-dd"
FieldType="Date" HeaderText="计划完成时间" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanDate" runat="server" ShowRedStar="true" Required="true"
EnableEdit="true" DateFormatString="yyyy-MM-dd"></f:DatePicker>
<f:DatePicker ID="txtPlanDate" runat="server" ShowRedStar="true" Required="true"
EnableEdit="false" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DutyPerson" DataField="DutyPerson"
FieldType="String" HeaderText="五环责任人" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpDutyPerson" EnableEdit="true"></f:DropDownList>
<f:DropDownList runat="server" ID="drpDutyPerson" EnableCheckBoxSelect="true" EnableMultiSelect="true" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" Renderer="Date" RendererArgument="yyyy-MM-dd"
FieldType="Date" HeaderText="实际完成时间" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtRealDate" runat="server" ShowRedStar="true" Required="true"
EnableEdit="true" DateFormatString="yyyy-MM-dd"></f:DatePicker>
<f:DatePicker ID="txtRealDate" runat="server" ShowRedStar="true" Required="true"
EnableEdit="true" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
@@ -1,7 +1,10 @@
using BLL;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
@@ -48,22 +51,44 @@ namespace FineUIPro.Web.JDGL.Check
{
DateTime months = Convert.ToDateTime(this.txtMonth.Text + "-01");
Model.SGGLDB db = Funs.DB;
Grid1.DataSource = from x in db.JDGL_MonthPlan
where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months
orderby x.SortIndex
select new
{
x.MonthPlanId,
x.ProjectId,
x.Months,
UnitId = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName,
x.NodeContent,
x.PlanDate,
DutyPerson = db.Sys_User.First(y => y.UserId == x.DutyPerson).UserName,
x.RealDate,
x.Remark,
};
string strSql = @"select
mplan.MonthPlanId,mplan.ProjectId,mplan.Months,mplan.NodeContent,mplan.PlanDate,mplan.RealDate,mplan.Remark,unit.UnitName as UnitId
,DutyPerson = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mplan.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from JDGL_MonthPlan as mplan
left join Base_Unit as unit on unit.UnitId = mplan.UnitId
where mplan.ProjectId = @ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
strSql += " and mplan.Months = @months";
listStr.Add(new SqlParameter("@months", months));
strSql += " order by mplan.SortIndex ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = tb;
Grid1.DataBind();
//Grid1.DataSource = from x in db.JDGL_MonthPlan
// where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months
// orderby x.SortIndex
// select new
// {
// x.MonthPlanId,
// x.ProjectId,
// x.Months,
// UnitId = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName,
// x.NodeContent,
// x.PlanDate,
// DutyPerson = db.Sys_User.First(y => y.UserId == x.DutyPerson).UserName,
// x.RealDate,
// x.Remark,
// };
//Grid1.DataBind();
}
#region 月份选择事件
@@ -110,11 +135,22 @@ namespace FineUIPro.Web.JDGL.Check
}
MonthPlan.NodeContent = item.NodeContent;
MonthPlan.PlanDate = item.PlanDate;
var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
if (user != null)
var dutyPersons = item.DutyPerson.Split(',');
string dutyPersonIds = string.Empty;
foreach (var dutyPerson in dutyPersons)
{
MonthPlan.DutyPerson = user.UserId;
var user = users.FirstOrDefault(x => x.UserName == dutyPerson);
if (user != null)
{
dutyPersonIds = !string.IsNullOrWhiteSpace(dutyPersonIds) ? $"{dutyPersonIds},{user.UserId}" : user.UserId;
}
}
MonthPlan.DutyPerson = dutyPersonIds;
//var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
//if (user != null)
//{
// MonthPlan.DutyPerson = user.UserId;
//}
MonthPlan.RealDate = item.RealDate;
MonthPlan.Remark = item.Remark;
MonthPlan.CompileMan = this.CurrUser.UserId;
+23 -30
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class MonthPlanEdit {
namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlanEdit
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel17 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel17;
/// <summary>
/// Toolbar5 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar5;
/// <summary>
/// txtMonth 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonth;
/// <summary>
/// btnSave 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// Form15 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form15;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
@@ -92,7 +94,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// btnNew 控件。
/// </summary>
@@ -101,7 +103,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// Label1 控件。
/// </summary>
@@ -110,16 +112,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// DropDownList1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList DropDownList1;
/// <summary>
/// drpUnitId 控件。
/// </summary>
@@ -128,7 +121,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitId;
/// <summary>
/// txtNodeContent 控件。
/// </summary>
@@ -137,7 +130,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtNodeContent;
/// <summary>
/// txtPlanDate 控件。
/// </summary>
@@ -146,7 +139,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanDate;
/// <summary>
/// drpDutyPerson 控件。
/// </summary>
@@ -155,7 +148,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpDutyPerson;
/// <summary>
/// txtRealDate 控件。
/// </summary>
@@ -164,7 +157,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtRealDate;
/// <summary>
/// txtRemark 控件。
/// </summary>
@@ -0,0 +1,73 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MonthPlanEditNew.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.MonthPlanEditNew" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false"
AutoScroll="true" BodyPadding="10px" runat="server" RedStarPosition="BeforeText"
LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:DatePicker ID="txtMonths" runat="server" Label="月份" DateFormatString="yyyy-MM" DisplayType="Month" LabelWidth="150px" Required="true" ShowRedStar="true">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpUnit" runat="server" Label="责任单位" LabelWidth="150px" AutoSelectFirstItem="false" AutoPostBack="true" OnSelectedIndexChanged="drpUnit_SelectedIndexChanged" Required="true" ShowRedStar="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpDutyPerson" runat="server" Label="五环责任人" LabelWidth="150px" AutoSelectFirstItem="false" EnableCheckBoxSelect="true" EnableMultiSelect="true" Required="true" ShowRedStar="true">
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtNodeContent" runat="server" Label="节点内容" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true"></f:TextArea>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtPlanDate" runat="server" Label="计划完成时间" LabelAlign="Right" LabelWidth="150px" Required="true" ShowRedStar="true">
</f:DatePicker>
<f:DatePicker ID="txtRealDate" runat="server" Label="实际完成时间" LabelAlign="Right" LabelWidth="150px">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextArea ID="txtRemark" runat="server" Label="备注" LabelAlign="Right" LabelWidth="150px"></f:TextArea>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1" Text="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>
@@ -0,0 +1,177 @@
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlanEditNew : PageBase
{
#region 定义项
/// <summary>
/// 主键
/// </summary>
private string Id
{
get
{
return (string)ViewState["Id"];
}
set
{
ViewState["Id"] = value;
}
}
/// <summary>
/// 默认月
/// </summary>
private string Months
{
get
{
return (string)ViewState["Months"];
}
set
{
ViewState["Months"] = value;
}
}
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Id = Request.Params["Id"];
this.ProjectId = this.CurrUser.LoginProjectId;
BLL.ProjectUnitService.InitUnitDropDownList(drpUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
if (!string.IsNullOrEmpty(Id))
{
var model = Funs.DB.JDGL_MonthPlan.FirstOrDefault(x => x.MonthPlanId == Id);
if (model != null)
{
txtMonths.Text = string.Format("{0:yyyy-MM}", model.Months);
txtMonths.Readonly = true;
drpUnit.SelectedValue = model.UnitId;
//责任人
UserService.InitUserDropDownList(drpDutyPerson, this.CurrUser.LoginProjectId, false, model.UnitId);
if (!string.IsNullOrEmpty(model.DutyPerson))
{
List<string> listPersonId = model.DutyPerson.Split(',').ToList();
drpDutyPerson.SelectedValueArray = listPersonId.ToArray();
}
if (model.PlanDate != null)
this.txtPlanDate.Text = Convert.ToDateTime(model.PlanDate).ToString("yyyy-MM-dd");
if (model.RealDate != null)
this.txtRealDate.Text = Convert.ToDateTime(model.RealDate).ToString("yyyy-MM-dd");
txtNodeContent.Text = model.NodeContent;
txtRemark.Text = model.Remark;
}
}
else
{
this.Months = Request.Params["Months"];
this.txtMonths.Text = !string.IsNullOrWhiteSpace(this.Months) ? this.Months : DateTime.Now.ToString("yyyy-MM");
}
}
}
/// <summary>
/// 责任单位下拉同步改变责任人
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e)
{
drpDutyPerson.Items.Clear();
var dropUnitId = this.drpUnit.SelectedValue;
if (!string.IsNullOrWhiteSpace(dropUnitId))
{
//责任人
UserService.InitUserDropDownList(drpDutyPerson, this.CurrUser.LoginProjectId, false, dropUnitId);
//UserService.Init2(drpDutyPerson, this.CurrUser.LoginProjectId, false);
}
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
var Months = Convert.ToDateTime(this.txtMonths.Text + "-01");
var model = new Model.JDGL_MonthPlan
{
Months = Months,
UnitId = drpUnit.SelectedValue,
NodeContent = txtNodeContent.Text,
Remark = txtRemark.Text,
PlanDate = Funs.GetNewDateTime(this.txtPlanDate.Text),
CompileMan = this.CurrUser.UserId,
CompileDate = DateTime.Now,
};
if (!string.IsNullOrWhiteSpace(this.txtRealDate.Text))
{
model.RealDate = Funs.GetNewDateTime(this.txtRealDate.Text);
}
model.DutyPerson = string.Join(",", drpDutyPerson.SelectedValueArray);
//foreach (var item in this.drpDutyPerson.SelectedValueArray)
//{
// if (item != BLL.Const._Null)
// {
// if (string.IsNullOrEmpty(model.DutyPerson))
// {
// model.DutyPerson = item;
// }
// else
// {
// model.DutyPerson += "," + item;
// }
// }
//}
if (!string.IsNullOrEmpty(Id))
{
model.MonthPlanId = Id;
BLL.MonthPlanService.UpdateMonthPlan(model);
}
else
{
var lastMonthPlan = Funs.DB.JDGL_MonthPlan.Where(p => p.ProjectId == this.ProjectId && p.Months == Months).OrderByDescending(x => x.SortIndex).FirstOrDefault();
model.MonthPlanId = SQLHelper.GetNewID(typeof(Model.JDGL_MonthPlan));
model.ProjectId = this.ProjectId;
model.SortIndex = lastMonthPlan != null ? lastMonthPlan.SortIndex + 1 : 1;
BLL.MonthPlanService.AddMonthPlan(model);
}
Funs.DB.SubmitChanges();
ShowNotify("保存成功", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}
@@ -0,0 +1,134 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlanEditNew
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtMonths 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonths;
/// <summary>
/// drpUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnit;
/// <summary>
/// drpDutyPerson 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpDutyPerson;
/// <summary>
/// txtNodeContent 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtNodeContent;
/// <summary>
/// txtPlanDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanDate;
/// <summary>
/// txtRealDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtRealDate;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtRemark;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}
@@ -49,35 +49,37 @@ namespace FineUIPro.Web.JDGL.Check
StatisticsList = new List<Model.JDGL_MonthPlan>();
int i = 1;
Model.SGGLDB db = Funs.DB;
//周期集合
List<JDGL_MonthPlan> totalList = new List<JDGL_MonthPlan>();
//累计集合
List<JDGL_MonthPlan> sumTotalList = new List<JDGL_MonthPlan>();
if (cycle == "1")
{//按月
DateTime months = Convert.ToDateTime(this.txtMonths.Text + "-01");
//所有集合
//周期集合
totalList = (from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months select x).ToList();
//所有集合
//累计集合
sumTotalList = (from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.Months <= months select x).ToList();
}
else if (cycle == "2")
{//按年(以上一年度12月份至本年度11月份为一个周期)
DateTime sDate = Convert.ToDateTime(this.txtYear.Text + "-12-01").AddYears(-1);
DateTime eDate = Convert.ToDateTime(this.txtYear.Text + "-12-01");
//所有集合
//周期集合
totalList = (from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.Months >= sDate && x.Months < eDate select x).ToList();
//所有集合
//累计集合
sumTotalList = (from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.Months < eDate select x).ToList();
}
else
else if (cycle == "3")
{//按项目周期
//所有集合
//周期集合
totalList = (from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
//所有集合
//累计集合
sumTotalList = (from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
}
////所有集合
////周期集合
//var totalList = from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months select x;
////所有集合
////累计集合
//var sumTotalList = from x in db.JDGL_MonthPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.Months <= months select x;
if (this.ckType.SelectedValue == "1") //按责任单位
@@ -89,7 +91,7 @@ namespace FineUIPro.Web.JDGL.Check
select y;
foreach (var item in pUnit)
{
//当期集合
//周期集合
var list = totalList.Where(x => x.UnitId == item.UnitId);
Model.JDGL_MonthPlan JDGL_MonthPlan = new Model.JDGL_MonthPlan();
JDGL_MonthPlan.NodeContent = item.UnitName;
@@ -111,17 +113,25 @@ namespace FineUIPro.Web.JDGL.Check
}
else //按五环责任人
{
var user = (from x in db.Sys_User
join y in db.JDGL_MonthPlan on x.UserId equals y.DutyPerson
where y.ProjectId == this.CurrUser.LoginProjectId
orderby x.UserId
select x).Distinct().ToList();
foreach (var item in user)
var users = UserService.GetUserList();
var dutyPersonIds = (from x in db.JDGL_MonthPlan
where x.ProjectId == this.CurrUser.LoginProjectId
select x.DutyPerson).Distinct().ToList();
var userIds = string.Join(",", dutyPersonIds.ToArray()).Split(',').Distinct().Where(x => x != null && x != "").ToList();
//var user = (from x in db.Sys_User
// join y in db.JDGL_MonthPlan on x.UserId equals y.DutyPerson
// where y.ProjectId == this.CurrUser.LoginProjectId
// orderby x.UserId
// select x).Distinct().ToList();
foreach (var item in userIds)
{
//所有集合
var list = totalList.Where(x => x.DutyPerson == item.UserId);
var user = users.Where(x => x.UserId == item).FirstOrDefault();
//周期集合
var list = totalList.Where(x => x.DutyPerson.Contains(item));
Model.JDGL_MonthPlan JDGL_MonthPlan = new Model.JDGL_MonthPlan();
JDGL_MonthPlan.NodeContent = item.UserName;
JDGL_MonthPlan.NodeContent = user.UserName;
int a = list.Count();
int b = list.Count(x => x.RealDate.HasValue);
JDGL_MonthPlan.UnitId = a.ToString();
@@ -156,22 +166,22 @@ namespace FineUIPro.Web.JDGL.Check
}
StatisticsList.Add(StatisticsLast);
}
//增加累计
Model.JDGL_MonthPlan StatisticsSum = new Model.JDGL_MonthPlan();
StatisticsSum.NodeContent = "累计";
int c = sumTotalList.Count();
int d = sumTotalList.Count(x => x.RealDate.HasValue);
StatisticsSum.UnitId = c.ToString();
StatisticsSum.DutyPerson = d.ToString();
if (c != 0)//被除数不能为零
{
StatisticsSum.Remark = Math.Round((double)d / (double)c * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
StatisticsSum.Remark = "0%";
}
StatisticsList.Add(StatisticsSum);
////增加累计
//Model.JDGL_MonthPlan StatisticsSum = new Model.JDGL_MonthPlan();
//StatisticsSum.NodeContent = "累计";
//int c = sumTotalList.Count();
//int d = sumTotalList.Count(x => x.RealDate.HasValue);
//StatisticsSum.UnitId = c.ToString();
//StatisticsSum.DutyPerson = d.ToString();
//if (c != 0)//被除数不能为零
//{
// StatisticsSum.Remark = Math.Round((double)d / (double)c * 100, 2) + "%";//保留两位小数、后四舍五入
//}
//else
//{
// StatisticsSum.Remark = "0%";
//}
//StatisticsList.Add(StatisticsSum);
this.Grid1.DataSource = StatisticsList;
this.Grid1.DataBind();
}
@@ -0,0 +1,93 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekItem.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.WeekItem" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>自定义周</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="自定义周" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="WeekId" AllowCellEditing="true" ForceFit="true"
ClicksToEdit="1" DataIDField="WeekId" AllowSorting="false" SortField="WeekNo"
SortDirection="DESC" EnableColumnLines="true" AllowPaging="true" IsDatabasePaging="true" PageSize="1000"
AllowFilters="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" OnClick="btnNew_Click" runat="server"
Hidden="true">
</f:Button>
<%--<f:Button ID="btnImport" ToolTip="导入" Icon="PackageIn" runat="server"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>--%>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="WeekNo" DataField="WeekNo"
SortField="WeekNo" FieldType="String" HeaderText="周号" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="StartDate" DataField="StartDate" SortField="StartDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="开始日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="EndDate" DataField="EndDate" SortField="EndDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="结束日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<%--<f:RenderField Width="120px" ColumnID="CompileManName" DataField="CompileManName"
SortField="CompileManName" FieldType="String" HeaderText="编制人" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="CompileDate" DataField="CompileDate" SortField="CompileDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm" HeaderText="编制日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>--%>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="自定义周" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="false"
CloseAction="HidePostBack" Width="500px" Height="400px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<%--<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Hidden="true" Icon="Pencil" Text="修改"
OnClick="btnMenuModify_Click">
</f:MenuButton>--%>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Hidden="true" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click">
</f:MenuButton>
</Items>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
</script>
</body>
</html>
@@ -0,0 +1,126 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using BLL;
using Newtonsoft.Json.Linq;
using System.IO;
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekItem : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
BindGrid();
}
}
/// <summary>
/// 加载Grid
/// </summary>
private void BindGrid()
{
string strSql = @"select * from JDGL_WeekItem where ProjectId=@ProjectId order by WeekNo desc ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 关闭导入弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#region 编制
/// <summary>
/// 编制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekItemEdit.aspx", "新增 - ")));
}
#endregion
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == BLL.Const._Null)
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WeekPlanMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
protected void btnMenuModify_Click(object sender, EventArgs e)
{
EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekItemEdit.aspx?Id={0}", Grid1.SelectedRowID, "编辑 - ")));
}
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.WeekItemService.DeleteWeekItemById(rowID);
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
}
}
+107
View File
@@ -0,0 +1,107 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekItem
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDel;
}
}
@@ -0,0 +1,50 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekItemEdit.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.WeekItemEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="SimpleForm1" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true" BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:NumberBox ID="txtWeekNo" NoDecimal="true" NoNegative="true" MinValue="1" runat="server" Label="周号" LabelWidth="100px" Required="true" ShowRedStar="true">
</f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtStartDate" runat="server" Label="开始日期" LabelAlign="Right" LabelWidth="100px" AutoPostBack="true" OnTextChanged="StartDate_TextChanged" Required="true" ShowRedStar="true">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtEndDate" runat="server" Label="结束日期" LabelAlign="Right" LabelWidth="100px" Required="true" ShowRedStar="true">
</f:DatePicker>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1" Text="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</form>
</body>
</html>
@@ -0,0 +1,155 @@
using BLL;
using Microsoft.Office.Interop.Word;
using Model;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Runtime.InteropServices.ComTypes;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekItemEdit : PageBase
{
#region 定义项
/// <summary>
/// 主键
/// </summary>
private string WeekId
{
get
{
return (string)ViewState["WeekId"];
}
set
{
ViewState["WeekId"] = value;
}
}
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.WeekId = Request.Params["WeekId"];
this.ProjectId = this.CurrUser.LoginProjectId;
//txtWeekNo.Readonly = true;
if (!string.IsNullOrEmpty(WeekId))
{
var model = Funs.DB.JDGL_WeekItem.FirstOrDefault(x => x.WeekId == WeekId);
if (model != null)
{
txtWeekNo.Text = model.WeekNo.ToString();
if (model.StartDate != null)
this.txtStartDate.Text = Convert.ToDateTime(model.StartDate).ToString("yyyy-MM-dd");
if (model.EndDate != null)
this.txtEndDate.Text = Convert.ToDateTime(model.EndDate).ToString("yyyy-MM-dd");
}
}
else
{
var lastWeekItem = Funs.DB.JDGL_WeekItem.Where(p => p.ProjectId == this.ProjectId).OrderByDescending(x => x.WeekNo).FirstOrDefault();
if (lastWeekItem != null)
{
this.txtWeekNo.Text = (lastWeekItem.WeekNo + 1).ToString();
this.txtStartDate.Text = lastWeekItem.EndDate.AddDays(1).ToString("yyyy-MM-dd");
this.txtEndDate.Text = lastWeekItem.EndDate.AddDays(7).ToString("yyyy-MM-dd");
}
else
{
this.txtWeekNo.Text = "0";
//this.txtStartDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
//this.txtEndDate.Text = DateTime.Now.AddDays(6).ToString("yyyy-MM-dd");
}
}
}
}
/// <summary>
/// 开始时间选择后触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void StartDate_TextChanged(object sender, EventArgs e)
{
var txtStartDate = this.txtStartDate.Text.Trim();
if (!string.IsNullOrWhiteSpace(txtStartDate))
{
this.txtEndDate.Text = Funs.GetNewDateTimeOrNow(txtStartDate).AddDays(6).ToString("yyyy-MM-dd");
}
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
int weekNo = !string.IsNullOrWhiteSpace(txtWeekNo.Text.Trim()) ? int.Parse(txtWeekNo.Text.Trim()) : 0;
if (string.IsNullOrEmpty(WeekId))
{
//判断周号是否存在
var item = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.ProjectId, weekNo);
if (item != null)
{
Alert.ShowInParent($"已存在相同周号({weekNo})的周!", MessageBoxIcon.Warning);
return;
}
}
var startDate = Funs.GetNewDateTimeOrNow(this.txtStartDate.Text.Trim());
var endDate = Funs.GetNewDateTimeOrNow(this.txtEndDate.Text.Trim());
if (startDate >= endDate)
{
Alert.ShowInParent("周开始日期必须大于结束日期!", MessageBoxIcon.Warning);
return;
}
var model = new Model.JDGL_WeekItem
{
WeekNo = weekNo,
StartDate = startDate,
EndDate = endDate,
CompileMan = this.CurrUser.UserId,
CompileDate = DateTime.Now,
};
if (!string.IsNullOrEmpty(WeekId))
{
model.WeekId = WeekId;
BLL.WeekItemService.UpdateWeekItem(model);
}
else
{
model.WeekId = SQLHelper.GetNewID(typeof(Model.JDGL_WeekItem));
model.ProjectId = this.ProjectId;
BLL.WeekItemService.AddWeekItem(model);
}
ShowNotify("保存成功", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}
@@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekItemEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtWeekNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtWeekNo;
/// <summary>
/// txtStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}
+14 -7
View File
@@ -24,20 +24,23 @@
OnClick="btnSave_Click">
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnWeekItem" ToolTip="自定义周" Icon="ApplicationGet" EnablePostBack="false" runat="server"
Hidden="true">
</f:Button>
<f:Button ID="BtnAnalyse" ToolTip="统计" Icon="ChartPie" runat="server" OnClick="BtnAnalyse_Click">
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" runat="server"
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" OnClick="btnNew_Click"
Hidden="true">
</f:Button>
<f:Button ID="btnModify" ToolTip="修改" Icon="Pencil" OnClick="btnModify_Click" runat="server"
Hidden="true">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Icon="ApplicationGet" runat="server"
<f:Button ID="btnImport" ToolTip="导入" Icon="PackageIn" runat="server"
OnClick="btnImport_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@@ -158,6 +161,10 @@
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="false"
CloseAction="HidePostBack" Width="1400px" Height="700px">
</f:Window>
<f:Window ID="Window2" Title="自定义周" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="false"
CloseAction="HidePostBack" Width="900px" Height="600px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Hidden="true" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
@@ -175,14 +182,14 @@
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
var menuID2 = '<%= Menu2.ClientID %>';
var menuID2 = '<%= Menu2.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function onRowContextMenu2(event, rowId) {
function onRowContextMenu2(event, rowId) {
F(menuID2).show(); //showAt(event.pageX, event.pageY);
return false;
}
+213 -142
View File
@@ -10,6 +10,7 @@ using BLL;
using Newtonsoft.Json.Linq;
using System.IO;
using NPOI.SS.Util;
using NPOI.SS.Formula.Functions;
namespace FineUIPro.Web.JDGL.Check
{
@@ -20,30 +21,60 @@ namespace FineUIPro.Web.JDGL.Check
if (!IsPostBack)
{
GetButtonPower();
btnNew.OnClientClick = Window1.GetShowReference("WeekPlanEdit.aspx") + "return false;";
this.drpWeekNo.DataTextField = "Text";
this.drpWeekNo.DataValueField = "Value";
var weekPlans = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x.WeekNo).Distinct().OrderByDescending(x => x).ToList();
if (weekPlans.Count() > 0)
{
ListItem[] list = new ListItem[weekPlans.Count()];
for (int i = 0; i < weekPlans.Count(); i++)
{
list[i] = new ListItem(weekPlans[i], weekPlans[i]);
}
this.drpWeekNo.DataSource = list;
this.drpWeekNo.DataBind();
this.drpWeekNo.SelectedValue = list[0].Value;
}
else
{
this.drpWeekNo.DataSource = null;
this.drpWeekNo.DataBind();
}
btnWeekItem.OnClientClick = Window2.GetShowReference("WeekItem.aspx") + "return false;";
//btnNew.OnClientClick = Window1.GetShowReference("WeekPlanEdit.aspx") + "return false;";
InitDropDownList();
//this.drpWeekNo.DataTextField = "Text";
//this.drpWeekNo.DataValueField = "Value";
//var weekPlans = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x.WeekNo).Distinct().OrderByDescending(x => x).ToList();
//if (weekPlans.Count() > 0)
//{
// ListItem[] list = new ListItem[weekPlans.Count()];
// for (int i = 0; i < weekPlans.Count(); i++)
// {
// list[i] = new ListItem(weekPlans[i], weekPlans[i]);
// }
// this.drpWeekNo.DataSource = list;
// this.drpWeekNo.DataBind();
// this.drpWeekNo.SelectedValue = list[0].Value;
//}
//else
//{
// this.drpWeekNo.DataSource = null;
// this.drpWeekNo.DataBind();
//}
BindGrid();
}
}
/// <summary>
/// 初始化下拉框
/// </summary>
private void InitDropDownList()
{
WeekItemService.InitWeekItemDropDownList(this.drpWeekNo, this.CurrUser.LoginProjectId, false);
//获取当前时间所在周号,存在默认选中当前时间点所在周,否则选择最后一个周
var item = WeekItemService.GetWeekItemByDateNow(this.CurrUser.LoginProjectId);
if (item != null)
{//存在默认选中当前时间点所在周
this.drpWeekNo.SelectedValue = item.WeekNo.ToString();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", item.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", item.EndDate);
}
else
{
var items = WeekItemService.GetWeekItemList(this.CurrUser.LoginProjectId);
if (items.Any())
{//否则选择最后一个周
item = items.First();
this.drpWeekNo.SelectedValue = item.WeekNo.ToString();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", item.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", item.EndDate);
}
}
}
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
@@ -61,8 +92,18 @@ namespace FineUIPro.Web.JDGL.Check
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnWeekItem.Hidden = false;
this.btnNew.Hidden = false;
//this.btnModify.Hidden = false;
//this.btnMenuDel.Hidden = false;
//this.btnMenuDel2.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnModify.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
this.btnMenuDel2.Hidden = false;
}
@@ -72,8 +113,7 @@ namespace FineUIPro.Web.JDGL.Check
protected void btnModify_Click(object sender, EventArgs e)
{
Window1.Title = "录入";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanEdit.aspx?WeekNo={0}", this.drpWeekNo.SelectedValue, "编辑 - ")));
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanEdit.aspx?WeekNo={0}", this.drpWeekNo.SelectedValue), "编辑 - 周进度计划"));
}
/// <summary>
@@ -81,68 +121,112 @@ namespace FineUIPro.Web.JDGL.Check
/// </summary>
private void BindGrid()
{
string weekNo2 = string.Empty;
var weekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.drpWeekNo.SelectedValue);
if (weekPlan != null)
{
if (weekPlan.StartDate != null)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
}
if (weekPlan.EndDate != null)
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
}
var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
if (lastWeekPlan != null)
{
weekNo2 = lastWeekPlan.WeekNo;
}
}
else
{
this.txtStartDate.Text = string.Empty;
this.txtEndDate.Text = string.Empty;
}
string strSql = @"select mp.*,u.UnitName,us.UserName as DutyPersonName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr from [dbo].[JDGL_WeekPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
left join Sys_User us on us.UserId=mp.DutyPerson
left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
where mp.ProjectId=@ProjectId and mp.WeekNo=@WeekNo order by mp.SortIndex";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
//string weekNo2 = string.Empty;
string weekNo2 = !string.IsNullOrEmpty(this.drpWeekNo.SelectedValue) ? this.drpWeekNo.SelectedValue : "0";
//var weekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo2);
//if (weekPlan != null)
//{
// if (weekPlan.StartDate != null)
// {
// this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
// }
// if (weekPlan.EndDate != null)
// {
// this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
// }
// //var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
// //if (lastWeekPlan != null)
// //{
// // weekNo2 = lastWeekPlan.WeekNo;
// //}
//}
//else
//{
// this.txtStartDate.Text = string.Empty;
// this.txtEndDate.Text = string.Empty;
//}
//本周计划
// string strSql2 = @"select mp.*,u.UnitName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr
//,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
//from [dbo].[JDGL_WeekPlan] mp
//left join Base_Unit u on u.UnitId=mp.UnitId
//left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
//left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
//where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
// List<SqlParameter> listStr2 = new List<SqlParameter>();
// listStr2.Add(new SqlParameter("@ProjectId2", this.CurrUser.LoginProjectId));
// listStr2.Add(new SqlParameter("@WeekNo2", weekNo2));
// SqlParameter[] parameter2 = listStr2.ToArray();
// DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
//本周计划
DataTable tb2 = BindData(this.CurrUser.LoginProjectId, weekNo2);
Grid2.RecordCount = tb2.Rows.Count;
//tb = GetFilteredTable(Grid2.FilteredData, tb);
var table2 = this.GetPagedDataTable(Grid2, tb2);
Grid2.DataSource = table2;
Grid2.DataBind();
// //下周计划
// string strSql = @"select mp.*,u.UnitName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr
//,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
//from [dbo].[JDGL_WeekPlan] mp
//left join Base_Unit u on u.UnitId=mp.UnitId
//left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
//left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
//where mp.ProjectId=@ProjectId and mp.WeekNo=@WeekNo order by mp.SortIndex";
// List<SqlParameter> listStr = new List<SqlParameter>();
// listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
// string weekNo = string.Empty;
// if (!string.IsNullOrEmpty(this.drpWeekNo.SelectedValue))
// {
// //weekNo = this.drpWeekNo.SelectedValue;
// weekNo = (int.Parse(this.drpWeekNo.SelectedValue) + 1).ToString();
// }
// listStr.Add(new SqlParameter("@WeekNo", weekNo));
// SqlParameter[] parameter = listStr.ToArray();
// DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
string weekNo = string.Empty;
if (!string.IsNullOrEmpty(this.drpWeekNo.SelectedValue))
{
weekNo = this.drpWeekNo.SelectedValue;
//weekNo = this.drpWeekNo.SelectedValue;
weekNo = (int.Parse(this.drpWeekNo.SelectedValue) + 1).ToString();
}
listStr.Add(new SqlParameter("@WeekNo", weekNo));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//下周计划
DataTable tb = BindData(this.CurrUser.LoginProjectId, weekNo);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
string strSql2 = @"select mp.*,u.UnitName,us.UserName as DutyPersonName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr from [dbo].[JDGL_WeekPlan] mp
/// <summary>
/// 加载数据
/// </summary>
/// <param name="projectId"></param>
/// <param name="weekNo"></param>
/// <returns></returns>
private DataTable BindData(string projectId, string weekNo)
{
string strSql = @"select mp.*,u.UnitName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr
,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from [dbo].[JDGL_WeekPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
left join Sys_User us on us.UserId=mp.DutyPerson
left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
List<SqlParameter> listStr2 = new List<SqlParameter>();
listStr2.Add(new SqlParameter("@ProjectId2", this.CurrUser.LoginProjectId));
listStr2.Add(new SqlParameter("@WeekNo2", weekNo2));
SqlParameter[] parameter2 = listStr2.ToArray();
DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
Grid2.RecordCount = tb2.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table2 = this.GetPagedDataTable(Grid2, tb2);
Grid2.DataSource = table2;
Grid2.DataBind();
where mp.ProjectId=@ProjectId and mp.WeekNo=@WeekNo order by mp.SortIndex";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", projectId));
listStr.Add(new SqlParameter("@WeekNo", weekNo));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
return tb;
}
#region 月份选择事件
@@ -243,8 +327,7 @@ where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
Window1.Title = "导入";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - ")));
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId), "导入 - 周进度计划"));
}
/// <summary>
@@ -254,27 +337,46 @@ where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
var weekPlans = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x.WeekNo).Distinct().OrderByDescending(x => x).ToList();
if (weekPlans.Count() > 0)
{
ListItem[] list = new ListItem[weekPlans.Count()];
for (int i = 0; i < weekPlans.Count(); i++)
{
list[i] = new ListItem(weekPlans[i], weekPlans[i]);
}
this.drpWeekNo.DataSource = list;
this.drpWeekNo.DataBind();
this.drpWeekNo.SelectedValue = list[0].Value;
}
else
{
this.drpWeekNo.DataSource = null;
this.drpWeekNo.DataBind();
}
InitDropDownList();
//var weekPlans = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x.WeekNo).Distinct().OrderByDescending(x => x).ToList();
//if (weekPlans.Count() > 0)
//{
// ListItem[] list = new ListItem[weekPlans.Count()];
// for (int i = 0; i < weekPlans.Count(); i++)
// {
// list[i] = new ListItem(weekPlans[i], weekPlans[i]);
// }
// this.drpWeekNo.DataSource = list;
// this.drpWeekNo.DataBind();
// this.drpWeekNo.SelectedValue = list[0].Value;
//}
//else
//{
// this.drpWeekNo.DataSource = null;
// this.drpWeekNo.DataBind();
//}
BindGrid();
}
#endregion
#region 新增
/// <summary>
/// 新增
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
string weekNo = this.drpWeekNo.SelectedValue;
if (string.IsNullOrWhiteSpace(weekNo))
{
Alert.ShowInParent("请选择周!若没有周数据,请先自定义新增周!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanEdit.aspx?WeekNo={0}", weekNo), "新增 - 周进度计划"));
}
#endregion
#region 统计
/// <summary>
/// 统计分析
@@ -283,13 +385,25 @@ where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
Window1.Title = "统计";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanStatisc.aspx", "统计 - ")));
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanStatisc.aspx"), "统计 - 周进度计划"));
}
#endregion
/// <summary>
/// 周号选择触发事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpWeekNo_SelectedIndexChanged(object sender, EventArgs e)
{
var weekNo = this.drpWeekNo.SelectedValue;
var item = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.CurrUser.LoginProjectId, int.Parse(weekNo));
if (item != null)
{
this.drpWeekNo.SelectedValue = item.WeekNo.ToString();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", item.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", item.EndDate);
}
BindGrid();
}
@@ -321,60 +435,17 @@ where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream);
}
Model.SGGLDB db = Funs.DB;
var units = from x in db.Base_Unit select x;
var users = from x in db.Sys_User select x;
string weekNo2 = string.Empty;
var weekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.drpWeekNo.SelectedValue);
if (weekPlan != null)
{
if (weekPlan.StartDate != null)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
}
if (weekPlan.EndDate != null)
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
}
var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
if (lastWeekPlan != null)
{
weekNo2 = lastWeekPlan.WeekNo;
}
}
else
{
this.txtStartDate.Text = string.Empty;
this.txtEndDate.Text = string.Empty;
}
string strSql = @"select mp.*,u.UnitName,us.UserName as DutyPersonName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr from [dbo].[JDGL_WeekPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
left join Sys_User us on us.UserId=mp.DutyPerson
left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
where mp.ProjectId=@ProjectId and mp.WeekNo=@WeekNo order by mp.SortIndex";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
string weekNo2 = !string.IsNullOrEmpty(this.drpWeekNo.SelectedValue) ? this.drpWeekNo.SelectedValue : "0";
string weekNo = string.Empty;
if (!string.IsNullOrEmpty(this.drpWeekNo.SelectedValue))
{
weekNo = this.drpWeekNo.SelectedValue;
//weekNo = this.drpWeekNo.SelectedValue;
weekNo = (int.Parse(this.drpWeekNo.SelectedValue) + 1).ToString();
}
listStr.Add(new SqlParameter("@WeekNo", weekNo));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
DataTable tb = BindData(this.CurrUser.LoginProjectId, weekNo);
DataTable tb2 = BindData(this.CurrUser.LoginProjectId, weekNo2);
string strSql2 = @"select mp.*,u.UnitName,us.UserName as DutyPersonName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr from [dbo].[JDGL_WeekPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
left join Sys_User us on us.UserId=mp.DutyPerson
left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
List<SqlParameter> listStr2 = new List<SqlParameter>();
listStr2.Add(new SqlParameter("@ProjectId2", this.CurrUser.LoginProjectId));
listStr2.Add(new SqlParameter("@WeekNo2", weekNo2));
SqlParameter[] parameter2 = listStr2.ToArray();
DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
// 创建单元格样式
NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle();
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
@@ -410,7 +481,7 @@ where mp.ProjectId=@ProjectId2 and mp.WeekNo=@WeekNo2 order by mp.SortIndex";
// 添加数据
cell = row.CreateCell(0);
cell.CellStyle = cellStyle;
cell.SetCellValue((i-1).ToString());
cell.SetCellValue((i - 1).ToString());
cell = row.CreateCell(1);
cell.CellStyle = cellStyle;
cell.SetCellValue(tb2.Rows[j]["UnitWorkName"].ToString());
+49 -29
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class WeekPlan {
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekPlan
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// drpWeekNo 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpWeekNo;
/// <summary>
/// txtStartDate 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// btnSave 控件。
/// </summary>
@@ -83,7 +85,16 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnWeekItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnWeekItem;
/// <summary>
/// BtnAnalyse 控件。
/// </summary>
@@ -92,7 +103,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// btnNew 控件。
/// </summary>
@@ -101,7 +112,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnModify 控件。
/// </summary>
@@ -110,7 +121,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnModify;
/// <summary>
/// btnImport 控件。
/// </summary>
@@ -119,7 +130,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// btnOut 控件。
/// </summary>
@@ -128,7 +139,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// TabStrip1 控件。
/// </summary>
@@ -137,7 +148,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Tab1 控件。
/// </summary>
@@ -146,7 +157,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab1;
/// <summary>
/// Grid2 控件。
/// </summary>
@@ -155,7 +166,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// Label1 控件。
/// </summary>
@@ -164,7 +175,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// Tab2 控件。
/// </summary>
@@ -173,7 +184,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab2;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -182,7 +193,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
@@ -191,7 +202,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -200,7 +211,16 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// Menu1 控件。
/// </summary>
@@ -209,7 +229,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
@@ -218,7 +238,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDel;
/// <summary>
/// Menu2 控件。
/// </summary>
@@ -227,7 +247,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu2;
/// <summary>
/// btnMenuDel2 控件。
/// </summary>
+198 -191
View File
@@ -10,16 +10,10 @@
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:Panel ID="Panel17" IsFluid="true" Title="周进度计划" runat="server" EnableCollapse="false"
ShowHeader="true">
<f:Panel ID="Panel17" IsFluid="true" Title="周进度计划" runat="server" EnableCollapse="false" ShowHeader="false">
<Toolbars>
<f:Toolbar ID="Toolbar5" Position="top" ToolbarAlign="Right" runat="server" CssClass="Toolbar2">
<Items>
<f:TextBox runat="server" ID="txtWeekNo" ShowRedStar="true" Required="true" Label="周号" LabelAlign="Right"></f:TextBox>
<f:DatePicker ID="txtStartDate" ShowRedStar="true" Required="true" runat="server" Label="开始日期" LabelAlign="Right">
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" ShowRedStar="true" Required="true" Label="结束日期" LabelAlign="Right">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" OnClick="btnSave_Click">
</f:Button>
@@ -27,196 +21,209 @@
</f:Toolbar>
</Toolbars>
<Items>
<f:Form ID="Form15" runat="server" ShowBorder="true" BodyPadding="5px" ShowHeader="false" Title="周进度计划">
<Rows>
<f:FormRow>
<f:TabStrip ID="TabStrip1" CssClass="f-tabstrip-theme-simple" Height="520px" ShowBorder="false"
TabPosition="Top" MarginBottom="5px" EnableTabCloseMenu="false" runat="server">
<Tabs>
<f:Tab ID="Tab1" Title="本周计划完成情况" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server"
TitleToolTip="本周计划完成情况">
<Items>
<f:TabStrip ID="TabStrip1" CssClass="f-tabstrip-theme-simple" Height="520px" ShowBorder="true"
TabPosition="Top" MarginBottom="5px" EnableTabCloseMenu="false" runat="server">
<Tabs>
<f:Tab ID="Tab1" Title="本周计划完成情况" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" runat="server"
TitleToolTip="本周计划完成情况">
<f:Grid ID="Grid2" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false" OnRowCommand="Grid2_RowCommand"
DataKeyNames="WeekPlanId" DataIDField="WeekPlanId" EnableColumnLines="true" ForceFit="true" AllowCellEditing="true" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server">
<Items>
<f:Grid ID="Grid2" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false" OnRowCommand="Grid2_RowCommand"
DataKeyNames="WeekPlanId" DataIDField="WeekPlanId" EnableColumnLines="true" ForceFit="true" AllowCellEditing="true" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="btnNew2" ToolTip="新增" Text="" Icon="Add" EnablePostBack="true"
runat="server" OnClick="btnNew2_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="UnitWork" DataField="UnitWork"
FieldType="String" HeaderText="工序/单位工程" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitWork2" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Major" DataField="Major"
FieldType="String" HeaderText="专业" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpMajor2" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="250px" ColumnID="WorkContent" DataField="WorkContent"
FieldType="String" HeaderText="工作项" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtWorkContent2" runat="server" Text='<%# Bind("WorkContent") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitId" DataField="UnitId"
FieldType="String" HeaderText="责任单位" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitId2" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DutyPerson" DataField="DutyPerson"
FieldType="String" HeaderText="五环责任人" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpDutyPerson2" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="95px" ColumnID="PlanDate" DataField="PlanDate" Renderer="Date" RendererArgument="yyyy-MM-dd"
FieldType="Date" HeaderText="计划完成时间" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanDate2" runat="server" ShowRedStar="true" Required="true"
EnableEdit="true" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="IsOK" DataField="IsOK"
FieldType="String" HeaderText="完成状态" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpIsOK2" EnableEdit="true">
<f:ListItem Text="已完成" Value="已完成" />
<f:ListItem Text="未完成" Value="未完成" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderText="备注" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtRemark2" runat="server" Text='<%# Bind("Remark") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:LinkButtonField Width="40px" TextAlign="Center" HeaderText="删除" ToolTip="删除" CommandName="del"
Icon="Delete" />
</Columns>
</f:Grid>
<f:TextBox runat="server" ID="txtWeekNo" ShowRedStar="true" Required="true" Readonly="true" Label="周号" LabelAlign="Right"></f:TextBox>
<f:DatePicker ID="txtStartDate" runat="server" ShowRedStar="true" Required="true" Readonly="true" Label="开始日期" LabelAlign="Right">
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" ShowRedStar="true" Required="true" Readonly="true" Label="结束日期" LabelAlign="Right">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSelectWeekPlan2" ToolTip="选择" Icon="ShapesManySelect" runat="server" OnClick="btnSelectWeekPlan2_Click">
</f:Button>
<f:Button ID="btnNew2" ToolTip="新增" Text="" Icon="Add" EnablePostBack="true"
runat="server" OnClick="btnNew2_Click">
</f:Button>
</Items>
</f:Tab>
<f:Tab ID="Tab2" Title="下周计划" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" TitleToolTip="下周计划"
runat="server">
<Items>
<f:Grid ID="Grid1" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false" OnRowCommand="Grid1_RowCommand"
DataKeyNames="WeekPlanId" DataIDField="WeekPlanId" EnableColumnLines="true" ForceFit="true" AllowCellEditing="true" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="btnNew" ToolTip="新增" Text="" Icon="Add" EnablePostBack="true"
runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="UnitWork" DataField="UnitWork"
FieldType="String" HeaderText="工序/单位工程" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitWork" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Major" DataField="Major"
FieldType="String" HeaderText="专业" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpMajor" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="250px" ColumnID="WorkContent" DataField="WorkContent"
FieldType="String" HeaderText="工作项" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtWorkContent" runat="server" Text='<%# Bind("WorkContent") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitId" DataField="UnitId"
FieldType="String" HeaderText="责任单位" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitId" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DutyPerson" DataField="DutyPerson"
FieldType="String" HeaderText="五环责任人" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpDutyPerson" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="95px" ColumnID="PlanDate" DataField="PlanDate" Renderer="Date" RendererArgument="yyyy-MM-dd"
FieldType="Date" HeaderText="计划完成时间" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanDate" runat="server" ShowRedStar="true" Required="true"
EnableEdit="true" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="IsOK" DataField="IsOK"
FieldType="String" HeaderText="完成状态" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpIsOK" EnableEdit="true">
<f:ListItem Text="已完成" Value="已完成" />
<f:ListItem Text="未完成" Value="未完成" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderText="备注" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtRemark" runat="server" Text='<%# Bind("Remark") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:LinkButtonField Width="40px" TextAlign="Center" HeaderText="删除" ToolTip="删除" CommandName="del"
Icon="Delete" />
</Columns>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Grid2.PageIndex * Grid2.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="UnitWork" DataField="UnitWork"
FieldType="String" HeaderText="工序/单位工程" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitWork2" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Major" DataField="Major"
FieldType="String" HeaderText="专业" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpMajor2" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="250px" ColumnID="WorkContent" DataField="WorkContent"
FieldType="String" HeaderText="工作项" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtWorkContent2" runat="server" Text='<%# Bind("WorkContent") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitId" DataField="UnitId"
FieldType="String" HeaderText="责任单位" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitId2" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DutyPerson" DataField="DutyPerson"
FieldType="String" HeaderText="五环责任人" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpDutyPerson2" EnableCheckBoxSelect="true" EnableMultiSelect="true" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="95px" ColumnID="PlanDate" DataField="PlanDate" Renderer="Date" RendererArgument="yyyy-MM-dd"
FieldType="Date" HeaderText="计划完成时间" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanDate2" runat="server" ShowRedStar="true" Required="true"
EnableEdit="true" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="IsOK" DataField="IsOK"
FieldType="String" HeaderText="完成状态" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpIsOK2" EnableEdit="true">
<f:ListItem Text="已完成" Value="已完成" />
<f:ListItem Text="未完成" Value="未完成" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderText="备注" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtRemark2" runat="server" Text='<%# Bind("Remark") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:LinkButtonField Width="40px" TextAlign="Center" HeaderText="删除" ToolTip="删除" CommandName="del"
Icon="Delete" />
</Columns>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:Tab>
<f:Tab ID="Tab2" Title="下周计划" BodyPadding="5px" Layout="Fit" IconFont="Bookmark" TitleToolTip="下周计划"
runat="server">
<Items>
<f:Grid ID="Grid1" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false" OnRowCommand="Grid1_RowCommand"
DataKeyNames="WeekPlanId" DataIDField="WeekPlanId" EnableColumnLines="true" ForceFit="true" AllowCellEditing="true" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:TextBox runat="server" ID="txtNextWeekNo" ShowRedStar="true" Required="true" Readonly="true" Label="周号" LabelAlign="Right"></f:TextBox>
<f:DatePicker ID="txtNextStartDate" runat="server" ShowRedStar="true" Required="true" Readonly="true" Label="开始日期" LabelAlign="Right">
</f:DatePicker>
<f:DatePicker ID="txtNextEndDate" runat="server" ShowRedStar="true" Required="true" Readonly="true" Label="结束日期" LabelAlign="Right">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSelectWeekPlan" ToolTip="选择" Icon="ShapesManySelect" runat="server" OnClick="btnSelectWeekPlan_Click">
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Text="" Icon="Add" EnablePostBack="true" runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="UnitWork" DataField="UnitWork"
FieldType="String" HeaderText="工序/单位工程" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitWork" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Major" DataField="Major"
FieldType="String" HeaderText="专业" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpMajor" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="250px" ColumnID="WorkContent" DataField="WorkContent"
FieldType="String" HeaderText="工作项" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtWorkContent" runat="server" Text='<%# Bind("WorkContent") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitId" DataField="UnitId"
FieldType="String" HeaderText="责任单位" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpUnitId" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DutyPerson" DataField="DutyPerson"
FieldType="String" HeaderText="五环责任人" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpDutyPerson" EnableCheckBoxSelect="true" EnableMultiSelect="true" EnableEdit="true"></f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="95px" ColumnID="PlanDate" DataField="PlanDate" Renderer="Date" RendererArgument="yyyy-MM-dd"
FieldType="Date" HeaderText="计划完成时间" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanDate" runat="server" ShowRedStar="true" Required="true"
EnableEdit="true" DateFormatString="yyyy-MM-dd">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="IsOK" DataField="IsOK"
FieldType="String" HeaderText="完成状态" TextAlign="Center"
HeaderTextAlign="Center">
<Editor>
<f:DropDownList runat="server" ID="drpIsOK" EnableEdit="true">
<f:ListItem Text="已完成" Value="已完成" />
<f:ListItem Text="未完成" Value="未完成" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderText="备注" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtRemark" runat="server" Text='<%# Bind("Remark") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:LinkButtonField Width="40px" TextAlign="Center" HeaderText="删除" ToolTip="删除" CommandName="del"
Icon="Delete" />
</Columns>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</Items>
</f:Panel>
<f:Window ID="Window1" Hidden="true" EnableIFrame="true" EnableMaximize="true" Width="1200px" Height="600px"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="true">
</f:Window>
<f:Window ID="Window2" Hidden="true" EnableIFrame="true" EnableMaximize="true" Width="1200px" Height="600px"
Target="Parent" EnableResize="false" runat="server" OnClose="Window2_Close" IsModal="true">
</f:Window>
</form>
</body>
</html>
+365 -135
View File
@@ -2,7 +2,10 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Runtime.InteropServices.ComTypes;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -25,6 +28,41 @@ namespace FineUIPro.Web.JDGL.Check
ViewState["ProjectId"] = value;
}
}
/// <summary>
/// 本周周号
/// </summary>
public int ThisWeekNo
{
get
{
return (int)ViewState["ThisWeekNo"];
}
set
{
ViewState["ThisWeekNo"] = value;
}
}
/// <summary>
/// 下周周号
/// </summary>
public int NextWeekNo
{
get
{
return (int)ViewState["NextWeekNo"];
}
set
{
ViewState["NextWeekNo"] = value;
}
}
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
@@ -34,6 +72,12 @@ namespace FineUIPro.Web.JDGL.Check
{
weekNo = Request.Params["WeekNo"];
}
this.ThisWeekNo = int.Parse(weekNo);
this.NextWeekNo = int.Parse(weekNo) + 1;
this.txtWeekNo.Text = this.ThisWeekNo.ToString();
this.txtNextWeekNo.Text = this.NextWeekNo.ToString();
UnitWorkService.InitUnitWorkList2(drpUnitWork, this.CurrUser.LoginProjectId, false);
CNProfessionalService.InitCNProfessional(drpMajor, false);
BLL.ProjectUnitService.InitUnitDropDownList2(drpUnitId, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
@@ -42,109 +86,200 @@ namespace FineUIPro.Web.JDGL.Check
CNProfessionalService.InitCNProfessional(drpMajor2, false);
BLL.ProjectUnitService.InitUnitDropDownList2(drpUnitId2, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
UserService.Init(drpDutyPerson2, CurrUser.LoginProjectId, false);
this.txtWeekNo.Text = weekNo;
var weekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.txtWeekNo.Text);
if (weekPlan != null)
DateTime now = DateTime.Now;
var thisWeek = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.CurrUser.LoginProjectId, this.ThisWeekNo);
var thisWeekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == this.ThisWeekNo.ToString());
if (thisWeekPlan != null)
{
if (weekPlan.StartDate != null)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
ThisWeekGrid();
if (now > ((DateTime)thisWeekPlan.EndDate).AddDays(1))//|| now < ((DateTime)thisWeekPlan.StartDate)
{//当前时间大于本周结束时间,禁止维护本周计划
this.btnNew2.Hidden = true;
this.Grid2.Columns[9].Hidden = true;
}
if (weekPlan.EndDate != null)
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
else if (now > ((DateTime)thisWeekPlan.StartDate))
{//当前时间大于本周开始时间,禁止删除本周计划(当前时间处于本周区间,禁止删除本周计划)
this.Grid2.Columns[9].Hidden = true;
}
var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
if (lastWeekPlan != null)
{
BindGrid2(lastWeekPlan.WeekNo);
if (lastWeekPlan.WeekNo != "0")
{
this.Toolbar1.Hidden = true;
this.Grid2.Columns[9].Hidden = true;
}
}
if (now > thisWeek.EndDate.AddDays(1))// || now < thisWeek.StartDate
{//当前时间大于本周结束时间,禁止维护本周计划
this.btnNew2.Hidden = true;
this.Grid2.Columns[9].Hidden = true;
}
else if (now > thisWeek.StartDate)
{//当前时间大于本周开始时间小于本周结束时间,禁止删除本周计划(当前时间处于本周区间,禁止删除本周计划)
this.Grid2.Columns[9].Hidden = true;
}
var nextWeek = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.CurrUser.LoginProjectId, this.NextWeekNo);
var nextWeekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == this.NextWeekNo.ToString());
if (nextWeekPlan != null)
{
NextWeekGrid();
if (now > ((DateTime)nextWeekPlan.EndDate).AddDays(1))
{//当前时间大于下周结束时间,禁止维护下周计划
this.Toolbar5.Hidden = true;
this.btnNew.Hidden = true;
this.btnSelectWeekPlan.Hidden = true;
this.Grid1.Columns[9].Hidden = true;
}
else
{
this.Toolbar1.Hidden = false;
this.Grid2.Columns[9].Hidden = false;
}
if (nextWeek != null)
{
if (now > nextWeek.EndDate.AddDays(1))//|| now < nextWeek.StartDate
{//当前时间大于下周结束时间,禁止维护下周计划
//this.btnNew2.Hidden = true;
//this.Grid2.Columns[9].Hidden = true;
this.Toolbar5.Hidden = true;
this.btnNew.Hidden = true;
this.btnSelectWeekPlan.Hidden = true;
this.Grid1.Columns[9].Hidden = true;
}
}
else
{
this.txtStartDate.Text = string.Empty;
this.txtEndDate.Text = string.Empty;
var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x).FirstOrDefault();
if (lastWeekPlan != null)
#region 判断下周周号是否存在,不存在则新增
nextWeek = new Model.JDGL_WeekItem
{
BindGrid2(lastWeekPlan.WeekNo);
this.Toolbar1.Hidden = true;
this.Grid2.Columns[9].Hidden = true;
}
else
{
this.Toolbar1.Hidden = false;
this.Grid2.Columns[9].Hidden = false;
}
WeekId = SQLHelper.GetNewID(typeof(Model.JDGL_WeekItem)),
ProjectId = this.CurrUser.LoginProjectId,
WeekNo = this.NextWeekNo,
StartDate = thisWeek.StartDate.AddDays(7),
EndDate = thisWeek.EndDate.AddDays(7),
CompileMan = this.CurrUser.UserId,
CompileDate = DateTime.Now,
};
BLL.WeekItemService.AddWeekItem(nextWeek);
#endregion
}
BindGrid();
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", thisWeek.StartDate);
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", thisWeek.EndDate);
this.txtNextStartDate.Text = string.Format("{0:yyyy-MM-dd}", nextWeek.StartDate);
this.txtNextEndDate.Text = string.Format("{0:yyyy-MM-dd}", nextWeek.EndDate);
//var weekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.txtWeekNo.Text);
//if (weekPlan != null)
//{
// //if (weekPlan.StartDate != null)
// //{
// // this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
// //}
// //if (weekPlan.EndDate != null)
// //{
// // this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
// //}
// var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
// if (lastWeekPlan != null)
// {
// ThisWeekGrid(lastWeekPlan.WeekNo);
// if (lastWeekPlan.WeekNo != "0")
// {
// this.Toolbar1.Hidden = true;
// this.Grid2.Columns[9].Hidden = true;
// }
// }
// else
// {
// this.Toolbar1.Hidden = false;
// this.Grid2.Columns[9].Hidden = false;
// }
//}
//else
//{
// //this.txtStartDate.Text = string.Empty;
// //this.txtEndDate.Text = string.Empty;
// var lastWeekPlan = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x).FirstOrDefault();
// if (lastWeekPlan != null)
// {
// ThisWeekGrid(lastWeekPlan.WeekNo);
// this.Toolbar1.Hidden = true;
// this.Grid2.Columns[9].Hidden = true;
// }
// else
// {
// this.Toolbar1.Hidden = false;
// this.Grid2.Columns[9].Hidden = false;
// }
//}
//NextWeekGrid(NextWeekNo.ToString());
}
}
/// <summary>
/// 加载Grid
/// 加载下周计划
/// </summary>
private void BindGrid()
/// <param name="NextWeekNo">下周周号</param>
private void NextWeekGrid()
{
string weekNo = this.txtWeekNo.Text.Trim();
Model.SGGLDB db = Funs.DB;
Grid1.DataSource = from x in db.JDGL_WeekPlan
where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo
orderby x.SortIndex
select new
{
x.WeekPlanId,
x.ProjectId,
x.WeekNo,
x.StartDate,
x.EndDate,
UnitWork = (from y in db.WBS_UnitWork where y.UnitWorkId == x.UnitWork select y.UnitWorkName).First(),
Major = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.Major select y.ProfessionalName).First(),
UnitId = (from y in db.Base_Unit where y.UnitId == x.UnitId select y.UnitName).First(),
x.WorkContent,
x.PlanDate,
DutyPerson = (from y in db.Sys_User where y.UserId == x.DutyPerson select y.UserName).First(),
IsOK = ConvertIsOK(x.IsOK),
x.Remark,
};
string strSql = @"select wplan.WeekPlanId,wplan.ProjectId,wplan.WeekNo,wplan.StartDate,wplan.EndDate,wplan.WorkContent,wplan.PlanDate,wplan.Remark
,case wplan.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOK
,uwork.UnitWorkName as UnitWork,major.ProfessionalName as Major,unit.UnitName as UnitId
,DutyPerson = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + wplan.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from JDGL_WeekPlan as wplan
left join WBS_UnitWork as uwork on uwork.UnitWorkId = wplan.UnitWork
left join Base_CNProfessional as major on major.CNProfessionalId = wplan.Major
left join Base_Unit as unit on unit.UnitId = wplan.UnitId
where wplan.ProjectId = @ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
strSql += " and wplan.WeekNo = @weekNo";
listStr.Add(new SqlParameter("@weekNo", this.NextWeekNo));
strSql += " order by wplan.SortIndex ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = tb;
Grid1.DataBind();
}
private void BindGrid2(string weekNo)
/// <summary>
/// 本周计划完成情况
/// </summary>
/// <param name="weekNo">本周周号</param>
private void ThisWeekGrid()
{
Model.SGGLDB db = Funs.DB;
Grid2.DataSource = from x in db.JDGL_WeekPlan
where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo
orderby x.SortIndex
select new
{
x.WeekPlanId,
x.ProjectId,
x.WeekNo,
x.StartDate,
x.EndDate,
UnitWork = (from y in db.WBS_UnitWork where y.UnitWorkId == x.UnitWork select y.UnitWorkName).First(),
Major = (from y in db.Base_CNProfessional where y.CNProfessionalId == x.Major select y.ProfessionalName).First(),
UnitId = (from y in db.Base_Unit where y.UnitId == x.UnitId select y.UnitName).First(),
x.WorkContent,
x.PlanDate,
DutyPerson = (from y in db.Sys_User where y.UserId == x.DutyPerson select y.UserName).First(),
IsOK = ConvertIsOK(x.IsOK),
x.Remark,
};
string strSql = @"select wplan.WeekPlanId,wplan.ProjectId,wplan.WeekNo,wplan.StartDate,wplan.EndDate,wplan.WorkContent,wplan.PlanDate,wplan.Remark
,case wplan.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOK
,uwork.UnitWorkName as UnitWork,major.ProfessionalName as Major,unit.UnitName as UnitId
,DutyPerson = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + wplan.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from JDGL_WeekPlan as wplan
left join WBS_UnitWork as uwork on uwork.UnitWorkId = wplan.UnitWork
left join Base_CNProfessional as major on major.CNProfessionalId = wplan.Major
left join Base_Unit as unit on unit.UnitId = wplan.UnitId
where wplan.ProjectId = @ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
//if (!string.IsNullOrEmpty(weekNo))
//{
// strSql += " and wplan.WeekNo = @weekNo";
// listStr.Add(new SqlParameter("@weekNo", weekNo));
//}
strSql += " and wplan.WeekNo = @weekNo";
listStr.Add(new SqlParameter("@weekNo", this.ThisWeekNo));
strSql += " order by wplan.SortIndex ";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid2.RecordCount = tb.Rows.Count;
Grid2.DataSource = tb;
Grid2.DataBind();
}
private string ConvertIsOK(bool? isOK)
{
string str = string.Empty;
@@ -162,18 +297,11 @@ namespace FineUIPro.Web.JDGL.Check
return str;
}
#region 月份选择事件
/// <summary>
/// 月份选择事件
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtMonths_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#endregion
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtWeekNo.Text))
@@ -194,24 +322,100 @@ namespace FineUIPro.Web.JDGL.Check
SaveData(true);
}
/// <summary>
/// 保存周计划
/// </summary>
/// <param name="bl"></param>
private void SaveData(bool bl)
{
string weekNo = this.txtWeekNo.Text.Trim();
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
var list = GetDetails();
//选择的周号为本周计划周号
string weekNo = this.txtWeekNo.Text.Trim();
//下周周号
string NextWeekNo = (int.Parse(weekNo) + 1).ToString();
Model.SGGLDB db = Funs.DB;
var unitWorks = from x in db.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId select x;
var cns = from x in db.Base_CNProfessional select x;
var units = from x in db.Base_Unit select x;
var users = from x in db.Sys_User select x;
BLL.WeekPlanService.DeleteAllWeekPlan(this.CurrUser.LoginProjectId, weekNo);
//清理下周计划
BLL.WeekPlanService.DeleteAllWeekPlan(this.CurrUser.LoginProjectId, NextWeekNo);
#region 下周计划
int i = 1;
var list = GetDetails();
foreach (var item in list)
{
Model.JDGL_WeekPlan WeekPlan = new Model.JDGL_WeekPlan();
WeekPlan.WeekPlanId = SQLHelper.GetNewID(typeof(Model.JDGL_WeekPlan));
WeekPlan.ProjectId = this.CurrUser.LoginProjectId;
WeekPlan.WeekNo = NextWeekNo;
WeekPlan.StartDate = startDate.AddDays(7);
WeekPlan.EndDate = endDate.AddDays(7);
//WeekPlan.WeekNo = weekNo;
//WeekPlan.StartDate = startDate;
//WeekPlan.EndDate = endDate;
if (unitWorks.FirstOrDefault(x => x.UnitWorkName == item.UnitWork) != null)
{
WeekPlan.UnitWork = unitWorks.FirstOrDefault(x => x.UnitWorkName == item.UnitWork).UnitWorkId;
}
if (cns.FirstOrDefault(x => x.ProfessionalName == item.Major) != null)
{
WeekPlan.Major = cns.FirstOrDefault(x => x.ProfessionalName == item.Major).CNProfessionalId;
}
var unit = units.FirstOrDefault(x => x.UnitName == item.UnitId);
if (unit != null)
{
WeekPlan.UnitId = unit.UnitId;
}
WeekPlan.WorkContent = item.WorkContent;
WeekPlan.PlanDate = item.PlanDate;
var dutyPersons = item.DutyPerson.Split(',');
string dutyPersonIds = string.Empty;
foreach (var dutyPerson in dutyPersons)
{
var user = users.FirstOrDefault(x => x.UserName == dutyPerson);
if (user != null)
{
dutyPersonIds = !string.IsNullOrWhiteSpace(dutyPersonIds) ? $"{dutyPersonIds},{user.UserId}" : user.UserId;
}
}
WeekPlan.DutyPerson = dutyPersonIds;
//var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
//if (user != null)
//{
// WeekPlan.DutyPerson = user.UserId;
//}
WeekPlan.IsOK = item.IsOK;
WeekPlan.Remark = item.Remark;
WeekPlan.CompileMan = this.CurrUser.UserId;
WeekPlan.CompileDate = DateTime.Now;
WeekPlan.SortIndex = i;
BLL.WeekPlanService.AddWeekPlan(WeekPlan);
i++;
}
#endregion
#region 本周计划
int j = 1;
var list2 = GetDetails2();
//string lastWeekNo = "0";
//string lastWeekNo = this.txtWeekNo.Text.Trim();
foreach (var item in list2)
{
Model.JDGL_WeekPlan WeekPlan = new Model.JDGL_WeekPlan();
WeekPlan.WeekPlanId = item.WeekPlanId;
WeekPlan.ProjectId = this.CurrUser.LoginProjectId;
//WeekPlan.WeekNo = lastWeekNo;
//WeekPlan.StartDate = startDate.AddDays(-7);
//WeekPlan.EndDate = endDate.AddDays(-7);
WeekPlan.WeekNo = weekNo;
WeekPlan.StartDate = startDate;
WeekPlan.EndDate = endDate;
@@ -230,50 +434,22 @@ namespace FineUIPro.Web.JDGL.Check
}
WeekPlan.WorkContent = item.WorkContent;
WeekPlan.PlanDate = item.PlanDate;
var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
if (user != null)
var dutyPersons = item.DutyPerson.Split(',');
string dutyPersonIds = string.Empty;
foreach (var dutyPerson in dutyPersons)
{
WeekPlan.DutyPerson = user.UserId;
}
WeekPlan.IsOK = item.IsOK;
WeekPlan.Remark = item.Remark;
WeekPlan.CompileMan = this.CurrUser.UserId;
WeekPlan.CompileDate = DateTime.Now;
WeekPlan.SortIndex = i;
BLL.WeekPlanService.AddWeekPlan(WeekPlan);
i++;
}
var list2 = GetDetails2();
int j = 1;
string lastWeekNo = "0";
foreach (var item in list2)
{
Model.JDGL_WeekPlan WeekPlan = new Model.JDGL_WeekPlan();
WeekPlan.WeekPlanId = item.WeekPlanId;
WeekPlan.ProjectId = this.CurrUser.LoginProjectId;
WeekPlan.WeekNo = lastWeekNo;
WeekPlan.StartDate = startDate.AddDays(-7);
WeekPlan.EndDate = endDate.AddDays(-7);
if (unitWorks.FirstOrDefault(x => x.UnitWorkName == item.UnitWork) != null)
{
WeekPlan.UnitWork = unitWorks.FirstOrDefault(x => x.UnitWorkName == item.UnitWork).UnitWorkId;
}
if (cns.FirstOrDefault(x => x.ProfessionalName == item.Major) != null)
{
WeekPlan.Major = cns.FirstOrDefault(x => x.ProfessionalName == item.Major).CNProfessionalId;
}
var unit = units.FirstOrDefault(x => x.UnitName == item.UnitId);
if (unit != null)
{
WeekPlan.UnitId = unit.UnitId;
}
WeekPlan.WorkContent = item.WorkContent;
WeekPlan.PlanDate = item.PlanDate;
var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
if (user != null)
{
WeekPlan.DutyPerson = user.UserId;
var user = users.FirstOrDefault(x => x.UserName == dutyPerson);
if (user != null)
{
dutyPersonIds = !string.IsNullOrWhiteSpace(dutyPersonIds) ? $"{dutyPersonIds},{user.UserId}" : user.UserId;
}
}
WeekPlan.DutyPerson = dutyPersonIds;
//var user = users.FirstOrDefault(x => x.UserName == item.DutyPerson);
//if (user != null)
//{
// WeekPlan.DutyPerson = user.UserId;
//}
WeekPlan.IsOK = item.IsOK;
WeekPlan.Remark = item.Remark;
WeekPlan.CompileMan = this.CurrUser.UserId;
@@ -290,6 +466,9 @@ namespace FineUIPro.Web.JDGL.Check
}
j++;
}
#endregion
//foreach (JObject mergedRow in Grid2.GetMergedData())
//{
// JObject values = mergedRow.Value<JObject>("values");
@@ -306,9 +485,28 @@ namespace FineUIPro.Web.JDGL.Check
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 窗口关闭事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, EventArgs e)
{
NextWeekGrid();
}
/// <summary>
/// 窗口关闭事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window2_Close(object sender, EventArgs e)
{
ThisWeekGrid();
}
#region 增加按钮事件
/// <summary>
/// 增加按钮事件
/// 增加按钮事件——下周计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
@@ -338,8 +536,30 @@ namespace FineUIPro.Web.JDGL.Check
};
Grid1.DataBind();
}
/// <summary>
/// 增加按钮事件
/// 选择其他周计划新增到下周计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectWeekPlan_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekPlanSelect.aspx?WeekNo={0}", this.NextWeekNo), "选择下周计划"));
}
/// <summary>
/// 选择其他周计划新增到本周计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectWeekPlan2_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WeekPlanSelect.aspx?WeekNo={0}", this.ThisWeekNo), "选择本周计划"));
}
/// <summary>
/// 增加按钮事件——本周计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
@@ -369,6 +589,11 @@ namespace FineUIPro.Web.JDGL.Check
};
Grid2.DataBind();
}
/// <summary>
/// 下周计划
/// </summary>
/// <returns></returns>
private List<Model.JDGL_WeekPlan> GetDetails()
{
List<Model.JDGL_WeekPlan> list = new List<Model.JDGL_WeekPlan>();
@@ -393,6 +618,11 @@ namespace FineUIPro.Web.JDGL.Check
}
return list;
}
/// <summary>
/// 本周计划
/// </summary>
/// <returns></returns>
private List<Model.JDGL_WeekPlan> GetDetails2()
{
List<Model.JDGL_WeekPlan> list = new List<Model.JDGL_WeekPlan>();
+128 -72
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class WeekPlanEdit {
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekPlanEdit
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel17 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel17;
/// <summary>
/// Toolbar5 控件。
/// </summary>
@@ -47,34 +49,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar5;
/// <summary>
/// txtWeekNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWeekNo;
/// <summary>
/// txtStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// btnSave 控件。
/// </summary>
@@ -83,16 +58,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// Form15 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form15;
/// <summary>
/// TabStrip1 控件。
/// </summary>
@@ -101,7 +67,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TabStrip TabStrip1;
/// <summary>
/// Tab1 控件。
/// </summary>
@@ -110,7 +76,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab1;
/// <summary>
/// Grid2 控件。
/// </summary>
@@ -119,7 +85,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@@ -128,7 +94,43 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtWeekNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWeekNo;
/// <summary>
/// txtStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// btnSelectWeekPlan2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSelectWeekPlan2;
/// <summary>
/// btnNew2 控件。
/// </summary>
@@ -137,7 +139,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew2;
/// <summary>
/// Label2 控件。
/// </summary>
@@ -146,7 +148,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary>
/// drpUnitWork2 控件。
/// </summary>
@@ -155,7 +157,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitWork2;
/// <summary>
/// drpMajor2 控件。
/// </summary>
@@ -164,7 +166,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpMajor2;
/// <summary>
/// txtWorkContent2 控件。
/// </summary>
@@ -173,7 +175,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWorkContent2;
/// <summary>
/// drpUnitId2 控件。
/// </summary>
@@ -182,7 +184,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitId2;
/// <summary>
/// drpDutyPerson2 控件。
/// </summary>
@@ -191,7 +193,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpDutyPerson2;
/// <summary>
/// txtPlanDate2 控件。
/// </summary>
@@ -200,7 +202,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanDate2;
/// <summary>
/// drpIsOK2 控件。
/// </summary>
@@ -209,7 +211,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpIsOK2;
/// <summary>
/// txtRemark2 控件。
/// </summary>
@@ -218,7 +220,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtRemark2;
/// <summary>
/// Tab2 控件。
/// </summary>
@@ -227,7 +229,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tab Tab2;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -236,7 +238,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
@@ -245,7 +247,43 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// txtNextWeekNo 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtNextWeekNo;
/// <summary>
/// txtNextStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtNextStartDate;
/// <summary>
/// txtNextEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtNextEndDate;
/// <summary>
/// btnSelectWeekPlan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSelectWeekPlan;
/// <summary>
/// btnNew 控件。
/// </summary>
@@ -254,7 +292,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// Label1 控件。
/// </summary>
@@ -263,7 +301,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// drpUnitWork 控件。
/// </summary>
@@ -272,7 +310,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitWork;
/// <summary>
/// drpMajor 控件。
/// </summary>
@@ -281,7 +319,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpMajor;
/// <summary>
/// txtWorkContent 控件。
/// </summary>
@@ -290,7 +328,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWorkContent;
/// <summary>
/// drpUnitId 控件。
/// </summary>
@@ -299,7 +337,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpUnitId;
/// <summary>
/// drpDutyPerson 控件。
/// </summary>
@@ -308,7 +346,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpDutyPerson;
/// <summary>
/// txtPlanDate 控件。
/// </summary>
@@ -317,7 +355,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanDate;
/// <summary>
/// drpIsOK 控件。
/// </summary>
@@ -326,7 +364,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpIsOK;
/// <summary>
/// txtRemark 控件。
/// </summary>
@@ -335,5 +373,23 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtRemark;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
}
}
@@ -0,0 +1,119 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekPlanSelect.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.WeekPlanSelect" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>周计划</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="周计划选择"
EnableCollapse="true" runat="server" BoxFlex="1" EnableColumnLines="true"
DataKeyNames="WeekPlanId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="WeekPlanId"
AllowSorting="false" SortField="WeekNo" SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<items>
<%--<f:DropDownList ID="drpUnit" runat="server" Label="单位" Width="350px" LabelWidth="60px" EmptyText="请选择项目"
EnableEdit="true" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
</f:DropDownList>
<f:TextBox runat="server" Label="用户名称" ID="txtUserName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="250px" LabelWidth="80px">
</f:TextBox>--%>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<%-- <f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" OnClick="btnNew_Click">
</f:Button>--%>
<f:Button ID="btnSure" ToolTip="确定按钮" Icon="Accept" runat="server" OnClick="btnSure_Click">
</f:Button>
</items>
</f:Toolbar>
</toolbars>
<columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField Width="60px" ColumnID="WeekNo" DataField="WeekNo" SortField="WeekNo" FieldType="String" TextAlign="center"
HeaderText="周号">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="UnitWorkName" DataField="UnitWorkName"
SortField="UnitWorkName" FieldType="String" HeaderText="工序/单位工程" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="ProfessionalName" DataField="ProfessionalName"
SortField="ProfessionalName" FieldType="String" HeaderText="专业" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="250px" ColumnID="WorkContent" DataField="WorkContent"
SortField="WorkContent" FieldType="String" HeaderText="工作项" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitName" DataField="UnitName"
SortField="UnitName" FieldType="String" HeaderText="责任单位" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DutyPersonName" DataField="DutyPersonName"
SortField="DutyPersonName" FieldType="String" HeaderText="五环责任人" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="95px" ColumnID="PlanDate" DataField="PlanDate" SortField="PlanDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="IsOKStr" DataField="IsOKStr"
SortField="IsOKStr" FieldType="String" HeaderText="完成状态" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
</columns>
<listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</listeners>
<pageitems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</pageitems>
</f:Grid>
</items>
</f:Panel>
<f:Window ID="Window1" Title="用户信息" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1000px"
Height="400px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuSure" OnClick="btnSure_Click" EnablePostBack="true" Icon="Accept" runat="server" Text="确定">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
</script>
</body>
</html>
@@ -0,0 +1,226 @@
using BLL;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Runtime.InteropServices.ComTypes;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekPlanSelect : PageBase
{
/// <summary>
/// 定义项
/// </summary>
public string WeekNo
{
get
{
return (string)ViewState["WeekNo"];
}
set
{
ViewState["WeekNo"] = value;
}
}
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#region 加载
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
this.WeekNo = Request.QueryString["WeekNo"];
this.ProjectId = this.CurrUser.LoginProjectId;
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
//BLL.UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId, false);
//if (!string.IsNullOrEmpty(this.CurrUser.UnitId))
//{
// this.drpUnit.SelectedValue = this.CurrUser.UnitId;
//}
// 绑定表格
this.BindGrid();
}
}
#endregion
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
//其他周计划(排除本周)
string strSql = @"select mp.*,u.UnitName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr
,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from [dbo].[JDGL_WeekPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
where mp.ProjectId=@ProjectId and mp.WeekNo<>@WeekNo order by mp.WeekNo desc,mp.SortIndex ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
listStr.Add(new SqlParameter("@WeekNo", WeekNo));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region 排序 分页
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
/// <summary>
/// 确定按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSure_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var lastWeekPlan = Funs.DB.JDGL_WeekPlan.Where(x => x.ProjectId == this.ProjectId && x.WeekNo == WeekNo).OrderByDescending(x => x.SortIndex).FirstOrDefault();
int sortIndex = lastWeekPlan != null ? (int)lastWeekPlan.SortIndex + 1 : 1;
//根据周号查询周信息(起始时间)
var weekItem = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.ProjectId, int.Parse(WeekNo));
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
this.SaveData(Grid1.DataKeys[rowIndex][0].ToString(), weekItem, sortIndex);
sortIndex++;
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var lastWeekPlan = Funs.DB.JDGL_WeekPlan.Where(x => x.ProjectId == this.ProjectId && x.WeekNo == WeekNo).OrderByDescending(x => x.SortIndex).FirstOrDefault();
int sortIndex = lastWeekPlan != null ? (int)lastWeekPlan.SortIndex + 1 : 1;
//根据周号查询周信息(起始时间)
var weekItem = BLL.WeekItemService.GetWeekItemByProjectIdAndWeekNo(this.ProjectId, int.Parse(WeekNo));
this.SaveData(Grid1.SelectedRowID, weekItem, sortIndex);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
/// <summary>
/// 保存数据
/// </summary>
/// <param name="weekPlanId">被选中的周计划Id</param>
/// <param name="weekItem">周信息</param>
/// <param name="sortIndex">计划排序</param>
private void SaveData(string weekPlanId, JDGL_WeekItem weekItem, int sortIndex)
{
var weekPlan = Funs.DB.JDGL_WeekPlan.FirstOrDefault(x => x.WeekPlanId == weekPlanId);
if (weekPlan != null)
{
Model.JDGL_WeekPlan WeekPlan = new Model.JDGL_WeekPlan();
WeekPlan.WeekPlanId = SQLHelper.GetNewID(typeof(Model.JDGL_WeekPlan));
WeekPlan.ProjectId = this.CurrUser.LoginProjectId;
WeekPlan.WeekNo = weekItem.WeekNo.ToString();
WeekPlan.StartDate = weekItem.StartDate;
WeekPlan.EndDate = weekItem.EndDate;
WeekPlan.PlanDate = weekItem.EndDate;//计划完成时间默认周结束时间
WeekPlan.UnitWork = weekPlan.UnitWork;
WeekPlan.Major = weekPlan.Major;
WeekPlan.UnitId = weekPlan.UnitId;
WeekPlan.WorkContent = weekPlan.WorkContent;
WeekPlan.DutyPerson = weekPlan.DutyPerson;
WeekPlan.IsOK = false;//默认未完成
WeekPlan.Remark = weekPlan.Remark;
WeekPlan.CompileMan = this.CurrUser.UserId;
WeekPlan.CompileDate = DateTime.Now;
WeekPlan.SortIndex = sortIndex;
BLL.WeekPlanService.AddWeekPlan(WeekPlan);
}
}
}
}
@@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekPlanSelect
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// btnSure 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSure;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuSure 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuSure;
}
}
@@ -15,28 +15,42 @@
<Items>
<f:Grid ID="Grid1" Title="月度计划情况统计" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="true" SortDirection="DESC" BoxFlex="1" AllowCellEditing="true"
DataKeyNames="DesignId" EnableColumnLines="true" ClicksToEdit="2" AllowSorting="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" ForceFit="true"
AllowFilters="true" EnableTextSelection="True" >
AllowFilters="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DropDownList runat="server" ID="drpWeekNo" Label="周号" LabelAlign="Right" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="ckType_SelectedIndexChanged"></f:DropDownList>
<f:DatePicker ID="txtStartDate" runat="server" Readonly="true" Label="开始日期" LabelAlign="Right">
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" Readonly="true" Label="结束日期" LabelAlign="Right">
</f:DatePicker>
<f:RadioButtonList runat="server" ID="ckType" AutoPostBack="True" Width="300px"
<f:RadioButtonList runat="server" ID="ckCycle" AutoPostBack="True" Width="380px"
OnSelectedIndexChanged="ckCycle_SelectedIndexChanged">
<f:RadioItem Value="0" Text="按周度" Selected="True"></f:RadioItem>
<f:RadioItem Value="1" Text="按月度"></f:RadioItem>
<f:RadioItem Value="2" Text="按年度"></f:RadioItem>
<f:RadioItem Value="3" Text="按项目周期"></f:RadioItem>
</f:RadioButtonList>
<f:DropDownList ID="drpWeekNo" runat="server" Label="周号" LabelAlign="Right" LabelWidth="100px" AutoPostBack="true" OnSelectedIndexChanged="ckType_SelectedIndexChanged" Width="160px"></f:DropDownList>
<f:DatePicker ID="txtStartDate" runat="server" Readonly="true" Label="开始日期" LabelAlign="Right" LabelWidth="90px" Width="200px">
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" Readonly="true" Label="结束日期" LabelAlign="Right" LabelWidth="90px" Width="200px">
</f:DatePicker>
<f:DatePicker ID="txtMonths" runat="server" DateFormatString="yyyy-MM" DisplayType="Month" AutoPostBack="true" OnTextChanged="ckType_SelectedIndexChanged"
Label="月份" LabelWidth="50px" Width="150px" Hidden="true">
</f:DatePicker>
<f:DatePicker ID="txtYear" runat="server" DateFormatString="yyyy" DisplayType="Year" AutoPostBack="true" OnTextChanged="ckType_SelectedIndexChanged"
Label="年份" LabelWidth="50px" Width="150px" Hidden="true">
</f:DatePicker>
<f:RadioButtonList ID="ckType" runat="server" AutoPostBack="True" Width="300px"
OnSelectedIndexChanged="ckType_SelectedIndexChanged">
<f:RadioItem Value="1" Text="按责任单位" Selected="True"></f:RadioItem>
<f:RadioItem Value="2" Text="按五环责任人" ></f:RadioItem>
<f:RadioItem Value="2" Text="按五环责任人"></f:RadioItem>
</f:RadioButtonList>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSearch" Icon="SystemSearch" ToolTip="查询" Hidden="true"
EnablePostBack="true" runat="server" OnClick="btnSearch_Click">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" Text="导出" Hidden="true"
Icon="TableGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
Icon="TableGo" EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@@ -62,7 +76,7 @@
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
@@ -2,11 +2,13 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Remoting.Contexts;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Model;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Check
@@ -19,6 +21,9 @@ namespace FineUIPro.Web.JDGL.Check
{
if (!IsPostBack)
{
this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
this.txtYear.Text = string.Format("{0:yyyy}", DateTime.Now);
this.drpWeekNo.DataTextField = "Text";
this.drpWeekNo.DataValueField = "Value";
var weekPlans = (from x in Funs.DB.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId orderby x.StartDate descending select x.WeekNo).Distinct().OrderByDescending(x => x).ToList();
@@ -57,34 +62,73 @@ namespace FineUIPro.Web.JDGL.Check
/// <param name="cNProfessionalId"></param>
public void BindStatisc()
{
var cycle = this.ckCycle.SelectedValue;
Model.SGGLDB db = Funs.DB;
//周期集合
List<JDGL_WeekPlan> totalList = new List<JDGL_WeekPlan>();
//累计集合
List<JDGL_WeekPlan> sumTotalList = new List<JDGL_WeekPlan>();
string weekNo2 = string.Empty;
var weekPlan = db.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.drpWeekNo.SelectedValue);
if (weekPlan != null)
{
if (weekPlan.StartDate != null)
if (cycle == "0")
{//按周
var weekPlan = db.JDGL_WeekPlan.FirstOrDefault(x => x.WeekNo == this.drpWeekNo.SelectedValue);
if (weekPlan != null)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
if (weekPlan.StartDate != null)
{
this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.StartDate);
}
if (weekPlan.EndDate != null)
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
}
var lastWeekPlan = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
if (lastWeekPlan != null)
{
weekNo2 = lastWeekPlan.WeekNo;
}
}
if (weekPlan.EndDate != null)
else
{
this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekPlan.EndDate);
this.txtStartDate.Text = string.Empty;
this.txtEndDate.Text = string.Empty;
}
var lastWeekPlan = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate < weekPlan.StartDate orderby x.StartDate descending select x).FirstOrDefault();
if (lastWeekPlan != null)
//周期集合
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo2 select x).ToList();
if (totalList.Count() > 0)
{
weekNo2 = lastWeekPlan.WeekNo;
var startDate = totalList.First().StartDate;
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate <= startDate select x).ToList();
}
}
else
{
this.txtStartDate.Text = string.Empty;
this.txtEndDate.Text = string.Empty;
else if (cycle == "1")
{//按月
DateTime months = Convert.ToDateTime(this.txtMonths.Text + "-01");
//周期集合
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate == months select x).ToList();
//累计集合
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate <= months select x).ToList();
}
else if (cycle == "2")
{//按年(以上一年度12月份至本年度11月份为一个周期)
DateTime sDate = Convert.ToDateTime(this.txtYear.Text + "-12-01").AddYears(-1);
DateTime eDate = Convert.ToDateTime(this.txtYear.Text + "-12-01");
//周期集合
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate >= sDate && x.EndDate < eDate select x).ToList();
//累计集合
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.EndDate < eDate select x).ToList();
}
else if (cycle == "3")
{//按项目周期
//周期集合
totalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
//累计集合
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
}
StatisticsList = new List<Model.JDGL_WeekPlan>();
int i = 1;
//所有集合
var totalList = from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo2 select x;
////周期集合
//var totalList = from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.WeekNo == weekNo2 select x;
if (this.ckType.SelectedValue == "1") //按责任单位
{
var pUnit = from x in db.Project_ProjectUnit
@@ -94,7 +138,7 @@ namespace FineUIPro.Web.JDGL.Check
select y;
foreach (var item in pUnit)
{
//当期集合
//周期集合
var list = totalList.Where(x => x.UnitId == item.UnitId);
Model.JDGL_WeekPlan JDGL_WeekPlan = new Model.JDGL_WeekPlan();
JDGL_WeekPlan.WorkContent = item.UnitName;
@@ -116,17 +160,27 @@ namespace FineUIPro.Web.JDGL.Check
}
else //按五环责任人
{
var user = (from x in db.Sys_User
join y in db.JDGL_WeekPlan on x.UserId equals y.DutyPerson
where y.ProjectId == this.CurrUser.LoginProjectId
orderby x.UserId
select x).Distinct().ToList();
foreach (var item in user)
var users = UserService.GetUserList();
var dutyPersonIds = (from x in db.JDGL_WeekPlan
where x.ProjectId == this.CurrUser.LoginProjectId
select x.DutyPerson).Distinct().ToList();
var userIds = string.Join(",", dutyPersonIds.ToArray()).Split(',').Distinct().Where(x => x != null && x != "").ToList();
//var user = (from x in db.Sys_User
// join y in db.JDGL_WeekPlan on x.UserId equals y.DutyPerson
// where y.ProjectId == this.CurrUser.LoginProjectId
// orderby x.UserId
// select x).Distinct().ToList();
foreach (var item in userIds)
{
//所有集合
var list = totalList.Where(x => x.DutyPerson == item.UserId);
var user = users.Where(x => x.UserId == item).FirstOrDefault();
//周期集合
//var list = totalList.Where(x => x.DutyPerson == item.UserId);
var list = totalList.Where(x => x.DutyPerson.Contains(item));
Model.JDGL_WeekPlan JDGL_WeekPlan = new Model.JDGL_WeekPlan();
JDGL_WeekPlan.WorkContent = item.UserName;
JDGL_WeekPlan.WorkContent = user.UserName;
int a = list.Count();
int b = list.Count(x => x.IsOK == true);
JDGL_WeekPlan.UnitId = a.ToString();
@@ -161,34 +215,81 @@ namespace FineUIPro.Web.JDGL.Check
}
StatisticsList.Add(StatisticsLast);
}
//增加累计
List<Model.JDGL_WeekPlan> sumTotalList = new List<Model.JDGL_WeekPlan>();
if (totalList.Count() > 0)
{
var startDate = totalList.First().StartDate;
sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate <= startDate select x).ToList();
}
Model.JDGL_WeekPlan StatisticsSum = new Model.JDGL_WeekPlan();
StatisticsSum.WorkContent = "累计";
int c = sumTotalList.Count();
int d = sumTotalList.Count(x => x.IsOK == true);
StatisticsSum.UnitId = c.ToString();
StatisticsSum.DutyPerson = d.ToString();
if (c != 0)//被除数不能为零
{
StatisticsSum.Remark = Math.Round((double)d / (double)c * 100, 2) + "%";//保留两位小数、后四舍五入
}
else
{
StatisticsSum.Remark = "0%";
}
StatisticsList.Add(StatisticsSum);
this.Grid1.DataSource = StatisticsList;
this.Grid1.DataBind();
////增加累计
//List<Model.JDGL_WeekPlan> sumTotalList = new List<Model.JDGL_WeekPlan>();
//if (totalList.Count() > 0)
//{
// var startDate = totalList.First().StartDate;
// sumTotalList = (from x in db.JDGL_WeekPlan where x.ProjectId == this.CurrUser.LoginProjectId && x.StartDate <= startDate select x).ToList();
//}
//Model.JDGL_WeekPlan StatisticsSum = new Model.JDGL_WeekPlan();
//StatisticsSum.WorkContent = "累计";
//int c = sumTotalList.Count();
//int d = sumTotalList.Count(x => x.IsOK == true);
//StatisticsSum.UnitId = c.ToString();
//StatisticsSum.DutyPerson = d.ToString();
//if (c != 0)//被除数不能为零
//{
// StatisticsSum.Remark = Math.Round((double)d / (double)c * 100, 2) + "%";//保留两位小数、后四舍五入
//}
//else
//{
// StatisticsSum.Remark = "0%";
//}
//StatisticsList.Add(StatisticsSum);
this.Grid1.DataSource = StatisticsList;
this.Grid1.DataBind();
}
#endregion
/// <summary>
/// 统计周期
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ckCycle_SelectedIndexChanged(object sender, EventArgs e)
{
var cycle = this.ckCycle.SelectedValue;
if (cycle == "0")
{//按周
this.drpWeekNo.Hidden = false;
this.txtStartDate.Hidden = false;
this.txtEndDate.Hidden = false;
this.txtMonths.Hidden = true;
this.txtYear.Hidden = true;
}
else if (cycle == "1")
{//按月份
this.drpWeekNo.Hidden = true;
this.txtStartDate.Hidden = true;
this.txtEndDate.Hidden = true;
this.txtMonths.Hidden = false;
this.txtYear.Hidden = true;
}
else if (cycle == "2")
{//按年份
this.drpWeekNo.Hidden = true;
this.txtStartDate.Hidden = true;
this.txtEndDate.Hidden = true;
this.txtMonths.Hidden = true;
this.txtYear.Hidden = false;
}
else
{//按项目周期
this.drpWeekNo.Hidden = true;
this.txtStartDate.Hidden = true;
this.txtEndDate.Hidden = true;
this.txtMonths.Hidden = true;
this.txtYear.Hidden = true;
}
BindStatisc();
}
/// <summary>
/// 统计汇总
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ckType_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.ckType.SelectedValue == "1")
+48 -19
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class WeekPlanStatisc {
namespace FineUIPro.Web.JDGL.Check
{
public partial class WeekPlanStatisc
{
/// <summary>
/// form1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
@@ -56,7 +58,16 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// ckCycle 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList ckCycle;
/// <summary>
/// drpWeekNo 控件。
/// </summary>
@@ -65,7 +76,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpWeekNo;
/// <summary>
/// txtStartDate 控件。
/// </summary>
@@ -74,7 +85,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
@@ -83,7 +94,25 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
/// <summary>
/// txtMonths 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonths;
/// <summary>
/// txtYear 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtYear;
/// <summary>
/// ckType 控件。
/// </summary>
@@ -92,7 +121,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList ckType;
/// <summary>
/// btnSearch 控件。
/// </summary>
@@ -101,7 +130,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnOut 控件。
/// </summary>
@@ -110,7 +139,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
@@ -119,7 +148,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -128,7 +157,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@@ -137,7 +166,7 @@ namespace FineUIPro.Web.JDGL.Check {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>