1733 lines
		
	
	
		
			63 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			1733 lines
		
	
	
		
			63 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Data;
 | ||
| using System.Linq;
 | ||
| using System.Reflection;
 | ||
| using System.Text;
 | ||
| using System.Web.UI.WebControls;
 | ||
| using BLL;
 | ||
| using Model;
 | ||
| using Newtonsoft.Json.Linq;
 | ||
| using AspNet = System.Web.UI.WebControls;
 | ||
| 
 | ||
| namespace FineUIPro.Web.CQMS.Performance
 | ||
| {
 | ||
|     public partial class PerformanceAudit : PageBase
 | ||
|     {
 | ||
|         #region 定义项
 | ||
|         /// <summary>
 | ||
|         /// 主键
 | ||
|         /// </summary>
 | ||
|         public string PerformanceGid
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["PerformanceGid"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["PerformanceGid"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public string CompileDateMonth
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["CompileDateMonth"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["CompileDateMonth"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public string CreateUser
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["CreateUser"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["CreateUser"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         #endregion
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 页面加载
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void Page_Load(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (!IsPostBack)
 | ||
|             {
 | ||
|                 //CreateUser = CurrUser.UserId;
 | ||
|                 //BindGrid();
 | ||
|                 if (drpUser.SelectedValue!=BLL.Const._Null)
 | ||
|                 {
 | ||
|                     BindGrid();
 | ||
|                     OutputSummaryData();
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void OutputSummaryData()
 | ||
|         {
 | ||
|             decimal EvaScore = 0;
 | ||
|             EvaScore = Funs.DB.CQMS_Performance_Child1.Where(x => x.PerformanceGid == PerformanceGid).Sum(x => x.EvaScore) ?? 0;
 | ||
| 
 | ||
|             JObject summary = new JObject();
 | ||
|             //summary.Add("Major", "全部合计");
 | ||
|             summary.Add("EvaScore", EvaScore.ToString("F2"));
 | ||
| 
 | ||
| 
 | ||
|             Grid1.SummaryData = summary;
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 加载表头
 | ||
|         /// </summary>
 | ||
|         protected void Page_Init(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (string.IsNullOrEmpty(CurrUser.LoginProjectId))
 | ||
|             {
 | ||
|                 if (string.IsNullOrEmpty(CurrUser.LoginProjectId))
 | ||
|                 {
 | ||
|                     ShowNotify("未查询到当前项目,请刷新页面重试。", MessageBoxIcon.Warning);
 | ||
| 
 | ||
|                 }
 | ||
|             }
 | ||
|             //根据projectid加载CQMS_Performance表中成功的user数据
 | ||
|             //超级管理员
 | ||
|             if (CurrUser.UserId != Const.sysglyId && CurrUser.UserId != Const.hfnbdId)
 | ||
|             {
 | ||
|                 BLL.PerformanceService.InitUserDropDownListByUser(drpUser, CurrUser.LoginProjectId,CurrUser.UserId, true);
 | ||
|             }
 | ||
|             else {
 | ||
|                 BLL.PerformanceService.InitUserDropDownList(drpUser, CurrUser.LoginProjectId, true);
 | ||
|             }
 | ||
| 
 | ||
|             
 | ||
|             CreateUser = Request.QueryString["CreateUser"];
 | ||
|             if (!string.IsNullOrEmpty(CreateUser))
 | ||
|             {
 | ||
|                 drpUser.SelectedValue = CreateUser;
 | ||
|             }
 | ||
|             
 | ||
|             drpCompileDateMonth.Text = DateTime.Now.ToString();
 | ||
|             if (string.IsNullOrEmpty(CompileDateMonth))
 | ||
|             {
 | ||
|                 CompileDateMonth = Request.QueryString["CompileDateMonth"];
 | ||
|                 if (!string.IsNullOrEmpty(CompileDateMonth))
 | ||
|                 {
 | ||
|                     drpCompileDateMonth.Text = CompileDateMonth;
 | ||
|                 }
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 drpCompileDateMonth.Text = CompileDateMonth;
 | ||
|             }
 | ||
| 
 | ||
| 
 | ||
|             InitGrid();
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         #region 加载表头
 | ||
|         string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
 | ||
| 
 | ||
|         private void InitGrid()
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var NowDate = Convert.ToDateTime(drpCompileDateMonth.Text.Trim());
 | ||
|                 var Month = 1;
 | ||
|                 var Year = NowDate.Year;
 | ||
|                 if (NowDate.Month != 12)
 | ||
|                 {
 | ||
|                     Month = NowDate.Month + 1;
 | ||
|                 }
 | ||
|                 else {
 | ||
|                     Year += 1;
 | ||
|                 }
 | ||
| 
 | ||
|                 //获取配置
 | ||
|                 var modelConfig = Funs.DB.CQMS_Performance_SetUp.FirstOrDefault(x => x.CreateYear == Year.ToString() && x.SortIndex == Month);
 | ||
|                 if (modelConfig != null)
 | ||
|                 {
 | ||
|                     int child3Index = 1;
 | ||
|                     //先加载周,再加载周里面的天数
 | ||
|                     for (int i = 1; i <= modelConfig.SetUpWeek; i++)
 | ||
|                     {
 | ||
|                         #region 第?周任务安排、工程量、人材机资源需求计划
 | ||
|                         BoundField bf = new BoundField();
 | ||
|                         bf.Width = Unit.Pixel(150);
 | ||
|                         bf.DataField = "TaskContent" + i.ToString();
 | ||
|                         bf.ColumnID = "TaskContent" + i.ToString();
 | ||
|                         bf.HeaderText = "第" + i.ToString() + "周施工工作任务安排";
 | ||
|                         bf.TextAlign = TextAlign.Center;
 | ||
|                         Grid1.Columns.Add(bf);
 | ||
| 
 | ||
|                         bf = new BoundField();
 | ||
|                         bf.Width = Unit.Pixel(100);
 | ||
|                         bf.DataField = "ProjectQuantity" + i.ToString();
 | ||
|                         bf.ColumnID = "ProjectQuantity" + i.ToString();
 | ||
|                         bf.HeaderText = "工程量";
 | ||
|                         Grid1.Columns.Add(bf);
 | ||
| 
 | ||
|                         bf = new BoundField();
 | ||
|                         bf.Width = Unit.Pixel(150);
 | ||
|                         bf.DataField = "DemandPlan" + i.ToString();
 | ||
|                         bf.ColumnID = "DemandPlan" + i.ToString();
 | ||
|                         bf.HeaderText = "人材机资源需求计划";
 | ||
|                         Grid1.Columns.Add(bf);
 | ||
|                         #endregion
 | ||
| 
 | ||
|                         var month = Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Year + "-" + Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Month;
 | ||
|                         if (Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Month.ToString().Length == 1)
 | ||
|                         {
 | ||
|                             month = Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Year + "-0" + Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Month;
 | ||
|                         }
 | ||
|                         //1.先获取主表的基础数据
 | ||
|                         var modelCQMS_Performance = db.CQMS_Performance.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId
 | ||
|                         && x.CreateDateMonth == month && x.CreateMan == CreateUser);
 | ||
|                         if (modelCQMS_Performance != null)
 | ||
|                         {
 | ||
|                             PerformanceGid = modelCQMS_Performance.PerformanceGid;
 | ||
|                         }
 | ||
|                         else
 | ||
|                         {
 | ||
|                             PerformanceGid = "";
 | ||
|                             //ShowNotify("未查询到数据,请先生成表单。", MessageBoxIcon.Warning);
 | ||
|                             return;
 | ||
|                         }
 | ||
| 
 | ||
| 
 | ||
|                         var Child2Model = db.CQMS_Performance_Child2.FirstOrDefault(x => x.NowWeek == i && x.CreateMan == CreateUser && x.PerformanceGid == PerformanceGid);
 | ||
|                         if (Child2Model == null)
 | ||
|                         {
 | ||
|                             PerformanceGid = "";
 | ||
|                             //ShowNotify("未查询到数据,请先生成表单。", MessageBoxIcon.Warning);
 | ||
|                             return;
 | ||
|                         }
 | ||
|                         //获取当前周的gid
 | ||
|                         var Child2Gid = Child2Model.Performance_ChildGid2;
 | ||
|                         //根据周gid获取天数
 | ||
|                         var listChild3 = db.CQMS_Performance_Child3.Where(x => x.Performance_ChildGid2 == Child2Gid
 | ||
|                         && x.CreateMan == CreateUser).OrderBy(x => x.CurrentDate).ToList();
 | ||
| 
 | ||
|                         if (listChild3.Count == 0)
 | ||
|                         {
 | ||
|                             PerformanceGid = "";
 | ||
|                             ShowNotify("未查询到数据,请先生成表单。", MessageBoxIcon.Warning);
 | ||
|                             return;
 | ||
|                         }
 | ||
| 
 | ||
|                         foreach (var item in listChild3)
 | ||
|                         {
 | ||
|                             var Cdate = Convert.ToDateTime(item.CurrentDate);
 | ||
|                             string week = Day[Convert.ToInt32(Cdate.DayOfWeek.ToString("d"))].ToString();
 | ||
|                             //头部
 | ||
|                             GroupField p = new GroupField();
 | ||
|                             p.Width = Unit.Pixel(200);
 | ||
|                             p.HeaderText = week + "(" + Cdate.Month + "月" + Cdate.Day + "日)";
 | ||
|                             p.TextAlign = TextAlign.Left;
 | ||
| 
 | ||
|                             BoundField gzjh = new BoundField();
 | ||
|                             gzjh.Width = Unit.Pixel(200);
 | ||
|                             gzjh.HeaderText = "本日工作计划";
 | ||
|                             gzjh.DataField = "WorkPlan" + child3Index.ToString();
 | ||
|                             gzjh.ColumnID = "WorkPlan" + child3Index.ToString();
 | ||
|                             gzjh.TextAlign = TextAlign.Center;
 | ||
| 
 | ||
|                             BoundField wcqk = new BoundField();
 | ||
|                             wcqk.Width = Unit.Pixel(200);
 | ||
|                             wcqk.HeaderText = "本日完成情况";
 | ||
|                             wcqk.DataField = "CompletStatus" + child3Index.ToString();
 | ||
|                             wcqk.ColumnID = "CompletStatus" + child3Index.ToString();
 | ||
|                             p.Columns.Add(gzjh);
 | ||
|                             p.Columns.Add(wcqk);
 | ||
| 
 | ||
|                             Grid1.Columns.Add(p);
 | ||
|                             child3Index += 1;
 | ||
|                         }
 | ||
|                         bf = new BoundField();
 | ||
|                         bf.Width = Unit.Pixel(150);
 | ||
|                         bf.DataField = "TaskCompletContent" + i.ToString();
 | ||
|                         bf.ColumnID = "TaskCompletContent" + i.ToString();
 | ||
|                         bf.HeaderText = "本周工作任务完成情况";
 | ||
|                         Grid1.Columns.Add(bf);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     ShowNotify("当前日期未设置规则,请前往施工绩效设置页面进行操作。", MessageBoxIcon.Warning);
 | ||
|                     PageContext.RegisterStartupScript("CloseRefresh()");
 | ||
|                     return;
 | ||
|                 }
 | ||
| 
 | ||
|             }
 | ||
| 
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 合并单元格定义项
 | ||
|         /// <summary>
 | ||
|         /// 第一行的gid 为了合并单元格用
 | ||
|         /// </summary>
 | ||
|         public string OneGid
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["OneGid"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["OneGid"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public string Gid2
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["Gid2"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["Gid2"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public string Gid3
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["Gid3"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["Gid3"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public string Gid4
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["Gid4"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["Gid4"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public string Gid5
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["Gid5"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["Gid5"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public string Gid6
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return (string)ViewState["Gid6"];
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["Gid6"] = value;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         public int child2Count
 | ||
|         {
 | ||
|             get
 | ||
|             {
 | ||
|                 return Convert.ToInt32(ViewState["child2Count"]);
 | ||
|             }
 | ||
|             set
 | ||
|             {
 | ||
|                 ViewState["child2Count"] = value;
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 加载表格数据
 | ||
|         /// <summary>
 | ||
|         /// 加载表格的实体类
 | ||
|         /// </summary>
 | ||
|         public class GridModels
 | ||
|         {
 | ||
|             public string Performance_ChildGid1 { get; set; }
 | ||
|             public string PerformanceGid { get; set; }
 | ||
|             public string PType { get; set; }
 | ||
| 
 | ||
|             public decimal? EvaScore { get; set; }
 | ||
|             public string Itemize { get; set; }
 | ||
|             public string WorkArea { get; set; }
 | ||
|             public string MonthTarget { get; set; }
 | ||
| 
 | ||
|             public int? SortIndex { get; set; }
 | ||
| 
 | ||
|             #region 任务安排 下标9;工程量 14;材机资源需求计划 19
 | ||
|             public string Performance_ChildGid2 { get; set; }
 | ||
| 
 | ||
|             //任务安排 下标9
 | ||
|             public string TaskContent1 { get; set; }
 | ||
|             public string TaskContent2 { get; set; }
 | ||
|             public string TaskContent3 { get; set; }
 | ||
|             public string TaskContent4 { get; set; }
 | ||
|             public string TaskContent5 { get; set; }
 | ||
| 
 | ||
|             //工程量 14
 | ||
|             public string ProjectQuantity1 { get; set; }
 | ||
|             public string ProjectQuantity2 { get; set; }
 | ||
|             public string ProjectQuantity3 { get; set; }
 | ||
|             public string ProjectQuantity4 { get; set; }
 | ||
|             public string ProjectQuantity5 { get; set; }
 | ||
| 
 | ||
|             //材机资源需求计划 19
 | ||
|             public string DemandPlan1 { get; set; }
 | ||
|             public string DemandPlan2 { get; set; }
 | ||
|             public string DemandPlan3 { get; set; }
 | ||
|             public string DemandPlan4 { get; set; }
 | ||
|             public string DemandPlan5 { get; set; }
 | ||
| 
 | ||
|             //本周工作任务完成情况 24
 | ||
|             public string TaskCompletContent1 { get; set; }
 | ||
|             public string TaskCompletContent2 { get; set; }
 | ||
|             public string TaskCompletContent3 { get; set; }
 | ||
|             public string TaskCompletContent4 { get; set; }
 | ||
|             public string TaskCompletContent5 { get; set; }
 | ||
|             #endregion
 | ||
| 
 | ||
|             #region 每天任务完成情况 下标29
 | ||
|             public string WorkPlan1 { get; set; }
 | ||
|             public string WorkPlan2 { get; set; }
 | ||
|             public string WorkPlan3 { get; set; }
 | ||
|             public string WorkPlan4 { get; set; }
 | ||
|             public string WorkPlan5 { get; set; }
 | ||
|             public string WorkPlan6 { get; set; }
 | ||
|             public string WorkPlan7 { get; set; }
 | ||
|             public string WorkPlan8 { get; set; }
 | ||
|             public string WorkPlan9 { get; set; }
 | ||
|             public string WorkPlan10 { get; set; }
 | ||
|             public string WorkPlan11 { get; set; }
 | ||
|             public string WorkPlan12 { get; set; }
 | ||
|             public string WorkPlan13 { get; set; }
 | ||
|             public string WorkPlan14 { get; set; }
 | ||
|             public string WorkPlan15 { get; set; }
 | ||
|             public string WorkPlan16 { get; set; }
 | ||
|             public string WorkPlan17 { get; set; }
 | ||
|             public string WorkPlan18 { get; set; }
 | ||
|             public string WorkPlan19 { get; set; }
 | ||
|             public string WorkPlan20 { get; set; }
 | ||
|             public string WorkPlan21 { get; set; }
 | ||
|             public string WorkPlan22 { get; set; }
 | ||
|             public string WorkPlan23 { get; set; }
 | ||
|             public string WorkPlan24 { get; set; }
 | ||
|             public string WorkPlan25 { get; set; }
 | ||
|             public string WorkPlan26 { get; set; }
 | ||
|             public string WorkPlan27 { get; set; }
 | ||
|             public string WorkPlan28 { get; set; }
 | ||
|             public string WorkPlan29 { get; set; }
 | ||
|             public string WorkPlan30 { get; set; }
 | ||
|             public string WorkPlan31 { get; set; }
 | ||
|             public string WorkPlan32 { get; set; }
 | ||
|             public string WorkPlan33 { get; set; }
 | ||
|             #endregion
 | ||
| 
 | ||
|             #region 本日完成情况 下标 62
 | ||
|             public string CompletStatus1 { get; set; }
 | ||
|             public string CompletStatus2 { get; set; }
 | ||
|             public string CompletStatus3 { get; set; }
 | ||
|             public string CompletStatus4 { get; set; }
 | ||
|             public string CompletStatus5 { get; set; }
 | ||
|             public string CompletStatus6 { get; set; }
 | ||
|             public string CompletStatus7 { get; set; }
 | ||
|             public string CompletStatus8 { get; set; }
 | ||
|             public string CompletStatus9 { get; set; }
 | ||
|             public string CompletStatus10 { get; set; }
 | ||
|             public string CompletStatus11 { get; set; }
 | ||
|             public string CompletStatus12 { get; set; }
 | ||
|             public string CompletStatus13 { get; set; }
 | ||
|             public string CompletStatus14 { get; set; }
 | ||
|             public string CompletStatus15 { get; set; }
 | ||
|             public string CompletStatus16 { get; set; }
 | ||
|             public string CompletStatus17 { get; set; }
 | ||
|             public string CompletStatus18 { get; set; }
 | ||
|             public string CompletStatus19 { get; set; }
 | ||
|             public string CompletStatus20 { get; set; }
 | ||
|             public string CompletStatus21 { get; set; }
 | ||
|             public string CompletStatus22 { get; set; }
 | ||
|             public string CompletStatus23 { get; set; }
 | ||
|             public string CompletStatus24 { get; set; }
 | ||
|             public string CompletStatus25 { get; set; }
 | ||
|             public string CompletStatus26 { get; set; }
 | ||
|             public string CompletStatus27 { get; set; }
 | ||
|             public string CompletStatus28 { get; set; }
 | ||
|             public string CompletStatus29 { get; set; }
 | ||
|             public string CompletStatus30 { get; set; }
 | ||
|             public string CompletStatus31 { get; set; }
 | ||
|             public string CompletStatus32 { get; set; }
 | ||
|             public string CompletStatus33 { get; set; }
 | ||
|             #endregion
 | ||
| 
 | ||
|             #region 定义索引
 | ||
|             //定义索引器,name 字段的索引值为 0 ,password 字段的索引值为 1
 | ||
|             public string this[int index]
 | ||
|             {
 | ||
|                 #region get
 | ||
|                 get
 | ||
|                 {
 | ||
|                     if (index == 0)
 | ||
|                     {
 | ||
|                         return WorkPlan1;
 | ||
|                     }
 | ||
|                     else if (index == 1)
 | ||
|                     {
 | ||
|                         return WorkPlan2;
 | ||
|                     }
 | ||
|                     else if (index == 2)
 | ||
|                     {
 | ||
|                         return WorkPlan3;
 | ||
|                     }
 | ||
|                     else if (index == 3)
 | ||
|                     {
 | ||
|                         return WorkPlan4;
 | ||
|                     }
 | ||
|                     else if (index == 4)
 | ||
|                     {
 | ||
|                         return WorkPlan5;
 | ||
|                     }
 | ||
|                     else if (index == 5)
 | ||
|                     {
 | ||
|                         return WorkPlan6;
 | ||
|                     }
 | ||
|                     else if (index == 6)
 | ||
|                     {
 | ||
|                         return WorkPlan7;
 | ||
|                     }
 | ||
|                     else if (index == 7)
 | ||
|                     {
 | ||
|                         return WorkPlan8;
 | ||
|                     }
 | ||
|                     else if (index == 8)
 | ||
|                     {
 | ||
|                         return WorkPlan9;
 | ||
|                     }
 | ||
|                     else if (index == 9)
 | ||
|                     {
 | ||
|                         return WorkPlan10;
 | ||
|                     }
 | ||
|                     else if (index == 10)
 | ||
|                     {
 | ||
|                         return WorkPlan11;
 | ||
|                     }
 | ||
|                     else if (index == 11)
 | ||
|                     {
 | ||
|                         return WorkPlan12;
 | ||
|                     }
 | ||
|                     else if (index == 12)
 | ||
|                     {
 | ||
|                         return WorkPlan13;
 | ||
|                     }
 | ||
|                     else if (index == 13)
 | ||
|                     {
 | ||
|                         return WorkPlan14;
 | ||
|                     }
 | ||
|                     else if (index == 14)
 | ||
|                     {
 | ||
|                         return WorkPlan15;
 | ||
|                     }
 | ||
|                     else if (index == 15)
 | ||
|                     {
 | ||
|                         return WorkPlan16;
 | ||
|                     }
 | ||
|                     else if (index == 16)
 | ||
|                     {
 | ||
|                         return WorkPlan17;
 | ||
|                     }
 | ||
|                     else if (index == 17)
 | ||
|                     {
 | ||
|                         return WorkPlan18;
 | ||
|                     }
 | ||
|                     else if (index == 18)
 | ||
|                     {
 | ||
|                         return WorkPlan19;
 | ||
|                     }
 | ||
|                     else if (index == 19)
 | ||
|                     {
 | ||
|                         return WorkPlan20;
 | ||
|                     }
 | ||
|                     else if (index == 20)
 | ||
|                     {
 | ||
|                         return WorkPlan21;
 | ||
|                     }
 | ||
|                     else if (index == 21)
 | ||
|                     {
 | ||
|                         return WorkPlan22;
 | ||
|                     }
 | ||
|                     else if (index == 22)
 | ||
|                     {
 | ||
|                         return WorkPlan23;
 | ||
|                     }
 | ||
|                     else if (index == 23)
 | ||
|                     {
 | ||
|                         return WorkPlan24;
 | ||
|                     }
 | ||
|                     else if (index == 24)
 | ||
|                     {
 | ||
|                         return WorkPlan25;
 | ||
|                     }
 | ||
|                     else if (index == 25)
 | ||
|                     {
 | ||
|                         return WorkPlan26;
 | ||
|                     }
 | ||
|                     else if (index == 26)
 | ||
|                     {
 | ||
|                         return WorkPlan27;
 | ||
|                     }
 | ||
|                     else if (index == 27)
 | ||
|                     {
 | ||
|                         return WorkPlan28;
 | ||
|                     }
 | ||
|                     else if (index == 28)
 | ||
|                     {
 | ||
|                         return WorkPlan29;
 | ||
|                     }
 | ||
|                     else if (index == 29)
 | ||
|                     {
 | ||
|                         return WorkPlan30;
 | ||
|                     }
 | ||
|                     else if (index == 30)
 | ||
|                     {
 | ||
|                         return WorkPlan31;
 | ||
|                     }
 | ||
|                     else if (index == 31)
 | ||
|                     {
 | ||
|                         return WorkPlan32;
 | ||
|                     }
 | ||
|                     else if (index == 32)
 | ||
|                     {
 | ||
|                         return CompletStatus1;
 | ||
|                     }
 | ||
|                     else if (index == 33)
 | ||
|                     {
 | ||
|                         return CompletStatus2;
 | ||
|                     }
 | ||
|                     else if (index == 34)
 | ||
|                     {
 | ||
|                         return CompletStatus3;
 | ||
|                     }
 | ||
|                     else if (index == 35)
 | ||
|                     {
 | ||
|                         return CompletStatus4;
 | ||
|                     }
 | ||
|                     else if (index == 36)
 | ||
|                     {
 | ||
|                         return CompletStatus5;
 | ||
|                     }
 | ||
|                     else if (index == 37)
 | ||
|                     {
 | ||
|                         return CompletStatus6;
 | ||
|                     }
 | ||
|                     else if (index == 38)
 | ||
|                     {
 | ||
|                         return CompletStatus7;
 | ||
|                     }
 | ||
|                     else if (index == 39)
 | ||
|                     {
 | ||
|                         return CompletStatus8;
 | ||
|                     }
 | ||
|                     else if (index == 40)
 | ||
|                     {
 | ||
|                         return CompletStatus9;
 | ||
|                     }
 | ||
|                     else if (index == 41)
 | ||
|                     {
 | ||
|                         return CompletStatus10;
 | ||
|                     }
 | ||
|                     else if (index == 42)
 | ||
|                     {
 | ||
|                         return CompletStatus11;
 | ||
|                     }
 | ||
|                     else if (index == 43)
 | ||
|                     {
 | ||
|                         return CompletStatus12;
 | ||
|                     }
 | ||
|                     else if (index == 44)
 | ||
|                     {
 | ||
|                         return CompletStatus13;
 | ||
|                     }
 | ||
|                     else if (index == 45)
 | ||
|                     {
 | ||
|                         return CompletStatus14;
 | ||
|                     }
 | ||
|                     else if (index == 46)
 | ||
|                     {
 | ||
|                         return CompletStatus15;
 | ||
|                     }
 | ||
|                     else if (index == 47)
 | ||
|                     {
 | ||
|                         return CompletStatus16;
 | ||
|                     }
 | ||
|                     else if (index == 48)
 | ||
|                     {
 | ||
|                         return CompletStatus17;
 | ||
|                     }
 | ||
|                     else if (index == 49)
 | ||
|                     {
 | ||
|                         return CompletStatus18;
 | ||
|                     }
 | ||
|                     else if (index == 50)
 | ||
|                     {
 | ||
|                         return CompletStatus19;
 | ||
|                     }
 | ||
|                     else if (index == 51)
 | ||
|                     {
 | ||
|                         return CompletStatus20;
 | ||
|                     }
 | ||
|                     else if (index == 52)
 | ||
|                     {
 | ||
|                         return CompletStatus21;
 | ||
|                     }
 | ||
|                     else if (index == 53)
 | ||
|                     {
 | ||
|                         return CompletStatus22;
 | ||
|                     }
 | ||
|                     else if (index == 54)
 | ||
|                     {
 | ||
|                         return CompletStatus23;
 | ||
|                     }
 | ||
|                     else if (index == 55)
 | ||
|                     {
 | ||
|                         return CompletStatus24;
 | ||
|                     }
 | ||
|                     else if (index == 56)
 | ||
|                     {
 | ||
|                         return CompletStatus25;
 | ||
|                     }
 | ||
|                     else if (index == 57)
 | ||
|                     {
 | ||
|                         return CompletStatus26;
 | ||
|                     }
 | ||
|                     else if (index == 58)
 | ||
|                     {
 | ||
|                         return CompletStatus27;
 | ||
|                     }
 | ||
|                     else if (index == 59)
 | ||
|                     {
 | ||
|                         return CompletStatus28;
 | ||
|                     }
 | ||
|                     else if (index == 60)
 | ||
|                     {
 | ||
|                         return CompletStatus29;
 | ||
|                     }
 | ||
|                     else if (index == 61)
 | ||
|                     {
 | ||
|                         return CompletStatus30;
 | ||
|                     }
 | ||
|                     else if (index == 62)
 | ||
|                     {
 | ||
|                         return CompletStatus31;
 | ||
|                     }
 | ||
|                     else if (index == 63)
 | ||
|                     {
 | ||
|                         return CompletStatus32;
 | ||
|                     }
 | ||
| 
 | ||
|                     else { return null; }
 | ||
|                     #endregion
 | ||
| 
 | ||
|                 }
 | ||
|                 set
 | ||
|                 {
 | ||
|                     if (index == 0)
 | ||
|                     {
 | ||
|                         WorkPlan1 = value;
 | ||
|                     }
 | ||
|                     else if (index == 1)
 | ||
|                     {
 | ||
|                         WorkPlan2 = value;
 | ||
|                     }
 | ||
|                     else if (index == 2)
 | ||
|                     {
 | ||
|                         WorkPlan3 = value;
 | ||
|                     }
 | ||
|                     else if (index == 3)
 | ||
|                     {
 | ||
|                         WorkPlan4 = value;
 | ||
|                     }
 | ||
|                     else if (index == 4)
 | ||
|                     {
 | ||
|                         WorkPlan5 = value;
 | ||
|                     }
 | ||
|                     else if (index == 5)
 | ||
|                     {
 | ||
|                         WorkPlan6 = value;
 | ||
|                     }
 | ||
|                     else if (index == 6)
 | ||
|                     {
 | ||
|                         WorkPlan7 = value;
 | ||
|                     }
 | ||
|                     else if (index == 7)
 | ||
|                     {
 | ||
|                         WorkPlan8 = value;
 | ||
|                     }
 | ||
|                     else if (index == 8)
 | ||
|                     {
 | ||
|                         WorkPlan9 = value;
 | ||
|                     }
 | ||
|                     else if (index == 9)
 | ||
|                     {
 | ||
|                         WorkPlan10 = value;
 | ||
|                     }
 | ||
|                     else if (index == 10)
 | ||
|                     {
 | ||
|                         WorkPlan11 = value;
 | ||
|                     }
 | ||
|                     else if (index == 11)
 | ||
|                     {
 | ||
|                         WorkPlan12 = value;
 | ||
|                     }
 | ||
|                     else if (index == 12)
 | ||
|                     {
 | ||
|                         WorkPlan13 = value;
 | ||
|                     }
 | ||
|                     else if (index == 13)
 | ||
|                     {
 | ||
|                         WorkPlan14 = value;
 | ||
|                     }
 | ||
|                     else if (index == 14)
 | ||
|                     {
 | ||
|                         WorkPlan15 = value;
 | ||
|                     }
 | ||
|                     else if (index == 15)
 | ||
|                     {
 | ||
|                         WorkPlan16 = value;
 | ||
|                     }
 | ||
|                     else if (index == 16)
 | ||
|                     {
 | ||
|                         WorkPlan17 = value;
 | ||
|                     }
 | ||
|                     else if (index == 17)
 | ||
|                     {
 | ||
|                         WorkPlan18 = value;
 | ||
|                     }
 | ||
|                     else if (index == 18)
 | ||
|                     {
 | ||
|                         WorkPlan19 = value;
 | ||
|                     }
 | ||
|                     else if (index == 19)
 | ||
|                     {
 | ||
|                         WorkPlan20 = value;
 | ||
|                     }
 | ||
|                     else if (index == 20)
 | ||
|                     {
 | ||
|                         WorkPlan21 = value;
 | ||
|                     }
 | ||
|                     else if (index == 21)
 | ||
|                     {
 | ||
|                         WorkPlan22 = value;
 | ||
|                     }
 | ||
|                     else if (index == 22)
 | ||
|                     {
 | ||
|                         WorkPlan23 = value;
 | ||
|                     }
 | ||
|                     else if (index == 23)
 | ||
|                     {
 | ||
|                         WorkPlan24 = value;
 | ||
|                     }
 | ||
|                     else if (index == 24)
 | ||
|                     {
 | ||
|                         WorkPlan25 = value;
 | ||
|                     }
 | ||
|                     else if (index == 25)
 | ||
|                     {
 | ||
|                         WorkPlan26 = value;
 | ||
|                     }
 | ||
|                     else if (index == 26)
 | ||
|                     {
 | ||
|                         WorkPlan27 = value;
 | ||
|                     }
 | ||
|                     else if (index == 27)
 | ||
|                     {
 | ||
|                         WorkPlan28 = value;
 | ||
|                     }
 | ||
|                     else if (index == 28)
 | ||
|                     {
 | ||
|                         WorkPlan29 = value;
 | ||
|                     }
 | ||
|                     else if (index == 29)
 | ||
|                     {
 | ||
|                         WorkPlan30 = value;
 | ||
|                     }
 | ||
|                     else if (index == 30)
 | ||
|                     {
 | ||
|                         WorkPlan31 = value;
 | ||
|                     }
 | ||
|                     else if (index == 31)
 | ||
|                     {
 | ||
|                         WorkPlan32 = value;
 | ||
|                     }
 | ||
|                     else if (index == 32)
 | ||
|                     {
 | ||
|                         CompletStatus1 = value;
 | ||
|                     }
 | ||
|                     else if (index == 33)
 | ||
|                     {
 | ||
|                         CompletStatus2 = value;
 | ||
|                     }
 | ||
|                     else if (index == 34)
 | ||
|                     {
 | ||
|                         CompletStatus3 = value;
 | ||
|                     }
 | ||
|                     else if (index == 35)
 | ||
|                     {
 | ||
|                         CompletStatus4 = value;
 | ||
|                     }
 | ||
|                     else if (index == 36)
 | ||
|                     {
 | ||
|                         CompletStatus5 = value;
 | ||
|                     }
 | ||
|                     else if (index == 37)
 | ||
|                     {
 | ||
|                         CompletStatus6 = value;
 | ||
|                     }
 | ||
|                     else if (index == 38)
 | ||
|                     {
 | ||
|                         CompletStatus7 = value;
 | ||
|                     }
 | ||
|                     else if (index == 39)
 | ||
|                     {
 | ||
|                         CompletStatus8 = value;
 | ||
|                     }
 | ||
|                     else if (index == 40)
 | ||
|                     {
 | ||
|                         CompletStatus9 = value;
 | ||
|                     }
 | ||
|                     else if (index == 41)
 | ||
|                     {
 | ||
|                         CompletStatus10 = value;
 | ||
|                     }
 | ||
|                     else if (index == 42)
 | ||
|                     {
 | ||
|                         CompletStatus11 = value;
 | ||
|                     }
 | ||
|                     else if (index == 43)
 | ||
|                     {
 | ||
|                         CompletStatus12 = value;
 | ||
|                     }
 | ||
|                     else if (index == 44)
 | ||
|                     {
 | ||
|                         CompletStatus13 = value;
 | ||
|                     }
 | ||
|                     else if (index == 45)
 | ||
|                     {
 | ||
|                         CompletStatus14 = value;
 | ||
|                     }
 | ||
|                     else if (index == 46)
 | ||
|                     {
 | ||
|                         CompletStatus15 = value;
 | ||
|                     }
 | ||
|                     else if (index == 47)
 | ||
|                     {
 | ||
|                         CompletStatus16 = value;
 | ||
|                     }
 | ||
|                     else if (index == 48)
 | ||
|                     {
 | ||
|                         CompletStatus17 = value;
 | ||
|                     }
 | ||
|                     else if (index == 49)
 | ||
|                     {
 | ||
|                         CompletStatus18 = value;
 | ||
|                     }
 | ||
|                     else if (index == 50)
 | ||
|                     {
 | ||
|                         CompletStatus19 = value;
 | ||
|                     }
 | ||
|                     else if (index == 51)
 | ||
|                     {
 | ||
|                         CompletStatus20 = value;
 | ||
|                     }
 | ||
|                     else if (index == 52)
 | ||
|                     {
 | ||
|                         CompletStatus21 = value;
 | ||
|                     }
 | ||
|                     else if (index == 53)
 | ||
|                     {
 | ||
|                         CompletStatus22 = value;
 | ||
|                     }
 | ||
|                     else if (index == 54)
 | ||
|                     {
 | ||
|                         CompletStatus23 = value;
 | ||
|                     }
 | ||
|                     else if (index == 55)
 | ||
|                     {
 | ||
|                         CompletStatus24 = value;
 | ||
|                     }
 | ||
|                     else if (index == 56)
 | ||
|                     {
 | ||
|                         CompletStatus25 = value;
 | ||
|                     }
 | ||
|                     else if (index == 57)
 | ||
|                     {
 | ||
|                         CompletStatus26 = value;
 | ||
|                     }
 | ||
|                     else if (index == 58)
 | ||
|                     {
 | ||
|                         CompletStatus27 = value;
 | ||
|                     }
 | ||
|                     else if (index == 59)
 | ||
|                     {
 | ||
|                         CompletStatus28 = value;
 | ||
|                     }
 | ||
|                     else if (index == 60)
 | ||
|                     {
 | ||
|                         CompletStatus29 = value;
 | ||
|                     }
 | ||
|                     else if (index == 61)
 | ||
|                     {
 | ||
|                         CompletStatus30 = value;
 | ||
|                     }
 | ||
|                     else if (index == 62)
 | ||
|                     {
 | ||
|                         CompletStatus31 = value;
 | ||
|                     }
 | ||
|                     else if (index == 63)
 | ||
|                     {
 | ||
|                         CompletStatus32 = value;
 | ||
|                     }
 | ||
| 
 | ||
|                 }
 | ||
|             }
 | ||
|             #endregion
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 加载数据
 | ||
|         /// </summary>
 | ||
|         private void BindGrid()
 | ||
|         {
 | ||
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | ||
|             {
 | ||
|                 var month = Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Year + "-" + Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Month;
 | ||
|                 if (Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Month.ToString().Length == 1)
 | ||
|                 {
 | ||
|                     month = Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Year + "-0" + Convert.ToDateTime(drpCompileDateMonth.Text.Trim()).Month;
 | ||
|                 }
 | ||
|                 //1.先获取主表的基础数据
 | ||
|                 var modelCQMS_Performance = db.CQMS_Performance.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId
 | ||
|                 && x.CreateDateMonth == month && x.CreateMan == CreateUser&&x.States=="1");
 | ||
|                 if (modelCQMS_Performance != null)
 | ||
|                 {
 | ||
| 
 | ||
|                     Grid1.Title = "五环责任人:" + modelCQMS_Performance.HeadUserid + ";本月完成专业产值:" +
 | ||
|                         modelCQMS_Performance.ProOutputValue + "万元;分包商负责人:" +
 | ||
|                         modelCQMS_Performance.SubUserids + ";分包工程师、班组长:" + modelCQMS_Performance.SubpackageUserids;
 | ||
|                     PerformanceGid = modelCQMS_Performance.PerformanceGid;
 | ||
|                     //根据主键查询CQMS_Performance_Child1
 | ||
|                     var listChild1 = db.CQMS_Performance_Child1.Where(x => x.PerformanceGid == PerformanceGid).OrderBy(x => x.SortIndex)
 | ||
|                         .Select(x => new GridModels
 | ||
|                         {
 | ||
|                             Performance_ChildGid1 = x.Performance_ChildGid1,
 | ||
|                             PerformanceGid = x.PerformanceGid,
 | ||
|                             PType = x.PType,
 | ||
|                             EvaScore = x.EvaScore,
 | ||
|                             Itemize = x.Itemize,
 | ||
|                             WorkArea = x.WorkArea,
 | ||
|                             MonthTarget = x.MonthTarget,
 | ||
|                             SortIndex = x.SortIndex
 | ||
|                         }).ToList();
 | ||
|                     #region 合并单元格参数
 | ||
|                     //获取各行的gid
 | ||
|                     OneGid = listChild1[0].Performance_ChildGid1;
 | ||
|                     Gid2 = listChild1[1].Performance_ChildGid1;
 | ||
|                     Gid3 = listChild1[2].Performance_ChildGid1;
 | ||
|                     Gid4 = listChild1[3].Performance_ChildGid1;
 | ||
|                     Gid5 = listChild1[4].Performance_ChildGid1;
 | ||
|                     Gid6 = listChild1[5].Performance_ChildGid1;
 | ||
|                     //获取CQMS_Performance_Child2 表中的数据
 | ||
|                     int child2Count = db.CQMS_Performance_Child2.Where(x => x.NowWeek == 1 && x.PerformanceGid == PerformanceGid).ToList().Count();
 | ||
|                     #endregion
 | ||
| 
 | ||
| 
 | ||
|                     //加载各周任务、工程量、人材机、完成情况
 | ||
| 
 | ||
|                     //根据gid获取CQMS_Performance_Child2 施工进度管理的子表数据,大于一条,就要多增加数据到List中
 | ||
|                     var ChildSgjdCount = db.CQMS_Performance_Child2.Where(x => x.NowWeek == 1 && x.PerformanceGid == PerformanceGid
 | ||
|                       && x.Performance_ChildGid1 == OneGid).ToList().Count();
 | ||
|                     for (int i = 0; i < ChildSgjdCount - 1; i++)
 | ||
|                     {
 | ||
|                         var addList = db.CQMS_Performance_Child1.Where(x => x.PerformanceGid == PerformanceGid && x.SortIndex == 1)
 | ||
|                        .Select(x => new GridModels
 | ||
|                        {
 | ||
|                            Performance_ChildGid1 = x.Performance_ChildGid1,
 | ||
|                            PerformanceGid = x.PerformanceGid,
 | ||
|                            PType = x.PType,
 | ||
|                            EvaScore = x.EvaScore,
 | ||
|                            Itemize = x.Itemize,
 | ||
|                            WorkArea = x.WorkArea,
 | ||
|                            MonthTarget = x.MonthTarget,
 | ||
|                            SortIndex = x.SortIndex
 | ||
|                        }).ToList();
 | ||
| 
 | ||
|                         addList[0].Performance_ChildGid1 = addList[0].Performance_ChildGid1 + "one" + i.ToString();
 | ||
|                         listChild1.InsertRange(i + 1, addList);
 | ||
|                     }
 | ||
| 
 | ||
| 
 | ||
|                     //if (ChildSgjdCount == 2)
 | ||
|                     //{
 | ||
|                     //    addList[0].Performance_ChildGid1 = addList[0].Performance_ChildGid1 + "one";
 | ||
|                     //    listChild1.InsertRange(1, addList);
 | ||
|                     //}
 | ||
|                     //else if (ChildSgjdCount == 3)
 | ||
|                     //{
 | ||
|                     //    var pgid = addList[0].Performance_ChildGid1;
 | ||
|                     //    addList[0].Performance_ChildGid1 = pgid + "one";
 | ||
|                     //    listChild1.InsertRange(1, addList);
 | ||
|                     //    addList[0].Performance_ChildGid1 = pgid + "two";
 | ||
|                     //    listChild1.InsertRange(2, addList);
 | ||
|                     //}
 | ||
| 
 | ||
|                     //循环list给每周任务、工程量、资源需求计划、本周工作任务完成情况 ,每日工作计划、完成情况赋值
 | ||
|                     //获取周数
 | ||
|                     var NowDate = Convert.ToDateTime(drpCompileDateMonth.Text.Trim());
 | ||
|                     var Month = 1;
 | ||
|                     var Year = NowDate.Year;
 | ||
|                     if (NowDate.Month != 12)
 | ||
|                     {
 | ||
|                         Month = NowDate.Month + 1;
 | ||
|                     }
 | ||
|                     else {
 | ||
|                         Year += 1;
 | ||
|                     }
 | ||
| 
 | ||
|                     var modelConfig = Funs.DB.CQMS_Performance_SetUp.FirstOrDefault(x => x.CreateYear == Year.ToString() && x.SortIndex == Month);
 | ||
| 
 | ||
|                     for (int i = 0; i < listChild1.Count; i++)
 | ||
|                     {
 | ||
|                         var CompletStatusIndex = 32;
 | ||
|                         var zIndex = 0;
 | ||
|                         //循环周数-
 | ||
|                         for (int y = 0; y < modelConfig.SetUpWeek; y++)
 | ||
|                         {
 | ||
|                             var chilGid = listChild1[i].Performance_ChildGid1;
 | ||
|                             if (chilGid.IndexOf("one") > -1 || chilGid.IndexOf("two") > -1)
 | ||
|                             {
 | ||
|                                 chilGid = chilGid.Substring(0, chilGid.Length - 4);
 | ||
|                             }
 | ||
| 
 | ||
|                             //根据周数获取数据
 | ||
|                             var Child2ListNew = db.CQMS_Performance_Child2.FirstOrDefault(x => x.PerformanceGid == listChild1[i].PerformanceGid
 | ||
|                              && x.Performance_ChildGid1 == chilGid && x.NowWeek == (y + 1) && x.SortIndex == (i + 1));
 | ||
| 
 | ||
|                             //将list中的周数数据插入
 | ||
|                             if (Child2ListNew == null)
 | ||
|                             {
 | ||
|                                 PerformanceGid = "";
 | ||
|                                 ShowNotify("数据有误。请重新生成", MessageBoxIcon.Warning);
 | ||
|                                 return;
 | ||
|                             }
 | ||
|                             switch (y)
 | ||
|                             {
 | ||
|                                 case 0:
 | ||
|                                     listChild1[i].TaskContent1 = Child2ListNew.TaskContent;
 | ||
|                                     listChild1[i].ProjectQuantity1 = Child2ListNew.ProjectQuantity;
 | ||
|                                     listChild1[i].DemandPlan1 = Child2ListNew.DemandPlan;
 | ||
|                                     listChild1[i].TaskCompletContent1 = Child2ListNew.TaskCompletContent;
 | ||
|                                     break;
 | ||
|                                 case 1:
 | ||
|                                     listChild1[i].TaskContent2 = Child2ListNew.TaskContent;
 | ||
|                                     listChild1[i].ProjectQuantity2 = Child2ListNew.ProjectQuantity;
 | ||
|                                     listChild1[i].DemandPlan2 = Child2ListNew.DemandPlan;
 | ||
|                                     listChild1[i].TaskCompletContent2 = Child2ListNew.TaskCompletContent;
 | ||
|                                     break;
 | ||
|                                 case 2:
 | ||
|                                     listChild1[i].TaskContent3 = Child2ListNew.TaskContent;
 | ||
|                                     listChild1[i].ProjectQuantity3 = Child2ListNew.ProjectQuantity;
 | ||
|                                     listChild1[i].DemandPlan3 = Child2ListNew.DemandPlan;
 | ||
|                                     listChild1[i].TaskCompletContent3 = Child2ListNew.TaskCompletContent;
 | ||
|                                     break;
 | ||
|                                 case 3:
 | ||
|                                     listChild1[i].TaskContent4 = Child2ListNew.TaskContent;
 | ||
|                                     listChild1[i].ProjectQuantity4 = Child2ListNew.ProjectQuantity;
 | ||
|                                     listChild1[i].DemandPlan4 = Child2ListNew.DemandPlan;
 | ||
|                                     listChild1[i].TaskCompletContent4 = Child2ListNew.TaskCompletContent;
 | ||
|                                     break;
 | ||
|                                 case 4:
 | ||
|                                     listChild1[i].TaskContent5 = Child2ListNew.TaskContent;
 | ||
|                                     listChild1[i].ProjectQuantity5 = Child2ListNew.ProjectQuantity;
 | ||
|                                     listChild1[i].DemandPlan5 = Child2ListNew.DemandPlan;
 | ||
|                                     listChild1[i].TaskCompletContent5 = Child2ListNew.TaskCompletContent;
 | ||
|                                     break;
 | ||
|                             }
 | ||
| 
 | ||
|                             #region 根据周id获取日
 | ||
|                             var Child3ListNew = db.CQMS_Performance_Child3.Where(x => x.Performance_ChildGid2 == Child2ListNew.Performance_ChildGid2)
 | ||
|                                 .OrderBy(x => x.CurrentDate).ToList();
 | ||
| 
 | ||
|                             for (var z = 0; z < Child3ListNew.Count; z++)
 | ||
|                             {
 | ||
|                                 listChild1[i][zIndex] = Child3ListNew[z].WorkPlan;
 | ||
|                                 listChild1[i][CompletStatusIndex] = Child3ListNew[z].CompletStatus;
 | ||
|                                 CompletStatusIndex += 1;
 | ||
|                                 zIndex += 1;
 | ||
| 
 | ||
|                             }
 | ||
|                             #endregion
 | ||
|                         }
 | ||
|                     }
 | ||
| 
 | ||
| 
 | ||
|                     //重新给list设置 序号
 | ||
|                     int sindex = 1;
 | ||
|                     listChild1.ForEach(x =>
 | ||
|                     {
 | ||
|                         x.SortIndex = sindex;
 | ||
|                         sindex += 1;
 | ||
|                     });
 | ||
|                     var table = ToDataTable<GridModels>(listChild1);
 | ||
|                     Grid1.DataSource = table;
 | ||
|                     Grid1.DataBind();
 | ||
| 
 | ||
| 
 | ||
|                     #region 合并单元格
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|                     var DateIffs = DateDiff(Convert.ToDateTime(modelConfig.SetUpStartDate), Convert.ToDateTime(modelConfig.SetUpEndDate)) + 1;
 | ||
|                     if (ChildSgjdCount > 1)
 | ||
|                     {
 | ||
|                         //合并单元格方法
 | ||
|                         PageContext.RegisterStartupScript("onGridDataLoad('" + OneGid + "','" + child2Count + "','" + Gid2 + "','"
 | ||
|                             + Gid3 + "','" + Gid4 + "','" + Gid5 + "','" + Gid6 + "','" + ChildSgjdCount + "','" + modelConfig.SetUpWeek + "'," + DateIffs + ")");
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         //合并单元格方法
 | ||
|                         PageContext.RegisterStartupScript("onGridDataLoad('" + OneGid + "','" + child2Count + "','" + Gid2 + "','"
 | ||
|                             + Gid3 + "','" + Gid4 + "','" + Gid5 + "','" + Gid6 + "',0,'" + modelConfig.SetUpWeek + "'," + DateIffs + ")");
 | ||
|                     }
 | ||
|                     #endregion
 | ||
| 
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     if (string.IsNullOrEmpty(CurrUser.LoginProjectId))
 | ||
|                     {
 | ||
|                         ShowNotify("未查询到当前项目,请刷新页面重试。", MessageBoxIcon.Warning);
 | ||
| 
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         ShowNotify("当前年月未查询到提交的数据。", MessageBoxIcon.Warning);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 计算日期之间的天数
 | ||
|         /// </summary>
 | ||
|         /// <param name="dateStart"></param>
 | ||
|         /// <param name="dateEnd"></param>
 | ||
|         /// <returns></returns>
 | ||
|         private int DateDiff(DateTime dateStart, DateTime dateEnd)
 | ||
| 
 | ||
|         {
 | ||
| 
 | ||
|             DateTime start = Convert.ToDateTime(dateStart.ToShortDateString());
 | ||
| 
 | ||
|             DateTime end = Convert.ToDateTime(dateEnd.ToShortDateString());
 | ||
| 
 | ||
|             TimeSpan sp = end.Subtract(start);
 | ||
| 
 | ||
|             return sp.Days;
 | ||
|         }
 | ||
|         #endregion
 | ||
|         /// <summary>
 | ||
|         /// 查询绑定数据
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnBindGrid(object sender, EventArgs e)
 | ||
|         {
 | ||
|             var Rurl = Request.Url.ToString();
 | ||
|             if (Rurl.IndexOf("?") > -1)
 | ||
|             {
 | ||
|                 Rurl = Rurl.Substring(0, Rurl.IndexOf("?"));
 | ||
|             }
 | ||
|             if (drpUser.SelectedValue==BLL.Const._Null)
 | ||
|             {
 | ||
|                 ShowNotify("请选择要打分的施工工程师。", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
|             //重定向当前页面传值
 | ||
|             Response.Redirect(Rurl + "?CompileDateMonth=" + drpCompileDateMonth.Text+"&CreateUser="+drpUser.SelectedValue);
 | ||
|             //BindGrid();
 | ||
|         }
 | ||
| 
 | ||
|         protected void drpUser_SelectedIndexChanged(object sender, EventArgs e) { 
 | ||
|             
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         #region list转换datatable
 | ||
|         /// <summary>
 | ||
|         /// Convert a List{T} to a DataTable.
 | ||
|         /// </summary>
 | ||
|         private DataTable ToDataTable<T>(List<T> items)
 | ||
|         {
 | ||
|             var tb = new DataTable(typeof(T).Name);
 | ||
| 
 | ||
|             PropertyInfo[] props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
 | ||
| 
 | ||
|             foreach (PropertyInfo prop in props)
 | ||
|             {
 | ||
|                 Type t = GetCoreType(prop.PropertyType);
 | ||
|                 tb.Columns.Add(prop.Name, t);
 | ||
|             }
 | ||
| 
 | ||
|             foreach (T item in items)
 | ||
|             {
 | ||
|                 var values = new object[props.Length];
 | ||
| 
 | ||
|                 for (int i = 0; i < props.Length - 1; i++)
 | ||
|                 {
 | ||
|                     values[i] = props[i].GetValue(item, null);
 | ||
|                 }
 | ||
| 
 | ||
|                 tb.Rows.Add(values);
 | ||
|             }
 | ||
| 
 | ||
|             return tb;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// Determine of specified type is nullable
 | ||
|         /// </summary>
 | ||
|         public static bool IsNullable(Type t)
 | ||
|         {
 | ||
|             return !t.IsValueType || (t.IsGenericType && t.GetGenericTypeDefinition() == typeof(Nullable<>));
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// Return underlying type if type is Nullable otherwise return the type
 | ||
|         /// </summary>
 | ||
|         public static Type GetCoreType(Type t)
 | ||
|         {
 | ||
|             if (t != null && IsNullable(t))
 | ||
|             {
 | ||
|                 if (!t.IsValueType)
 | ||
|                 {
 | ||
|                     return t;
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     return Nullable.GetUnderlyingType(t);
 | ||
|                 }
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 return t;
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         protected void Window1_Close(object sender, EventArgs e)
 | ||
|         {
 | ||
|             BindGrid();
 | ||
|             OutputSummaryData();
 | ||
|         }
 | ||
| 
 | ||
|         
 | ||
|         /// <summary>
 | ||
|         /// 
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
| 
 | ||
|         protected void btnNew_Score(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (string.IsNullOrEmpty(PerformanceGid))
 | ||
|             {
 | ||
|                 ShowNotify("未查询到数据,请先生成表单。", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 //查询状态是否是1 不是1的不允许打分
 | ||
|                 var model = Funs.DB.CQMS_Performance.FirstOrDefault(x => x.PerformanceGid == PerformanceGid);
 | ||
|                 if (model == null)
 | ||
|                 {
 | ||
|                     ShowNotify("未查询到数据,请先生成表单。", MessageBoxIcon.Warning);
 | ||
|                     return;
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     if (CurrUser.UserId != Const.sysglyId && CurrUser.UserId != Const.hfnbdId)
 | ||
|                     {
 | ||
|                         if (model.States != "1")
 | ||
|                         {
 | ||
|                             ShowNotify("当前数据未提交,不允许打分。", MessageBoxIcon.Warning);
 | ||
|                             return;
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
| 
 | ||
|                 PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ScoreEdit.aspx?PerformanceGid=" + PerformanceGid + "&CreateDateMonth=" + drpCompileDateMonth.Text.Trim(), ""),
 | ||
|                                  "打分", Unit.Parse("1000px"), Unit.Parse("800px")));
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         #region 导出excel
 | ||
| 
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 格式化html
 | ||
|         /// </summary>
 | ||
|         /// <param name="grid"></param>
 | ||
|         /// <returns></returns>
 | ||
|         private string GetGridTableHtml(Grid grid)
 | ||
|         {
 | ||
|             StringBuilder sb = new StringBuilder();
 | ||
| 
 | ||
|             MultiHeaderTable mht = new MultiHeaderTable();
 | ||
|             mht.ResolveMultiHeaderTable(Grid1.Columns);
 | ||
| 
 | ||
| 
 | ||
|             sb.Append("<meta http-equiv=\"Content-Type\" content=\"application/vnd.ms-excel;charset=utf-8\"/>");
 | ||
| 
 | ||
| 
 | ||
|             sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
 | ||
| 
 | ||
|             ////列数
 | ||
|             //var rowCount = "";
 | ||
|             //var list = Funs.DB.Base_Project.Where(x => x.ProjectState == Const.ProjectState_1 || x.ProjectState == null).OrderBy(x => x.ProjectCode).ToList();
 | ||
|             //for (int i = 0; i < list.Count; i++)
 | ||
|             //{
 | ||
|             //    rowCount+="{}"
 | ||
|             //}
 | ||
| 
 | ||
|             foreach (List<object[]> rows in mht.MultiTable)
 | ||
|             {
 | ||
|                 sb.Append("<tr>");
 | ||
|                 foreach (object[] cell in rows)
 | ||
|                 {
 | ||
|                     int rowspan = Convert.ToInt32(cell[0]);
 | ||
|                     int colspan = Convert.ToInt32(cell[1]);
 | ||
|                     GridColumn column = cell[2] as GridColumn;
 | ||
| 
 | ||
|                     sb.AppendFormat("<th{0}{1}{2}>{3}</th>",
 | ||
|                         rowspan != 1 ? " rowspan=\"" + rowspan + "\"" : "",
 | ||
|                         colspan != 1 ? " colspan=\"" + colspan + "\"" : "",
 | ||
|                         colspan != 1 ? " style=\"text-align:center;\"" : "",
 | ||
|                         column.HeaderText);
 | ||
|                 }
 | ||
|                 sb.Append("</tr>");
 | ||
|             }
 | ||
| 
 | ||
|             int i = 0;
 | ||
|             foreach (GridRow row in grid.Rows)
 | ||
|             {
 | ||
|                 sb.Append("<tr>");
 | ||
| 
 | ||
|                 string MenuC = "";
 | ||
|                 int y = 1;
 | ||
|                 foreach (GridColumn column in mht.Columns)
 | ||
|                 {
 | ||
|                     string html = row.Values[column.ColumnIndex].ToString();
 | ||
|                     if (column.ColumnID == "tfNumber")
 | ||
|                     {
 | ||
|                         html = (row.FindControl("spanNumber") as System.Web.UI.HtmlControls.HtmlGenericControl).InnerText;
 | ||
|                     }
 | ||
|                     else if (column.ColumnID == "tfGender")
 | ||
|                     {
 | ||
|                         html = (row.FindControl("labGender") as AspNet.Label).Text;
 | ||
|                     }
 | ||
|                     else if (column.ColumnID == "MenuC")
 | ||
|                     {
 | ||
|                         MenuC = html;
 | ||
|                     }
 | ||
|                     #region 合并单元格
 | ||
|                     //合并类别
 | ||
|                     else if (column.ColumnID == "PType" && i == 0)
 | ||
|                     {
 | ||
|                         sb.AppendFormat("<td rowspan='" + grid.Rows.Count + "'>{0}</td>", html);
 | ||
|                     }
 | ||
|                     else if (column.ColumnID == "PType" && i != 0)
 | ||
|                     {
 | ||
| 
 | ||
|                     }
 | ||
|                     //合并分项
 | ||
|                     else if (column.ColumnID == "Itemize" && row.Values[column.ColumnIndex].ToString().IndexOf("施工进度管理") == -1)
 | ||
|                     {
 | ||
|                         sb.AppendFormat("<td colspan='2'>{0}</td>", html);
 | ||
|                     }
 | ||
|                     //施工区域不显示
 | ||
|                     else if (column.ColumnID == "WorkArea" && row.Values[column.ColumnIndex - 1].ToString().IndexOf("施工进度管理") == -1)
 | ||
|                     {
 | ||
| 
 | ||
|                     }
 | ||
|                     //合并施工工作任务安排
 | ||
|                     else if (column.ColumnID.IndexOf("TaskContent") != -1 && row.Values[3].ToString().IndexOf("施工进度管理") == -1)
 | ||
|                     {
 | ||
|                         sb.AppendFormat("<td colspan='3'>{0}</td>", html);
 | ||
|                     }
 | ||
|                     else if (column.ColumnID.IndexOf("ProjectQuantity") != -1 && row.Values[3].ToString().IndexOf("施工进度管理") == -1)
 | ||
|                     {
 | ||
| 
 | ||
|                     }
 | ||
|                     else if (column.ColumnID.IndexOf("DemandPlan") != -1 && row.Values[3].ToString().IndexOf("施工进度管理") == -1)
 | ||
|                     {
 | ||
| 
 | ||
|                     }
 | ||
|                     //合并本日工作计划
 | ||
|                     else if (column.ColumnID.IndexOf("WorkPlan") != -1 && row.Values[3].ToString().IndexOf("施工进度管理") == -1)
 | ||
|                     {
 | ||
|                         sb.AppendFormat("<td colspan='2'>{0}</td>", html);
 | ||
|                     }
 | ||
|                     else if (column.ColumnID.IndexOf("CompletStatus") != -1 && row.Values[3].ToString().IndexOf("施工进度管理") == -1)
 | ||
|                     {
 | ||
| 
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         sb.AppendFormat("<td>{0}</td>", html);
 | ||
|                     }
 | ||
| 
 | ||
|                     #endregion
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|                     y += 1;
 | ||
|                 }
 | ||
|                 i += 1;
 | ||
|                 sb.Append("</tr>");
 | ||
|             }
 | ||
| 
 | ||
|             sb.Append("</table>");
 | ||
| 
 | ||
|             return sb.ToString();
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         public static string MidStrEx(string sourse, string startstr, string endstr)
 | ||
|         {
 | ||
|             string result = string.Empty;
 | ||
|             int startindex, endindex;
 | ||
|             try
 | ||
|             {
 | ||
|                 startindex = sourse.IndexOf(startstr);
 | ||
|                 if (startindex == -1)
 | ||
|                     return result;
 | ||
|                 string tmpstr = sourse.Substring(startindex + startstr.Length);
 | ||
|                 endindex = tmpstr.IndexOf(endstr);
 | ||
|                 if (endindex == -1)
 | ||
|                     return result;
 | ||
|                 result = tmpstr.Remove(endindex);
 | ||
|             }
 | ||
|             catch (Exception ex)
 | ||
|             {
 | ||
| 
 | ||
|             }
 | ||
|             return result;
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
|         #region 多表头处理
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 处理多表头的类
 | ||
|         /// </summary>
 | ||
|         public class MultiHeaderTable
 | ||
|         {
 | ||
|             // 包含 rowspan,colspan 的多表头,方便生成 HTML 的 table 标签
 | ||
|             public List<List<object[]>> MultiTable = new List<List<object[]>>();
 | ||
|             // 最终渲染的列数组
 | ||
|             public List<GridColumn> Columns = new List<GridColumn>();
 | ||
| 
 | ||
| 
 | ||
|             public void ResolveMultiHeaderTable(GridColumnCollection columns)
 | ||
|             {
 | ||
|                 List<object[]> row = new List<object[]>();
 | ||
|                 foreach (GridColumn column in columns)
 | ||
|                 {
 | ||
|                     object[] cell = new object[4];
 | ||
|                     cell[0] = 1;    // rowspan
 | ||
|                     cell[1] = 1;    // colspan
 | ||
|                     cell[2] = column;
 | ||
|                     cell[3] = null;
 | ||
| 
 | ||
|                     row.Add(cell);
 | ||
|                 }
 | ||
| 
 | ||
|                 ResolveMultiTable(row, 0);
 | ||
| 
 | ||
|                 ResolveColumns(row);
 | ||
|             }
 | ||
| 
 | ||
|             private void ResolveColumns(List<object[]> row)
 | ||
|             {
 | ||
|                 foreach (object[] cell in row)
 | ||
|                 {
 | ||
|                     GroupField groupField = cell[2] as GroupField;
 | ||
|                     if (groupField != null && groupField.Columns.Count > 0)
 | ||
|                     {
 | ||
|                         List<object[]> subrow = new List<object[]>();
 | ||
|                         foreach (GridColumn column in groupField.Columns)
 | ||
|                         {
 | ||
|                             subrow.Add(new object[]
 | ||
|                             {
 | ||
|                                 1,
 | ||
|                                 1,
 | ||
|                                 column,
 | ||
|                                 groupField
 | ||
|                             });
 | ||
|                         }
 | ||
| 
 | ||
|                         ResolveColumns(subrow);
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         Columns.Add(cell[2] as GridColumn);
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|             }
 | ||
| 
 | ||
|             private void ResolveMultiTable(List<object[]> row, int level)
 | ||
|             {
 | ||
|                 List<object[]> nextrow = new List<object[]>();
 | ||
| 
 | ||
|                 foreach (object[] cell in row)
 | ||
|                 {
 | ||
|                     GroupField groupField = cell[2] as GroupField;
 | ||
|                     if (groupField != null && groupField.Columns.Count > 0)
 | ||
|                     {
 | ||
|                         // 如果当前列包含子列,则更改当前列的 colspan,以及增加父列(向上递归)的colspan
 | ||
|                         cell[1] = Convert.ToInt32(groupField.Columns.Count);
 | ||
|                         PlusColspan(level - 1, cell[3] as GridColumn, groupField.Columns.Count - 1);
 | ||
| 
 | ||
|                         foreach (GridColumn column in groupField.Columns)
 | ||
|                         {
 | ||
|                             nextrow.Add(new object[]
 | ||
|                             {
 | ||
|                                 1,
 | ||
|                                 1,
 | ||
|                                 column,
 | ||
|                                 groupField
 | ||
|                             });
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 MultiTable.Add(row);
 | ||
| 
 | ||
|                 // 如果当前下一行,则增加上一行(向上递归)中没有子列的列的 rowspan
 | ||
|                 if (nextrow.Count > 0)
 | ||
|                 {
 | ||
|                     PlusRowspan(level);
 | ||
| 
 | ||
|                     ResolveMultiTable(nextrow, level + 1);
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             private void PlusRowspan(int level)
 | ||
|             {
 | ||
|                 if (level < 0)
 | ||
|                 {
 | ||
|                     return;
 | ||
|                 }
 | ||
| 
 | ||
|                 foreach (object[] cells in MultiTable[level])
 | ||
|                 {
 | ||
|                     GroupField groupField = cells[2] as GroupField;
 | ||
|                     if (groupField != null && groupField.Columns.Count > 0)
 | ||
|                     {
 | ||
|                         // ...
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         cells[0] = Convert.ToInt32(cells[0]) + 1;
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|                 PlusRowspan(level - 1);
 | ||
|             }
 | ||
| 
 | ||
|             private void PlusColspan(int level, GridColumn parent, int plusCount)
 | ||
|             {
 | ||
|                 if (level < 0)
 | ||
|                 {
 | ||
|                     return;
 | ||
|                 }
 | ||
| 
 | ||
|                 foreach (object[] cells in MultiTable[level])
 | ||
|                 {
 | ||
|                     GridColumn column = cells[2] as GridColumn;
 | ||
|                     if (column == parent)
 | ||
|                     {
 | ||
|                         cells[1] = Convert.ToInt32(cells[1]) + plusCount;
 | ||
| 
 | ||
|                         PlusColspan(level - 1, cells[3] as GridColumn, plusCount);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|         }
 | ||
|         #endregion
 | ||
|         #endregion
 | ||
|         /// <summary>
 | ||
|         /// 导出exccel
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnOut_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             Response.ClearContent();
 | ||
|             var projectname = ProjectService.GetProjectNameByProjectId(CurrUser.LoginProjectId);
 | ||
|             var excelDate = Convert.ToDateTime(drpCompileDateMonth.Text).Year + "年" + Convert.ToDateTime(drpCompileDateMonth.Text).Month + "月";
 | ||
|             var modelCQMS_Performance = Funs.DB.CQMS_Performance.FirstOrDefault(x => x.PerformanceGid == PerformanceGid);
 | ||
|             if (modelCQMS_Performance==null)
 | ||
|             {
 | ||
|                 ShowNotify("未查询到数据,请先查询表单。", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
|             var uName = UserService.GetUserByUserId(modelCQMS_Performance.CreateMan).UserName;
 | ||
| 
 | ||
| 
 | ||
|             var FileName = projectname + "项目" + excelDate + "施工工程师("+ uName + ")绩效考核数据表(暨施工日报表)";
 | ||
|             Response.AddHeader("content-disposition", "attachment; filename=" + FileName + ".xls");
 | ||
|             Response.ContentType = "application/vnd.ms-excel";
 | ||
|             Response.ContentEncoding = System.Text.Encoding.UTF8;
 | ||
|             Response.Write(GetGridTableHtml(Grid1));
 | ||
|             Response.End();
 | ||
|         }
 | ||
| 
 | ||
|     }
 | ||
| } |