| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  | using BLL; | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Data; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | using System.Web.UI; | 
					
						
							|  |  |  |  | using System.Web.UI.WebControls; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace FineUIPro.Web.HSSE.CostGoods | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public partial class CostLedgerNew : PageBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         private static string headerStr; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |         #region 定义项 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 主键 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         public string getdatetime | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             get | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 return (string)ViewState["getdatetime"]; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             set | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 ViewState["getdatetime"] = value; | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |         protected void Page_Load(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!IsPostBack) | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                 getdatetime = Request.Params["getdatetime"]; | 
					
						
							|  |  |  |  |                 if (string.IsNullOrEmpty(getdatetime)) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     txtDate.Text = DateTime.Now.ToString("yyyy-MM"); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else { | 
					
						
							|  |  |  |  |                     txtDate.Text =Convert.ToDateTime(getdatetime).ToString("yyyy-MM"); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                 loadAll(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |         protected void TextBox_TextChanged(object sender, EventArgs e) { | 
					
						
							|  |  |  |  |             //loadAll(); | 
					
						
							|  |  |  |  |             //重定向页面 | 
					
						
							|  |  |  |  |             //Response.Redirect("TargetPage.aspx?getdatetime="+ txtDate.Text); | 
					
						
							|  |  |  |  |             | 
					
						
							|  |  |  |  |             Response.Redirect(Request.Url.ToString().Split('?')[0]+ "?getdatetime=" + txtDate.Text); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 根据日期加载所有 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         protected void loadAll() { | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |             this.gvTotalPayRegistration.DataSource = null; | 
					
						
							|  |  |  |  |             this.gvTotalPayRegistration.DataBind(); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |             var pid = CurrUser.LoginProjectId; | 
					
						
							|  |  |  |  |             var result = Funs.DB.CostGoods_HseExpense.FirstOrDefault(x => x.ProjectId == CurrUser.LoginProjectId && x.PayMonth == txtDate.Text); | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |             if (result != null) | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |             { | 
					
						
							|  |  |  |  |                 DateTime startTime = Convert.ToDateTime(result.PayDate.Value.Year + "-" + result.PayDate.Value.Month + "-1"); | 
					
						
							|  |  |  |  |                 DateTime endTime = startTime.AddMonths(1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 headerStr = string.Empty; | 
					
						
							|  |  |  |  |                 headerStr += "编号#类别"; | 
					
						
							|  |  |  |  |                 DataTable dt = new DataTable(); | 
					
						
							|  |  |  |  |                 dt.Columns.Add("R0");   //编号 | 
					
						
							|  |  |  |  |                 dt.Columns.Add("R1");   //类别 | 
					
						
							|  |  |  |  |                 var units = BLL.UnitService.GetMainAndSubUnitByProjectIdList(result.ProjectId); | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                 //如果不是五环,只能看到自己单位的 | 
					
						
							|  |  |  |  |                 //如果不是中国五环工程有限公司,只加载自己的 | 
					
						
							|  |  |  |  |                 if (CurrUser.UnitId == CommonService.GetThisUnitId() || CurrUser.UserId == Const.hfnbdId) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     var unit = new Model.Base_Unit() | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         UnitId = CurrUser.UnitId, | 
					
						
							|  |  |  |  |                         UnitName = UnitService.getUnitNamesUnitIds(CurrUser.UnitId) | 
					
						
							|  |  |  |  |                     }; | 
					
						
							|  |  |  |  |                     units = new System.Collections.Generic.List<Model.Base_Unit>(); | 
					
						
							|  |  |  |  |                     units.Add(unit); | 
					
						
							|  |  |  |  |                 } | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                 int a = 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     headerStr += "#" + units[i].UnitName + " 当月累计,当年累计"; | 
					
						
							|  |  |  |  |                     dt.Columns.Add("M" + a);   //当月累计 | 
					
						
							|  |  |  |  |                     a++; | 
					
						
							|  |  |  |  |                     dt.Columns.Add("M" + a);   //当年累计 | 
					
						
							|  |  |  |  |                     a++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 DataRow row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "1"; | 
					
						
							|  |  |  |  |                 row1[1] = "完善、改造和维护安全防护设备、设施"; | 
					
						
							|  |  |  |  |                 int b = 2; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 var yearHseExpense = Funs.DB.CostGoods_HseExpense.Where(x => x.ProjectId == pid && x.PayDate.Value.Year == endTime.Year); | 
					
						
							|  |  |  |  |                 var monthHseExpense = Funs.DB.CostGoods_HseExpense.Where(x => x.ProjectId == pid && x.PayDate >= startTime && x.PayDate <= endTime); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                 var xmzje = Funs.DB.CostGoods_FeeRegistration.Where(x => x.ProjectId == pid); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType1); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType1) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                 row1[0] = "2"; | 
					
						
							|  |  |  |  |                 row1[1] = "应急救援和演练"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType2) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     b++; | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType2) ?? 0; | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "3"; | 
					
						
							|  |  |  |  |                 row1[1] = "重大危险源管理;隐患整改;安全生产信息化"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType3) ?? 0; | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType3) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "4"; | 
					
						
							|  |  |  |  |                 row1[1] = "安全检查、评估评价、咨询与标准化建设"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType4) ?? 0; | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType4) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "5"; | 
					
						
							|  |  |  |  |                 row1[1] = "作业人员防护用品"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType5) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType5) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "6"; | 
					
						
							|  |  |  |  |                 row1[1] = "安全生产宣传、教育、培训及奖励"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType6) ?? 0; | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType6) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "7"; | 
					
						
							|  |  |  |  |                 row1[1] = "“四新”推广应用支出"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType7) ?? 0; | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType7) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "8"; | 
					
						
							|  |  |  |  |                 row1[1] = "安全设施及特种设备检测检验、检定校准"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType8) ?? 0; | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType8) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "9"; | 
					
						
							|  |  |  |  |                 row1[1] = "安全生产责任保险"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType9) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType9) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "10"; | 
					
						
							|  |  |  |  |                 row1[1] = "其他与安全生产直接相关的支出"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType10) ?? 0; | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType10) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "投入小计"; | 
					
						
							|  |  |  |  |                 row1[1] = "投入小计"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     row1[b] = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType1 + x.SMonthType2 | 
					
						
							|  |  |  |  |                     + x.SMonthType3 + x.SMonthType4 + x.SMonthType5 + x.SMonthType6 + x.SMonthType7 | 
					
						
							|  |  |  |  |                     + x.SMonthType8 + x.SMonthType9 + x.SMonthType10) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = yearHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType1 + x.SMonthType2 | 
					
						
							|  |  |  |  |                     + x.SMonthType3 + x.SMonthType4 + x.SMonthType5 + x.SMonthType6 + x.SMonthType7 | 
					
						
							|  |  |  |  |                     + x.SMonthType8 + x.SMonthType9 + x.SMonthType10) ?? 0; | 
					
						
							|  |  |  |  |                     row1[b] = Funs.GetNewDecimalOrZero(row1[b].ToString()).ToString("N2"); | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 b = 2; | 
					
						
							|  |  |  |  |                 row1 = dt.NewRow(); | 
					
						
							|  |  |  |  |                 row1[0] = "剩余金额"; | 
					
						
							|  |  |  |  |                 row1[1] = "剩余金额"; | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     //登记总金额-项目累计 | 
					
						
							|  |  |  |  |                     var Allmoney = xmzje.FirstOrDefault(x => x.UnitId == units[i].UnitId).Cost; | 
					
						
							|  |  |  |  |                     var xmlj = monthHseExpense.Where(x => x.UnitId == units[i].UnitId).Sum(x => x.SMonthType1 + x.SMonthType2 | 
					
						
							|  |  |  |  |                     + x.SMonthType3 + x.SMonthType4 + x.SMonthType5 + x.SMonthType6 + x.SMonthType7 | 
					
						
							|  |  |  |  |                     + x.SMonthType8 + x.SMonthType9 + x.SMonthType10) ?? 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     var syje = Allmoney - xmlj; | 
					
						
							|  |  |  |  |                     row1[b] = syje; | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                     row1[b] = syje; | 
					
						
							|  |  |  |  |                     b++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 dt.Rows.Add(row1); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 this.gvTotalPayRegistration.DataSource = dt; | 
					
						
							|  |  |  |  |                 this.gvTotalPayRegistration.DataBind(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else { | 
					
						
							|  |  |  |  |                 headerStr = string.Empty; | 
					
						
							|  |  |  |  |                 headerStr += "编号#类别"; | 
					
						
							|  |  |  |  |                 DataTable dt = new DataTable(); | 
					
						
							|  |  |  |  |                 dt.Columns.Add("R0");   //编号 | 
					
						
							|  |  |  |  |                 dt.Columns.Add("R1");   //类别 | 
					
						
							|  |  |  |  |                 var units = BLL.UnitService.GetMainAndSubUnitByProjectIdList(CurrUser.LoginProjectId); | 
					
						
							|  |  |  |  |                 //如果不是五环,只能看到自己单位的 | 
					
						
							|  |  |  |  |                 //如果不是中国五环工程有限公司,只加载自己的 | 
					
						
							|  |  |  |  |                 if (CurrUser.UnitId == CommonService.GetThisUnitId() || CurrUser.UserId == Const.hfnbdId) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     var unit = new Model.Base_Unit() | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         UnitId = CurrUser.UnitId, | 
					
						
							|  |  |  |  |                         UnitName = UnitService.getUnitNamesUnitIds(CurrUser.UnitId) | 
					
						
							|  |  |  |  |                     }; | 
					
						
							|  |  |  |  |                     units = new System.Collections.Generic.List<Model.Base_Unit>(); | 
					
						
							|  |  |  |  |                     units.Add(unit); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 int a = 0; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 for (int i = 0; i < units.Count; i++) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     headerStr += "#" + units[i].UnitName + " 当月累计,当年累计"; | 
					
						
							|  |  |  |  |                     dt.Columns.Add("M" + a);   //当月累计 | 
					
						
							|  |  |  |  |                     a++; | 
					
						
							|  |  |  |  |                     dt.Columns.Add("M" + a);   //当年累计 | 
					
						
							|  |  |  |  |                     a++; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  |                 this.gvTotalPayRegistration.DataSource = dt; | 
					
						
							|  |  |  |  |                 this.gvTotalPayRegistration.DataBind(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 在控件被绑定后激发 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 在控件被绑定后激发 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void gvTotalPayRegistration_DataBound(object sender, EventArgs e) | 
					
						
							| 
									
										
										
										
											2024-07-05 14:11:35 +08:00
										 |  |  |  |         { | 
					
						
							|  |  |  |  |             var units = BLL.UnitService.GetMainAndSubUnitByProjectIdList(CurrUser.LoginProjectId); | 
					
						
							|  |  |  |  |             if (CurrUser.UnitId == CommonService.GetThisUnitId() || CurrUser.UserId == Const.hfnbdId) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var unit = new Model.Base_Unit() | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     UnitId = CurrUser.UnitId, | 
					
						
							|  |  |  |  |                     UnitName = UnitService.getUnitNamesUnitIds(CurrUser.UnitId) | 
					
						
							|  |  |  |  |                 }; | 
					
						
							|  |  |  |  |                 units = new System.Collections.Generic.List<Model.Base_Unit>(); | 
					
						
							|  |  |  |  |                 units.Add(unit); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             for (int i = 0; i < this.gvTotalPayRegistration.Rows.Count - 1; i++) { | 
					
						
							|  |  |  |  |                 GridViewRow gvrNext = this.gvTotalPayRegistration.Rows[i + 1]; | 
					
						
							|  |  |  |  |                 if (gvrNext.Cells[0].Text == gvrNext.Cells[1].Text) { | 
					
						
							|  |  |  |  |                     gvrNext.Cells[1].Visible = false; | 
					
						
							|  |  |  |  |                     gvrNext.Cells[0].ColumnSpan = 2; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (gvrNext.Cells[0].Text=="剩余金额") | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     var item = 2; | 
					
						
							|  |  |  |  |                     for (int j = 0; j < units.Count; j++) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         if (gvrNext.Cells[item].Text == gvrNext.Cells[item+1].Text) { | 
					
						
							|  |  |  |  |                             gvrNext.Cells[item].Visible = false; | 
					
						
							|  |  |  |  |                             gvrNext.Cells[item + 1].ColumnSpan = 2; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         item += 2; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-07-04 14:01:20 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  |         #region Grid创建行 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// Grid创建行 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void gvTotalPayRegistration_RowCreated(object sender, GridViewRowEventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (e.Row.RowType == DataControlRowType.Header) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler(); | 
					
						
							|  |  |  |  |                 dHelper.SplitTableHeader(e.Row, headerStr); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 导出 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 导出 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnOut_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             DateTime dt = DateTime.Now; | 
					
						
							|  |  |  |  |             string filename = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             Response.Clear(); | 
					
						
							|  |  |  |  |             Response.Buffer = true; | 
					
						
							|  |  |  |  |             Response.Charset = "GB2312"; | 
					
						
							|  |  |  |  |             Response.ContentEncoding = System.Text.Encoding.UTF8; | 
					
						
							|  |  |  |  |             Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>"); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("项目HSE费用投入登记表" + filename, System.Text.Encoding.UTF8) + ".xls"); | 
					
						
							|  |  |  |  |             Response.ContentType = "application/ms-excel"; | 
					
						
							|  |  |  |  |             this.EnableViewState = false; | 
					
						
							|  |  |  |  |             System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); | 
					
						
							|  |  |  |  |             System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); | 
					
						
							|  |  |  |  |             this.gvTotalPayRegistration.RenderControl(oHtmlTextWriter); | 
					
						
							|  |  |  |  |             Response.Write(oStringWriter.ToString()); | 
					
						
							|  |  |  |  |             Response.Flush(); | 
					
						
							|  |  |  |  |             Response.End(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内” | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="control"></param> | 
					
						
							|  |  |  |  |         public override void VerifyRenderingInServerForm(Control control) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |