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 /// /// 加载页面 /// /// /// 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(); } } } /// /// /// 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 listStr = new List(); 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(); } } /// /// /// 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 listStr = new List(); 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 整改图片 /// /// 获取整改前图片(放于Img中) /// /// /// 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; } /// /// 获取整改后图片 /// /// /// 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 数据保存提交方法 /// /// /// /// /// protected void btnSave_Click(object sender, EventArgs e) { SaveRectifyNotices(Const.BtnSave); } /// /// /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { SaveRectifyNotices(Const.BtnSubmit); } /// /// 保存方法 /// /// 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("values"); string rectifyNoticesItemId = mergedRow.Value("id"); string isRectify = values.Value("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 /// /// /// /// /// protected void rdbIsAgree_SelectedIndexChanged(object sender, EventArgs e) { getControlShow(); } /// /// /// 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; } } }