336 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			336 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | using Model; | |||
|  | using Newtonsoft.Json.Linq; | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Data; | |||
|  | using System.Data.SqlClient; | |||
|  | using System.Linq; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.HSSE.Check | |||
|  | { | |||
|  |     public partial class RectifyNoticesRecheck : PageBase | |||
|  |     { | |||
|  |         #region 定义项 | |||
|  |         public string RectifyNoticesId | |||
|  |         { | |||
|  |             get | |||
|  |             { | |||
|  |                 return (string)ViewState["RectifyNoticesId"]; | |||
|  |             } | |||
|  |             set | |||
|  |             { | |||
|  |                 ViewState["RectifyNoticesId"] = value; | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 加载页面 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                  | |||
|  |                 RectifyNoticesId = Request.Params["RectifyNoticesId"]; | |||
|  |                 var getRectifyNotices = RectifyNoticesService.GetRectifyNoticesById(RectifyNoticesId); | |||
|  |                 if (getRectifyNotices != null) | |||
|  |                 { | |||
|  |                     this.txtUnit.Text = UnitService.GetUnitNameByUnitId(getRectifyNotices.UnitId); | |||
|  |                     this.txtWorkArea.Text = UnitWorkService.GetUnitWorkName(getRectifyNotices.WorkAreaId); | |||
|  |                     this.txtCheckMan.Text = UserService.getUserNamesUserIds(getRectifyNotices.CheckManIds); | |||
|  |                     this.txtCheckPerson.Text = getRectifyNotices.CheckManNames; | |||
|  |                     this.txtRectifyNoticesCode.Text = getRectifyNotices.RectifyNoticesCode; | |||
|  |                     this.txtCheckedDate.Text = getRectifyNotices.CheckedDate.ToString(); | |||
|  |                     this.txtReCheckOpinion.Text = getRectifyNotices.ReCheckOpinion; | |||
|  |                     this.txtHiddenHazardType.Text = "一般"; | |||
|  |                     if (getRectifyNotices.HiddenHazardType == "2") | |||
|  |                     { | |||
|  |                         this.txtHiddenHazardType.Text = "较大"; | |||
|  |                     } | |||
|  |                     else if (getRectifyNotices.HiddenHazardType == "3") | |||
|  |                     { | |||
|  |                         this.txtHiddenHazardType.Text = "重大"; | |||
|  |                     } | |||
|  | 
 | |||
|  |                     if (!string.IsNullOrEmpty(getRectifyNotices.ProfessionalEngineerId)) | |||
|  |                     { | |||
|  |                         this.drpProfessionalEngineer.Text = UserService.GetUserNameByUserId(getRectifyNotices.ProfessionalEngineerId); | |||
|  |                     } | |||
|  |                     if (!string.IsNullOrEmpty(getRectifyNotices.ConstructionManagerId)) | |||
|  |                     { | |||
|  |                         this.drpConstructionManager.Text = UserService.GetUserNameByUserId(getRectifyNotices.ConstructionManagerId); | |||
|  |                     } | |||
|  |                     if (!string.IsNullOrEmpty(getRectifyNotices.ProjectManagerId)) | |||
|  |                     { | |||
|  |                         this.drpProjectManager.Text = UserService.GetUserNameByUserId(getRectifyNotices.ProjectManagerId); | |||
|  |                     } | |||
|  |                     this.lbDutyPerson.Text = UserService.GetUserNameByUserId(getRectifyNotices.DutyPersonId); | |||
|  |                     if (Funs.DB.Check_RectifyNoticesItem.FirstOrDefault(x => !x.IsRectify.HasValue || x.IsRectify == false) == null) | |||
|  |                     { | |||
|  |                         this.rdbIsAgree.SelectedValue = "true"; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         this.rdbIsAgree.SelectedValue = "false"; | |||
|  |                     } | |||
|  |                     getControlShow(); | |||
|  |                 } | |||
|  |                 BindGrid(); | |||
|  |                 BindGrid1(); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 string arg = GetRequestEventArgument(); // 此函数所在文件:PageBase.cs | |||
|  |                 if (arg == "UPDATE_SUMMARY") | |||
|  |                 { | |||
|  |                     getControlShow(); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         public void BindGrid() | |||
|  |         { | |||
|  |             if (!string.IsNullOrEmpty(this.RectifyNoticesId)) | |||
|  |             { | |||
|  |                 string strSql = @"select RectifyNoticesItemId, RectifyNoticesId, WrongContent, Requirement, LimitTime, RectifyResults
 | |||
|  |                                             ,IsRectify,(CASE WHEN IsRectify=1 THEN '合格' WHEN IsRectify=0 THEN '不合格' ELSE '' END) AS IsRectifyName | |||
|  |                                             from [dbo].[Check_RectifyNoticesItem] ";
 | |||
|  |                 List<SqlParameter> listStr = new List<SqlParameter>(); | |||
|  |                 strSql += "where RectifyNoticesId = @RectifyNoticesId"; | |||
|  |                 listStr.Add(new SqlParameter("@RectifyNoticesId", RectifyNoticesId)); | |||
|  |                 SqlParameter[] parameter = listStr.ToArray(); | |||
|  |                 DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); | |||
|  |                 var table = this.GetPagedDataTable(Grid1, tb); | |||
|  |                 Grid1.DataSource = table; | |||
|  |                 Grid1.DataBind(); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 Grid1.DataSource = null; | |||
|  |                 Grid1.DataBind(); | |||
|  |             } | |||
|  |         } | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         public void BindGrid1() | |||
|  |         { | |||
|  |             if (!string.IsNullOrEmpty(this.RectifyNoticesId)) | |||
|  |             { | |||
|  |                 string strSql = @"select FlowOperateId, RectifyNoticesId, OperateName, OperateManId, OperateTime, IsAgree, Opinion,S.UserName
 | |||
|  |                 ,(case when IsAgree=0 then '不同意' else '同意' end) as IsAgreeName | |||
|  |                 from Check_RectifyNoticesFlowOperate C left join Sys_User S on C.OperateManId=s.UserId ";
 | |||
|  |                 List<SqlParameter> listStr = new List<SqlParameter>(); | |||
|  |                 strSql += "where RectifyNoticesId= @RectifyNoticesId"; | |||
|  |                 listStr.Add(new SqlParameter("@RectifyNoticesId", RectifyNoticesId)); | |||
|  |                 SqlParameter[] parameter = listStr.ToArray(); | |||
|  |                 DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); | |||
|  |                 var table = this.GetPagedDataTable(gvFlowOperate, tb); | |||
|  |                 gvFlowOperate.DataSource = table; | |||
|  |                 gvFlowOperate.DataBind(); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 Grid1.DataSource = null; | |||
|  |                 Grid1.DataBind(); | |||
|  |             } | |||
|  |         } | |||
|  |          | |||
|  |         #region 整改图片 | |||
|  |         /// <summary> | |||
|  |         /// 获取整改前图片(放于Img中) | |||
|  |         /// </summary> | |||
|  |         /// <param name="registrationId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         protected string ConvertImageUrlByImage(object RectifyNoticesItemId) | |||
|  |         { | |||
|  |             string url = string.Empty; | |||
|  |             if (RectifyNoticesItemId != null) | |||
|  |             { | |||
|  |                 var RectifyNoticesItem = BLL.AttachFileService.GetAttachFile(RectifyNoticesItemId.ToString() + "#1", BLL.Const.ProjectRectifyNoticesMenuId); | |||
|  |                 if (RectifyNoticesItem != null) | |||
|  |                 { | |||
|  |                     url = BLL.UploadAttachmentService.ShowImage("../../", RectifyNoticesItem.AttachUrl); | |||
|  |                 } | |||
|  |             } | |||
|  |             return url; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 获取整改后图片 | |||
|  |         /// </summary> | |||
|  |         /// <param name="registrationId"></param> | |||
|  |         /// <returns></returns> | |||
|  |         protected string ConvertImgUrlByImage(object RectifyNoticesItemId) | |||
|  |         { | |||
|  |             string url = string.Empty; | |||
|  |             if (RectifyNoticesItemId != null) | |||
|  |             { | |||
|  |                 var RectifyNoticesItem = BLL.AttachFileService.GetAttachFile(RectifyNoticesItemId.ToString() + "#2", BLL.Const.ProjectRectifyNoticesMenuId); | |||
|  |                 if (RectifyNoticesItem != null) | |||
|  |                 { | |||
|  |                     url = BLL.UploadAttachmentService.ShowImage("../../", RectifyNoticesItem.AttachUrl); | |||
|  |                 } | |||
|  |             } | |||
|  |             return url; | |||
|  |         } | |||
|  |         #endregion | |||
|  |                  | |||
|  |         #region 数据保存提交方法 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSave_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             SaveRectifyNotices(Const.BtnSave); | |||
|  |         } | |||
|  | 
 | |||
|  |         | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSubmit_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             SaveRectifyNotices(Const.BtnSubmit); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 保存方法 | |||
|  |         /// </summary> | |||
|  |         /// <param name="saveType"></param> | |||
|  |         private void SaveRectifyNotices(string saveType) | |||
|  |         { | |||
|  |             var getRectifyNotices = RectifyNoticesService.GetRectifyNoticesById(this.RectifyNoticesId); | |||
|  |             if (getRectifyNotices != null) | |||
|  |             { | |||
|  |                 var getAllItem = from x in Funs.DB.Check_RectifyNoticesItem | |||
|  |                                  where x.RectifyNoticesId == getRectifyNotices.RectifyNoticesId | |||
|  |                                  select x; | |||
|  |                 if (getAllItem.Count() > 0) | |||
|  |                 { | |||
|  |                     foreach (JObject mergedRow in Grid1.GetModifiedData()) | |||
|  |                     { | |||
|  |                         JObject values = mergedRow.Value<JObject>("values"); | |||
|  |                         string rectifyNoticesItemId = mergedRow.Value<string>("id"); | |||
|  |                         string isRectify = values.Value<string>("IsRectify"); | |||
|  |                         var getUpdateItem = getAllItem.FirstOrDefault(x => x.RectifyNoticesItemId == rectifyNoticesItemId); | |||
|  |                         if (getUpdateItem != null) | |||
|  |                         { | |||
|  |                             if (isRectify == "合格") | |||
|  |                             { | |||
|  |                                 getUpdateItem.IsRectify = true; | |||
|  |                             } | |||
|  |                             else | |||
|  |                             { | |||
|  |                                 getUpdateItem.IsRectify = false; | |||
|  |                             } | |||
|  |                             Funs.DB.SubmitChanges(); | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  | 
 | |||
|  |                 getRectifyNotices.ReCheckOpinion = this.txtReCheckOpinion.Text; | |||
|  |                 getRectifyNotices.ReCheckDate = DateTime.Now; | |||
|  |                 if (saveType == Const.BtnSubmit) | |||
|  |                 { | |||
|  |                     bool isAgree = false; | |||
|  |                     if (getAllItem.FirstOrDefault(x => !x.IsRectify.HasValue || x.IsRectify == false) == null) | |||
|  |                     { | |||
|  |                         isAgree = true; | |||
|  |                     } | |||
|  |                     if (isAgree) | |||
|  |                     { | |||
|  |                         getRectifyNotices.States = Const.State_5; | |||
|  |                         getRectifyNotices.ReCheckDate = DateTime.Now;                         | |||
|  |                         //// 回写专项检查明细表                             | |||
|  |                         var getcheck = Funs.DB.Check_CheckSpecialDetail.Where(x => x.DataId.Contains(getRectifyNotices.RectifyNoticesId)); | |||
|  |                         if (getcheck.Count() > 0) | |||
|  |                         { | |||
|  |                             foreach (var item in getcheck) | |||
|  |                             { | |||
|  |                                 item.CompleteStatus = true; | |||
|  |                                 item.CompletedDate = DateTime.Now; | |||
|  |                                 Funs.DB.SubmitChanges(); | |||
|  |                             } | |||
|  |                             //// 根据明细ID判断是否全部整改完成 并更新专项检查状态 | |||
|  |                             Check_CheckSpecialService.UpdateCheckSpecialStates(getcheck.FirstOrDefault().CheckSpecialId); | |||
|  |                         } | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         getRectifyNotices.States = Const.State_2; | |||
|  |                         getRectifyNotices.UnitHeadManDate = null; | |||
|  |                         getRectifyNotices.CompleteDate = null; | |||
|  |                         getRectifyNotices.ProfessionalEngineerTime2 = null; | |||
|  |                         getRectifyNotices.ConstructionManagerTime2 = null; | |||
|  |                         getRectifyNotices.ProjectManagerTime2 = null; | |||
|  |                     } | |||
|  | 
 | |||
|  |                     Model.Check_RectifyNoticesFlowOperate newOItem = new Model.Check_RectifyNoticesFlowOperate | |||
|  |                     { | |||
|  |                         FlowOperateId = SQLHelper.GetNewID(), | |||
|  |                         RectifyNoticesId = getRectifyNotices.RectifyNoticesId, | |||
|  |                         OperateManId = this.CurrUser.UserId, | |||
|  |                         OperateTime = DateTime.Now, | |||
|  |                         OperateName = "安全经理/安全工程师复查", | |||
|  |                         IsAgree = isAgree, | |||
|  |                         Opinion = this.txtReCheckOpinion.Text.Trim(), | |||
|  |                     }; | |||
|  |                     Funs.DB.Check_RectifyNoticesFlowOperate.InsertOnSubmit(newOItem);                   | |||
|  |                 } | |||
|  | 
 | |||
|  |                 Funs.DB.SubmitChanges(); | |||
|  | 
 | |||
|  |                 ShowNotify(saveType + "成功!", MessageBoxIcon.Success); | |||
|  |                 if (string.IsNullOrEmpty(Request.Params["Main"])) | |||
|  |                 { | |||
|  |                     PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     PageContext.RegisterStartupScript(String.Format("window.close();")); | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void rdbIsAgree_SelectedIndexChanged(object sender, EventArgs e) | |||
|  |         { | |||
|  |             getControlShow(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         ///  | |||
|  |         /// </summary> | |||
|  |         private void getControlShow() | |||
|  |         { | |||
|  |             if (this.rdbIsAgree.SelectedValue == "true") | |||
|  |             { | |||
|  |                 this.step1_person2.Hidden = false; | |||
|  |                 this.lbDutyPerson.Hidden = true; | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 this.step1_person2.Hidden = true; | |||
|  |                 this.lbDutyPerson.Hidden = false; | |||
|  |             } | |||
|  |             this.lbCom.Hidden = !this.lbDutyPerson.Hidden; | |||
|  |         } | |||
|  |     } | |||
|  | } |