166 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			166 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | using Newtonsoft.Json.Linq; | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.HSSE.SitePerson | |||
|  | { | |||
|  |     public partial class DayReportDetailEdit : PageBase | |||
|  |     { | |||
|  |         #region 定义项 | |||
|  |         /// <summary> | |||
|  |         /// 工作月报明细主键 | |||
|  |         /// </summary> | |||
|  |         public string DayReportDetailId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["DayReportDetailId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["DayReportDetailId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 btnClose.OnClientClick = ActiveWindow.GetHideReference(); | |||
|  |                 this.DayReportDetailId = Request.Params["dayReportDetailId"]; | |||
|  |                 this.txtWorkTime.Focus(); | |||
|  |                 if (!string.IsNullOrEmpty(Request.Params["type"])) | |||
|  |                 { | |||
|  |                     this.btnSave.Hidden = true; | |||
|  |                     this.txtWorkTime.Readonly = true; | |||
|  |                     this.Grid1.AllowCellEditing = false; | |||
|  |                 } | |||
|  |                 var dayReportDetail = BLL.SitePerson_DayReportDetailService.GetDayReportDetailByDayReportDetailId(this.DayReportDetailId); | |||
|  |                 if (dayReportDetail != null) | |||
|  |                 { | |||
|  |                     var unit = BLL.UnitService.GetUnitByUnitId(dayReportDetail.UnitId); | |||
|  |                     if (unit != null) | |||
|  |                     { | |||
|  |                         this.lbStaffData.Text = unit.UnitName + "人员情况"; | |||
|  |                     } | |||
|  | 
 | |||
|  |                     this.txtStaffData.Text = dayReportDetail.StaffData; | |||
|  |                     this.txtWorkTime.Text = dayReportDetail.WorkTime.ToString(); | |||
|  | 
 | |||
|  |                     var viewDayReportUnitDetail = from x in Funs.DB.View_SitePerson_DayReportUnitDetail where x.DayReportDetailId == dayReportDetail.DayReportDetailId orderby x.WorkPostCode select x; | |||
|  |                     if (viewDayReportUnitDetail.Count() > 0) | |||
|  |                     { | |||
|  |                         this.Grid1.DataSource = viewDayReportUnitDetail; | |||
|  |                         this.Grid1.DataBind(); | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 保存按钮事件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSave_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             //Grid1.CommitChanges(); | |||
|  |             var dayReportDetail = BLL.SitePerson_DayReportDetailService.GetDayReportDetailByDayReportDetailId(this.DayReportDetailId); | |||
|  |             int glAllPerson = 0, hsseAllPerson = 0, zyAllPerson = 0; | |||
|  |             if (dayReportDetail != null) | |||
|  |             { | |||
|  |                 dayReportDetail.WorkTime = Funs.GetNewDecimalOrZero(this.txtWorkTime.Text.Trim()); | |||
|  |                 int totalRealPersonNum = 0; | |||
|  |                 decimal totalPersonWorkTime = 0; | |||
|  |                 List<Model.SitePerson_DayReportUnitDetail> dayReportUnitDetails = (from x in Funs.DB.SitePerson_DayReportUnitDetail where x.DayReportDetailId == this.DayReportDetailId select x).ToList(); | |||
|  | 
 | |||
|  |                 JArray mergedData = Grid1.GetMergedData(); | |||
|  |                 foreach (JObject mergedRow in mergedData) | |||
|  |                 { | |||
|  |                     string status = mergedRow.Value<string>("status"); | |||
|  |                     JObject values = mergedRow.Value<JObject>("values"); | |||
|  |                     Model.SitePerson_DayReportUnitDetail dayReportUnitDetail = dayReportUnitDetails.FirstOrDefault(x => x.DayReportUnitDetailId == values.Value<string>("DayReportUnitDetailId").ToString()); | |||
|  |                     if (dayReportUnitDetail != null) | |||
|  |                     { | |||
|  |                         string postType = values.Value<string>("WorkPostName"); | |||
|  |                         string ishsse = values.Value<string>("CheckPersonNum"); | |||
|  |                         dayReportUnitDetail.RealPersonNum = Funs.GetNewIntOrZero(values.Value<string>("RealPersonNum").ToString()); | |||
|  |                         dayReportUnitDetail.PersonWorkTime = Funs.GetNewDecimalOrZero(values.Value<string>("PersonWorkTime").ToString()); ; | |||
|  |                         dayReportUnitDetail.Remark = values.Value<string>("Remark").ToString(); | |||
|  |                         BLL.SitePerson_DayReportUnitDetailService.UpdateDayReportUnitDetail(dayReportUnitDetail); | |||
|  |                         totalPersonWorkTime += dayReportUnitDetail.PersonWorkTime ?? 0; | |||
|  |                         totalRealPersonNum += dayReportUnitDetail.RealPersonNum ?? 0; | |||
|  |                         if (ishsse == "1")     ///安全专职人员集合 | |||
|  |                         { | |||
|  |                             hsseAllPerson += dayReportUnitDetail.RealPersonNum.Value; | |||
|  |                         } | |||
|  |                         else | |||
|  |                         { | |||
|  |                             if (postType == Const.PostType_1)    //管理岗位 | |||
|  |                             { | |||
|  |                                 glAllPerson += dayReportUnitDetail.RealPersonNum.Value; | |||
|  |                             } | |||
|  |                             if (postType == Const.PostType_2 || postType == Const.PostType_3)    //特种作业人员和一般作业岗位 | |||
|  |                             { | |||
|  |                                 zyAllPerson += dayReportUnitDetail.RealPersonNum.Value; | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  | 
 | |||
|  |                 dayReportDetail.RealPersonNum = totalRealPersonNum; | |||
|  |                 dayReportDetail.PersonWorkTime = totalPersonWorkTime; | |||
|  |                 string staffData = string.Empty; | |||
|  |                 var unit = (from x in Funs.DB.Project_ProjectUnit | |||
|  |                             where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitId == dayReportDetail.UnitId | |||
|  |                             select x).FirstOrDefault(); | |||
|  |                 if (unit != null) | |||
|  |                 { | |||
|  |                     if (unit.UnitType == "1") | |||
|  |                     { | |||
|  |                         staffData += "总人数:" + (glAllPerson + hsseAllPerson + zyAllPerson).ToString() + ",管理人员总数" + glAllPerson.ToString() + "人,专职安全人员共" + hsseAllPerson.ToString() + " 人。"; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         staffData += "总人数:" + (glAllPerson + hsseAllPerson + zyAllPerson).ToString() + ",管理人员总数" + glAllPerson.ToString() + "人,持证专职安全人员共" + hsseAllPerson.ToString() + " 人,施工单位作业人员总数" + zyAllPerson.ToString() + "人。"; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 dayReportDetail.StaffData = staffData; | |||
|  |                 BLL.SitePerson_DayReportDetailService.UpdateReportDetail(dayReportDetail); | |||
|  |             } | |||
|  |             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void txtWorkTime_TextChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             decimal time = Funs.GetNewDecimalOrZero(this.txtWorkTime.Text.Trim()); | |||
|  |             List<Model.View_SitePerson_DayReportUnitDetail> viwList = new List<Model.View_SitePerson_DayReportUnitDetail>(); | |||
|  |             var viewDayReportUnitDetail = from x in Funs.DB.View_SitePerson_DayReportUnitDetail where x.DayReportDetailId == this.DayReportDetailId orderby x.WorkPostCode select x; | |||
|  |             JArray mergedData = Grid1.GetMergedData(); | |||
|  |             foreach (JObject mergedRow in mergedData) | |||
|  |             { | |||
|  |                 JObject values = mergedRow.Value<JObject>("values"); | |||
|  |                 var item = viewDayReportUnitDetail.FirstOrDefault(x => x.DayReportUnitDetailId == values.Value<string>("DayReportUnitDetailId").ToString()); | |||
|  |                 if (item != null) | |||
|  |                 { | |||
|  |                     item.RealPersonNum = Funs.GetNewIntOrZero(values.Value<string>("RealPersonNum").ToString()); | |||
|  |                     item.PersonWorkTime = item.RealPersonNum * time; | |||
|  |                     item.Remark = values.Value<string>("Remark").ToString(); | |||
|  |                     viwList.Add(item); | |||
|  |                 } | |||
|  |             } | |||
|  | 
 | |||
|  |             this.Grid1.DataSource = viwList; | |||
|  |             this.Grid1.DataBind(); | |||
|  |         } | |||
|  |     } | |||
|  | } |