846 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			846 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | ||
| using Newtonsoft.Json.Linq;
 | ||
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.Linq;
 | ||
| 
 | ||
| namespace FineUIPro.Web.CQMS.ProcessControl
 | ||
| {
 | ||
|     public partial class InspectionNoticeEdit : PageBase
 | ||
|     {
 | ||
|         #region 加载
 | ||
|         /// <summary>
 | ||
|         /// 加载页面
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void Page_Load(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (!IsPostBack)
 | ||
|             {
 | ||
|                 //测试阶段,仅hfnbd账号使用
 | ||
|                 if (this.CurrUser.UserId == BLL.Const.hfnbdId)
 | ||
|                 {
 | ||
|                     this.drpUnitWorkId.Hidden = false;
 | ||
|                     this.fr1.Hidden = false;
 | ||
|                     this.fr2.Hidden = false;
 | ||
|                 }
 | ||
|                 GetButtonPower();
 | ||
|                 BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true);//施工分包商
 | ||
|                
 | ||
|                 UserService.InitUserProjectIdUnitTypeDropDownList(this.drpAcceptanceCheckMan, this.CurrUser.LoginProjectId, string.Empty, false);
 | ||
|                 //UserService.InitUserNameProjectIdUnitTypeDropDownList(this.drpAcceptanceCheckMan, this.CurrUser.LoginProjectId, string.Empty, false);
 | ||
|                 if (this.CurrUser.UserId == BLL.Const.hfnbdId)//测试阶段,仅hfnbd账号使用
 | ||
|                 {
 | ||
|                     //专业
 | ||
|                     this.drpCNProfessionalId.DataTextField = "DetectionItems";
 | ||
|                     this.drpCNProfessionalId.DataValueField = "ControlId";
 | ||
|                     this.drpCNProfessionalId.DataSource = BLL.CNProfessionalService.GetCnProList();
 | ||
|                     this.drpCNProfessionalId.DataBind();
 | ||
|                     Funs.FineUIPleaseSelect(this.drpCNProfessionalId);
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     BLL.CNProfessionalService.InitCNProfessionalDownList(this.drpCNProfessionalId, true);//专业
 | ||
|                 }
 | ||
| 
 | ||
|                 //单位工程
 | ||
|                 var q = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                          join y in Funs.DB.WBS_UnitWork on x.UnitWorkId equals y.UnitWorkId
 | ||
|                          where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                          && (y.SuperUnitWork == null || y.SuperUnitWork == "0")
 | ||
|                          select new
 | ||
|                          {
 | ||
|                              y.UnitWorkId,
 | ||
|                              UnitWorkName = y.UnitWorkCode + "-" + y.UnitWorkName
 | ||
|                          }).Distinct().ToList();
 | ||
|                 this.drpUnitWorkId.DataTextField = "UnitWorkName";
 | ||
|                 this.drpUnitWorkId.DataValueField = "UnitWorkId";
 | ||
|                 this.drpUnitWorkId.DataSource = q;
 | ||
|                 this.drpUnitWorkId.DataBind();
 | ||
|                 Funs.FineUIPleaseSelect(this.drpUnitWorkId);//单位工程
 | ||
| 
 | ||
|                 Funs.FineUIPleaseSelect(this.drpChirldUnitWorkId);//子单位工程
 | ||
|                 Funs.FineUIPleaseSelect(this.drpBranch);//分部工程
 | ||
|                 Funs.FineUIPleaseSelect(this.drpChildBranch);//子分部工程
 | ||
|                 Funs.FineUIPleaseSelect(this.drpProEngineering);//分项工程
 | ||
| 
 | ||
|                 this.hdInspectionNoticeId.Text = Request.Params["inspectionId"];
 | ||
|                 if (!string.IsNullOrEmpty(Request.Params["View"]))
 | ||
|                 {
 | ||
|                     this.btnSave.Hidden = true;
 | ||
|                 }
 | ||
|                 if (!string.IsNullOrEmpty(this.hdInspectionNoticeId.Text))
 | ||
|                 {
 | ||
|                     Model.ProcessControl_InspectionManagement inspectionManagement = BLL.InspectionManagementService.GetInspectionManagementById(this.hdInspectionNoticeId.Text.Trim());
 | ||
|                     if (inspectionManagement != null)
 | ||
|                     {
 | ||
|                         if (!string.IsNullOrEmpty(inspectionManagement.UnitId))
 | ||
|                         {
 | ||
|                             this.drpUnit.SelectedValue = inspectionManagement.UnitId;
 | ||
|                         }
 | ||
|                         if (!string.IsNullOrEmpty(inspectionManagement.CNProfessionalId))
 | ||
|                         {
 | ||
|                             this.drpCNProfessionalId.SelectedValue = inspectionManagement.CNProfessionalId;
 | ||
|                         }
 | ||
|                         this.txtAcceptanceSite.Text = inspectionManagement.AcceptanceSite;
 | ||
|                         if (!string.IsNullOrEmpty(inspectionManagement.AcceptanceCheckMan))
 | ||
|                         {
 | ||
|                             this.drpAcceptanceCheckMan.SelectedValueArray = inspectionManagement.AcceptanceCheckMan.Split(',');
 | ||
|                         }
 | ||
|                         //单位工程、分部工程、分项工程
 | ||
|                         if (!string.IsNullOrEmpty(inspectionManagement.UnitWorkId))
 | ||
|                         {
 | ||
|                             this.drpUnitWorkId.SelectedValue = inspectionManagement.UnitWorkId;
 | ||
|                             if (!string.IsNullOrEmpty(inspectionManagement.ChildUnitWorkId))
 | ||
|                             {
 | ||
|                                 //子单位工程
 | ||
|                                 var childUnitWorks = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                                       join y in Funs.DB.WBS_UnitWork on x.UnitWorkId equals y.UnitWorkId
 | ||
|                                                       where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                                       && y.SuperUnitWork == inspectionManagement.UnitWorkId
 | ||
|                                                       && (y.SuperUnitWork != "0")
 | ||
|                                                       select new
 | ||
|                                                       {
 | ||
|                                                           y.UnitWorkId,
 | ||
|                                                           UnitWorkName = y.UnitWorkCode + "-" + y.UnitWorkName
 | ||
|                                                       }).Distinct().ToList();
 | ||
|                                 this.drpChirldUnitWorkId.DataTextField = "UnitWorkName";
 | ||
|                                 this.drpChirldUnitWorkId.DataValueField = "UnitWorkId";
 | ||
|                                 this.drpChirldUnitWorkId.DataSource = childUnitWorks;
 | ||
|                                 this.drpChirldUnitWorkId.DataBind();
 | ||
|                                 Funs.FineUIPleaseSelect(this.drpChirldUnitWorkId);
 | ||
|                                 this.drpChirldUnitWorkId.SelectedIndex = 0;
 | ||
|                                 this.drpChirldUnitWorkId.SelectedValue = inspectionManagement.ChildUnitWorkId;
 | ||
|                             }
 | ||
|                             if (!string.IsNullOrEmpty(inspectionManagement.Branch))
 | ||
|                             {
 | ||
|                                 if (string.IsNullOrEmpty(inspectionManagement.ChildUnitWorkId))//无子单位工程
 | ||
|                                 {
 | ||
|                                     //分部工程
 | ||
|                                     var a = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                              join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                              where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                              && x.UnitWorkId == inspectionManagement.UnitWorkId
 | ||
|                                              && y.ParentId == null
 | ||
|                                              select new
 | ||
|                                              {
 | ||
|                                                  y.DivisionId,
 | ||
|                                                  y.BranchEngineeringName
 | ||
|                                              }).Distinct().ToList();
 | ||
|                                     this.drpBranch.DataTextField = "BranchEngineeringName";
 | ||
|                                     this.drpBranch.DataValueField = "DivisionId";
 | ||
|                                     this.drpBranch.DataSource = a;
 | ||
|                                     this.drpBranch.DataBind();
 | ||
|                                     Funs.FineUIPleaseSelect(this.drpBranch);
 | ||
|                                     this.drpBranch.SelectedIndex = 0;
 | ||
|                                     this.drpBranch.SelectedValue = inspectionManagement.Branch;
 | ||
|                                 }
 | ||
|                                 else
 | ||
|                                 {
 | ||
|                                     //分部工程(有子单位工程)
 | ||
|                                     var a = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                              join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                              where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                              && x.UnitWorkId == inspectionManagement.ChildUnitWorkId
 | ||
|                                              && y.ParentId == null
 | ||
|                                              select new
 | ||
|                                              {
 | ||
|                                                  y.DivisionId,
 | ||
|                                                  y.BranchEngineeringName
 | ||
|                                              }).Distinct().ToList();
 | ||
|                                     this.drpBranch.DataTextField = "BranchEngineeringName";
 | ||
|                                     this.drpBranch.DataValueField = "DivisionId";
 | ||
|                                     this.drpBranch.DataSource = a;
 | ||
|                                     this.drpBranch.DataBind();
 | ||
|                                     Funs.FineUIPleaseSelect(this.drpBranch);
 | ||
|                                     this.drpBranch.SelectedIndex = 0;
 | ||
|                                     this.drpBranch.SelectedValue = inspectionManagement.Branch;
 | ||
|                                 }
 | ||
|                                 if (!string.IsNullOrEmpty(inspectionManagement.ChildBranch))
 | ||
|                                 {
 | ||
|                                     #region 子分部工程
 | ||
|                                     if (!string.IsNullOrEmpty(inspectionManagement.ChildUnitWorkId))
 | ||
|                                     {
 | ||
|                                         //子分部工程
 | ||
|                                         var childBranchs = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                                             join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                                             where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                                             && y.ParentId == inspectionManagement.Branch
 | ||
|                                                             && x.UnitWorkId == inspectionManagement.ChildUnitWorkId
 | ||
|                                                             && y.SubBranchEngineeringName != null
 | ||
|                                                             select new
 | ||
|                                                             {
 | ||
|                                                                 y.DivisionId,
 | ||
|                                                                 y.SubBranchEngineeringName
 | ||
|                                                             }).Distinct().ToList();
 | ||
|                                         this.drpChildBranch.DataTextField = "SubBranchEngineeringName";
 | ||
|                                         this.drpChildBranch.DataValueField = "DivisionId";
 | ||
|                                         this.drpChildBranch.DataSource = childBranchs;
 | ||
|                                         this.drpChildBranch.DataBind();
 | ||
|                                         Funs.FineUIPleaseSelect(this.drpChildBranch);
 | ||
|                                         this.drpChildBranch.SelectedIndex = 0;
 | ||
|                                     }
 | ||
|                                     else
 | ||
|                                     {
 | ||
|                                         var childBranchs = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                                             join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                                             where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                                             && y.ParentId == inspectionManagement.Branch
 | ||
|                                                             && x.UnitWorkId == inspectionManagement.UnitWorkId
 | ||
|                                                             && y.SubBranchEngineeringName != null
 | ||
|                                                             select new
 | ||
|                                                             {
 | ||
|                                                                 y.DivisionId,
 | ||
|                                                                 y.SubBranchEngineeringName
 | ||
|                                                             }).Distinct().ToList();
 | ||
|                                         this.drpChildBranch.DataTextField = "SubBranchEngineeringName";
 | ||
|                                         this.drpChildBranch.DataValueField = "DivisionId";
 | ||
|                                         this.drpChildBranch.DataSource = childBranchs;
 | ||
|                                         this.drpChildBranch.DataBind();
 | ||
|                                         Funs.FineUIPleaseSelect(this.drpChildBranch);
 | ||
|                                         this.drpChildBranch.SelectedIndex = 0;
 | ||
|                                     }
 | ||
|                                     this.drpChildBranch.SelectedValue = inspectionManagement.ChildBranch;
 | ||
|                                     #endregion
 | ||
|                                 }
 | ||
| 
 | ||
|                                 if (!string.IsNullOrEmpty(inspectionManagement.ControlPointType))
 | ||
|                                 {
 | ||
|                                     //分项工程
 | ||
|                                     var b = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                              join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                              where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                              && x.UnitWorkId == this.drpUnitWorkId.SelectedValue
 | ||
|                                              && y.ParentId == this.drpBranch.SelectedValue
 | ||
|                                              && y.ParentId != null
 | ||
|                                              select new
 | ||
|                                              {
 | ||
|                                                  y.DivisionId,
 | ||
|                                                  y.ProEngineeringName,
 | ||
|                                                  y.SubBranchEngineeringName
 | ||
|                                              }).Distinct().ToList();
 | ||
|                                     if (b.Where(w => w.SubBranchEngineeringName == null).Count() > 0)
 | ||
|                                     {
 | ||
|                                         this.drpProEngineering.DataTextField = "ProEngineeringName";
 | ||
|                                         this.drpProEngineering.DataValueField = "DivisionId";
 | ||
|                                         this.drpProEngineering.DataSource = b;
 | ||
|                                     }
 | ||
|                                     else
 | ||
|                                     {
 | ||
|                                         var c = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                                  join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                                  join z in Funs.DB.Division_SubProjects on y.ParentId equals z.DivisionId
 | ||
|                                                  join w in Funs.DB.Division_SubProjects on z.ParentId equals w.DivisionId
 | ||
|                                                  where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                                  && x.UnitWorkId == this.drpUnitWorkId.SelectedValue
 | ||
|                                                  && z.ParentId == this.drpBranch.SelectedValue
 | ||
|                                                  select new
 | ||
|                                                  {
 | ||
|                                                      y.DivisionId,
 | ||
|                                                      y.ProEngineeringName
 | ||
|                                                  }).Distinct().ToList();
 | ||
|                                         this.drpProEngineering.DataTextField = "ProEngineeringName";
 | ||
|                                         this.drpProEngineering.DataValueField = "DivisionId";
 | ||
|                                         this.drpProEngineering.DataSource = c;
 | ||
|                                     }
 | ||
|                                     this.drpProEngineering.DataBind();
 | ||
|                                     Funs.FineUIPleaseSelect(this.drpProEngineering);
 | ||
|                                     this.drpProEngineering.SelectedIndex = 0;
 | ||
|                                     
 | ||
|                                     this.drpProEngineering.SelectedValue = inspectionManagement.ControlPointType;
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         }
 | ||
|                         this.txtNoticeCode.Text = inspectionManagement.NoticeCode;
 | ||
|                         this.Grid1.DataSource = BLL.InspectionManagementDetailService.GetInspectionDetails(this.hdInspectionNoticeId.Text.Trim());
 | ||
|                         this.Grid1.DataBind();
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 string requestArg = GetRequestEventArgument(); // 此函数所在文件:PageBase.cs
 | ||
|                 if (requestArg.StartsWith("ReloadGrid$"))
 | ||
|                 {
 | ||
|                     this.hdItemsString.Text = requestArg.Substring("ReloadGrid$".Length);
 | ||
|                     Window1_Close(null, null);
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 保存
 | ||
|         /// <summary>
 | ||
|         /// 保存按钮
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnSave_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (this.drpUnit.SelectedValue == BLL.Const._Null)
 | ||
|             {
 | ||
|                 Alert.ShowInTop("请先选择施工分包商!", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
|             if (this.drpCNProfessionalId.SelectedValue == BLL.Const._Null)
 | ||
|             {
 | ||
|                 Alert.ShowInTop("请先选择专业!", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
|             if (this.Grid1.Rows.Count == 0)
 | ||
|             {
 | ||
|                 Alert.ShowInTop("请选择共检内容!", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
| 
 | ||
|             Model.ProcessControl_InspectionManagement inspectionManagement = new Model.ProcessControl_InspectionManagement();
 | ||
|             inspectionManagement.ProjectId = this.CurrUser.LoginProjectId;
 | ||
|             if (this.drpUnit.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 inspectionManagement.UnitId = this.drpUnit.SelectedValue;
 | ||
|             }
 | ||
|             if (this.drpCNProfessionalId.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 inspectionManagement.CNProfessionalId = this.drpCNProfessionalId.SelectedValue;
 | ||
|             }
 | ||
|             inspectionManagement.NoticeCode = this.txtNoticeCode.Text.Trim();
 | ||
|             inspectionManagement.AcceptanceSite = this.txtAcceptanceSite.Text.Trim();
 | ||
| 
 | ||
|             //检查人
 | ||
|             string CheckManIds = string.Empty;
 | ||
|             foreach (var item in this.drpAcceptanceCheckMan.SelectedValueArray)
 | ||
|             {
 | ||
|                 CheckManIds += item + ",";
 | ||
|             }
 | ||
|             if (!string.IsNullOrEmpty(CheckManIds))
 | ||
|             {
 | ||
|                 CheckManIds = CheckManIds.Substring(0, CheckManIds.LastIndexOf(","));
 | ||
|             }
 | ||
|             inspectionManagement.AcceptanceCheckMan = CheckManIds;
 | ||
| 
 | ||
|             if (this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 inspectionManagement.UnitWorkId = this.drpUnitWorkId.SelectedValue;
 | ||
|             }
 | ||
|             if (this.drpChirldUnitWorkId.SelectedValue!=BLL.Const._Null)
 | ||
|             {
 | ||
|                 inspectionManagement.ChildUnitWorkId = this.drpChirldUnitWorkId.SelectedValue;
 | ||
|             }
 | ||
|             if (this.drpBranch.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 inspectionManagement.Branch = this.drpBranch.SelectedValue;
 | ||
|             }
 | ||
|             if (this.drpChildBranch.SelectedValue!=BLL.Const._Null)
 | ||
|             {
 | ||
|                 inspectionManagement.ChildBranch = this.drpChildBranch.SelectedValue;
 | ||
|             }
 | ||
|             if (this.drpProEngineering.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 inspectionManagement.ControlPointType = this.drpProEngineering.SelectedValue;
 | ||
|             }
 | ||
|             //inspectionManagement.AcceptanceCheckMan = this.txtAcceptanceCheckMan.Text.Trim();
 | ||
|             if (string.IsNullOrEmpty(Request.Params["inspectionId"]))
 | ||
|             {
 | ||
|                 //编号不能重复
 | ||
|                 var InspectionManagementModel = Funs.DB.ProcessControl_InspectionManagement.FirstOrDefault(x => x.NoticeCode == this.txtNoticeCode.Text.Trim());
 | ||
|                 if (InspectionManagementModel != null)
 | ||
|                 {
 | ||
|                     ShowNotify("共检通知单编号已存在,不能重复!", MessageBoxIcon.Warning);
 | ||
|                     return;
 | ||
|                 }
 | ||
|                 inspectionManagement.CompileMan = this.CurrUser.UserId;
 | ||
|                 inspectionManagement.CompileDate = DateTime.Now;
 | ||
|                 if (!string.IsNullOrEmpty(this.hdInspectionNoticeId.Text.Trim()))
 | ||
|                 {
 | ||
|                     inspectionManagement.InspectionId = this.hdInspectionNoticeId.Text.Trim();
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     inspectionManagement.InspectionId = SQLHelper.GetNewID(typeof(Model.ProcessControl_InspectionManagement));
 | ||
|                     this.hdInspectionNoticeId.Text = inspectionManagement.InspectionId;
 | ||
|                 }
 | ||
|                 /*var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == inspectionManagement.InspectionId);
 | ||
|                 if (sour == null || string.IsNullOrEmpty(sour.AttachUrl))
 | ||
|                 {
 | ||
|                     Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
 | ||
|                     return;
 | ||
|                 }*/
 | ||
| 
 | ||
|                 BLL.InspectionManagementService.AddInspectionManagement(inspectionManagement);
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 //编号不能重复
 | ||
|                 var InspectionManagementModel = Funs.DB.ProcessControl_InspectionManagement.FirstOrDefault(x => x.NoticeCode == this.txtNoticeCode.Text.Trim()
 | ||
|                 && x.InspectionId != Request.Params["inspectionId"]);
 | ||
|                 if (InspectionManagementModel != null)
 | ||
|                 {
 | ||
|                     ShowNotify("共检通知单编号已存在,不能重复!", MessageBoxIcon.Warning);
 | ||
|                     return;
 | ||
|                 }
 | ||
| 
 | ||
|                 Model.ProcessControl_InspectionManagement oldInspectionManagement = BLL.InspectionManagementService.GetInspectionManagementById(this.hdInspectionNoticeId.Text.Trim());
 | ||
|                 inspectionManagement.AttachUrl2 = oldInspectionManagement.AttachUrl2;
 | ||
|                 inspectionManagement.InspectionId = this.hdInspectionNoticeId.Text.Trim();
 | ||
|                 var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == inspectionManagement.InspectionId);
 | ||
|                 /*if (sour == null || string.IsNullOrEmpty(sour.AttachUrl))
 | ||
|                 {
 | ||
|                     Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning);
 | ||
|                     return;
 | ||
|                 }*/
 | ||
|                 BLL.InspectionManagementService.UpdateInspectionManagement(inspectionManagement);
 | ||
|                 BLL.InspectionManagementDetailService.DeleteAllInspectionDetail(inspectionManagement.InspectionId);
 | ||
|             }
 | ||
|             var details = jerqueSaveList();
 | ||
|             foreach (var detail in details)
 | ||
|             {
 | ||
|                 detail.InspectionId = inspectionManagement.InspectionId;
 | ||
|                 BLL.InspectionManagementDetailService.AddInspectionDetail(detail);
 | ||
|             }
 | ||
|             ShowNotify("保存成功!", MessageBoxIcon.Success);
 | ||
|             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 附件上传
 | ||
|         /// <summary>
 | ||
|         /// 附件上传
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnAttach_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (string.IsNullOrEmpty(this.hdInspectionNoticeId.Text))   //新增记录
 | ||
|             {
 | ||
|                 this.hdInspectionNoticeId.Text = SQLHelper.GetNewID(typeof(Model.ProcessControl_InspectionManagement));
 | ||
|             }
 | ||
|             PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/InspectionManagement&menuId={1}", this.hdInspectionNoticeId.Text, BLL.Const.InspectionNoticeMenuId)));
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region Grid1行内事件
 | ||
|         /// <summary>
 | ||
|         /// Grid1行内事件
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
 | ||
|         {
 | ||
|             string itemId = Grid1.DataKeys[e.RowIndex][0].ToString();
 | ||
|             List<Model.ProcessControl_InspectionManagementDetail> details = jerqueSaveList();
 | ||
|             if (e.CommandName == "delete")
 | ||
|             {
 | ||
|                 foreach (Model.ProcessControl_InspectionManagementDetail detail in details)
 | ||
|                 {
 | ||
|                     if (detail.InspectionDetailId == itemId)
 | ||
|                     {
 | ||
|                         details.Remove(detail);
 | ||
|                         break;
 | ||
|                     }
 | ||
|                 }
 | ||
|                 Grid1.DataSource = details;
 | ||
|                 Grid1.DataBind();
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 搜索
 | ||
|         /// <summary>
 | ||
|         /// 搜索
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnNew_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (this.drpCNProfessionalId.SelectedValue == BLL.Const._Null)
 | ||
|             {
 | ||
|                 Alert.ShowInTop("请先选择专业!", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
|             string window = String.Format("ShowUnitWork.aspx?CNPrefessionalId={0}", this.drpCNProfessionalId.SelectedValue, "查找 - ");
 | ||
|             PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdItemsString.ClientID) + Window1.GetShowReference(window));
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region  保存Grid集合
 | ||
|         /// <summary>
 | ||
|         /// 检查并保存集合
 | ||
|         /// </summary>
 | ||
|         private List<Model.ProcessControl_InspectionManagementDetail> jerqueSaveList()
 | ||
|         {
 | ||
|             List<Model.ProcessControl_InspectionManagementDetail> details = new List<Model.ProcessControl_InspectionManagementDetail>();
 | ||
|             foreach (JObject mergedRow in Grid1.GetMergedData())
 | ||
|             {
 | ||
|                 JObject values = mergedRow.Value<JObject>("values");
 | ||
|                 int i = mergedRow.Value<int>("index");
 | ||
|                 Model.ProcessControl_InspectionManagementDetail detail = new Model.ProcessControl_InspectionManagementDetail();
 | ||
|                 detail.InspectionDetailId = this.Grid1.Rows[i].RowID;
 | ||
|                 detail.UnitWorkId = values.Value<string>("UnitWorkId");
 | ||
|                 detail.Branch = values.Value<string>("Branch");
 | ||
|                 detail.ControlPointType = this.Grid1.Rows[i].DataKeys[1].ToString();
 | ||
|                 string createDate = values.Value<string>("CreateDate");
 | ||
|                 if (!string.IsNullOrEmpty(createDate))
 | ||
|                 {
 | ||
|                     detail.CreateDate = Convert.ToDateTime(createDate);
 | ||
|                 }
 | ||
| 
 | ||
|                 details.Add(detail);
 | ||
|             }
 | ||
|             return details;
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 关闭弹出窗口
 | ||
|         /// <summary>
 | ||
|         /// 关闭弹出窗口
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void Window1_Close(object sender, WindowCloseEventArgs e)
 | ||
|         {
 | ||
| 
 | ||
|             if (!string.IsNullOrEmpty(hdItemsString.Text))
 | ||
|             {
 | ||
|                 string[] ids = hdItemsString.Text.Split(',');
 | ||
|                 int i = 1;
 | ||
|                 var details = jerqueSaveList();
 | ||
|                 foreach (var id in ids)
 | ||
|                 {
 | ||
|                     var oldDetail = details.FirstOrDefault(x => x.ControlPointType == id);
 | ||
|                     if (oldDetail == null)   //添加集合没有的新纪录
 | ||
|                     {
 | ||
|                         Model.ProcessControl_InspectionManagementDetail detail = new Model.ProcessControl_InspectionManagementDetail();
 | ||
|                         detail.InspectionDetailId = SQLHelper.GetNewID();
 | ||
|                         var breakdownProject = BLL.BreakdownProjectService.GetBreakdownProjectById(id);
 | ||
|                         if (breakdownProject != null)
 | ||
|                         {
 | ||
|                             var divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(breakdownProject.DivisionProjectId);
 | ||
|                             if (divisionProject != null)
 | ||
|                             {
 | ||
|                                 detail.UnitWorkId = divisionProject.UnitWorkId;
 | ||
|                                 detail.Branch = divisionProject.DivisionProjectId;
 | ||
|                             }
 | ||
|                         }
 | ||
|                         detail.ControlPointType = id;
 | ||
|                         detail.CreateDate = DateTime.Now.AddMinutes(i);
 | ||
|                         details.Add(detail);
 | ||
|                     }
 | ||
|                     i++;
 | ||
|                 }
 | ||
|                 this.Grid1.DataSource = details;
 | ||
|                 this.Grid1.DataBind();
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 获取按钮权限
 | ||
|         /// <summary>
 | ||
|         /// 获取按钮权限
 | ||
|         /// </summary>
 | ||
|         /// <param name="button"></param>
 | ||
|         /// <returns></returns>
 | ||
|         private void GetButtonPower()
 | ||
|         {
 | ||
|             if (Request.Params["value"] == BLL.Const._Null)
 | ||
|             {
 | ||
|                 return;
 | ||
|             }
 | ||
|             var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.InspectionNoticeMenuId);
 | ||
|             if (buttonList.Count > 0)
 | ||
|             {
 | ||
|                 if (buttonList.Contains(BLL.Const.BtnSave))
 | ||
|                 {
 | ||
|                     this.btnSave.Hidden = false;
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 转换字符串
 | ||
|         /// <summary>
 | ||
|         /// 获取单位工程
 | ||
|         /// </summary>
 | ||
|         /// <param name="UnitWorkId"></param>
 | ||
|         /// <returns></returns>
 | ||
|         protected string ConvertUnitWork(object UnitWorkId)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             if (UnitWorkId != null)
 | ||
|             {
 | ||
|                 Model.WBS_UnitWork unitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(UnitWorkId.ToString());
 | ||
|                 if (unitWork != null)
 | ||
|                 {
 | ||
|                     name = unitWork.UnitWorkName;
 | ||
|                 }
 | ||
|             }
 | ||
|             return name;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取分部
 | ||
|         /// </summary>
 | ||
|         /// <param name="Branch"></param>
 | ||
|         /// <returns></returns>
 | ||
|         protected string ConvertBranch(object Branch)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             if (Branch != null)
 | ||
|             {
 | ||
|                 var branch = BLL.DivisionProjectService.GetDivisionProjectById(Branch.ToString());
 | ||
|                 if (branch != null)
 | ||
|                 {
 | ||
|                     name = branch.DivisionName;
 | ||
|                 }
 | ||
|             }
 | ||
|             return name;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取控制点内容
 | ||
|         /// </summary>
 | ||
|         /// <param name="ControlPointType"></param>
 | ||
|         /// <returns></returns>
 | ||
|         protected string ConvertControlPointType(object ControlPointType)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             if (ControlPointType != null)
 | ||
|             {
 | ||
|                 var controlPointType = BLL.BreakdownProjectService.GetBreakdownProjectById(ControlPointType.ToString());
 | ||
|                 if (controlPointType != null)
 | ||
|                 {
 | ||
|                     name = controlPointType.BreakdownName;
 | ||
|                 }
 | ||
|             }
 | ||
|             return name;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 获取控制点等级
 | ||
|         /// </summary>
 | ||
|         /// <param name="ControlPointType"></param>
 | ||
|         /// <returns></returns>
 | ||
|         protected string ConvertClass(object ControlPointType)
 | ||
|         {
 | ||
|             string name = string.Empty;
 | ||
|             if (ControlPointType != null)
 | ||
|             {
 | ||
|                 var controlPointType = BLL.BreakdownProjectService.GetBreakdownProjectById(ControlPointType.ToString());
 | ||
|                 if (controlPointType != null)
 | ||
|                 {
 | ||
|                     name = controlPointType.Class;
 | ||
|                 }
 | ||
|             }
 | ||
|             return name;
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region DropDownList下拉选择事件
 | ||
|         /// <summary>
 | ||
|         /// 单位工程下拉选择事件
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void drpUnitWorkId_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             this.drpChirldUnitWorkId.Items.Clear();
 | ||
|             if (this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 //子单位工程
 | ||
|                 var childUnitWorks = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                       join y in Funs.DB.WBS_UnitWork on x.UnitWorkId equals y.UnitWorkId
 | ||
|                                       where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                       && y.SuperUnitWork == this.drpUnitWorkId.SelectedValue
 | ||
|                                       && (y.SuperUnitWork != "0")
 | ||
|                                       select new
 | ||
|                                       {
 | ||
|                                           y.UnitWorkId,
 | ||
|                                           UnitWorkName = y.UnitWorkCode + "-" + y.UnitWorkName
 | ||
|                                       }).Distinct().ToList();
 | ||
|                 this.drpChirldUnitWorkId.DataTextField = "UnitWorkName";
 | ||
|                 this.drpChirldUnitWorkId.DataValueField = "UnitWorkId";
 | ||
|                 this.drpChirldUnitWorkId.DataSource = childUnitWorks;
 | ||
|                 this.drpChirldUnitWorkId.DataBind();
 | ||
|                 Funs.FineUIPleaseSelect(this.drpChirldUnitWorkId);
 | ||
|                 this.drpChirldUnitWorkId.SelectedIndex = 0;
 | ||
| 
 | ||
|                 //分部工程
 | ||
|                 this.drpBranch.Items.Clear();
 | ||
|                 var q = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                          join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                          where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                          && x.UnitWorkId == this.drpUnitWorkId.SelectedValue
 | ||
|                          && (y.ParentId == null || y.ParentId == "")
 | ||
|                          select new
 | ||
|                          {
 | ||
|                              y.DivisionId,
 | ||
|                              y.BranchEngineeringName
 | ||
|                          }).Distinct().ToList();
 | ||
|                 this.drpBranch.DataTextField = "BranchEngineeringName";
 | ||
|                 this.drpBranch.DataValueField = "DivisionId";
 | ||
|                 this.drpBranch.DataSource = q;
 | ||
|                 this.drpBranch.DataBind();
 | ||
|                 Funs.FineUIPleaseSelect(this.drpBranch);
 | ||
|                 this.drpBranch.SelectedIndex = 0;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 子单位工程下拉选择事件
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void drpChirldUnitWorkId_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (this.drpChirldUnitWorkId.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 this.drpBranch.Items.Clear();
 | ||
|                 var q = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                          join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                          where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                          && x.UnitWorkId == this.drpChirldUnitWorkId.SelectedValue
 | ||
|                          && (y.ParentId == null || y.ParentId == "")
 | ||
|                          select new
 | ||
|                          {
 | ||
|                              y.DivisionId,
 | ||
|                              y.BranchEngineeringName
 | ||
|                          }).Distinct().ToList();
 | ||
|                 this.drpBranch.DataTextField = "BranchEngineeringName";
 | ||
|                 this.drpBranch.DataValueField = "DivisionId";
 | ||
|                 this.drpBranch.DataSource = q;
 | ||
|                 this.drpBranch.DataBind();
 | ||
|                 Funs.FineUIPleaseSelect(this.drpBranch);
 | ||
|                 this.drpBranch.SelectedIndex = 0;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 分部工程下拉选择事件
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void drpBranch_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             this.drpChildBranch.Items.Clear();
 | ||
|             if (this.drpBranch.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 #region 子分部工程
 | ||
|                 if (this.drpChirldUnitWorkId.SelectedValue != BLL.Const._Null)
 | ||
|                 {
 | ||
|                     //子分部工程
 | ||
|                     var childBranchs = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                         join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                         where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                         && y.ParentId == this.drpBranch.SelectedValue
 | ||
|                                         && x.UnitWorkId == this.drpChirldUnitWorkId.SelectedValue
 | ||
|                                         && y.SubBranchEngineeringName != null
 | ||
|                                         select new
 | ||
|                                         {
 | ||
|                                             y.DivisionId,
 | ||
|                                             y.SubBranchEngineeringName
 | ||
|                                         }).Distinct().ToList();
 | ||
|                     this.drpChildBranch.DataTextField = "SubBranchEngineeringName";
 | ||
|                     this.drpChildBranch.DataValueField = "DivisionId";
 | ||
|                     this.drpChildBranch.DataSource = childBranchs;
 | ||
|                     this.drpChildBranch.DataBind();
 | ||
|                     Funs.FineUIPleaseSelect(this.drpChildBranch);
 | ||
|                     this.drpChildBranch.SelectedIndex = 0;
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     var childBranchs = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                                         join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                                         where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                         && y.ParentId == this.drpBranch.SelectedValue
 | ||
|                                         && x.UnitWorkId == this.drpUnitWorkId.SelectedValue
 | ||
|                                         && y.SubBranchEngineeringName != null
 | ||
|                                         select new
 | ||
|                                         {
 | ||
|                                             y.DivisionId,
 | ||
|                                             y.SubBranchEngineeringName
 | ||
|                                         }).Distinct().ToList();
 | ||
|                     this.drpChildBranch.DataTextField = "SubBranchEngineeringName";
 | ||
|                     this.drpChildBranch.DataValueField = "DivisionId";
 | ||
|                     this.drpChildBranch.DataSource = childBranchs;
 | ||
|                     this.drpChildBranch.DataBind();
 | ||
|                     Funs.FineUIPleaseSelect(this.drpChildBranch);
 | ||
|                     this.drpChildBranch.SelectedIndex = 0;
 | ||
|                 }
 | ||
|                 #endregion
 | ||
|                
 | ||
|                 //分项工程
 | ||
|                 this.drpProEngineering.Items.Clear();
 | ||
|                 var q = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                          join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                          where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                          && x.UnitWorkId == this.drpUnitWorkId.SelectedValue
 | ||
|                          && y.ParentId == this.drpBranch.SelectedValue
 | ||
|                          && (y.ParentId != null && y.ParentId != "")
 | ||
|                          select new
 | ||
|                          {
 | ||
|                              y.DivisionId,
 | ||
|                              y.ProEngineeringName,
 | ||
|                              y.SubBranchEngineeringName
 | ||
|                          }).Distinct().ToList();
 | ||
|                 if (q.Where(w => w.SubBranchEngineeringName == null).Count() > 0)
 | ||
|                 {
 | ||
|                     this.drpProEngineering.DataTextField = "ProEngineeringName";
 | ||
|                     this.drpProEngineering.DataValueField = "DivisionId";
 | ||
|                     this.drpProEngineering.DataSource = q;
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     var a = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                              join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                              join z in Funs.DB.Division_SubProjects on y.ParentId equals z.DivisionId
 | ||
|                              join w in Funs.DB.Division_SubProjects on z.ParentId equals w.DivisionId
 | ||
|                              where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                              && x.UnitWorkId == this.drpUnitWorkId.SelectedValue
 | ||
|                              && z.ParentId == this.drpBranch.SelectedValue
 | ||
|                              select new
 | ||
|                              {
 | ||
|                                  y.DivisionId,
 | ||
|                                  y.ProEngineeringName
 | ||
|                              }).Distinct().ToList();
 | ||
|                     this.drpProEngineering.DataTextField = "ProEngineeringName";
 | ||
|                     this.drpProEngineering.DataValueField = "DivisionId";
 | ||
|                     this.drpProEngineering.DataSource = a;
 | ||
|                 }                
 | ||
|                 this.drpProEngineering.DataBind();
 | ||
|                 Funs.FineUIPleaseSelect(this.drpProEngineering);
 | ||
|             }
 | ||
|             this.drpProEngineering.SelectedIndex = 0;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 子分部工程下拉选择事件
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void drpChildBranch_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             this.drpProEngineering.Items.Clear();
 | ||
|             if (this.drpChildBranch.SelectedValue != BLL.Const._Null)
 | ||
|             {
 | ||
|                 //分项工程
 | ||
|                 var a = (from x in Funs.DB.WBS_DivisionDivide
 | ||
|                          join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId
 | ||
|                          where x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                          && x.UnitWorkId == this.drpUnitWorkId.SelectedValue
 | ||
|                          && y.ParentId == this.drpChildBranch.SelectedValue
 | ||
|                          select new
 | ||
|                          {
 | ||
|                              y.DivisionId,
 | ||
|                              y.ProEngineeringName
 | ||
|                          }).Distinct().ToList();
 | ||
|                 this.drpProEngineering.DataTextField = "ProEngineeringName";
 | ||
|                 this.drpProEngineering.DataValueField = "DivisionId";
 | ||
|                 this.drpProEngineering.DataSource = a;
 | ||
|                 this.drpProEngineering.DataBind();
 | ||
|                 Funs.FineUIPleaseSelect(this.drpProEngineering);
 | ||
|                 this.drpProEngineering.SelectedIndex = 0;
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
|     }
 | ||
| } |