628 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			628 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | |
| using Model;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.Data;
 | |
| using System.Data.SqlClient;
 | |
| using System.Linq;
 | |
| using System.Web;
 | |
| using System.Web.UI;
 | |
| using System.Web.UI.WebControls;
 | |
| 
 | |
| namespace FineUIPro.Web.TestRun.BeforeTestRun
 | |
| {
 | |
|     public partial class InspectTailTermEdit : PageBase
 | |
|     {
 | |
|         /// <summary>
 | |
|         /// 检查表尾项主键
 | |
|         /// </summary>
 | |
|         public string TailTermId
 | |
|         {
 | |
|             get { return (string)ViewState["TailTermId"]; }
 | |
|             set { ViewState["TailTermId"] = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 检查项主键
 | |
|         /// </summary>
 | |
|         public string TermItemId
 | |
|         {
 | |
|             get { return (string)ViewState["TermItemId"]; }
 | |
|             set { ViewState["TermItemId"] = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 是否查看
 | |
|         /// </summary>
 | |
|         public bool IsView
 | |
|         {
 | |
|             get { return (bool)ViewState["IsView"]; }
 | |
|             set { ViewState["IsView"] = value; }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 问题图片是否可编辑
 | |
|         /// </summary>
 | |
|         public int QuestionEditImg
 | |
|         {
 | |
|             get { return (int)ViewState["QuestionEditImg"]; }
 | |
|             set { ViewState["QuestionEditImg"] = value; }
 | |
|         }
 | |
| 
 | |
|         protected void Page_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!IsPostBack)
 | |
|             {
 | |
|                 this.TailTermId = Request["TailTermId"];
 | |
|                 this.TermItemId = Request["TermItemId"];
 | |
|                 //是否查看
 | |
|                 this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
 | |
|                 //数据绑定
 | |
|                 PageInit();
 | |
|                 //处理和审批意见绑定
 | |
|                 gvRecordBrid();
 | |
|                 //判断是否查看
 | |
|                 if (IsView)
 | |
|                 {
 | |
|                     btnSave.Hidden = true;
 | |
|                     btnSubmit.Hidden = true;
 | |
|                     QuestionEditImg = -1;
 | |
|                     //RectifyEditImg = -1;
 | |
|                     txtTailTermCode.Enabled = false;
 | |
|                     ddlConstructionUnit.Enabled = false;
 | |
|                     ddlProblemType.Enabled = false;
 | |
|                     ddlSubInspectId.Enabled = false;
 | |
|                     ddlTermItemId.Enabled = false;
 | |
|                     txtQuestionDesc.Enabled = false;
 | |
|                     txtRectifyOpinion.Enabled = false;
 | |
|                     ddlApproveUser.Enabled = false;
 | |
|                     ddlHandleUser.Enabled = false;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 默认绑定
 | |
|         /// </summary>
 | |
|         public void PageInit()
 | |
|         {
 | |
|             QuestionEditImg = 0;
 | |
|             //RectifyEditImg = -1;
 | |
|             var selectList = new List<SelectPropertyTechnology>();
 | |
|             //施工单位
 | |
|             UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlConstructionUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
 | |
|             //检查人绑定
 | |
|             var userList = from user in Funs.DB.Sys_User
 | |
|                            join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
 | |
|                            where projectrole.ProjectId == this.CurrUser.LoginProjectId
 | |
|                            select user;
 | |
|             var userids = new List<string>() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
 | |
|             var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
 | |
|             var users = userList.ToList();
 | |
|             if (addUserList.Count() > 0)
 | |
|             {
 | |
|                 users.AddRange(addUserList);
 | |
|             }
 | |
|             //检查人和审核人
 | |
|             if (users.Count() > 0)
 | |
|             {
 | |
|                 //处理人
 | |
|                 ddlHandleUser.DataTextField = "UserName";
 | |
|                 ddlHandleUser.DataValueField = "UserId";
 | |
|                 ddlHandleUser.DataSource = users;
 | |
|                 ddlHandleUser.DataBind();
 | |
|                 ddlHandleUser.SelectedValue = this.CurrUser.UserId;
 | |
|                 //审核人
 | |
|                 ddlApproveUser.DataTextField = "UserName";
 | |
|                 ddlApproveUser.DataValueField = "UserId";
 | |
|                 ddlApproveUser.DataSource = users;
 | |
|                 ddlApproveUser.DataBind();
 | |
|                 ddlApproveUser.SelectedValue = this.CurrUser.UserId;
 | |
|             }
 | |
|             var model = Funs.DB.PreRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
 | |
|             if (model != null)
 | |
|             {
 | |
|                 //项目名称
 | |
|                 txtProjectName.Text = model.ProjectName;
 | |
|                 //巡检编号
 | |
|                 txtTailTermCode.Text = model.TailTermCode;
 | |
|                 //施工单位
 | |
|                 ddlConstructionUnit.SelectedValue = model.ConstructionUnit;
 | |
|                 //问题类别
 | |
|                 ddlProblemType.SelectedValue = model.ProblemType.ToString();
 | |
|                 //提出人
 | |
|                 var inspectModel = users.FirstOrDefault(x => x.UserId == model.InspectUser);
 | |
|                 if (inspectModel != null)
 | |
|                 {
 | |
|                     lblInspectUser.Text = inspectModel.UserName;
 | |
|                     hidInspectUserId.Text = inspectModel.UserId;
 | |
|                 }
 | |
|                 //绑定管道或者设备
 | |
|                 var termitemlist = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.WorkPackType == model.ProblemType).GroupBy(x => new { x.SubInspectId, x.InspectionResults, x.PropertyTechnologyId, x.WorkPackType });
 | |
|                 if (termitemlist.Count() > 0)
 | |
|                 {
 | |
|                     var ids = string.Join(",", termitemlist.Select(x => x.Key.PropertyTechnologyId)).Split(',');
 | |
|                     if (ddlProblemType.SelectedValue == "1")
 | |
|                     {
 | |
|                         var piplist = Funs.DB.PreRun_PropertySysPiping.Where(x => ids.Contains(x.PropertyId));
 | |
|                         foreach (var item in termitemlist)
 | |
|                         {
 | |
|                             var pid = item.Key.PropertyTechnologyId.Split(',');
 | |
|                             var codes = piplist.Where(x => pid.Contains(x.PropertyId)).ToList();
 | |
|                             selectList.Add(new SelectPropertyTechnology()
 | |
|                             {
 | |
|                                 Id = item.Key.SubInspectId,
 | |
|                                 Code = $"管道:{string.Join(",", codes.ConvertAll(x => x.PipingCode))}"
 | |
|                             });
 | |
|                         }
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         var techlist = Funs.DB.PreRun_TechnologySysPiping.Where(x => ids.Contains(x.TechnologyId));
 | |
|                         foreach (var item in termitemlist)
 | |
|                         {
 | |
|                             var pid = item.Key.PropertyTechnologyId.Split(',');
 | |
|                             var codes = techlist.Where(x => pid.Contains(x.TechnologyId)).ToList();
 | |
|                             selectList.Add(new SelectPropertyTechnology()
 | |
|                             {
 | |
|                                 Id = item.Key.SubInspectId,
 | |
|                                 Code = $"设备:{string.Join(",", codes.ConvertAll(x => x.TagNumber))}"
 | |
|                             });
 | |
|                         }
 | |
|                     }
 | |
|                     if (selectList.Count > 0)
 | |
|                     {
 | |
|                         ddlSubInspectId.DataTextField = "Code";
 | |
|                         ddlSubInspectId.DataValueField = "Id";
 | |
|                         ddlSubInspectId.DataSource = selectList;
 | |
|                         ddlSubInspectId.DataBind();
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         ddlSubInspectId.Items.Insert(0, new ListItem("==无数据==", ""));
 | |
|                     }
 | |
|                 }
 | |
|                 //管道/设备
 | |
|                 ddlSubInspectId.SelectedValue = model.SubInspectId;
 | |
|                 //绑定检查项
 | |
|                 if (!string.IsNullOrWhiteSpace(ddlSubInspectId.SelectedValue))
 | |
|                 {
 | |
|                     //var TermItemIds = Funs.DB.PreRun_InspectTailTerm.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.TailTermId != this.TailTermId).Select(a => a.TermItemId).ToList();
 | |
|                     //var list = new List<PreRun_SubInspectTermItem>();
 | |
|                     //if (TermItemIds.Count > 0)
 | |
|                     //{
 | |
|                     //    list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue && !TermItemIds.Contains(x.TermItemId)).ToList();
 | |
|                     //}
 | |
|                     //else
 | |
|                     //{
 | |
|                     //    list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue).ToList();
 | |
|                     //}
 | |
| 
 | |
|                     var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue).ToList();
 | |
|                     if (list.Count() > 0)
 | |
|                     {
 | |
|                         ddlTermItemId.DataTextField = "WorkInspectName";
 | |
|                         ddlTermItemId.DataValueField = "TermItemId";
 | |
|                         ddlTermItemId.DataSource = list;
 | |
|                         ddlTermItemId.DataBind();
 | |
|                     }
 | |
|                 }
 | |
|                 //检查项
 | |
|                 ddlTermItemId.SelectedValue = model.TermItemId;
 | |
|                 //问题描述
 | |
|                 txtQuestionDesc.Text = model.QuestionDesc;
 | |
|                 //整改意见
 | |
|                 txtRectifyOpinion.Text = model.RectifyOpinion;
 | |
|                 //提出时间
 | |
|                 lblRectifyTime.Text = model.RectifyTime != null ? model.RectifyTime.Value.ToString("yyyy-MM-dd") : string.Empty;
 | |
|                 //处理人
 | |
|                 ddlHandleUser.SelectedValue = model.HandleUser;
 | |
|                 //审核人
 | |
|                 ddlApproveUser.SelectedValue = model.ApproveUser;
 | |
|                 //整改完成日期
 | |
|                 txtAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd") : string.Empty;
 | |
|                 if (model.ApproveState > 1)
 | |
|                 {
 | |
|                     QuestionEditImg = -1;
 | |
|                     //RectifyEditImg = -1;
 | |
|                 }
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 this.TailTermId = Guid.NewGuid().ToString();
 | |
|                 var projectModel = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == this.CurrUser.LoginProjectId);
 | |
|                 if (projectModel != null)
 | |
|                 {
 | |
|                     txtProjectName.Text = projectModel.ProjectName;
 | |
|                     string code = projectModel.ProjectCode + "-06-CM03-XJ-";
 | |
|                     txtTailTermCode.Text = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.PreRun_InspectTailTerm", "TailTermCode", code);
 | |
|                 }
 | |
|                 if (!string.IsNullOrWhiteSpace(this.TermItemId))
 | |
|                 {
 | |
|                     var itemTerm = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == this.TermItemId);
 | |
|                     if (itemTerm != null)
 | |
|                     {
 | |
|                         var workPackType = itemTerm.WorkPackType;
 | |
|                         if (workPackType == 0)
 | |
|                         {
 | |
|                             if (Funs.DB.PreRun_PropertySysPiping.Count(x => x.PropertyId == itemTerm.PropertyTechnologyId) > 0)
 | |
|                             {
 | |
|                                 workPackType = 1;
 | |
|                             }
 | |
|                             else
 | |
|                             {
 | |
|                                 workPackType = 2;
 | |
|                             }
 | |
|                         }
 | |
|                         ddlProblemType.SelectedValue = workPackType.ToString();
 | |
|                         //管道/设备
 | |
|                         ddlProblemType_SelectedIndexChanged(null, null);
 | |
|                         ddlSubInspectId.SelectedValue = itemTerm.SubInspectId;
 | |
|                         //检查项
 | |
|                         ddlSubInspectId_SelectedIndexChanged(null, null);
 | |
|                         ddlTermItemId.SelectedValue = itemTerm.TermItemId;
 | |
|                         //提出人
 | |
|                         var inspectModel = users.FirstOrDefault(x => x.UserId == itemTerm.InspectedUser);
 | |
|                         if (inspectModel != null)
 | |
|                         {
 | |
|                             lblInspectUser.Text = inspectModel.UserName;
 | |
|                             hidInspectUserId.Text = inspectModel.UserId;
 | |
|                         }
 | |
|                         //提出时间
 | |
|                         lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
 | |
|                     }
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 处理和审批意见绑定
 | |
|         /// </summary>
 | |
|         public void gvRecordBrid()
 | |
|         {
 | |
|             string strSql = @"select a.InspectTermId,a.ApproveOpinion,a.ApproveTime,a.ApproveType,a.ApproveState,(case a.ApproveType when 0 then (case a.ApproveState when 0 then '处理退回' when 1 then '处理通过' else '' end) else (case a.ApproveState when 0 then '审批退回' when 1 then '审批通过' else '' end) end) as ApproveStateName,b.ConstructionUnit,d.UnitName as ConstructionUnitName,a.AddUser,a.AddTime from PreRun_InspectTermApproveRecords as a inner join PreRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join PreRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Unit as d on d.UnitId=b.ConstructionUnit where 1=1 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId ";
 | |
|             List<SqlParameter> listStr = new List<SqlParameter>();
 | |
|             listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
 | |
|             listStr.Add(new SqlParameter("@TailTermId", this.TailTermId));
 | |
|             strSql += " order by a.AddTime asc";
 | |
|             SqlParameter[] parameter = listStr.ToArray();
 | |
|             DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
 | |
|             //处理意见
 | |
|             var handleTb = tb.AsEnumerable().Where(row => row.Field<int>("ApproveType") == 0);
 | |
|             gvHandle.DataSource = handleTb;
 | |
|             gvHandle.DataBind();
 | |
|             //审批意见
 | |
|             var approveTb = tb.AsEnumerable().Where(row => row.Field<int>("ApproveType") == 1);
 | |
|             gvApprove.DataSource = approveTb;
 | |
|             gvApprove.DataBind();
 | |
|         }
 | |
| 
 | |
|         #region 按钮
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存
 | |
|         /// </summary>
 | |
|         protected void btnSave_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlProblemType.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择问题类别!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlSubInspectId.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择管道/设备!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             var isAdd = false;
 | |
|             var model = Funs.DB.PreRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
 | |
|             if (model == null)
 | |
|             {
 | |
|                 isAdd = true;
 | |
|                 model = new PreRun_InspectTailTerm();
 | |
|                 model.TailTermId = this.TailTermId;
 | |
|                 model.ProjectId = this.CurrUser.LoginProjectId;
 | |
|             }
 | |
|             model.ProjectName = txtProjectName.Text;
 | |
|             model.TailTermCode = txtTailTermCode.Text;
 | |
|             model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
 | |
|             model.ProblemType = int.Parse(ddlProblemType.SelectedValue);
 | |
|             model.SubInspectId = ddlSubInspectId.SelectedValue;
 | |
|             model.TermItemId = ddlTermItemId.SelectedValue;
 | |
|             model.QuestionDesc = txtQuestionDesc.Text.Trim();
 | |
|             model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
 | |
|             model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
 | |
|             model.InspectUser = hidInspectUserId.Text;
 | |
|             model.HandleUser = ddlHandleUser.SelectedValue;
 | |
|             model.ApproveUser = ddlApproveUser.SelectedValue;
 | |
|             model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
 | |
|             model.ApproveState = 0;
 | |
|             model.AddUser = this.CurrUser.LoginProjectId;
 | |
|             model.AddTime = DateTime.Now;
 | |
|             var workPack = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == model.TermItemId);
 | |
|             if (workPack != null)
 | |
|             {
 | |
|                 model.WorkPackId = workPack.WorkPackId;
 | |
|             }
 | |
|             if (isAdd)
 | |
|             {
 | |
|                 Funs.DB.PreRun_InspectTailTerm.InsertOnSubmit(model);
 | |
|             }
 | |
|             //判断尾项是否保存
 | |
|             var itemModel = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == this.TermItemId);
 | |
|             if (itemModel != null) itemModel.InspectionResults = 0;
 | |
|             Funs.DB.SubmitChanges();
 | |
|             ShowNotify("操作成功!", MessageBoxIcon.Success);
 | |
|             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存并提交
 | |
|         /// </summary>
 | |
|         protected void btnSubmit_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlProblemType.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择问题类别!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlSubInspectId.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择管道/设备!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
 | |
|             {
 | |
|                 ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
 | |
|                 return;
 | |
|             }
 | |
|             var isAdd = false;
 | |
|             var model = Funs.DB.PreRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
 | |
|             if (model == null)
 | |
|             {
 | |
|                 isAdd = true;
 | |
|                 model = new PreRun_InspectTailTerm();
 | |
|                 model.TailTermId = this.TailTermId;
 | |
|                 model.ProjectId = this.CurrUser.LoginProjectId;
 | |
|             }
 | |
|             model.ProjectName = txtProjectName.Text;
 | |
|             model.TailTermCode = txtTailTermCode.Text;
 | |
|             model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
 | |
|             model.ProblemType = int.Parse(ddlProblemType.SelectedValue);
 | |
|             model.SubInspectId = ddlSubInspectId.SelectedValue;
 | |
|             model.TermItemId = ddlTermItemId.SelectedValue;
 | |
|             model.QuestionDesc = txtQuestionDesc.Text.Trim();
 | |
|             model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
 | |
|             model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
 | |
|             model.InspectUser = hidInspectUserId.Text;
 | |
|             model.HandleUser = ddlHandleUser.SelectedValue;
 | |
|             model.ApproveUser = ddlApproveUser.SelectedValue;
 | |
|             model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
 | |
|             model.ApproveState = 1;
 | |
|             model.AddUser = this.CurrUser.LoginProjectId;
 | |
|             model.AddTime = DateTime.Now;
 | |
|             var workPack = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == model.TermItemId);
 | |
|             if (workPack != null)
 | |
|             {
 | |
|                 model.WorkPackId = workPack.WorkPackId;
 | |
|             }
 | |
|             if (isAdd)
 | |
|             {
 | |
|                 Funs.DB.PreRun_InspectTailTerm.InsertOnSubmit(model);
 | |
|             }
 | |
|             //判断尾项是否保存
 | |
|             var itemModel = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == this.TermItemId);
 | |
|             if (itemModel != null) itemModel.InspectionResults = 0;
 | |
|             Funs.DB.SubmitChanges();
 | |
|             ShowNotify("操作成功!", MessageBoxIcon.Success);
 | |
|             PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 问题图片
 | |
|         /// </summary>
 | |
|         protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
 | |
|         }
 | |
| 
 | |
|         ///// <summary>
 | |
|         ///// 整改图片
 | |
|         ///// </summary>
 | |
|         //protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
 | |
|         //{
 | |
|         //    PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", RectifyEditImg, this.TailTermId + "h", Const.InspectTailTerm)));
 | |
|         //}
 | |
| 
 | |
|         #endregion
 | |
| 
 | |
|         #region 事件
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 问题类别事件
 | |
|         /// </summary>
 | |
|         protected void ddlProblemType_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!string.IsNullOrWhiteSpace(ddlProblemType.SelectedValue))
 | |
|             {
 | |
|                 var selectList = new List<SelectPropertyTechnology>();
 | |
|                 var wtype = int.Parse(ddlProblemType.SelectedValue);
 | |
|                 //var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.WorkPackType == wtype).GroupBy(x => new { x.SubInspectId, x.InspectionResults, x.PropertyTechnologyId, x.WorkPackType });
 | |
|                 var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => (x.InspectionResults == 0 && x.WorkPackType == wtype) || x.TermItemId == this.TermItemId).GroupBy(x => new { x.SubInspectId, x.InspectionResults, x.PropertyTechnologyId, x.WorkPackType });
 | |
|                 if (list.Count() > 0)
 | |
|                 {
 | |
|                     var ids = string.Join(",", list.Select(x => x.Key.PropertyTechnologyId)).Split(',');
 | |
|                     if (ddlProblemType.SelectedValue == "1")
 | |
|                     {
 | |
|                         var piplist = Funs.DB.PreRun_PropertySysPiping.Where(x => ids.Contains(x.PropertyId)).ToList();
 | |
|                         foreach (var item in list)
 | |
|                         {
 | |
|                             var pid = item.Key.PropertyTechnologyId.Split(',');
 | |
|                             var codes = piplist.Where(x => pid.Contains(x.PropertyId)).ToList();
 | |
|                             selectList.Add(new SelectPropertyTechnology()
 | |
|                             {
 | |
|                                 Id = item.Key.SubInspectId,
 | |
|                                 Code = $"管道:{string.Join(",", codes.ConvertAll(x => x.PipingCode))}"
 | |
|                             });
 | |
|                         }
 | |
| 
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         var techlist = Funs.DB.PreRun_TechnologySysPiping.Where(x => ids.Contains(x.TechnologyId)).ToList();
 | |
|                         foreach (var item in list)
 | |
|                         {
 | |
|                             var pid = item.Key.PropertyTechnologyId.Split(',');
 | |
|                             var codes = techlist.Where(x => pid.Contains(x.TechnologyId)).ToList();
 | |
|                             selectList.Add(new SelectPropertyTechnology()
 | |
|                             {
 | |
|                                 Id = item.Key.SubInspectId,
 | |
|                                 Code = $"设备:{string.Join(",", codes.ConvertAll(x => x.TagNumber))}"
 | |
|                             });
 | |
|                         }
 | |
|                     }
 | |
|                     if (selectList.Count > 0)
 | |
|                     {
 | |
|                         ddlSubInspectId.DataTextField = "Code";
 | |
|                         ddlSubInspectId.DataValueField = "Id";
 | |
|                         ddlSubInspectId.DataSource = selectList;
 | |
|                         ddlSubInspectId.DataBind();
 | |
|                     }
 | |
|                     else
 | |
|                     {
 | |
|                         ddlSubInspectId.Items.Insert(0, new ListItem("==无数据==", ""));
 | |
|                     }
 | |
|                 }
 | |
|                 else
 | |
|                 {
 | |
|                     ddlSubInspectId.DataSource = null;
 | |
|                     ddlSubInspectId.DataBind();
 | |
|                     ddlSubInspectId.Items.Insert(0, new ListItem("==无数据==", ""));
 | |
|                     ddlTermItemId.DataSource = null;
 | |
|                     ddlTermItemId.DataBind();
 | |
|                     ddlTermItemId.Items.Insert(0, new ListItem("==无数据==", ""));
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 管道/设备
 | |
|         /// </summary>
 | |
|         protected void ddlSubInspectId_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             if (string.IsNullOrWhiteSpace(ddlSubInspectId.SelectedValue)) return;
 | |
|             //var TermItemIds = Funs.DB.PreRun_InspectTailTerm.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.TailTermId != this.TailTermId).Select(a => a.TermItemId).ToList();
 | |
|             //var list = new List<PreRun_SubInspectTermItem>();
 | |
|             //if (TermItemIds.Count > 0)
 | |
|             //{
 | |
|             //    list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue && !TermItemIds.Contains(x.TermItemId)).ToList();
 | |
|             //}
 | |
|             //else
 | |
|             //{
 | |
|             //    list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue).ToList();
 | |
|             //}
 | |
| 
 | |
|             var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => (x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue) || x.TermItemId == this.TermItemId).ToList();
 | |
|             ddlTermItemId.Items.Clear();
 | |
|             if (list.Count() > 0)
 | |
|             {
 | |
|                 ddlTermItemId.DataTextField = "WorkInspectName";
 | |
|                 ddlTermItemId.DataValueField = "TermItemId";
 | |
|                 ddlTermItemId.DataSource = list;
 | |
|                 ddlTermItemId.DataBind();
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 ddlTermItemId.Items.Insert(0, new ListItem("==无数据==", ""));
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 检查项
 | |
|         /// </summary>
 | |
|         protected void ddlTermItemId_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             var itemTerm = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == ddlTermItemId.SelectedValue);
 | |
|             if (itemTerm != null)
 | |
|             {
 | |
|                 //提出人
 | |
|                 var inspectModel = Funs.DB.Sys_User.FirstOrDefault(x => x.UserId == itemTerm.InspectedUser);
 | |
|                 if (inspectModel != null)
 | |
|                 {
 | |
|                     lblInspectUser.Text = inspectModel.UserName;
 | |
|                     hidInspectUserId.Text = inspectModel.UserId;
 | |
|                 }
 | |
|                 //提出时间
 | |
|                 lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 关闭
 | |
|         /// </summary>
 | |
|         protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
 | |
|         {
 | |
| 
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 管道/设备
 | |
|         /// </summary>
 | |
|         public class SelectPropertyTechnology
 | |
|         {
 | |
|             /// <summary>
 | |
|             /// 主键
 | |
|             /// </summary>
 | |
|             public string Id { get; set; }
 | |
|             /// <summary>
 | |
|             /// 编码
 | |
|             /// </summary>
 | |
|             public string Code { get; set; }
 | |
|             /// <summary>
 | |
|             /// 工作包主键
 | |
|             /// </summary>
 | |
|             public string WorkPackId { get; set; }
 | |
|             /// <summary>
 | |
|             /// 子系统主键
 | |
|             /// </summary>
 | |
|             public string SubSystemId { get; set; }
 | |
|         }
 | |
| 
 | |
|         #endregion
 | |
|     }
 | |
| } |