using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using BLL; using Newtonsoft.Json.Linq; namespace FineUIPro.Web.HSSE.Manager { public partial class MonthReportCEdit5 : PageBase { #region 定义项 /// /// 月报告查主键 /// public string MonthReportId { get { return (string)ViewState["MonthReportId"]; } set { ViewState["MonthReportId"] = value; } } /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } private static DateTime startTime; private static DateTime endTime; private static DateTime yearStartTime; private static DateTime projectStartTime; #region 定义集合 /// /// 5.1.2 本月文件、方案修编情况说明集合 /// private static List plans = new List(); /// /// 5.2.2 详细审查记录集合 /// private static List reviewRecords = new List(); /// /// 5.3 HSSE文件管理集合 /// private static List fileManages = new List(); #endregion #endregion #region 加载 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { plans.Clear(); reviewRecords.Clear(); fileManages.Clear(); this.MonthReportId = Request.Params["monthReportId"]; this.ProjectId = this.CurrUser.LoginProjectId; DateTime months = Convert.ToDateTime(Request.Params["months"]); startTime = Convert.ToDateTime(Request.Params["startTime"]); endTime = Convert.ToDateTime(Request.Params["endTime"]); yearStartTime = Convert.ToDateTime(Request.Params["yearStartTime"]); Model.Manager_MonthReportC monthReport = BLL.MonthReportCService.GetMonthReportByMonths(months, this.CurrUser.LoginProjectId); Model.Manager_MonthReportC mr = BLL.MonthReportCService.GetLastMonthReportByDate(endTime, this.ProjectId); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(ProjectId); if (project.StartDate != null) { projectStartTime = Convert.ToDateTime(project.StartDate); } if (monthReport != null) { this.MonthReportId = monthReport.MonthReportId; this.ProjectId = monthReport.ProjectId; months = Convert.ToDateTime(monthReport.Months); Model.SGGLDB db = Funs.DB; //5.1.2 本月文件、方案修编情况说明 plans = (from x in db.Manager_Month_PlanC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList(); if (plans.Count > 0) { this.gvMonthPlan.DataSource = plans; this.gvMonthPlan.DataBind(); } else { GetPlanSort(); } //5.2.2 详细审查记录 reviewRecords = (from x in db.Manager_Month_ReviewRecordC where x.MonthReportId == MonthReportId orderby x.SortIndex select x).ToList(); if (reviewRecords.Count > 0) { this.gvReviewRecord.DataSource = reviewRecords; this.gvReviewRecord.DataBind(); } else { GetReviewRecordSort(); } } else { //施工HSE实施计划数量 //List actionPlans = BLL.ActionPlanListService.GetActionPlanListsByDate(startTime, endTime, this.ProjectId); //int actionPlanNum = actionPlans.Count; ////HSE管理规定数量 //List hSERules = BLL.ActionPlan_ManagerRuleService.GetManagerRuleListsByDate(startTime, endTime, this.ProjectId); //int hSERuleNum = hSERules.Count; //int constructSolutionNum = BLL.ConstructSolutionService.GetConstructSolutionCountByDate(this.ProjectId, startTime, endTime); //int subUnitQualityAuditDetailNum = BLL.SubUnitQualityAuditDetailService.GetCountByDate(this.ProjectId, startTime, endTime); //int equipmentQualityAuditDetailNum = BLL.EquipmentQualityAuditDetailService.GetCountByDate(this.ProjectId, startTime, endTime); //int personQualityAuditDetailNum = BLL.PersonQualityService.GetCountByDate(this.ProjectId, startTime, endTime); //int generalEquipmentQualityNum = BLL.GeneralEquipmentQualityService.GetSumCountByDate(this.ProjectId, startTime, endTime); GetPlanSort(); GetReviewRecordSort(); } } } #endregion #region HSE管理文件、方案修编 /// /// 显示本月文件、方案修编情况说明 /// private void GetPlanSort() { List actionList = BLL.ActionPlanListService.GetActionPlanListsByDate(startTime, endTime, this.ProjectId); //施工计划 if (actionList.Count > 0) { foreach (Model.ActionPlan_ActionPlanList item in actionList) { Model.Manager_Month_PlanC plan = new Model.Manager_Month_PlanC { PlanId = item.ActionPlanListId, PlanName = item.ActionPlanListName }; List userSelect = (from x in Funs.DB.Sys_User join y in Funs.DB.Sys_FlowOperate on x.UserId equals y.OperaterId join z in Funs.DB.Project_ProjectUser on y.OperaterId equals z.UserId where (z.RoleId.Contains(BLL.Const.HSSEEngineer) || z.RoleId.Contains(BLL.Const.HSSEManager)) && y.MenuId == BLL.Const.ProjectActionPlanListMenuId && y.DataId == item.ActionPlanListId select x).Distinct().ToList(); if (userSelect.Count() > 0) { List users = userSelect.Distinct().ToList(); string names = string.Empty; foreach (var user in users) { names += user.UserName + ","; } if (!string.IsNullOrEmpty(names)) { names = names.Substring(0, names.LastIndexOf(",")); } plan.CompileMan = names; } if (item.CompileDate != null) { plan.CompileDate = string.Format("{0:yyyy-MM-dd}", item.CompileDate); } plans.Add(plan); } } //管理规定 List hseRuleList = BLL.ActionPlan_ManagerRuleService.GetManagerRuleListsByDate(startTime, endTime, this.ProjectId); if (hseRuleList.Count > 0) { foreach (Model.ActionPlan_ManagerRule rule in hseRuleList) { Model.Manager_Month_PlanC plan = new Model.Manager_Month_PlanC { PlanId = rule.ManagerRuleId, PlanName = rule.ManageRuleName }; List users = (from x in Funs.DB.Sys_User join y in Funs.DB.Sys_FlowOperate on x.UserId equals y.OperaterId join z in Funs.DB.Project_ProjectUser on y.OperaterId equals z.UserId where (z.RoleId.Contains(BLL.Const.HSSEEngineer) || z.RoleId.Contains(BLL.Const.HSSEManager)) && y.MenuId == BLL.Const.ActionPlan_ManagerRuleMenuId && y.DataId == rule.ManagerRuleId select x).Distinct().ToList(); if (users.Count() > 0) { string names = string.Empty; foreach (var user in users) { names += user.UserName + ","; } if (!string.IsNullOrEmpty(names)) { names = names.Substring(0, names.LastIndexOf(",")); } plan.CompileMan = names; } if (rule.CompileDate != null) { plan.CompileDate = string.Format("{0:yyyy-MM-dd}", rule.CompileDate); } plans.Add(plan); } } this.gvMonthPlan.DataSource = plans; this.gvMonthPlan.DataBind(); } /// /// 增加本月文件、方案修编情况说明 /// /// /// protected void btnNewMonthPlan_Click(object sender, EventArgs e) { jerqueSaveMonthPlanList(); Model.Manager_Month_PlanC monthPlanSort = new Model.Manager_Month_PlanC { PlanId = SQLHelper.GetNewID(typeof(Model.Manager_Month_PlanC)) }; plans.Add(monthPlanSort); this.gvMonthPlan.DataSource = plans; this.gvMonthPlan.DataBind(); } /// /// 检查并保存其他HSE管理活动集合 /// private void jerqueSaveMonthPlanList() { plans.Clear(); JArray mergedData = gvMonthPlan.GetMergedData(); foreach (JObject mergedRow in mergedData) { string status = mergedRow.Value("status"); JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); Model.Manager_Month_PlanC monthPlanSort = new Model.Manager_Month_PlanC { PlanId = this.gvMonthPlan.Rows[i].DataKeys[0].ToString(), SortIndex = i, PlanName = values.Value("PlanName").ToString(), CompileMan = values.Value("CompileMan").ToString(), CompileDate = values.Value("CompileDate").ToString() }; plans.Add(monthPlanSort); } } protected void gvMonthPlan_RowCommand(object sender, GridCommandEventArgs e) { jerqueSaveMonthPlanList(); string rowID = this.gvMonthPlan.DataKeys[e.RowIndex][0].ToString(); if (e.CommandName == "Delete") { foreach (var item in plans) { if (item.PlanId == rowID) { plans.Remove(item); break; } } gvMonthPlan.DataSource = plans; gvMonthPlan.DataBind(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } /// /// 审查记录修编情况修编、审核 /// private void GetReviewRecordSort() { //施工方案 List constructSolution = BLL.ConstructSolutionService.GetConstructSolutionListByDate(this.ProjectId, startTime, endTime); if (constructSolution.Count > 0) { foreach (Model.Solution_ConstructSolution item in constructSolution) { Model.Manager_Month_ReviewRecordC reviewRecord = new Model.Manager_Month_ReviewRecordC { ReviewRecordId = SQLHelper.GetNewID(typeof(Model.Manager_Month_ReviewRecordC)), ReviewRecordName = item.ConstructSolutionName }; List users = (from x in Funs.DB.Sys_User join y in Funs.DB.Sys_FlowOperate on x.UserId equals y.OperaterId join z in Funs.DB.Project_ProjectUser on y.OperaterId equals z.UserId where (z.RoleId.Contains(BLL.Const.HSSEEngineer) || z.RoleId.Contains(BLL.Const.HSSEManager)) && y.MenuId == BLL.Const.ProjectConstructSolutionMenuId && y.DataId == item.ConstructSolutionId select x).Distinct().ToList(); if (users.Count() > 0) { string names = string.Empty; foreach (var user in users) { names += user.UserName + ","; } if (!string.IsNullOrEmpty(names)) { names = names.Substring(0, names.LastIndexOf(",")); } reviewRecord.ReviewMan = names; } if (item.CompileDate != null) { reviewRecord.ReviewDate = string.Format("{0:yyyy-MM-dd}", item.CompileDate); } reviewRecords.Add(reviewRecord); } } //分包商审核记录 List subUnitDetails = BLL.SubUnitQualityAuditDetailService.GetListByDate(this.ProjectId, startTime, endTime); if (subUnitDetails.Count > 0) { foreach (Model.QualityAudit_SubUnitQualityAuditDetail item in subUnitDetails) { Model.Manager_Month_ReviewRecordC reviewRecord = new Model.Manager_Month_ReviewRecordC { ReviewRecordId = SQLHelper.GetNewID(typeof(Model.Manager_Month_ReviewRecordC)), ReviewRecordName = item.AuditContent }; Model.Sys_User user = BLL.UserService.GetUserByUserId(item.AuditMan); if (user != null) { reviewRecord.ReviewMan = user.UserName; } if (item.AuditDate != null) { reviewRecord.ReviewDate = string.Format("{0:yyyy-MM-dd}", item.AuditDate); } reviewRecords.Add(reviewRecord); } } //特种设备审核记录 List equipmentDetails = BLL.EquipmentQualityAuditDetailService.GetListByDate(this.ProjectId, startTime, endTime); if (equipmentDetails.Count > 0) { foreach (Model.QualityAudit_EquipmentQualityAuditDetail item in equipmentDetails) { Model.Manager_Month_ReviewRecordC reviewRecord = new Model.Manager_Month_ReviewRecordC { ReviewRecordId = SQLHelper.GetNewID(typeof(Model.Manager_Month_ReviewRecordC)), ReviewRecordName = item.AuditContent }; Model.Sys_User user = BLL.UserService.GetUserByUserId(item.AuditMan); if (user != null) { reviewRecord.ReviewMan = user.UserName; } if (item.AuditDate != null) { reviewRecord.ReviewDate = string.Format("{0:yyyy-MM-dd}", item.AuditDate); } reviewRecords.Add(reviewRecord); } } //特岗人员资质 List personDetails = BLL.PersonQualityService.GetListByDate(this.ProjectId, startTime, endTime); if (personDetails.Count > 0) { foreach (Model.QualityAudit_PersonQuality item in personDetails) { Model.Manager_Month_ReviewRecordC reviewRecord = new Model.Manager_Month_ReviewRecordC { ReviewRecordId = SQLHelper.GetNewID(typeof(Model.Manager_Month_ReviewRecordC)) }; string personName = string.Empty; Model.SitePerson_Person person = BLL.PersonService.GetPersonById(item.PersonId); if (person != null) { personName = person.PersonName; } reviewRecord.ReviewRecordName = personName + "(" + item.CertificateName + ")"; reviewRecord.ReviewMan = item.ApprovalPerson; if (item.AuditDate != null) { reviewRecord.ReviewDate = string.Format("{0:yyyy-MM-dd}", item.AuditDate); } reviewRecords.Add(reviewRecord); } } //一般机具资质 List generalEquipmentDetails = BLL.GeneralEquipmentQualityService.GetListByDate(this.ProjectId, startTime, endTime); if (generalEquipmentDetails.Count > 0) { foreach (Model.QualityAudit_GeneralEquipmentQuality item in generalEquipmentDetails) { Model.Manager_Month_ReviewRecordC reviewRecord = new Model.Manager_Month_ReviewRecordC { ReviewRecordId = SQLHelper.GetNewID(typeof(Model.Manager_Month_ReviewRecordC)) }; string generalEquipmentName = string.Empty; Model.Base_SpecialEquipment specialEquipment = BLL.SpecialEquipmentService.GetSpecialEquipmentById(item.SpecialEquipmentId); if (specialEquipment != null) { generalEquipmentName = specialEquipment.SpecialEquipmentName; } reviewRecord.ReviewRecordName = generalEquipmentName + "(" + item.EquipmentCount.ToString() + ")"; Model.Sys_User user = BLL.UserService.GetUserByUserId(item.CompileMan); if (user != null) { reviewRecord.ReviewMan = user.UserName; } if (item.InDate != null) { reviewRecord.ReviewDate = string.Format("{0:yyyy-MM-dd}", item.InDate); } reviewRecords.Add(reviewRecord); } } this.gvReviewRecord.DataSource = reviewRecords; this.gvReviewRecord.DataBind(); } /// /// 增加本月文件、方案修编情况说明 /// /// /// protected void btnNewReviewRecord_Click(object sender, EventArgs e) { jerqueSaveReviewRecordList(); Model.Manager_Month_ReviewRecordC reviewRecordSort = new Model.Manager_Month_ReviewRecordC { ReviewRecordId = SQLHelper.GetNewID(typeof(Model.Manager_Month_ReviewRecordC)) }; reviewRecords.Add(reviewRecordSort); this.gvReviewRecord.DataSource = reviewRecords; this.gvReviewRecord.DataBind(); } /// /// 检查并保存其他HSE管理活动集合 /// private void jerqueSaveReviewRecordList() { reviewRecords.Clear(); JArray mergedData = gvReviewRecord.GetMergedData(); foreach (JObject mergedRow in mergedData) { string status = mergedRow.Value("status"); JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); Model.Manager_Month_ReviewRecordC reviewRecordSort = new Model.Manager_Month_ReviewRecordC { ReviewRecordId = this.gvReviewRecord.Rows[i].DataKeys[0].ToString(), SortIndex = i, ReviewRecordName = values.Value("ReviewRecordName").ToString(), ReviewMan = values.Value("ReviewMan").ToString(), ReviewDate = values.Value("ReviewDate").ToString() }; reviewRecords.Add(reviewRecordSort); } } protected void gvReviewRecord_RowCommand(object sender, GridCommandEventArgs e) { jerqueSaveReviewRecordList(); string rowID = this.gvReviewRecord.DataKeys[e.RowIndex][0].ToString(); if (e.CommandName == "Delete") { foreach (var item in reviewRecords) { if (item.ReviewRecordId == rowID) { reviewRecords.Remove(item); break; } } gvReviewRecord.DataSource = reviewRecords; gvReviewRecord.DataBind(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #endregion #region 保存按钮 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { Model.Manager_MonthReportC oldMonthReport = BLL.MonthReportCService.GetMonthReportByMonths(Convert.ToDateTime(Request.Params["months"]), this.CurrUser.LoginProjectId); if (oldMonthReport != null) { BLL.MonthReportCService.UpdateMonthReport(oldMonthReport); OperatePlanSort(MonthReportId); OperateReviewRecordSort(MonthReportId); BLL.LogService.AddSys_Log(this.CurrUser, oldMonthReport.MonthReportCode, oldMonthReport.MonthReportId, BLL.Const.ProjectManagerMonthCMenuId, BLL.Const.BtnModify); } else { Model.Manager_MonthReportC monthReport = new Model.Manager_MonthReportC(); string newKeyID = SQLHelper.GetNewID(typeof(Model.Manager_MonthReportC)); monthReport.MonthReportId = newKeyID; monthReport.ProjectId = this.CurrUser.LoginProjectId; this.MonthReportId = newKeyID; monthReport.MonthReportCode = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectManagerMonthCMenuId, this.ProjectId, this.CurrUser.UnitId); monthReport.Months = Funs.GetNewDateTime(Request.Params["months"]); monthReport.ReportMan = this.CurrUser.UserId; monthReport.MonthReportDate = DateTime.Now; BLL.MonthReportCService.AddMonthReport(monthReport); OperatePlanSort(MonthReportId); OperateReviewRecordSort(MonthReportId); BLL.LogService.AddSys_Log(this.CurrUser, monthReport.MonthReportCode, monthReport.MonthReportId, BLL.Const.ProjectManagerMonthCMenuId, BLL.Const.BtnAdd); } ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 5.1.2 本月文件、方案修编情况说明 /// /// private void OperatePlanSort(string monthReportId) { BLL.PlanCService.DeletePlanByMonthReportId(monthReportId); jerqueSaveMonthPlanList(); foreach (Model.Manager_Month_PlanC plan in plans) { plan.MonthReportId = monthReportId; BLL.PlanCService.AddPlan(plan); } } /// /// 5.2.2 详细审查记录 /// /// private void OperateReviewRecordSort(string monthReportId) { BLL.ReviewRecordCService.DeleteReviewRecordByMonthReportId(monthReportId); jerqueSaveReviewRecordList(); foreach (Model.Manager_Month_ReviewRecordC reviewRecord in reviewRecords) { reviewRecord.MonthReportId = monthReportId; BLL.ReviewRecordCService.AddReviewRecord(reviewRecord); } } #endregion } }