using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using BLL; namespace FineUIPro.Web.InformationProject { public partial class MillionsMonthlyReportEdit : PageBase { #region 定义项 /// /// 主键 /// private string MillionsMonthlyReportId { get { return (string)ViewState["MillionsMonthlyReportId"]; } set { ViewState["MillionsMonthlyReportId"] = value; } } #endregion #region 项目主键 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); this.ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId) { this.ProjectId = Request.Params["projectId"]; } BLL.ConstValue.InitConstValueDropDownList(this.drpYear, BLL.ConstValue.Group_0008, true); BLL.ConstValue.InitConstValueDropDownList(this.drpMonth, BLL.ConstValue.Group_0009, true); BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.ProjectId, true); this.MillionsMonthlyReportId = Request.Params["MillionsMonthlyReportId"]; if (!string.IsNullOrEmpty(this.MillionsMonthlyReportId)) { Model.InformationProject_MillionsMonthlyReport millionsMonthlyReport = BLL.ProjectMillionsMonthlyReportService.GetMillionsMonthlyReportById(this.MillionsMonthlyReportId); if (millionsMonthlyReport != null) { this.ProjectId = millionsMonthlyReport.ProjectId; BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.ProjectId, true); if (millionsMonthlyReport.Year != null) { this.drpYear.SelectedValue = Convert.ToString(millionsMonthlyReport.Year); } if (millionsMonthlyReport.Month != null) { this.drpMonth.SelectedValue = Convert.ToString(millionsMonthlyReport.Month); } //this.txtAffiliation.Text = millionsMonthlyReport.Affiliation; //this.txtName.Text = millionsMonthlyReport.Name; if (millionsMonthlyReport.TotalWorkNum != null) { this.txtTotalWorkNum.Text = Convert.ToString(millionsMonthlyReport.TotalWorkNum); } if (millionsMonthlyReport.PostPersonNum != null) { this.txtPostPersonNum.Text = Convert.ToString(millionsMonthlyReport.PostPersonNum); } if (millionsMonthlyReport.SnapPersonNum != null) { this.txtSnapPersonNum.Text = Convert.ToString(millionsMonthlyReport.SnapPersonNum); } if (millionsMonthlyReport.ContractorNum != null) { this.txtContractorNum.Text = Convert.ToString(millionsMonthlyReport.ContractorNum); } if (millionsMonthlyReport.SeriousInjuriesNum != null) { this.txtSeriousInjuriesNum.Text = Convert.ToString(millionsMonthlyReport.SeriousInjuriesNum); } if (millionsMonthlyReport.SeriousInjuriesPersonNum != null) { this.txtSeriousInjuriesPersonNum.Text = Convert.ToString(millionsMonthlyReport.SeriousInjuriesPersonNum); } if (millionsMonthlyReport.SeriousInjuriesLossHour != null) { this.txtSeriousInjuriesLossHour.Text = Convert.ToString(millionsMonthlyReport.SeriousInjuriesLossHour); } if (millionsMonthlyReport.MinorAccidentNum != null) { this.txtMinorAccidentNum.Text = Convert.ToString(millionsMonthlyReport.MinorAccidentNum); } if (millionsMonthlyReport.MinorAccidentPersonNum != null) { this.txtMinorAccidentPersonNum.Text = Convert.ToString(millionsMonthlyReport.MinorAccidentPersonNum); } if (millionsMonthlyReport.MinorAccidentLossHour != null) { this.txtMinorAccidentLossHour.Text = Convert.ToString(millionsMonthlyReport.MinorAccidentLossHour); } if (millionsMonthlyReport.DeathAccidentNum != null) { this.txtDeathAccidentNum.Text = Convert.ToString(millionsMonthlyReport.DeathAccidentNum); } if (millionsMonthlyReport.DeathAccidentPersonNum != null) { this.txtDeathAccidentPersonNum.Text = Convert.ToString(millionsMonthlyReport.DeathAccidentPersonNum); } if (millionsMonthlyReport.DeathAccidentLossHour != null) { this.txtDeathAccidentLossHour.Text = Convert.ToString(millionsMonthlyReport.DeathAccidentLossHour); } if (millionsMonthlyReport.RestrictedWorkPersonNum != null) { this.txtRestrictedWorkPersonNum.Text = Convert.ToString(millionsMonthlyReport.RestrictedWorkPersonNum); } if (millionsMonthlyReport.RestrictedWorkLossHour != null) { this.txtRestrictedWorkLossHour.Text = Convert.ToString(millionsMonthlyReport.RestrictedWorkLossHour); } if (millionsMonthlyReport.MedicalTreatmentPersonNum != null) { this.txtMedicalTreatmentPersonNum.Text = Convert.ToString(millionsMonthlyReport.MedicalTreatmentPersonNum); } if (millionsMonthlyReport.MedicalTreatmentLossHour != null) { this.txtMedicalTreatmentLossHour.Text = Convert.ToString(millionsMonthlyReport.MedicalTreatmentLossHour); } if (millionsMonthlyReport.FireNum != null) { this.txtFireNum.Text = Convert.ToString(millionsMonthlyReport.FireNum); } if (millionsMonthlyReport.EnvironmenNum != null) { this.txtEnvironmenNum.Text = Convert.ToString(millionsMonthlyReport.EnvironmenNum); } if (millionsMonthlyReport.TrafficNum != null) { this.txtTrafficNum.Text = Convert.ToString(millionsMonthlyReport.TrafficNum); } if (millionsMonthlyReport.EquipmentNum != null) { this.txtEquipmentNum.Text = Convert.ToString(millionsMonthlyReport.EquipmentNum); } if (millionsMonthlyReport.QualityNum != null) { this.txtQualityNum.Text = Convert.ToString(millionsMonthlyReport.QualityNum); } if (millionsMonthlyReport.OtherNum != null) { this.txtOtherNum.Text = Convert.ToString(millionsMonthlyReport.OtherNum); } if (millionsMonthlyReport.FirstAidDressingsNum != null) { this.txtFirstAidDressingsNum.Text = Convert.ToString(millionsMonthlyReport.FirstAidDressingsNum); } if (millionsMonthlyReport.AttemptedEventNum != null) { this.txtAttemptedEventNum.Text = Convert.ToString(millionsMonthlyReport.AttemptedEventNum); } if (millionsMonthlyReport.LossDayNum != null) { this.txtLossDayNum.Text = Convert.ToString(millionsMonthlyReport.LossDayNum); } if (!string.IsNullOrEmpty(millionsMonthlyReport.CompileMan)) { this.drpCompileMan.SelectedValue = millionsMonthlyReport.CompileMan; } if (millionsMonthlyReport.CompileDate != null) { this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", millionsMonthlyReport.CompileDate); } if (millionsMonthlyReport.InputCosts != null) { this.txtInputCosts.Text = Convert.ToString(millionsMonthlyReport.InputCosts); } if (millionsMonthlyReport.TrainNum != null) { this.txtTrainNum.Text = Convert.ToString(millionsMonthlyReport.TrainNum); } if (millionsMonthlyReport.GeneralHazardNum != null) { this.txtGeneralHazardNum.Text = Convert.ToString(millionsMonthlyReport.GeneralHazardNum); } if (millionsMonthlyReport.MajorHazardNum != null) { this.txtMajorHazardNum.Text = Convert.ToString(millionsMonthlyReport.MajorHazardNum); } if (millionsMonthlyReport.NotProofLargeProjectNum != null) { this.txtNotProofLargeProjectNum.Text = Convert.ToString(millionsMonthlyReport.NotProofLargeProjectNum); } if (millionsMonthlyReport.ProofLargeProjectNum != null) { this.txtProofLargeProjectNum.Text = Convert.ToString(millionsMonthlyReport.ProofLargeProjectNum); } if (millionsMonthlyReport.FireLicenseNum != null) { this.txtFireLicenseNum.Text = Convert.ToString(millionsMonthlyReport.FireLicenseNum); } if (millionsMonthlyReport.LimitLicenseNum != null) { this.txtLimitLicenseNum.Text = Convert.ToString(millionsMonthlyReport.LimitLicenseNum); } if (millionsMonthlyReport.HighLicenseNum != null) { this.txtHighLicenseNum.Text = Convert.ToString(millionsMonthlyReport.HighLicenseNum); } if (millionsMonthlyReport.HoistingLicenseNum != null) { this.txtHoistingLicenseNum.Text = Convert.ToString(millionsMonthlyReport.HoistingLicenseNum); } if (millionsMonthlyReport.BreakGroundLicenseNum != null) { this.txtBreakGroundLicenseNum.Text = Convert.ToString(millionsMonthlyReport.BreakGroundLicenseNum); } if (millionsMonthlyReport.ElectricityLicenseNum != null) { this.txtElectricityLicenseNum.Text = Convert.ToString(millionsMonthlyReport.ElectricityLicenseNum); } if (millionsMonthlyReport.RTLicenseNum != null) { this.txtRTLicenseNum.Text = Convert.ToString(millionsMonthlyReport.RTLicenseNum); } if (millionsMonthlyReport.NightLicenseNum != null) { this.txtNightLicenseNum.Text = Convert.ToString(millionsMonthlyReport.NightLicenseNum); } if (millionsMonthlyReport.CommissionerNum != null) { this.txtCommissionerNum.Text = Convert.ToString(millionsMonthlyReport.CommissionerNum); } if (millionsMonthlyReport.SoleDutyNum != null) { this.txtSoleDutyNum.Text = Convert.ToString(millionsMonthlyReport.SoleDutyNum); } } } else { this.drpYear.SelectedValue = DateTime.Now.Year.ToString(); this.drpMonth.SelectedValue = DateTime.Now.Month.ToString(); DateTime startTime = Convert.ToDateTime(this.drpYear.SelectedValue + "-" + this.drpMonth.SelectedValue + "-01"); DateTime endTime = startTime.AddMonths(1); GetData(startTime, endTime); this.drpCompileMan.SelectedValue = this.CurrUser.UserId; this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); } ///初始化审核菜单 this.ctlAuditFlow.MenuId = BLL.Const.ProjectMillionsMonthlyReportMenuId; this.ctlAuditFlow.DataId = this.MillionsMonthlyReportId; this.ctlAuditFlow.ProjectId = this.ProjectId; this.txtProjectName.Text = BLL.ProjectService.GetProjectNameByProjectId(this.ProjectId); } } #endregion #region 保存、提交 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (this.drpYear.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择年度", MessageBoxIcon.Warning); return; } if (this.drpMonth.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择月份", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSave); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (this.drpYear.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择年度", MessageBoxIcon.Warning); return; } if (this.drpMonth.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择月份", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSubmit); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 保存数据 /// /// private void SaveData(string type) { Model.InformationProject_MillionsMonthlyReport millionsMonthlyReport = new Model.InformationProject_MillionsMonthlyReport { ProjectId = this.ProjectId }; if (this.drpYear.SelectedValue != BLL.Const._Null) { millionsMonthlyReport.Year = Funs.GetNewInt(this.drpYear.SelectedValue); } if (this.drpMonth.SelectedValue != BLL.Const._Null) { millionsMonthlyReport.Month = Funs.GetNewInt(this.drpMonth.SelectedValue); } if (this.drpCompileMan.SelectedValue != BLL.Const._Null) { millionsMonthlyReport.CompileMan = this.drpCompileMan.SelectedValue; } millionsMonthlyReport.CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text); millionsMonthlyReport.States = BLL.Const.State_0; if (type == BLL.Const.BtnSubmit) { var flowOperate = Funs.DB.Sys_FlowOperate.FirstOrDefault(x => x.DataId == this.MillionsMonthlyReportId && x.State == BLL.Const.State_2 && x.IsClosed == true); if (flowOperate != null) { millionsMonthlyReport.States = BLL.Const.State_2; } else { millionsMonthlyReport.States = this.ctlAuditFlow.NextStep; } } //millionsMonthlyReport.Affiliation = this.txtAffiliation.Text.Trim(); //millionsMonthlyReport.Name = this.txtName.Text.Trim(); millionsMonthlyReport.PostPersonNum = Funs.GetNewIntOrZero(this.txtPostPersonNum.Text.Trim()); millionsMonthlyReport.SnapPersonNum = Funs.GetNewIntOrZero(this.txtSnapPersonNum.Text.Trim()); millionsMonthlyReport.ContractorNum = Funs.GetNewIntOrZero(this.txtContractorNum.Text.Trim()); millionsMonthlyReport.SumPersonNum = millionsMonthlyReport.PostPersonNum + millionsMonthlyReport.SnapPersonNum + millionsMonthlyReport.ContractorNum; millionsMonthlyReport.TotalWorkNum = Funs.GetNewDecimalOrZero(this.txtTotalWorkNum.Text.Trim()); millionsMonthlyReport.SeriousInjuriesNum = Funs.GetNewInt(this.txtSeriousInjuriesNum.Text.Trim()); millionsMonthlyReport.SeriousInjuriesPersonNum = Funs.GetNewInt(this.txtSeriousInjuriesPersonNum.Text.Trim()); millionsMonthlyReport.SeriousInjuriesLossHour = Funs.GetNewInt(this.txtSeriousInjuriesLossHour.Text.Trim()); millionsMonthlyReport.MinorAccidentNum = Funs.GetNewInt(this.txtMinorAccidentNum.Text.Trim()); millionsMonthlyReport.MinorAccidentPersonNum = Funs.GetNewInt(this.txtMinorAccidentPersonNum.Text.Trim()); millionsMonthlyReport.MinorAccidentLossHour = Funs.GetNewInt(this.txtMinorAccidentLossHour.Text.Trim()); millionsMonthlyReport.DeathAccidentNum = Funs.GetNewInt(this.txtDeathAccidentNum.Text.Trim()); millionsMonthlyReport.DeathAccidentPersonNum = Funs.GetNewInt(this.txtDeathAccidentPersonNum.Text.Trim()); millionsMonthlyReport.DeathAccidentLossHour = Funs.GetNewInt(this.txtDeathAccidentLossHour.Text.Trim()); millionsMonthlyReport.RestrictedWorkPersonNum = Funs.GetNewInt(this.txtRestrictedWorkPersonNum.Text.Trim()); millionsMonthlyReport.RestrictedWorkLossHour = Funs.GetNewInt(this.txtRestrictedWorkLossHour.Text.Trim()); millionsMonthlyReport.MedicalTreatmentPersonNum = Funs.GetNewInt(this.txtMedicalTreatmentPersonNum.Text.Trim()); millionsMonthlyReport.MedicalTreatmentLossHour = Funs.GetNewInt(this.txtMedicalTreatmentLossHour.Text.Trim()); millionsMonthlyReport.FireNum = Funs.GetNewInt(this.txtFireNum.Text.Trim()); millionsMonthlyReport.EnvironmenNum = Funs.GetNewInt(this.txtEnvironmenNum.Text.Trim()); millionsMonthlyReport.TrafficNum = Funs.GetNewInt(this.txtTrafficNum.Text.Trim()); millionsMonthlyReport.EquipmentNum = Funs.GetNewInt(this.txtEquipmentNum.Text.Trim()); millionsMonthlyReport.QualityNum = Funs.GetNewInt(this.txtQualityNum.Text.Trim()); millionsMonthlyReport.OtherNum = Funs.GetNewInt(this.txtOtherNum.Text.Trim()); millionsMonthlyReport.FirstAidDressingsNum = Funs.GetNewInt(this.txtFirstAidDressingsNum.Text.Trim()); millionsMonthlyReport.AttemptedEventNum = Funs.GetNewInt(this.txtAttemptedEventNum.Text.Trim()); millionsMonthlyReport.LossDayNum = Funs.GetNewInt(this.txtLossDayNum.Text.Trim()); millionsMonthlyReport.InputCosts = Funs.GetNewDecimalOrZero(this.txtInputCosts.Text.Trim()); millionsMonthlyReport.TrainNum = Funs.GetNewInt(this.txtTrainNum.Text.Trim()); millionsMonthlyReport.GeneralHazardNum = Funs.GetNewInt(this.txtGeneralHazardNum.Text.Trim()); millionsMonthlyReport.MajorHazardNum = Funs.GetNewInt(this.txtMajorHazardNum.Text.Trim()); millionsMonthlyReport.NotProofLargeProjectNum = Funs.GetNewInt(this.txtNotProofLargeProjectNum.Text.Trim()); millionsMonthlyReport.ProofLargeProjectNum = Funs.GetNewInt(this.txtProofLargeProjectNum.Text.Trim()); millionsMonthlyReport.FireLicenseNum = Funs.GetNewInt(this.txtFireLicenseNum.Text.Trim()); millionsMonthlyReport.LimitLicenseNum = Funs.GetNewInt(this.txtLimitLicenseNum.Text.Trim()); millionsMonthlyReport.HighLicenseNum = Funs.GetNewInt(this.txtHighLicenseNum.Text.Trim()); millionsMonthlyReport.HoistingLicenseNum = Funs.GetNewInt(this.txtHoistingLicenseNum.Text.Trim()); millionsMonthlyReport.BreakGroundLicenseNum = Funs.GetNewInt(this.txtBreakGroundLicenseNum.Text.Trim()); millionsMonthlyReport.ElectricityLicenseNum = Funs.GetNewInt(this.txtElectricityLicenseNum.Text.Trim()); millionsMonthlyReport.RTLicenseNum = Funs.GetNewInt(this.txtRTLicenseNum.Text.Trim()); millionsMonthlyReport.NightLicenseNum = Funs.GetNewInt(this.txtNightLicenseNum.Text.Trim()); millionsMonthlyReport.CommissionerNum = Funs.GetNewInt(this.txtCommissionerNum.Text.Trim()); millionsMonthlyReport.SoleDutyNum = Funs.GetNewInt(this.txtSoleDutyNum.Text.Trim()); if (!string.IsNullOrEmpty(this.MillionsMonthlyReportId)) { millionsMonthlyReport.MillionsMonthlyReportId = this.MillionsMonthlyReportId; BLL.ProjectMillionsMonthlyReportService.UpdateMillionsMonthlyReport(millionsMonthlyReport); BLL.LogService.AddSys_Log(this.CurrUser, millionsMonthlyReport.Year.ToString() + "-" + millionsMonthlyReport.Month.ToString(), millionsMonthlyReport.MillionsMonthlyReportId, BLL.Const.ProjectMillionsMonthlyReportMenuId, BLL.Const.BtnModify); } else { Model.InformationProject_MillionsMonthlyReport oldMillionsMonthlyReport = (from x in Funs.DB.InformationProject_MillionsMonthlyReport where x.ProjectId == millionsMonthlyReport.ProjectId && x.Year == millionsMonthlyReport.Year && x.Month == millionsMonthlyReport.Month select x).FirstOrDefault(); if (oldMillionsMonthlyReport == null) { this.MillionsMonthlyReportId = SQLHelper.GetNewID(typeof(Model.InformationProject_MillionsMonthlyReport)); millionsMonthlyReport.MillionsMonthlyReportId = this.MillionsMonthlyReportId; BLL.ProjectMillionsMonthlyReportService.AddMillionsMonthlyReport(millionsMonthlyReport); BLL.LogService.AddSys_Log(this.CurrUser, millionsMonthlyReport.Year.ToString() + "-" + millionsMonthlyReport.Month.ToString(), millionsMonthlyReport.MillionsMonthlyReportId, BLL.Const.ProjectMillionsMonthlyReportMenuId, BLL.Const.BtnAdd); ////删除未上报月报信息 //Model.ManagementReport_ReportRemind reportRemind = (from x in Funs.DB.ManagementReport_ReportRemind // where x.ProjectId == this.ProjectId && x.Year == millionsMonthlyReport.Year && x.Month == millionsMonthlyReport.Month && x.ReportName == "企业安全数据统计月报" // select x).FirstOrDefault(); //if (reportRemind != null) //{ // BLL.ReportRemindService.DeleteReportRemindByReportRemind(reportRemind); //} } else { Alert.ShowInTop("该月份记录已存在", MessageBoxIcon.Warning); return; } } ////保存流程审核数据 this.ctlAuditFlow.btnSaveData(this.ProjectId, BLL.Const.ProjectMillionsMonthlyReportMenuId, this.MillionsMonthlyReportId, (type == BLL.Const.BtnSubmit ? true : false), millionsMonthlyReport.Year + "-" + millionsMonthlyReport.Month, "../InformationProject/MillionsMonthlyReportView.aspx?MillionsMonthlyReportId={0}"); } #endregion #region 年月变化事件 /// /// 年月变化事件 /// /// /// protected void drpYear_SelectedIndexChanged(object sender, EventArgs e) { if (this.drpYear.SelectedValue != BLL.Const._Null && this.drpMonth.SelectedValue != BLL.Const._Null) { DateTime startTime = Convert.ToDateTime(this.drpYear.SelectedValue + "-" + this.drpMonth.SelectedValue + "-01"); DateTime endTime = startTime.AddMonths(1); GetData(startTime, endTime); } else { } } #endregion #region 获取数据 /// /// 获取数据 /// /// /// private void GetData(DateTime startTime, DateTime endTime) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { int? sumTotalPanhours = 0; //获取当期人工时日报 List dayReports = BLL.SitePerson_DayReportService.GetDayReportsByCompileDate(startTime, endTime, this.ProjectId); if (dayReports.Count > 0) { foreach (var dayReport in dayReports) { sumTotalPanhours += Convert.ToInt32((from y in db.SitePerson_DayReportDetail where y.DayReportId == dayReport.DayReportId select y.PersonWorkTime as decimal?).Sum()); } //总工时数(万) this.txtTotalWorkNum.Text = decimal.Round(decimal.Round(Convert.ToDecimal(sumTotalPanhours), 4) / 10000, 4).ToString(); //在岗员工 //获取单位集合 var unitIds = (from x in dayReports join y in db.SitePerson_DayReportDetail on x.DayReportId equals y.DayReportId select y.UnitId).Distinct(); int subUnitsPersonNum = 0; foreach (var unitId in unitIds) { Model.Base_Unit unit = BLL.UnitService.GetUnitByUnitId(unitId); if (unit != null) { int count = BLL.SitePerson_DayReportService.GetDayReportsByCompileDateAndUnitId(startTime, endTime, this.CurrUser.LoginProjectId, unitId).Count(); if (unit.UnitId == Const.UnitId_TCC) //本单位 { //本单位在岗员工 decimal personNum = (from x in dayReports join y in db.SitePerson_DayReportDetail on x.DayReportId equals y.DayReportId where y.UnitId == unitId select y.RealPersonNum ?? 0).Sum(); if (count > 0) { decimal persontotal = Convert.ToDecimal(Math.Round(personNum / count, 2)); if (persontotal.ToString().IndexOf(".") > 0 && persontotal.ToString().Substring(persontotal.ToString().IndexOf("."), persontotal.ToString().Length - persontotal.ToString().IndexOf(".")) != ".00") { string personint = persontotal.ToString().Substring(0, persontotal.ToString().IndexOf(".")); this.txtPostPersonNum.Text = (Convert.ToInt32(personint) + 1).ToString(); } else { this.txtPostPersonNum.Text = Convert.ToInt32(persontotal).ToString(); } } } else if (unit.UnitName.Contains("临时员工")) //临时员工 { //本单位临时员工 decimal personNum = (from x in dayReports join y in db.SitePerson_DayReportDetail on x.DayReportId equals y.DayReportId where y.UnitId == unitId select y.RealPersonNum ?? 0).Sum(); if (count > 0) { decimal persontotal = Convert.ToDecimal(Math.Round(personNum / count, 2)); if (persontotal.ToString().IndexOf(".") > 0 && persontotal.ToString().Substring(persontotal.ToString().IndexOf("."), persontotal.ToString().Length - persontotal.ToString().IndexOf(".")) != ".00") { string personint = persontotal.ToString().Substring(0, persontotal.ToString().IndexOf(".")); this.txtSnapPersonNum.Text = (Convert.ToInt32(personint) + 1).ToString(); } else { this.txtSnapPersonNum.Text = Convert.ToInt32(persontotal).ToString(); } } } else //承包商 { decimal personNum = (from x in dayReports join y in db.SitePerson_DayReportDetail on x.DayReportId equals y.DayReportId where y.UnitId == unitId select y.RealPersonNum ?? 0).Sum(); if (count > 0) { decimal persontotal = Convert.ToDecimal(Math.Round(personNum / count, 2)); if (persontotal.ToString().IndexOf(".") > 0 && persontotal.ToString().Substring(persontotal.ToString().IndexOf("."), persontotal.ToString().Length - persontotal.ToString().IndexOf(".")) != ".00") { string personint = persontotal.ToString().Substring(0, persontotal.ToString().IndexOf(".")); subUnitsPersonNum += Convert.ToInt32(personint) + 1; } else { subUnitsPersonNum += Convert.ToInt32(persontotal); } } } } } //承包商员工 this.txtContractorNum.Text = subUnitsPersonNum.ToString(); } else { //获取当期人工时日报 var monthReport = BLL.SitePerson_MonthReportService.GetMonthReportsByCompileDate(startTime, this.ProjectId); if (monthReport != null) { decimal? sumCount = db.SitePerson_MonthReportDetail.Where(x => x.MonthReportId == monthReport.MonthReportId).Sum(x => x.PersonWorkTime); if (sumCount.HasValue) { sumTotalPanhours += Convert.ToInt32(sumCount.Value); } //总工时数(万) this.txtTotalWorkNum.Text = decimal.Round(decimal.Round(Convert.ToDecimal(sumTotalPanhours), 4) / 10000, 4).ToString(); //在岗员工 //获取单位集合 var unitIds = (from x in db.SitePerson_MonthReportDetail where x.MonthReportId == monthReport.MonthReportId select x.UnitId).Distinct(); int subUnitsPersonNum = 0; foreach (var unitId in unitIds) { Model.Base_Unit unit = BLL.UnitService.GetUnitByUnitId(unitId); if (unit != null) { if (unit.UnitId == Const.UnitId_TCC) //本单位 { //本单位在岗员工 decimal? personNum = db.SitePerson_MonthReportDetail.Where(x => x.MonthReportId == monthReport.MonthReportId && x.UnitId == unitId).Sum(x => x.RealPersonNum); if (personNum.HasValue) { decimal persontotal = Convert.ToDecimal(Math.Round(personNum.Value, 2)); if (persontotal.ToString().IndexOf(".") > 0 && persontotal.ToString().Substring(persontotal.ToString().IndexOf("."), persontotal.ToString().Length - persontotal.ToString().IndexOf(".")) != ".00") { string personint = persontotal.ToString().Substring(0, persontotal.ToString().IndexOf(".")); this.txtPostPersonNum.Text = (Convert.ToInt32(personint) + 1).ToString(); } else { this.txtPostPersonNum.Text = Convert.ToInt32(persontotal).ToString(); } } } else if (unit.UnitName.Contains("临时员工")) //临时员工 { //本单位在岗员工 decimal? personNum = db.SitePerson_MonthReportDetail.Where(x => x.MonthReportId == monthReport.MonthReportId && x.UnitId == unitId).Sum(x => x.RealPersonNum); if (personNum.HasValue) { decimal persontotal = Convert.ToDecimal(Math.Round(personNum.Value, 2)); if (persontotal.ToString().IndexOf(".") > 0 && persontotal.ToString().Substring(persontotal.ToString().IndexOf("."), persontotal.ToString().Length - persontotal.ToString().IndexOf(".")) != ".00") { string personint = persontotal.ToString().Substring(0, persontotal.ToString().IndexOf(".")); this.txtSnapPersonNum.Text = (Convert.ToInt32(personint) + 1).ToString(); } else { this.txtSnapPersonNum.Text = Convert.ToInt32(persontotal).ToString(); } } } else //承包商 { decimal? personNum = db.SitePerson_MonthReportDetail.Where(x => x.MonthReportId == monthReport.MonthReportId && x.UnitId == unitId).Sum(x => x.RealPersonNum); if (personNum.HasValue) { decimal persontotal = Convert.ToDecimal(Math.Round(personNum.Value, 2)); if (persontotal.ToString().IndexOf(".") > 0 && persontotal.ToString().Substring(persontotal.ToString().IndexOf("."), persontotal.ToString().Length - persontotal.ToString().IndexOf(".")) != ".00") { string personint = persontotal.ToString().Substring(0, persontotal.ToString().IndexOf(".")); subUnitsPersonNum += Convert.ToInt32(personint) + 1; } else { subUnitsPersonNum += Convert.ToInt32(persontotal); } } } } } //承包商员工 this.txtContractorNum.Text = subUnitsPersonNum.ToString(); } } List accidentReports1 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "2"); this.txtSeriousInjuriesNum.Text = accidentReports1.Count().ToString(); this.txtSeriousInjuriesPersonNum.Text = accidentReports1.Sum(x => x.PeopleNum ?? 0).ToString(); this.txtSeriousInjuriesLossHour.Text = accidentReports1.Sum(x => x.WorkingHoursLoss ?? 0).ToString(); List accidentReports2 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "3"); this.txtMinorAccidentNum.Text = accidentReports2.Count().ToString(); this.txtMinorAccidentPersonNum.Text = accidentReports2.Sum(x => x.PeopleNum ?? 0).ToString(); this.txtMinorAccidentLossHour.Text = accidentReports2.Sum(x => x.WorkingHoursLoss ?? 0).ToString(); List accidentReports3 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "1"); this.txtDeathAccidentNum.Text = accidentReports3.Count().ToString(); this.txtDeathAccidentPersonNum.Text = accidentReports3.Sum(x => x.PeopleNum ?? 0).ToString(); this.txtDeathAccidentLossHour.Text = accidentReports3.Sum(x => x.WorkingHoursLoss ?? 0).ToString(); List accidentReports4 = BLL.AccidentReportOtherService.GetAccidentReportOthersByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "1"); this.txtRestrictedWorkPersonNum.Text = accidentReports4.Sum(x => x.PeopleNum ?? 0).ToString(); this.txtRestrictedWorkLossHour.Text = accidentReports4.Sum(x => x.WorkingHoursLoss ?? 0).ToString(); List accidentReports5 = BLL.AccidentReportOtherService.GetAccidentReportOthersByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "2"); this.txtMedicalTreatmentPersonNum.Text = accidentReports5.Sum(x => x.PeopleNum ?? 0).ToString(); this.txtMedicalTreatmentLossHour.Text = accidentReports5.Sum(x => x.WorkingHoursLoss ?? 0).ToString(); List accidentReports6 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "4"); this.txtFireNum.Text = accidentReports6.Count().ToString(); List accidentReports7 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "5"); this.txtEnvironmenNum.Text = accidentReports7.Count().ToString(); List accidentReports8 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "6"); this.txtTrafficNum.Text = accidentReports8.Count().ToString(); List accidentReports9 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "7"); this.txtEquipmentNum.Text = accidentReports9.Count().ToString(); List accidentReports10 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "10"); this.txtQualityNum.Text = accidentReports10.Count().ToString(); List accidentReports11 = BLL.AccidentReportService.GetAccidentReportsByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "11"); this.txtOtherNum.Text = accidentReports11.Count().ToString(); List accidentReports12 = BLL.AccidentReportOtherService.GetAccidentReportOthersByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "3"); this.txtFirstAidDressingsNum.Text = accidentReports12.Count().ToString(); List accidentReports13 = BLL.AccidentReportOtherService.GetAccidentReportOthersByTimeAndAccidentTypeId(startTime, endTime, this.ProjectId, "4"); this.txtAttemptedEventNum.Text = accidentReports13.Count().ToString(); decimal totalWorkingHoursLoss = 0; totalWorkingHoursLoss = accidentReports1.Sum(x => x.WorkingHoursLoss ?? 0) + accidentReports2.Sum(x => x.WorkingHoursLoss ?? 0) + accidentReports3.Sum(x => x.WorkingHoursLoss ?? 0); this.txtLossDayNum.Text = decimal.Round(totalWorkingHoursLoss / 8, 2).ToString().Split('.')[0]; //投入安全生产费用(万元) var details = from x in db.CostGoods_CostSmallDetailItem join y in db.CostGoods_CostSmallDetail on x.CostSmallDetailId equals y.CostSmallDetailId join z in db.Sys_FlowOperate on y.CostSmallDetailId equals z.DataId where y.ProjectId == this.ProjectId && y.States == BLL.Const.State_2 && z.State == BLL.Const.State_2 && z.OperaterTime >= startTime && z.OperaterTime < endTime select x; if (details.Count() > 0) { this.txtInputCosts.Text = (Funs.GetNewDecimalOrZero(details.ToList().Sum(x => x.CostMoney ?? 0).ToString()) / 10000).ToString(); } //安全培训(次) var monthTrainings = from x in db.EduTrain_TrainRecord where x.ProjectId == this.CurrUser.LoginProjectId && x.TrainStartDate >= startTime && x.TrainStartDate < endTime && x.States == BLL.Const.State_2 select x; var monthTrainingsB = from x in db.Training_TrainTestRecord where x.ProjectId == this.CurrUser.LoginProjectId && x.DateA >= startTime && x.DateZ < endTime select x; this.txtTrainNum.Text = (monthTrainings.Count() + monthTrainingsB.Count()).ToString(); //隐患排查治理 var hazardRegisters = from x in db.View_Hazard_HazardRegister where x.ProjectId == this.ProjectId where x.CheckTime >= startTime && x.CheckTime < endTime select x; this.txtGeneralHazardNum.Text = hazardRegisters.Count(x => x.Risk_Level == "一般").ToString(); this.txtMajorHazardNum.Text = hazardRegisters.Count(x => x.Risk_Level == "重大").ToString(); //危大工程数 var largerHazards = from x in db.Solution_LargerHazard where x.ProjectId == this.ProjectId && x.RecordTime >= startTime && x.RecordTime < endTime && x.States == BLL.Const.State_2 select x; this.txtNotProofLargeProjectNum.Text = largerHazards.Count(x => x.IsArgument == false).ToString(); this.txtProofLargeProjectNum.Text = largerHazards.Count(x => x.IsArgument == true).ToString(); //高风险作业许可 this.txtFireLicenseNum.Text = (from x in db.License_FireWork where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); this.txtLimitLicenseNum.Text = (from x in db.License_LimitedSpace where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); this.txtHighLicenseNum.Text = (from x in db.License_HeightWork where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); this.txtHoistingLicenseNum.Text = (from x in db.License_LiftingWork where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); this.txtBreakGroundLicenseNum.Text = (from x in db.License_BreakGround where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); this.txtElectricityLicenseNum.Text = (from x in db.License_TempElectricity where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); this.txtRTLicenseNum.Text = (from x in db.License_RadialWork where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); this.txtNightLicenseNum.Text = (from x in db.License_NightWork where x.ProjectId == this.ProjectId && x.ValidityStartTime >= startTime && x.ValidityStartTime < endTime && (x.States == "2" || x.States == "3") select x).Count().ToString(); //专职安全管理人员 this.txtCommissionerNum.Text = (from x in db.SitePerson_Person join y in db.Base_WorkPost on x.WorkPostId equals y.WorkPostId where y.WorkPostName.Contains("安全总监") && x.ProjectId == this.ProjectId select x).Count().ToString(); this.txtSoleDutyNum.Text = (from x in db.SitePerson_Person join y in db.Base_WorkPost on x.WorkPostId equals y.WorkPostId where y.IsHsse == true && x.ProjectId == this.ProjectId select x).Count().ToString(); } } #endregion } }