From b451e0eebdcc4bd8c6d5a895a1c47c87c77e513f Mon Sep 17 00:00:00 2001
From: gaofei1985 <181547018@qq.com>
Date: Thu, 12 Oct 2023 10:17:08 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AF=95=E8=BD=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../版本日志/SGGLDB_WH_2023-10-12.sql | 23 +
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 16 +
.../BeforeTestRun/InspectTailTermEdit.aspx | 2 +-
.../BeforeTestRun/InspectTailTermEdit.aspx.cs | 255 +++++---
.../InspectTailTermEdit.aspx.designer.cs | 4 +-
.../BeforeTestRun/InspectTailTermList.aspx | 17 +-
.../BeforeTestRun/InspectTailTermList.aspx.cs | 178 +++++-
.../InspectTailTermList.aspx.designer.cs | 27 +
.../InspectWanderAboutConfirm.aspx | 74 +++
.../InspectWanderAboutConfirm.aspx.cs | 257 ++++++++
...InspectWanderAboutConfirm.aspx.designer.cs | 98 +++
.../BeforeTestRun/InspectWanderAboutList.aspx | 144 +++++
.../InspectWanderAboutList.aspx.cs | 315 ++++++++++
.../InspectWanderAboutList.aspx.designer.cs | 161 +++++
.../BeforeTestRun/SubInspectTerm.aspx.cs | 587 ++++++++++--------
.../BeforeTestRun/SubSysWorkPackage.aspx | 11 +-
.../TestRun/BeforeTestRun/SubWorkInspect.aspx | 7 +-
.../BeforeTestRun/SubWorkInspect.aspx.cs | 243 +++++---
.../SubWorkInspect.aspx.designer.cs | 9 +
.../BeforeTestRun/TailTermApprove.aspx | 2 +-
.../BeforeTestRun/TailTermApprove.aspx.cs | 39 +-
.../TailTermApprove.aspx.designer.cs | 4 +-
.../BeforeTestRun/TailTermApproveList.aspx.cs | 2 +-
SGGL/Model/Model.cs | 268 +++++++-
24 files changed, 2272 insertions(+), 471 deletions(-)
create mode 100644 DataBase/版本日志/SGGLDB_WH_2023-10-12.sql
create mode 100644 SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.designer.cs
diff --git a/DataBase/版本日志/SGGLDB_WH_2023-10-12.sql b/DataBase/版本日志/SGGLDB_WH_2023-10-12.sql
new file mode 100644
index 00000000..bea26c75
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2023-10-12.sql
@@ -0,0 +1,23 @@
+--ֶγ
+ALTER TABLE PreRun_SubInspectTerm ALTER Column PropertyTechnologyId varchar(max) null;
+ALTER TABLE PreRun_SubInspectTermItem ALTER Column PropertyTechnologyId varchar(max) null;
+--ɾֶ
+ALTER TABLE PreRun_InspectTailTerm DROP COLUMN QuestionTechnologyId;
+--ֶ
+ALTER TABLE PreRun_InspectTailTerm Add SubInspectId varchar(50) NULL;
+
+--Ӳ˵
+delete Sys_Menu where MenuId='2254D22A-94EF-435F-9916-F07BD7082689'
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('2254D22A-94EF-435F-9916-F07BD7082689','ת',null,'TestRun/BeforeTestRun/InspectWanderAboutList.aspx',10,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+
+--ϵͳ
+alter table PreRun_SubInspectTerm add InspectionIsAllPass int NULL--0/null:δͨ 1:ͨ
+alter table PreRun_SubInspectTerm add SubcontractorIsAllPass int NULL--ְǷͨ0/null:δͨ 1:ͨ
+alter table PreRun_SubInspectTerm add ContractorIsAllPass int NULL--аǷͨ0/null:δͨ 1:ͨ
+alter table PreRun_SubInspectTerm add SupervisionIsAllPass int NULL--Ƿͨ0/null:δͨ 1:ͨ
+alter table PreRun_SubInspectTerm add OwnerIsAllPass int NULL--ҵǷͨ0/null:δͨ 1:ͨ
+--ϵͳ
+alter table PreRun_SubInspectTermItem add SubcontractorIsPass int NULL--ְǷͨ0/null:δͨ 1:ͨ
+alter table PreRun_SubInspectTermItem add ContractorIsPass int NULL--аǷͨ0/null:δͨ 1:ͨ
+alter table PreRun_SubInspectTermItem add SupervisionIsPass int NULL--Ƿͨ0/null:δͨ 1:ͨ
+alter table PreRun_SubInspectTermItem add OwnerIsPass int NULL--ҵǷͨ0/null:δͨ 1:ͨ
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index c215efda..30cae4d3 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1659,6 +1659,8 @@
+
+
@@ -15001,6 +15003,20 @@
InspectTemplateEdit.aspx
+
+ InspectWanderAboutConfirm.aspx
+ ASPXCodeBehind
+
+
+ InspectWanderAboutConfirm.aspx
+
+
+ InspectWanderAboutList.aspx
+ ASPXCodeBehind
+
+
+ InspectWanderAboutList.aspx
+
SelectProperty.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
index 0c964cbb..468964e0 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
@@ -63,7 +63,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
index 4087645f..2db1d804 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
@@ -22,6 +22,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
set { ViewState["TailTermId"] = value; }
}
+ ///
+ /// 主键
+ ///
+ public string TermItemId
+ {
+ get { return (string)ViewState["TermItemId"]; }
+ set { ViewState["TermItemId"] = value; }
+ }
+
///
/// 是否查看
///
@@ -54,6 +63,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (!IsPostBack)
{
this.TailTermId = Request["TailTermId"];
+ this.TermItemId = Request["TermItemId"];
//是否查看
this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
//数据绑定
@@ -70,7 +80,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
txtTailTermCode.Enabled = false;
ddlConstructionUnit.Enabled = false;
ddlProblemType.Enabled = false;
- ddlQuestionTechnologyId.Enabled = false;
+ ddlSubInspectId.Enabled = false;
ddlTermItemId.Enabled = false;
txtQuestionDesc.Enabled = false;
txtRectifyOpinion.Enabled = false;
@@ -88,13 +98,27 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
QuestionEditImg = 0;
RectifyEditImg = 0;
+ var selectList = new List();
//施工单位
UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlConstructionUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
//获取用户信息
- var users = 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 users = 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 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() { 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)
{
@@ -103,11 +127,13 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ddlInspectUser.DataValueField = "UserId";
ddlInspectUser.DataSource = users;
ddlInspectUser.DataBind();
+ ddlInspectUser.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)
@@ -121,60 +147,64 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
//问题类别
ddlProblemType.SelectedValue = model.ProblemType.ToString();
//绑定管道或者设备
- if (model.ProblemType == 1)
+ 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 sysPipingData = from proper in Funs.DB.PreRun_PropertySysPiping
- join selectproper in Funs.DB.PreRun_SubPropertySelect on proper.PropertyId equals selectproper.PropertyId
- join termitem in Funs.DB.PreRun_SubInspectTermItem on proper.PropertyId equals termitem.PropertyTechnologyId
- where termitem.InspectionResults == 0 && termitem.InspectedUser == this.CurrUser.UserId
- group proper by new { proper.PropertyId, proper.PipingCode } into t
- select new
- {
- Id = t.Key.PropertyId,
- Code = $"管道:({t.Key.PipingCode})"
- };
- if (sysPipingData.Count() > 0)
+ var ids = string.Join(",", termitemlist.Select(x => x.Key.PropertyTechnologyId)).Split(',');
+ if (ddlProblemType.SelectedValue == "1")
{
- ddlQuestionTechnologyId.DataTextField = "Code";
- ddlQuestionTechnologyId.DataValueField = "Id";
- ddlQuestionTechnologyId.DataSource = sysPipingData;
- ddlQuestionTechnologyId.DataBind();
+ 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 sysPipingData = from technology in Funs.DB.PreRun_TechnologySysPiping
- join selecttechnology in Funs.DB.PreRun_SubTechnologySelect on technology.TechnologyId equals selecttechnology.TechnologyId
- join termitem in Funs.DB.PreRun_SubInspectTermItem on technology.TechnologyId equals termitem.PropertyTechnologyId
- where termitem.InspectionResults == 0 && termitem.InspectedUser == this.CurrUser.UserId
- group technology by new { technology.TechnologyId, technology.TagNumber } into t
- select new
- {
- Id = t.Key.TechnologyId,
- Code = $"设备:({t.Key.TagNumber})"
- };
- if (sysPipingData.Count() > 0)
+ else
{
- ddlQuestionTechnologyId.DataTextField = "Code";
- ddlQuestionTechnologyId.DataValueField = "Id";
- ddlQuestionTechnologyId.DataSource = sysPipingData;
- ddlQuestionTechnologyId.DataBind();
+ 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("==无数据==", ""));
}
}
//管道/设备
- ddlQuestionTechnologyId.SelectedValue = model.QuestionTechnologyId;
+ ddlSubInspectId.SelectedValue = model.SubInspectId;
//绑定检查项
- if (!string.IsNullOrWhiteSpace(ddlQuestionTechnologyId.SelectedValue))
+ 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();
if (TermItemIds.Count > 0)
{
- list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.PropertyTechnologyId == ddlQuestionTechnologyId.SelectedValue && !TermItemIds.Contains(x.TermItemId)).ToList();
+ 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.PropertyTechnologyId == ddlQuestionTechnologyId.SelectedValue).ToList();
+ list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue).ToList();
}
if (list.Count() > 0)
{
@@ -212,6 +242,32 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
string code = projectModel.ProjectCode + "-06-CM03-XJ-";
txtTailTermCode.Text = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.PreRun_InspectTailTerm", "TailTermCode", code);
}
+ if (!string.IsNullOrWhiteSpace(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;
+ }
+ }
}
}
@@ -248,7 +304,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ShowNotify("请选择问题类别!", MessageBoxIcon.Warning);
return;
}
- if (string.IsNullOrWhiteSpace(ddlQuestionTechnologyId.SelectedValue))
+ if (string.IsNullOrWhiteSpace(ddlSubInspectId.SelectedValue))
{
ShowNotify("请选择管道/设备!", MessageBoxIcon.Warning);
return;
@@ -281,7 +337,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.TailTermCode = txtTailTermCode.Text;
model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
model.ProblemType = int.Parse(ddlProblemType.SelectedValue);
- model.QuestionTechnologyId = ddlQuestionTechnologyId.SelectedValue;
+ model.SubInspectId = ddlSubInspectId.SelectedValue;
model.TermItemId = ddlTermItemId.SelectedValue;
model.QuestionDesc = txtQuestionDesc.Text.Trim();
model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
@@ -320,7 +376,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ShowNotify("请选择问题类别!", MessageBoxIcon.Warning);
return;
}
- if (string.IsNullOrWhiteSpace(ddlQuestionTechnologyId.SelectedValue))
+ if (string.IsNullOrWhiteSpace(ddlSubInspectId.SelectedValue))
{
ShowNotify("请选择管道/设备!", MessageBoxIcon.Warning);
return;
@@ -353,7 +409,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
model.TailTermCode = txtTailTermCode.Text;
model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
model.ProblemType = int.Parse(ddlProblemType.SelectedValue);
- model.QuestionTechnologyId = ddlQuestionTechnologyId.SelectedValue;
+ model.SubInspectId = ddlSubInspectId.SelectedValue;
model.TermItemId = ddlTermItemId.SelectedValue;
model.QuestionDesc = txtQuestionDesc.Text.Trim();
model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
@@ -404,54 +460,51 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
if (!string.IsNullOrWhiteSpace(ddlProblemType.SelectedValue))
{
- if (ddlProblemType.SelectedValue == "1")
+ var selectList = new List();
+ 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 });
+ if (list.Count() > 0)
{
- var sysPipingData = from proper in Funs.DB.PreRun_PropertySysPiping
- join selectproper in Funs.DB.PreRun_SubPropertySelect on proper.PropertyId equals selectproper.PropertyId
- join termitem in Funs.DB.PreRun_SubInspectTermItem on proper.PropertyId equals termitem.PropertyTechnologyId
- where termitem.InspectionResults == 0 && termitem.InspectedUser == this.CurrUser.UserId
- group proper by new { proper.PropertyId, proper.PipingCode } into t
- select new
- {
- Id = t.Key.PropertyId,
- Code = $"管道:({t.Key.PipingCode})"
- };
- ddlQuestionTechnologyId.Items.Clear();
- if (sysPipingData.Count() > 0)
+ var ids = string.Join(",", list.Select(x => x.Key.PropertyTechnologyId)).Split(',');
+ if (ddlProblemType.SelectedValue == "1")
{
- ddlQuestionTechnologyId.DataTextField = "Code";
- ddlQuestionTechnologyId.DataValueField = "Id";
- ddlQuestionTechnologyId.DataSource = sysPipingData;
- ddlQuestionTechnologyId.DataBind();
+ 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
{
- ddlQuestionTechnologyId.Items.Insert(0, new ListItem("==无数据==", ""));
+ 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))}"
+ });
+ }
}
- }
- else
- {
- var sysPipingData = from technology in Funs.DB.PreRun_TechnologySysPiping
- join selecttechnology in Funs.DB.PreRun_SubTechnologySelect on technology.TechnologyId equals selecttechnology.TechnologyId
- join termitem in Funs.DB.PreRun_SubInspectTermItem on technology.TechnologyId equals termitem.PropertyTechnologyId
- where termitem.InspectionResults == 0 && termitem.InspectedUser == this.CurrUser.UserId
- group technology by new { technology.TechnologyId, technology.TagNumber } into t
- select new
- {
- Id = t.Key.TechnologyId,
- Code = $"设备:({t.Key.TagNumber})"
- };
- ddlQuestionTechnologyId.Items.Clear();
- if (sysPipingData.Count() > 0)
+ if (selectList.Count > 0)
{
- ddlQuestionTechnologyId.DataTextField = "Code";
- ddlQuestionTechnologyId.DataValueField = "Id";
- ddlQuestionTechnologyId.DataSource = sysPipingData;
- ddlQuestionTechnologyId.DataBind();
+ ddlSubInspectId.DataTextField = "Code";
+ ddlSubInspectId.DataValueField = "Id";
+ ddlSubInspectId.DataSource = selectList;
+ ddlSubInspectId.DataBind();
}
else
{
- ddlQuestionTechnologyId.Items.Insert(0, new ListItem("==无数据==", ""));
+ ddlSubInspectId.Items.Insert(0, new ListItem("==无数据==", ""));
}
}
}
@@ -460,18 +513,18 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
/// 管道/设备
///
- protected void ddlQuestionTechnologyId_SelectedIndexChanged(object sender, EventArgs e)
+ protected void ddlSubInspectId_SelectedIndexChanged(object sender, EventArgs e)
{
- if (string.IsNullOrWhiteSpace(ddlQuestionTechnologyId.SelectedValue)) return;
+ 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();
if (TermItemIds.Count > 0)
{
- list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.PropertyTechnologyId == ddlQuestionTechnologyId.SelectedValue && !TermItemIds.Contains(x.TermItemId)).ToList();
+ 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.PropertyTechnologyId == ddlQuestionTechnologyId.SelectedValue).ToList();
+ list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.SubInspectId == ddlSubInspectId.SelectedValue).ToList();
}
ddlTermItemId.Items.Clear();
if (list.Count() > 0)
@@ -494,6 +547,30 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
}
+
+ }
+
+ ///
+ /// 管道/设备
+ ///
+ public class SelectPropertyTechnology
+ {
+ ///
+ /// 主键
+ ///
+ public string Id { get; set; }
+ ///
+ /// 编码
+ ///
+ public string Code { get; set; }
+ ///
+ /// 工作包主键
+ ///
+ public string WorkPackId { get; set; }
+ ///
+ /// 子系统主键
+ ///
+ public string SubSystemId { get; set; }
}
#endregion
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.designer.cs
index 925aa731..fa6da528 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.designer.cs
@@ -96,13 +96,13 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
protected global::FineUIPro.DropDownList ddlProblemType;
///
- /// ddlQuestionTechnologyId 控件。
+ /// ddlSubInspectId 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.DropDownList ddlQuestionTechnologyId;
+ protected global::FineUIPro.DropDownList ddlSubInspectId;
///
/// ddlTermItemId 控件。
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx
index 71295e4f..560497cf 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx
@@ -49,10 +49,18 @@
public void BindGrid()
{
- string strSql = @"select * from (select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.ProblemType,'管道' as ProblemTypeName,a.QuestionTechnologyId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交' when 1 then '退回' when 2 then '待审核' when 3 then '审核通过' else '待提交' end) as ApproveStateName,a.AddTime from PreRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join PreRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser where a.ProblemType=1 and a.ProjectId=@projectid and c.InspectedUser=@InspectedUser union all select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.ProblemType,'设备' as ProblemTypeName,a.QuestionTechnologyId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交' when 1 then '退回' when 2 then '待审核' when 3 then '审核通过' else '待提交' end) as ApproveStateName,a.AddTime from PreRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join PreRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser where a.ProblemType=2 and a.ProjectId=@projectid and c.InspectedUser=@InspectedUser) as t where 1=1 ";
+ string strSql = @"select * from (select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.ProblemType,'管道' as ProblemTypeName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交' when 1 then '退回' when 2 then '待审核' when 3 then '审核通过' else '待提交' end) as ApproveStateName,a.AddTime,a.WorkPackId,c.SubSystemId from PreRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join PreRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser where a.ProblemType=1 and a.ProjectId=@projectid and c.InspectedUser=@InspectedUser union all select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.ProblemType,'设备' as ProblemTypeName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交' when 1 then '退回' when 2 then '待审核' when 3 then '审核通过' else '待提交' end) as ApproveStateName,a.AddTime,a.WorkPackId,c.SubSystemId from PreRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join PreRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser where a.ProblemType=2 and a.ProjectId=@projectid and c.InspectedUser=@InspectedUser) as t where 1=1 ";
List listStr = new List();
listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
- listStr.Add(new SqlParameter("@InspectedUser", this.CurrUser.UserId));
+ listStr.Add(new SqlParameter("@InspectedUser", this.CurrUser.UserId));
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 0)
+ {
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ strSql += " and t.WorkPackId=@WorkPackId";
+ listStr.Add(new SqlParameter("@WorkPackId", workPackId));
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 1)
+ {
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
+ strSql += " and t.SubSystemId=@SubSystemId";
+ listStr.Add(new SqlParameter("@SubSystemId", subSystemId));
+ }
+ var subInspectId = string.Empty;
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
+ {
+ subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ strSql += " and t.SubInspectId=@SubInspectId";
+ listStr.Add(new SqlParameter("@SubInspectId", subInspectId));
+ }
//问题类别
if (!string.IsNullOrWhiteSpace(ddlProblemType.SelectedValue))
{
@@ -124,6 +242,14 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}", Grid1.SelectedRowID, "编辑 - ")));
}
+ ///
+ /// 编辑
+ ///
+ protected void btnModify_Click(object sender, EventArgs e)
+ {
+ btnMenuModify_Click(null, null);
+ }
+
///
/// 新增
///
@@ -239,5 +365,51 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
#endregion
+
+ ///
+ /// 已生成检查表的管道/设备
+ ///
+ private List YscInspectItems(List workPackIds, List subSystemIds)
+ {
+ List yczData = new List();
+ var yscInspectItems = Funs.DB.PreRun_SubInspectTerm.Where(x => workPackIds.Contains(x.WorkPackId) && subSystemIds.Contains(x.SubSystemId)).ToList();
+ if (yscInspectItems.Count > 0)
+ {
+ var selectPtids = string.Join(",", yscInspectItems.ConvertAll(x => x.PropertyTechnologyId)).Split(',').ToList();
+ var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
+ var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
+
+ foreach (var itemYsc in yscInspectItems)
+ {
+ var codeStr = string.Empty;
+ var ids = itemYsc.PropertyTechnologyId.Split(',');
+ var itemPros = listPros.Where(x => ids.Contains(x.PropertyId)).ToList();
+ if (itemPros.Count > 0)
+ {
+ codeStr = $"管道:{string.Join(",", itemPros.ConvertAll(x => x.PipingCode))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
+ var itemTechno = listTechno.Where(x => ids.Contains(x.TechnologyId)).ToList();
+ if (itemTechno.Count > 0)
+ {
+ codeStr = $"设备:{string.Join(",", itemTechno.ConvertAll(x => x.TagNumber))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
+ }
+ }
+ return yczData;
+ }
}
}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.designer.cs
index 5094bc84..fe174a49 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.designer.cs
@@ -41,6 +41,24 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
protected global::FineUIPro.Panel Panel1;
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
///
/// Grid1 控件。
///
@@ -113,6 +131,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
protected global::FineUIPro.Button btnNew;
+ ///
+ /// btnModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnModify;
+
///
/// btnSubmitReview 控件。
///
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx
new file mode 100644
index 00000000..1cd6b3f3
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx
@@ -0,0 +1,74 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutConfirm.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.InspectWanderAboutConfirm" %>
+
+
+
+
+
+ 签字确认
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs
new file mode 100644
index 00000000..0244bfbd
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs
@@ -0,0 +1,257 @@
+using BLL;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class InspectWanderAboutConfirm : PageBase
+ {
+ ///
+ ///
+ ///
+ public string SubInspectId
+ {
+ get { return (string)ViewState["SubInspectId"]; }
+ set { ViewState["SubInspectId"] = value; }
+ }
+
+ ///
+ ///
+ ///
+ public int ConfirmType
+ {
+ get { return (int)ViewState["ConfirmType"]; }
+ set { ViewState["ConfirmType"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.SubInspectId = Request.Params["SubInspectId"];
+ this.ConfirmType = int.Parse(Request.Params["ConfirmType"]);
+ this.BindGrid();
+ }
+ }
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ //获取子系统
+ var data = new List();
+ var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).OrderBy(x => x.Sort).ToList();
+ if (list.Count > 0)
+ {
+ foreach (var item in list)
+ {
+ var model = new ConfirmIsPass();
+ model.TermItemId = item.TermItemId;
+ model.SubItemId = item.SubItemId;
+ model.SubInspectId = item.SubInspectId;
+ model.WorkInspectName = item.WorkInspectName;
+ model.ConfirmType = this.ConfirmType;
+ model.InspectionIllustrate = item.InspectionIllustrate;
+ //1=分包商2=承包商3=监理4=业主
+ if (this.ConfirmType == 1)
+ {
+ model.IsPass = item.SubcontractorIsPass;
+ model.ConfirmTypeName = "分包商";
+ }
+ if (this.ConfirmType == 2)
+ {
+ model.IsPass = item.ContractorIsPass;
+ model.ConfirmTypeName = "承包商";
+ }
+ if (this.ConfirmType == 3)
+ {
+ model.IsPass = item.SupervisionIsPass;
+ model.ConfirmTypeName = "监理";
+ }
+ if (this.ConfirmType == 4)
+ {
+ model.IsPass = item.OwnerIsPass;
+ model.ConfirmTypeName = "业主";
+ }
+ data.Add(model);
+ }
+ }
+ Grid1.DataSource = data;
+ Grid1.DataBind();
+ Grid1.Title = this.ConfirmType == 1 ? "分包商确认签字" : this.ConfirmType == 2 ? "承包商确认签字" : this.ConfirmType == 3 ? "监理确认签字" : this.ConfirmType == 4 ? "业主确认签字" : "";
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 保存
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ //获取子系统信息
+ var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
+ if (model != null)
+ {
+ if (!string.IsNullOrWhiteSpace(values.Value("IsPass")))
+ {
+ //1=分包商2=承包商3=监理4=业主
+ if (this.ConfirmType == 1)
+ {
+ model.SubcontractorIsPass = int.Parse(values.Value("IsPass"));
+ }
+ else if (this.ConfirmType == 2)
+ {
+ model.ContractorIsPass = int.Parse(values.Value("IsPass"));
+ }
+ else if (this.ConfirmType == 3)
+ {
+ model.SupervisionIsPass = int.Parse(values.Value("IsPass"));
+ }
+ else if (this.ConfirmType == 4)
+ {
+ model.OwnerIsPass = int.Parse(values.Value("IsPass"));
+ }
+ }
+ Funs.DB.SubmitChanges();
+ }
+ }
+ var subInspectId = this.Grid1.Rows[0].DataKeys[3].ToString();
+ var subModel = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ if (subModel != null)
+ {
+ //1=分包商2=承包商3=监理4=业主
+ if (this.ConfirmType == 1)
+ {
+ if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.SubcontractorIsPass.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.SubcontractorIsAllPass = 1;
+ }
+ else
+ {
+ subModel.SubcontractorIsAllPass = 0;
+ }
+ }
+ else if (this.ConfirmType == 2)
+ {
+ if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.ContractorIsPass.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.ContractorIsAllPass = 1;
+ }
+ else
+ {
+ subModel.ContractorIsAllPass = 0;
+ }
+ }
+ else if (this.ConfirmType == 3)
+ {
+ if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.SupervisionIsPass.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.SupervisionIsAllPass = 1;
+ }
+ else
+ {
+ subModel.SupervisionIsAllPass = 0;
+ }
+ }
+ else if (this.ConfirmType == 4)
+ {
+ if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.OwnerIsPass.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.OwnerIsAllPass = 1;
+ }
+ else
+ {
+ subModel.OwnerIsAllPass = 0;
+ }
+ }
+ }
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("保存成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 实体绑定
+ ///
+ public class ConfirmIsPass
+ {
+ ///
+ /// 主键
+ ///
+ public string TermItemId { get; set; }
+ ///
+ /// 检查项主键
+ ///
+ public string SubItemId { get; set; }
+ ///
+ /// 检查表主键
+ ///
+ public string SubInspectId { get; set; }
+ ///
+ /// 名称
+ ///
+ public string WorkInspectName { get; set; }
+ ///
+ /// 检查说明
+ ///
+ public string InspectionIllustrate { get; set; }
+ ///
+ /// 确认类型1=分包商2=承包商3=监理4=业主
+ ///
+ public int ConfirmType { get; set; }
+ ///
+ /// 确认类型名称
+ ///
+ public string ConfirmTypeName { get; set; }
+ ///
+ /// 是否通过
+ ///
+ public int? IsPass { get; set; }
+
+ }
+
+ ///
+ /// 窗口关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.designer.cs
new file mode 100644
index 00000000..7f26c159
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.designer.cs
@@ -0,0 +1,98 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class InspectWanderAboutConfirm
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// ddlrenderIsPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlrenderIsPass;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx
new file mode 100644
index 00000000..6f44a1b2
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx
@@ -0,0 +1,144 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutList.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.InspectWanderAboutList" %>
+
+
+
+
+
+
+
+
+ 检查表流转
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs
new file mode 100644
index 00000000..92c5f135
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs
@@ -0,0 +1,315 @@
+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 InspectWanderAboutList : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ InitTreeMenu();
+ }
+ }
+
+ #region 数加载
+
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = "检查表";
+ rootNode.NodeID = "0";
+ rootNode.Expanded = true;
+ rootNode.ToolTip = "";
+ rootNode.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode);
+ var inspectTerms = Funs.DB.PreRun_SubInspectTerm.Where(x => (x.Subcontractor == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.Contractor == this.CurrUser.UserId && x.ContractorIsAllPass == 1) || (x.Supervision == this.CurrUser.UserId && x.SupervisionIsAllPass == 1) || (x.Owner == this.CurrUser.UserId && x.OwnerIsAllPass == 1)).ToList();
+ if (inspectTerms.Count == 0) return;
+ var subSystemIds = inspectTerms.ConvertAll(x => x.SubSystemId);
+ var workPackIds = inspectTerms.ConvertAll(x => x.WorkPackId);
+ var list = from a in Funs.DB.PreRun_SysDevice
+ join b in Funs.DB.PreRun_SubSysWorkPackage on a.PreRunId equals b.SubSystemId
+ join c in Funs.DB.PreRun_WorkPackage on b.WorkPackId equals c.WorkPackId
+ where a.ProjectId == this.CurrUser.LoginProjectId && subSystemIds.Contains(a.PreRunId) && workPackIds.Contains(c.WorkPackId)
+ select new { a.PreRunId, a.SystemId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackName, b.WorkPackCode };
+ if (list.Count() > 0)
+ {
+ var selectlist = YscInspectItems(workPackIds, subSystemIds);
+ var systemIds = list.Select(x => x.SystemId).ToList();
+ var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
+ foreach (var itemSys in syslist)
+ {
+ TreeNode rootFirstNode = new TreeNode();//定义根节点
+ rootFirstNode.NodeID = itemSys.PreRunId;
+ rootFirstNode.Text = itemSys.PreRunName;
+ rootFirstNode.ToolTip = itemSys.PreRunName;
+ rootFirstNode.CommandName = "";
+ rootFirstNode.EnableClickEvent = false;
+ rootFirstNode.EnableExpandEvent = false;
+ rootNode.Nodes.Add(rootFirstNode);
+ rootFirstNode.Expanded = true;
+ var subList = list.Where(g => g.SystemId == itemSys.PreRunId).GroupBy(x => new { x.PreRunId, x.SystemId, x.PreRunCode, x.PreRunName });
+ foreach (var item in subList)
+ {
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.Key.PreRunId;
+ rootUnitNode.Text = item.Key.PreRunName;
+ rootUnitNode.ToolTip = item.Key.PreRunName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = false;
+ rootUnitNode.EnableExpandEvent = false;
+ rootFirstNode.Nodes.Add(rootUnitNode);
+ rootUnitNode.Expanded = true;
+ var worklist = list.Where(a => a.PreRunId == item.Key.PreRunId).GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackCode }).ToList();
+ if (worklist.Count > 0)
+ {
+ foreach (var itemWork in worklist.OrderBy(o => o.Key.WorkPackCode))
+ {
+ TreeNode newNode = new TreeNode();
+ newNode.Text = itemWork.Key.WorkPackName;
+ newNode.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId;
+ newNode.ToolTip = itemWork.Key.WorkPackName;
+ newNode.CommandName = "";
+ newNode.EnableClickEvent = false;
+ newNode.EnableExpandEvent = false;
+ rootUnitNode.Nodes.Add(newNode);
+ newNode.Expanded = true;
+ if (selectlist.Count > 0)
+ {
+ var workselects = selectlist.Where(x => x.SubSystemId == item.Key.PreRunId && x.WorkPackId == itemWork.Key.WorkPackId);
+ foreach (var itemSelect in workselects)
+ {
+ TreeNode newNodeSelect = new TreeNode();
+ newNodeSelect.Text = itemSelect.Code.Length > 10 ? $"{itemSelect.Code.Substring(0, 10)}......" : itemSelect.Code;
+ newNodeSelect.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId + "|" + itemSelect.Id;
+ newNodeSelect.ToolTip = itemSelect.Code;
+ newNodeSelect.CommandName = "";
+ newNodeSelect.EnableClickEvent = true;
+ newNodeSelect.EnableExpandEvent = true;
+ newNode.Nodes.Add(newNodeSelect);
+ newNodeSelect.Expanded = true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ ///
+ /// 树点击
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ //分包商
+ string subcontractorStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.WorkPackType,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,1 as ConfirmType,'分包商' as ConfirmName,(select count (1) from PreRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass is null) as WaitConfirmNum,(select count (1) from PreRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass=1) as PassConfirmNum,(select count (1) from PreRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.SubcontractorIsPass=0) as FailConfirmNum,a.AddUser,a.AddTime from PreRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId where 1=1 and a.InspectionIsAllPass=1 and a.ProjectId='{this.CurrUser.LoginProjectId}' and a.Subcontractor='{this.CurrUser.UserId}' ";
+ //承包商
+ string contractorStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.WorkPackType,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,2 as ConfirmType,'承包商' as ConfirmName,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass is null) as WaitConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass = 1) as PassConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ContractorIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime from PreRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Contractor = '{this.CurrUser.UserId}' ";
+ //监理
+ string supervisionStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.WorkPackType,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,3 as ConfirmType,'监理' as ConfirmName,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass is null) as WaitConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass = 1) as PassConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.SupervisionIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime from PreRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Supervision = '{this.CurrUser.UserId}' ";
+ //业主
+ string ownerStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.WorkPackType,a.Subcontractor,a.Contractor,a.Supervision,a.Owner,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,4 as ConfirmType,'业主' as ConfirmName,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass is null) as WaitConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 1) as PassConfirmNum,(select count(1) from PreRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime from PreRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Owner = '{this.CurrUser.UserId}' ";
+
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 0)
+ {
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ subcontractorStr += $"and a.WorkPackId='{workPackId}'";
+ contractorStr += $"and a.WorkPackId='{workPackId}'";
+ supervisionStr += $"and a.WorkPackId='{workPackId}'";
+ ownerStr += $"and a.WorkPackId='{workPackId}'";
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 1)
+ {
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
+ subcontractorStr += $"and a.SubSystemId='{subSystemId}'";
+ contractorStr += $"and a.SubSystemId='{subSystemId}'";
+ supervisionStr += $"and a.SubSystemId='{subSystemId}'";
+ ownerStr += $"and a.SubSystemId='{subSystemId}'";
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
+ {
+ var subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ subcontractorStr += $"and a.SubInspectId='{subInspectId}'";
+ contractorStr += $"and a.SubInspectId='{subInspectId}'";
+ supervisionStr += $"and a.SubInspectId='{subInspectId}'";
+ ownerStr += $"and a.SubInspectId='{subInspectId}'";
+ }
+ //检查类型
+ if (!string.IsNullOrWhiteSpace(ddlWorkPackType.SelectedValue))
+ {
+ subcontractorStr += $"and a.WorkPackType='{ddlWorkPackType.SelectedValue}'";
+ contractorStr += $"and a.WorkPackType='{ddlWorkPackType.SelectedValue}'";
+ supervisionStr += $"and a.WorkPackType='{ddlWorkPackType.SelectedValue}'";
+ ownerStr += $"and a.WorkPackType='{ddlWorkPackType.SelectedValue}'";
+ }
+ var allSql = $"select * from ({subcontractorStr} union all {contractorStr} union all {supervisionStr} union all {ownerStr}) as t order by t.ConfirmType asc";
+ List listStr = new List();
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(allSql);
+ Grid1.RecordCount = tb.Rows.Count;
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+
+ }
+
+ ///
+ /// 分页
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ ///
+ /// 双击事件
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuConfirmation_Click(null, null);
+ }
+
+ ///
+ /// 分页下拉框
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 按钮和事件
+
+ ///
+ /// 查询
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 检查确认
+ ///
+ protected void btnConfirmation_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请选择记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (Grid1.SelectedRowIndexArray.Length > 1)
+ {
+ Alert.ShowInTop("只可选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectWanderAboutConfirm.aspx?SubInspectId={0}&ConfirmType={1}", Grid1.DataKeys[Grid1.SelectedRowIndex][1].ToString(), Grid1.DataKeys[Grid1.SelectedRowIndex][2].ToString(), "编辑 - ")));
+ }
+
+ ///
+ /// 右击检查确认
+ ///
+ protected void btnMenuConfirmation_Click(object sender, EventArgs e)
+ {
+ btnConfirmation_Click(null, null);
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 私有方法
+
+ ///
+ /// 已生成检查表的管道/设备
+ ///
+ private List YscInspectItems(List workPackIds, List subSystemIds)
+ {
+ List yczData = new List();
+ var yscInspectItems = Funs.DB.PreRun_SubInspectTerm.Where(x => workPackIds.Contains(x.WorkPackId) && subSystemIds.Contains(x.SubSystemId)).ToList();
+ if (yscInspectItems.Count > 0)
+ {
+ var selectPtids = string.Join(",", yscInspectItems.ConvertAll(x => x.PropertyTechnologyId)).Split(',').ToList();
+ var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
+ var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
+
+ foreach (var itemYsc in yscInspectItems)
+ {
+ var codeStr = string.Empty;
+ var ids = itemYsc.PropertyTechnologyId.Split(',');
+ var itemPros = listPros.Where(x => ids.Contains(x.PropertyId)).ToList();
+ if (itemPros.Count > 0)
+ {
+ codeStr = $"管道:{string.Join(",", itemPros.ConvertAll(x => x.PipingCode))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
+ var itemTechno = listTechno.Where(x => ids.Contains(x.TechnologyId)).ToList();
+ if (itemTechno.Count > 0)
+ {
+ codeStr = $"设备:{string.Join(",", itemTechno.ConvertAll(x => x.TagNumber))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
+ }
+ }
+ return yczData;
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.designer.cs
new file mode 100644
index 00000000..4f95c6ab
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.designer.cs
@@ -0,0 +1,161 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class InspectWanderAboutList
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ddlWorkPackType 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlWorkPackType;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnConfirmation 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnConfirmation;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuConfirmation 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuConfirmation;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
index 799456ec..0d8e489f 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
@@ -38,101 +38,78 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
-
- //var userSubInspects = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList();
- //if (userSubInspects.Count == 0) return;
- //var subSystemIds = userSubInspects.ConvertAll(x => x.SubSystemId);
- //var workPackIds = userSubInspects.ConvertAll(x => x.WorkPackId);
-
var list = from a in Funs.DB.PreRun_SysDevice
join b in Funs.DB.PreRun_SubSysWorkPackage on a.PreRunId equals b.SubSystemId
join c in Funs.DB.PreRun_WorkPackage on b.WorkPackId equals c.WorkPackId
where a.ProjectId == this.CurrUser.LoginProjectId
- select new { a.PreRunId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackName };
+ select new { a.PreRunId, a.SystemId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackName, b.WorkPackCode };
if (list.Count() > 0)
{
var subSystemIds = list.Select(x => x.PreRunId).ToList();
var workPackIds = list.Select(x => x.WorkPackId).ToList();
- var selectlist = new List();
- var sysPipingData = from proper in Funs.DB.PreRun_PropertySysPiping
- join selectproper in Funs.DB.PreRun_SubPropertySelect on proper.PropertyId equals selectproper.PropertyId
- join inspectterm in Funs.DB.PreRun_SubInspectTerm on selectproper.PropertyId equals inspectterm.PropertyTechnologyId
- where subSystemIds.Contains(selectproper.SubSystemId)
- select new SelectPropertyTechnology()
- {
- Id = proper.PropertyId,
- Code = $"管道:({proper.PipingCode})",
- WorkPackId = inspectterm.WorkPackId,
- SubSystemId = selectproper.SubSystemId
- };
- if (sysPipingData.Count() > 0)
+ var selectlist = YscInspectItems(workPackIds, subSystemIds);
+ var systemIds = list.Select(x => x.SystemId).ToList();
+ var syslist = Funs.DB.PreRun_SysDevice.Where(x => systemIds.Contains(x.PreRunId));
+ foreach (var itemSys in syslist)
{
- selectlist.AddRange(sysPipingData);
- }
- var technologylist = from technology in Funs.DB.PreRun_TechnologySysPiping
- join selecttechnology in Funs.DB.PreRun_SubTechnologySelect on technology.TechnologyId equals selecttechnology.TechnologyId
- join inspectterm in Funs.DB.PreRun_SubInspectTerm on selecttechnology.TechnologyId equals inspectterm.PropertyTechnologyId
- where subSystemIds.Contains(selecttechnology.SubSystemId)
- select new SelectPropertyTechnology()
- {
- Id = technology.TechnologyId,
- Code = $"设备:({technology.TagNumber})",
- WorkPackId = inspectterm.WorkPackId,
- SubSystemId = selecttechnology.SubSystemId
- };
- if (technologylist.Count() > 0)
- {
- selectlist.AddRange(technologylist);
- }
-
- var subList = list.GroupBy(x => new { x.PreRunId, x.PreRunCode, x.PreRunName });
- foreach (var item in subList)
- {
- TreeNode rootUnitNode = new TreeNode();//定义根节点
- rootUnitNode.NodeID = item.Key.PreRunId;
- rootUnitNode.Text = item.Key.PreRunName;
- rootUnitNode.ToolTip = item.Key.PreRunName;
- rootUnitNode.CommandName = "";
- rootUnitNode.EnableClickEvent = false;
- rootUnitNode.EnableExpandEvent = false;
- rootNode.Nodes.Add(rootUnitNode);
- rootUnitNode.Expanded = true;
- var worklist = list.Where(a => a.PreRunId == item.Key.PreRunId).GroupBy(x => new { x.WorkPackId, x.WorkPackName }).ToList();
- if (worklist.Count > 0)
+ TreeNode rootFirstNode = new TreeNode();//定义根节点
+ rootFirstNode.NodeID = itemSys.PreRunId;
+ rootFirstNode.Text = itemSys.PreRunName;
+ rootFirstNode.ToolTip = itemSys.PreRunName;
+ rootFirstNode.CommandName = "";
+ rootFirstNode.EnableClickEvent = false;
+ rootFirstNode.EnableExpandEvent = false;
+ rootNode.Nodes.Add(rootFirstNode);
+ rootFirstNode.Expanded = true;
+ var subList = list.Where(g => g.SystemId == itemSys.PreRunId).GroupBy(x => new { x.PreRunId, x.SystemId, x.PreRunCode, x.PreRunName });
+ foreach (var item in subList)
{
- foreach (var itemWork in worklist)
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.Key.PreRunId;
+ rootUnitNode.Text = item.Key.PreRunName;
+ rootUnitNode.ToolTip = item.Key.PreRunName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = false;
+ rootUnitNode.EnableExpandEvent = false;
+ rootFirstNode.Nodes.Add(rootUnitNode);
+ rootUnitNode.Expanded = true;
+ var worklist = list.Where(a => a.PreRunId == item.Key.PreRunId).GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackCode }).ToList();
+ if (worklist.Count > 0)
{
- TreeNode newNode = new TreeNode();
- newNode.Text = itemWork.Key.WorkPackName;
- newNode.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId;
- newNode.ToolTip = itemWork.Key.WorkPackName;
- newNode.CommandName = "";
- newNode.Expanded = true;
- var workselects = selectlist.Where(x => x.SubSystemId == item.Key.PreRunId && x.WorkPackId == itemWork.Key.WorkPackId);
- if (workselects.Count() > 0)
- {
- newNode.EnableClickEvent = false;
- newNode.EnableExpandEvent = false;
- rootUnitNode.Nodes.Add(newNode);
- foreach (var itemSelect in workselects)
- {
- TreeNode newNodeSelect = new TreeNode();
- newNodeSelect.Text = itemSelect.Code;
- newNodeSelect.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId + "|" + itemSelect.Id;
- newNodeSelect.ToolTip = itemSelect.Code;
- newNodeSelect.CommandName = "";
- newNodeSelect.EnableClickEvent = true;
- newNodeSelect.EnableExpandEvent = true;
- newNode.Nodes.Add(newNodeSelect);
- newNodeSelect.Expanded = true;
- }
- }
- else
+ foreach (var itemWork in worklist.OrderBy(o => o.Key.WorkPackCode))
{
+ TreeNode newNode = new TreeNode();
+ newNode.Text = itemWork.Key.WorkPackName;
+ newNode.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId;
+ newNode.ToolTip = itemWork.Key.WorkPackName;
+ newNode.CommandName = "";
+ newNode.Expanded = true;
newNode.EnableClickEvent = true;
- newNode.EnableExpandEvent = true;
- rootUnitNode.Nodes.Add(newNode);
+ var workselects = selectlist.Where(x => x.SubSystemId == item.Key.PreRunId && x.WorkPackId == itemWork.Key.WorkPackId);
+ if (workselects.Count() > 0)
+ {
+ newNode.EnableExpandEvent = false;
+ rootUnitNode.Nodes.Add(newNode);
+ foreach (var itemSelect in workselects)
+ {
+ TreeNode newNodeSelect = new TreeNode();
+ newNodeSelect.Text = itemSelect.Code.Length > 10 ? $"{itemSelect.Code.Substring(0, 10)}......" : itemSelect.Code;
+ newNodeSelect.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId + "|" + itemSelect.Id;
+ newNodeSelect.ToolTip = itemSelect.Code;
+ newNodeSelect.CommandName = "";
+ newNodeSelect.EnableClickEvent = true;
+ newNodeSelect.EnableExpandEvent = true;
+ newNode.Nodes.Add(newNodeSelect);
+ newNodeSelect.Expanded = true;
+ }
+ }
+ else
+ {
+ newNode.EnableClickEvent = true;
+ newNode.EnableExpandEvent = true;
+ rootUnitNode.Nodes.Add(newNode);
+ }
}
}
}
@@ -145,27 +122,38 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
public void PageInit()
{
- var userList = Funs.DB.Sys_User;
- if (userList.Count() > 0)
+ //检查人绑定
+ 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() { 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)
{
ddlfbs.DataTextField = "UserName";
ddlfbs.DataValueField = "UserId";
- ddlfbs.DataSource = userList;
+ ddlfbs.DataSource = users;
ddlfbs.DataBind();
ddlcbs.DataTextField = "UserName";
ddlcbs.DataValueField = "UserId";
- ddlcbs.DataSource = userList;
+ ddlcbs.DataSource = users;
ddlcbs.DataBind();
ddljl.DataTextField = "UserName";
ddljl.DataValueField = "UserId";
- ddljl.DataSource = userList;
+ ddljl.DataSource = users;
ddljl.DataBind();
ddlyz.DataTextField = "UserName";
ddlyz.DataValueField = "UserId";
- ddlyz.DataSource = userList;
+ ddlyz.DataSource = users;
ddlyz.DataBind();
}
}
@@ -188,16 +176,31 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
public void BindGrid(bool typechange = true)
{
var result = new List();
- var sysPipingData = new List();
var workPackId = this.tvControlItem.SelectedNodeID.Split('|')[0];
var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
- var propertytechnologyid = string.Empty;
+ var subInspectId = string.Empty;
if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
{
- propertytechnologyid = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
}
if (typechange)
{
+ var propertyTechnologyIds = string.Empty;
+ var selectStr = string.Empty;
+
+ var inspectItems = Funs.DB.PreRun_SubInspectTerm.Where(x => x.WorkPackId == workPackId && x.SubSystemId == subSystemId).ToList();
+ if (!string.IsNullOrWhiteSpace(subInspectId))
+ {
+ var selectItem = inspectItems.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ if (selectItem != null)
+ {
+ selectStr = selectItem.PropertyTechnologyId;
+ }
+ inspectItems.RemoveAll(x => x.SubInspectId == subInspectId);
+ }
+
+ if (inspectItems.Count > 0) propertyTechnologyIds = string.Join(",", inspectItems.ConvertAll(x => x.PropertyTechnologyId));
+
var workPage = Funs.DB.PreRun_WorkPackage.FirstOrDefault(x => x.WorkPackId == workPackId);
if (workPage != null)
{
@@ -222,54 +225,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ddlWorkPackType.SelectedValue = "2";
}
//加载数据
- if (ddlWorkPackType.SelectedValue == "1")
- {
- var sysData = from proper in Funs.DB.PreRun_PropertySysPiping
- join selectproper in Funs.DB.PreRun_SubPropertySelect on proper.PropertyId equals selectproper.PropertyId
- where selectproper.SubSystemId == subSystemId
- select new SelectPropertyTechnology()
- {
- Id = proper.PropertyId,
- Code = $"管道:({proper.PipingCode})"
- };
- if (sysData.Count() > 0)
- {
- sysPipingData = sysData.ToList();
- cbSysPiping.DataTextField = "Code";
- cbSysPiping.DataValueField = "Id";
- cbSysPiping.DataSource = sysPipingData;
- cbSysPiping.DataBind();
- }
- else
- {
- cbSysPiping.Items.Clear();
- cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
- }
- }
- else
- {
- var sysData = from technology in Funs.DB.PreRun_TechnologySysPiping
- join selecttechnology in Funs.DB.PreRun_SubTechnologySelect on technology.TechnologyId equals selecttechnology.TechnologyId
- where selecttechnology.SubSystemId == subSystemId
- select new SelectPropertyTechnology()
- {
- Id = technology.TechnologyId,
- Code = $"设备:({technology.TagNumber})"
- };
- if (sysData.Count() > 0)
- {
- sysPipingData = sysData.ToList();
- cbSysPiping.DataTextField = "Code";
- cbSysPiping.DataValueField = "Id";
- cbSysPiping.DataSource = sysPipingData;
- cbSysPiping.DataBind();
- }
- else
- {
- cbSysPiping.Items.Clear();
- cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
- }
- }
+ PipingBrid(ddlWorkPackType.SelectedValue, subSystemId, propertyTechnologyIds, selectStr);
}
}
@@ -277,7 +233,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
//获取主表数据
var workPackType = int.Parse(ddlWorkPackType.SelectedValue);
- var subModel = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.WorkPackId == workPackId && x.SubSystemId == subSystemId && x.WorkPackType == workPackType && x.PropertyTechnologyId == propertytechnologyid);
+ var subModel = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
if (subModel != null)
{
if (subModel.WorkPackType != null)
@@ -285,12 +241,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ddlWorkPackType.SelectedValue = subModel.WorkPackType.ToString();
ddlWorkPackType.Enabled = false;
}
- var ddlsysModel = sysPipingData.FirstOrDefault(x => x.Id == subModel.PropertyTechnologyId);
- if (ddlsysModel != null)
- {
- ddbSysPiping.Value = ddlsysModel.Id;
- ddbSysPiping.Text = ddlsysModel.Code;
- }
ddlfbs.SelectedValue = subModel.Subcontractor;
ddlcbs.SelectedValue = subModel.Contractor;
ddljl.SelectedValue = subModel.Supervision;
@@ -303,7 +253,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ddljl.SelectedValue = string.Empty;
ddlyz.SelectedValue = string.Empty;
}
- var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.WorkPackId == workPackId && x.SubSystemId == subSystemId && x.WorkPackType == workPackType && x.PropertyTechnologyId == propertytechnologyid).OrderBy(x => x.Sort).ToList();
+ var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == subInspectId).OrderBy(x => x.Sort).ToList();
if (list.Count > 0)
{
foreach (var item in list)
@@ -360,7 +310,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var checkids = result.Where(x => x.isChick).Select(a => a.SubItemId);
Grid1.SelectedRowIDArray = checkids.ToArray();
}
-
//检查人绑定
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;
@@ -457,88 +406,97 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var workPackId = this.tvControlItem.SelectedNodeID.Split('|')[0];
var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
+ var subInspectId = string.Empty;
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
+ {
+ subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ }
var workPackType = int.Parse(ddlWorkPackType.SelectedValue);
List subTrems = new List();
List subTremItems = new List();
- foreach (var item in ddbSysPiping.Values)
+ //foreach (var item in ddbSysPiping.Values)
+ //{
+ var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
{
- var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubSystemId == subSystemId && x.WorkPackId == workPackId && x.WorkPackType == workPackType && x.PropertyTechnologyId == item);
- JArray mergedData = Grid1.GetMergedData();
- foreach (JObject mergedRow in mergedData)
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var subItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var workInspectId = this.Grid1.Rows[i].DataKeys[1].ToString();
+ if (!Grid1.SelectedRowIndexArray.Contains(i)) continue;
+
+ //获取子系统信息
+ var list = new List();
+ var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
+ if (subSysModel != null)
{
- string status = mergedRow.Value("status");
- JObject values = mergedRow.Value("values");
- int i = mergedRow.Value("index");
- var subItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
- var workInspectId = this.Grid1.Rows[i].DataKeys[1].ToString();
- if (!Grid1.SelectedRowIndexArray.Contains(i)) continue;
-
- //获取子系统信息
- var list = new List();
- var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
- if (subSysModel != null)
+ //获取子系统工作包检查表,如果不存在则添加
+ if (subTrem == null)
{
- //获取子系统工作包检查表,如果不存在则添加
- if (subTrem == null)
- {
- subTrem = new PreRun_SubInspectTerm();
- subTrem.SubInspectId = Guid.NewGuid().ToString();
- subTrem.WorkPackId = workPackId;
- subTrem.ProjectId = this.CurrUser.LoginProjectId;
- subTrem.InstallationId = subSysModel.InstallationId;
- subTrem.ProcessesId = subSysModel.ProcessesId;
- subTrem.SystemId = subSysModel.SystemId;
- subTrem.SubSystemId = subSysModel.PreRunId;
- subTrem.Subcontractor = ddlfbs.SelectedValue;
- subTrem.Contractor = ddlcbs.SelectedValue;
- subTrem.Supervision = ddljl.SelectedValue;
- subTrem.Owner = ddlyz.SelectedValue;
- subTrem.PropertyTechnologyId = item;
- subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
- subTrem.AddUser = this.CurrUser.UserId;
- subTrem.AddTime = DateTime.Now;
- subTrems.Add(subTrem);
- //Funs.DB.PreRun_SubInspectTerm.InsertOnSubmit(subTrem);
- }
-
- var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.SubItemId == subItemId && x.PropertyTechnologyId == item);
- if (model == null)
- {
- model = new PreRun_SubInspectTermItem();
- model.TermItemId = Guid.NewGuid().ToString();
- model.SubItemId = subItemId;
- model.SubInspectId = subTrem.SubInspectId;
- model.WorkPackId = workPackId;
- model.ProjectId = this.CurrUser.LoginProjectId;
- model.WorkInspectId = workInspectId;
- model.WorkInspectName = values.Value("WorkInspectName");
- model.InstallationId = subSysModel.InstallationId;
- model.ProcessesId = subSysModel.ProcessesId;
- model.SystemId = subSysModel.SystemId;
- model.SubSystemId = subSysModel.PreRunId;
- model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
- model.Subcontractor = ddlfbs.SelectedValue;
- model.Contractor = ddlcbs.SelectedValue;
- model.Supervision = ddljl.SelectedValue;
- model.Owner = ddlyz.SelectedValue;
- model.PropertyTechnologyId = item;
- model.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
- model.AddUser = this.CurrUser.UserId;
- model.AddTime = DateTime.Now;
- model.Sort = i + 1;
- subTremItems.Add(model);
- //Funs.DB.PreRun_SubInspectTermItem.InsertOnSubmit(model);
- }
- else
- {
- model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
- model.WorkInspectName = values.Value("WorkInspectName");
- Funs.DB.SubmitChanges();
- }
+ subTrem = new PreRun_SubInspectTerm();
+ subTrem.SubInspectId = Guid.NewGuid().ToString();
+ subTrem.WorkPackId = workPackId;
+ subTrem.ProjectId = this.CurrUser.LoginProjectId;
+ subTrem.InstallationId = subSysModel.InstallationId;
+ subTrem.ProcessesId = subSysModel.ProcessesId;
+ subTrem.SystemId = subSysModel.SystemId;
+ subTrem.SubSystemId = subSysModel.PreRunId;
+ subTrem.Subcontractor = ddlfbs.SelectedValue;
+ subTrem.Contractor = ddlcbs.SelectedValue;
+ subTrem.Supervision = ddljl.SelectedValue;
+ subTrem.Owner = ddlyz.SelectedValue;
+ subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
+ subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
+ subTrem.AddUser = this.CurrUser.UserId;
+ subTrem.AddTime = DateTime.Now;
+ subTrems.Add(subTrem);
+ }
+ else
+ {
+ subTrem.Subcontractor = ddlfbs.SelectedValue;
+ subTrem.Contractor = ddlcbs.SelectedValue;
+ subTrem.Supervision = ddljl.SelectedValue;
+ subTrem.Owner = ddlyz.SelectedValue;
+ Funs.DB.SubmitChanges();
+ }
+
+ var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ if (model == null)
+ {
+ model = new PreRun_SubInspectTermItem();
+ model.TermItemId = Guid.NewGuid().ToString();
+ model.SubItemId = subItemId;
+ model.SubInspectId = subTrem.SubInspectId;
+ model.WorkPackId = workPackId;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkInspectId = workInspectId;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ model.InstallationId = subSysModel.InstallationId;
+ model.ProcessesId = subSysModel.ProcessesId;
+ model.SystemId = subSysModel.SystemId;
+ model.SubSystemId = subSysModel.PreRunId;
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.Subcontractor = ddlfbs.SelectedValue;
+ model.Contractor = ddlcbs.SelectedValue;
+ model.Supervision = ddljl.SelectedValue;
+ model.Owner = ddlyz.SelectedValue;
+ model.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
+ model.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i + 1;
+ subTremItems.Add(model);
+ }
+ else
+ {
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ Funs.DB.SubmitChanges();
}
- //Funs.DB.SubmitChanges();
}
}
@@ -666,24 +624,137 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
protected void ddlWorkPackType_SelectedIndexChanged(object sender, EventArgs e)
{
+ var selectStr = string.Empty;
+ var propertyTechnologyIds = string.Empty;
var workPackId = this.tvControlItem.SelectedNodeID.Split('|')[0];
var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
- if (ddlWorkPackType.SelectedValue == "1")
+ var subInspectId = string.Empty;
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
{
- var sysPipingData = from proper in Funs.DB.PreRun_PropertySysPiping
- join selectproper in Funs.DB.PreRun_SubPropertySelect on proper.PropertyId equals selectproper.PropertyId
- where selectproper.SubSystemId == subSystemId
- select new
- {
- Id = proper.PropertyId,
- Code = $"管道:({proper.PipingCode})"
- };
- if (sysPipingData.Count() > 0)
+ subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ }
+ var inspectItems = Funs.DB.PreRun_SubInspectTerm.Where(x => x.WorkPackId == workPackId && x.SubSystemId == subSystemId).ToList();
+ if (!string.IsNullOrWhiteSpace(subInspectId))
+ {
+ var selectItem = inspectItems.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ if (selectItem != null)
+ {
+ selectStr = selectItem.PropertyTechnologyId;
+ }
+ inspectItems.RemoveAll(x => x.SubInspectId == subInspectId);
+ }
+ if (inspectItems.Count > 0) propertyTechnologyIds = string.Join(",", inspectItems.ConvertAll(x => x.PropertyTechnologyId));
+ PipingBrid(ddlWorkPackType.SelectedValue, subSystemId, propertyTechnologyIds, selectStr);
+ }
+
+ ///
+ /// 设备选择
+ ///
+ protected void ddlSysPiping_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ BindGrid(false);
+ }
+
+ ///
+ /// 已生成检查表的管道/设备
+ ///
+ private List YscInspectItems(List workPackIds, List subSystemIds)
+ {
+ List yczData = new List();
+ var yscInspectItems = Funs.DB.PreRun_SubInspectTerm.Where(x => workPackIds.Contains(x.WorkPackId) && subSystemIds.Contains(x.SubSystemId)).ToList();
+ if (yscInspectItems.Count > 0)
+ {
+ var selectPtids = string.Join(",", yscInspectItems.ConvertAll(x => x.PropertyTechnologyId)).Split(',').ToList();
+ var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
+ var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
+
+ foreach (var itemYsc in yscInspectItems)
+ {
+ var codeStr = string.Empty;
+ var ids = itemYsc.PropertyTechnologyId.Split(',');
+ var itemPros = listPros.Where(x => ids.Contains(x.PropertyId)).ToList();
+ if (itemPros.Count > 0)
+ {
+ codeStr = $"管道:{string.Join(",", itemPros.ConvertAll(x => x.PipingCode))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
+ var itemTechno = listTechno.Where(x => ids.Contains(x.TechnologyId)).ToList();
+ if (itemTechno.Count > 0)
+ {
+ codeStr = $"设备:{string.Join(",", itemTechno.ConvertAll(x => x.TagNumber))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
+ }
+ }
+ return yczData;
+ }
+
+ ///
+ /// 管道或设备绑定
+ ///
+ public void PipingBrid(string WorkPackType, string subSystemId, string propertyTechnologyIds, string selectStr)
+ {
+ var sysPipingData = new List();
+ if (WorkPackType == "1")
+ {
+ if (string.IsNullOrWhiteSpace(propertyTechnologyIds))
+ {
+ var sysData = from proper in Funs.DB.PreRun_PropertySysPiping
+ join selectproper in Funs.DB.PreRun_SubPropertySelect on proper.PropertyId equals selectproper.PropertyId
+ where selectproper.SubSystemId == subSystemId
+ select new SelectPropertyTechnology()
+ {
+ Id = proper.PropertyId,
+ Code = $"管道:({proper.PipingCode})"
+ };
+ sysPipingData = sysData.ToList();
+ }
+ else
+ {
+ var ids = propertyTechnologyIds.Split(',');
+ var sysData = from proper in Funs.DB.PreRun_PropertySysPiping
+ join selectproper in Funs.DB.PreRun_SubPropertySelect on proper.PropertyId equals selectproper.PropertyId
+ where selectproper.SubSystemId == subSystemId && !ids.Contains(proper.PropertyId)
+ select new SelectPropertyTechnology()
+ {
+ Id = proper.PropertyId,
+ Code = $"管道:({proper.PipingCode})"
+ };
+ sysPipingData = sysData.ToList();
+ }
+
+ if (sysPipingData.Count > 0)
{
cbSysPiping.DataTextField = "Code";
cbSysPiping.DataValueField = "Id";
cbSysPiping.DataSource = sysPipingData;
cbSysPiping.DataBind();
+ List values = new List();
+ List texts = new List();
+ if (!string.IsNullOrWhiteSpace(selectStr))
+ {
+ var selectIds = selectStr.Split(',').ToList();
+ var selectData = sysPipingData.Where(x => selectIds.Contains(x.Id)).ToList();
+ if (selectData.Count() > 0)
+ {
+ values = selectData.ConvertAll(x => x.Id);
+ texts = selectData.ConvertAll(x => x.Code);
+ }
+ }
+ ddbSysPiping.Values = values.ToArray();
+ ddbSysPiping.Texts = texts.ToArray();
}
else
{
@@ -693,20 +764,51 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
else
{
- var sysPipingData = from technology in Funs.DB.PreRun_TechnologySysPiping
- join selecttechnology in Funs.DB.PreRun_SubTechnologySelect on technology.TechnologyId equals selecttechnology.TechnologyId
- where selecttechnology.SubSystemId == subSystemId
- select new
- {
- Id = technology.TechnologyId,
- Code = $"设备:({technology.TagNumber})"
- };
+ if (string.IsNullOrWhiteSpace(propertyTechnologyIds))
+ {
+ var sysData = from technology in Funs.DB.PreRun_TechnologySysPiping
+ join selecttechnology in Funs.DB.PreRun_SubTechnologySelect on technology.TechnologyId equals selecttechnology.TechnologyId
+ where selecttechnology.SubSystemId == subSystemId
+ select new SelectPropertyTechnology()
+ {
+ Id = technology.TechnologyId,
+ Code = $"设备:({technology.TagNumber})"
+ };
+ sysPipingData = sysData.ToList();
+ }
+ else
+ {
+ var ids = propertyTechnologyIds.Split(',');
+ var sysData = from technology in Funs.DB.PreRun_TechnologySysPiping
+ join selecttechnology in Funs.DB.PreRun_SubTechnologySelect on technology.TechnologyId equals selecttechnology.TechnologyId
+ where selecttechnology.SubSystemId == subSystemId && !ids.Contains(technology.TechnologyId)
+ select new SelectPropertyTechnology()
+ {
+ Id = technology.TechnologyId,
+ Code = $"设备:({technology.TagNumber})"
+ };
+ sysPipingData = sysData.ToList();
+ }
if (sysPipingData.Count() > 0)
{
cbSysPiping.DataTextField = "Code";
cbSysPiping.DataValueField = "Id";
cbSysPiping.DataSource = sysPipingData;
cbSysPiping.DataBind();
+ List values = new List();
+ List texts = new List();
+ if (!string.IsNullOrWhiteSpace(selectStr))
+ {
+ var selectIds = selectStr.Split(',').ToList();
+ var selectData = sysPipingData.Where(x => selectIds.Contains(x.Id)).ToList();
+ if (selectData.Count() > 0)
+ {
+ values = selectData.ConvertAll(x => x.Id);
+ texts = selectData.ConvertAll(x => x.Code);
+ }
+ }
+ ddbSysPiping.Values = values.ToArray();
+ ddbSysPiping.Texts = texts.ToArray();
}
else
{
@@ -714,15 +816,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
}
-
- }
-
- ///
- /// 设备选择
- ///
- protected void ddlSysPiping_SelectedIndexChanged(object sender, EventArgs e)
- {
- BindGrid(false);
}
///
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx
index 9b17f5dd..fcaec8ba 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx
@@ -19,16 +19,7 @@
- <%--
-
-
-
-
-
-
- --%>
+ ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
-
+
@@ -53,10 +53,15 @@
+
+
+