diff --git a/DataBase/版本日志/SGGLDB_WH_2023-11-06.sql b/DataBase/版本日志/SGGLDB_WH_2023-11-06.sql
new file mode 100644
index 00000000..b2c5eab5
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2023-11-06.sql
@@ -0,0 +1,18 @@
+--
+truncate table PreRun_SubInspectTerm
+truncate table PreRun_SubInspectTermItem
+truncate table PreRun_InspectTailTerm
+truncate table PreRun_InspectTermApproveRecords
+GO
+delete Sys_Menu where MenuId='AF88737F-D665-4C81-99D5-A07A8910C1E0'
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('AF88737F-D665-4C81-99D5-A07A8910C1E0','תȫͨ',null,'TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx',14,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+GO
+--Ƿͳһת0:1:
+alter table PreRun_SubInspectTerm add IsUnifyWanderAbout int null
+GO
+--ͳһתʱ
+alter table PreRun_SubInspectTerm add UnifyWanderAboutData datetime null
+GO
+--ͳһת
+alter table PreRun_SubInspectTerm add UnifyWanderAboutOpinion varchar(max) null
+GO
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 3d6c7419..497154ee 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1676,9 +1676,12 @@
+
+
+
@@ -15146,6 +15149,18 @@
InspectTemplateEdit.aspx
+
+ InspectWanderAboutAllPass.aspx
+
+
+ InspectWanderAboutAllPass.aspx
+
+
+ InspectWanderAboutAllPassList.aspx
+
+
+ InspectWanderAboutAllPassList.aspx
+
InspectWanderAboutConfirm.aspx
ASPXCodeBehind
@@ -15167,6 +15182,12 @@
SelectProperty.aspx
+
+ SelectTailTermList.aspx
+
+
+ SelectTailTermList.aspx
+
SelectTechnology.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
index 2de40ebc..b0ecef44 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
@@ -138,6 +138,8 @@
DataKeyNames="InspectTermId" EnableColumnLines="true" ForceFit="true">
+
+
@@ -158,6 +160,8 @@
DataKeyNames="InspectTermId" EnableColumnLines="true" ForceFit="true">
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
index ee89d9b6..200ea35a 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
@@ -14,7 +14,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
public partial class InspectTailTermEdit : PageBase
{
///
- /// 主键
+ /// 检查表尾项主键
///
public string TailTermId
{
@@ -23,7 +23,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
///
- /// 主键
+ /// 检查项主键
///
public string TermItemId
{
@@ -196,16 +196,18 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
//绑定检查项
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.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 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.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";
@@ -287,7 +289,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
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,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 where 1=1 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId ";
+ 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 listStr = new List();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@TailTermId", this.TailTermId));
@@ -375,6 +377,9 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
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());
@@ -483,7 +488,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
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 });
+ //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(',');
@@ -546,16 +552,18 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
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();
- 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 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.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)
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx
new file mode 100644
index 00000000..f41992ea
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx
@@ -0,0 +1,125 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutAllPass.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.InspectWanderAboutAllPass" %>
+
+
+
+
+
+ 全部通过
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx.cs
new file mode 100644
index 00000000..afa8ca29
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx.cs
@@ -0,0 +1,168 @@
+using BLL;
+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 InspectWanderAboutAllPass : PageBase
+ {
+ ///
+ /// 检查表主键
+ ///
+ public string SubInspectId
+ {
+ get { return (string)ViewState["SubInspectId"]; }
+ set { ViewState["SubInspectId"] = value; }
+ }
+
+ ///
+ /// 统一处理附件
+ ///
+ public int UnifyImg
+ {
+ get { return (int)ViewState["UnifyImg"]; }
+ set { ViewState["UnifyImg"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.UnifyImg = 0;
+ this.SubInspectId = Request["SubInspectId"];
+ PageInit();
+ }
+ }
+
+ ///
+ /// 绑定数据
+ ///
+ public void PageInit()
+ {
+ var data = from term in Funs.DB.PreRun_SubInspectTerm
+ join workpage in Funs.DB.PreRun_WorkPackage on term.WorkPackId equals workpage.WorkPackId
+ join pro in Funs.DB.Base_Project on term.ProjectId equals pro.ProjectId
+ join subuser in Funs.DB.Sys_User on term.Subcontractor equals subuser.UserId
+ join conuser in Funs.DB.Sys_User on term.Contractor equals conuser.UserId
+ join supuser in Funs.DB.Sys_User on term.Supervision equals supuser.UserId
+ join ownuser in Funs.DB.Sys_User on term.Owner equals ownuser.UserId
+ where term.SubInspectId == this.SubInspectId
+ select new
+ {
+ term.SubInspectId,
+ term.ProjectId,
+ pro.ProjectName,
+ pro.ProjectCode,
+ term.WorkPackId,
+ workpage.WorkPackName,
+ term.WorkPackType,
+ term.AddUser,
+ term.AddTime,
+ SubcontractorName = subuser.UserName,
+ ContractorName = conuser.UserName,
+ SupervisionName = supuser.UserName,
+ OwnerName = ownuser.UserName,
+ term.IsUnifyWanderAbout,
+ term.UnifyWanderAboutData,
+ term.UnifyWanderAboutOpinion
+ };
+ if (data.Count() > 0)
+ {
+ var model = data.FirstOrDefault();
+ //项目名称
+ lblProjectName.Text = model.ProjectName;
+ //项目号
+ lblProjectCode.Text = model.ProjectCode;
+ //类型
+ lblWorkPackTypeName.Text = model.WorkPackType == 1 ? "管道" : "设备";
+ //工作包名称
+ lblWorkPackName.Text = model.WorkPackName;
+ //分包商
+ lblSubcontractorName.Text = model.SubcontractorName;
+ //承包商
+ lblContractorName.Text = model.ContractorName;
+ //监理
+ lblSupervisionName.Text = model.SupervisionName;
+ //业主
+ lblOwnerName.Text = model.OwnerName;
+ //是否统一流转
+ rblIsUnifyWanderAbout.SelectedValue = model.IsUnifyWanderAbout != null ? model.IsUnifyWanderAbout.ToString() : "1";
+ //审核意见
+ txtUnifyWanderAboutOpinion.Text = model.UnifyWanderAboutOpinion;
+ }
+ }
+
+ ///
+ /// 确认
+ ///
+ protected void btnConfirm_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (Funs.DB.AttachFile.Count(x => x.ToKeyId == this.SubInspectId + "_unify" && x.AttachUrl != null && x.AttachUrl != "") == 0)
+ {
+ ShowNotify("请上传附件!", MessageBoxIcon.Warning);
+ return;
+ }
+ var term = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
+ if (term != null)
+ {
+ var isPass = int.Parse(rblIsUnifyWanderAbout.SelectedValue);
+ term.IsUnifyWanderAbout = isPass;
+ term.UnifyWanderAboutData = DateTime.Now;
+ term.UnifyWanderAboutOpinion = txtUnifyWanderAboutOpinion.Text;
+ term.SubcontractorIsAllPass = isPass;
+ term.ContractorIsAllPass = isPass;
+ term.SupervisionIsAllPass = isPass;
+ term.OwnerIsAllPass = isPass;
+ term.WanderIsComplete = isPass;
+ if (isPass == 1)
+ {
+ term.SubcontractorAllPassData = DateTime.Now;
+ term.ContractorAllPassData = DateTime.Now;
+ term.SupervisionAllPassData = DateTime.Now;
+ term.OwnerAllPassData = DateTime.Now;
+ term.WanderCompleteData = DateTime.Now;
+ }
+ else
+ {
+ term.SubcontractorAllPassData = null;
+ term.ContractorAllPassData = null;
+ term.SupervisionAllPassData = null;
+ term.OwnerAllPassData = null;
+ term.WanderCompleteData = null;
+ }
+ var termIetms = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).ToList();
+ if (termIetms.Count > 0)
+ {
+ foreach (var item in termIetms)
+ {
+ item.SubcontractorIsPass = isPass;
+ item.ContractorIsPass = isPass;
+ item.SupervisionIsPass = isPass;
+ item.OwnerIsPass = isPass;
+ Funs.DB.SubmitChanges();
+ }
+ }
+ ShowNotify("确认成功!", MessageBoxIcon.Success);
+ }
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 附件上传
+ ///
+ protected void btnAttach_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", UnifyImg, this.SubInspectId + "_unify", Const.TestRunMenuId)));
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx.designer.cs
new file mode 100644
index 00000000..bac7460b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPass.aspx.designer.cs
@@ -0,0 +1,215 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class InspectWanderAboutAllPass
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// ContentPanel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ContentPanel ContentPanel1;
+
+ ///
+ /// Form2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form2;
+
+ ///
+ /// lblProjectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblProjectName;
+
+ ///
+ /// lblProjectCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblProjectCode;
+
+ ///
+ /// lblWorkPackTypeName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblWorkPackTypeName;
+
+ ///
+ /// lblWorkPackName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblWorkPackName;
+
+ ///
+ /// lblSubcontractorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSubcontractorName;
+
+ ///
+ /// lblContractorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblContractorName;
+
+ ///
+ /// lblSupervisionName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSupervisionName;
+
+ ///
+ /// lblOwnerName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblOwnerName;
+
+ ///
+ /// txtUnifyWanderAboutOpinion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtUnifyWanderAboutOpinion;
+
+ ///
+ /// rblIsUnifyWanderAbout 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.RadioButtonList rblIsUnifyWanderAbout;
+
+ ///
+ /// Panel3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel3;
+
+ ///
+ /// lblAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAttach;
+
+ ///
+ /// btnAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAttach;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnConfirm;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx
new file mode 100644
index 00000000..f402e211
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx
@@ -0,0 +1,148 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutAllPassList.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.InspectWanderAboutAllPassList" %>
+
+
+
+
+
+
+
+
+ 检查表流转全部通过
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.cs
new file mode 100644
index 00000000..868e2fa6
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.cs
@@ -0,0 +1,296 @@
+using BLL;
+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;
+using static FineUIPro.Web.TestRun.BeforeTestRun.InspectTailTermEdit;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class InspectWanderAboutAllPassList : 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.InspectionIsAllPass == 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 sqlStr = $"select a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.WorkPackId,g.WorkPackName,a.WorkPackType,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,a.AddUser,a.AddTime,c.UserName as SubcontractorName,d.UserName as ContractorName,e.UserName as SupervisionName,f.UserName as OwnerName,IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName from PreRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId inner join Sys_User as c on c.UserId=a.Subcontractor inner join Sys_User as d on d.UserId=a.Contractor inner join Sys_User as e on e.UserId = a.Supervision inner join Sys_User as f on f.UserId = a.Owner inner join PreRun_WorkPackage as g on g.WorkPackId = a.WorkPackId where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId='{this.CurrUser.LoginProjectId}' ";
+
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 0)
+ {
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ sqlStr += $"and a.WorkPackId='{workPackId}'";
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 1)
+ {
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
+ sqlStr += $"and a.SubSystemId='{subSystemId}'";
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
+ {
+ var subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ sqlStr += $"and a.SubInspectId='{subInspectId}'";
+ }
+ //检查类型
+ if (!string.IsNullOrWhiteSpace(ddlWorkPackType.SelectedValue))
+ {
+ sqlStr += $"and a.WorkPackType='{ddlWorkPackType.SelectedValue}'";
+ }
+ List listStr = new List();
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(sqlStr);
+ 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)
+ {
+ btnMenuAllPass_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 btnAllPass_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("InspectWanderAboutAllPass.aspx?SubInspectId={0}", Grid1.DataKeys[Grid1.SelectedRowIndex][0].ToString(), "检查全部通过 - ")));
+ }
+
+ ///
+ /// 右击检查全部通过
+ ///
+ protected void btnMenuAllPass_Click(object sender, EventArgs e)
+ {
+ btnAllPass_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/InspectWanderAboutAllPassList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.designer.cs
new file mode 100644
index 00000000..f1463226
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.designer.cs
@@ -0,0 +1,161 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class InspectWanderAboutAllPassList
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// btnAllPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAllPass;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuAllPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuAllPass;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx
index ebb863a5..14231b7c 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx
@@ -31,57 +31,90 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -100,11 +133,6 @@
function reloadGrid() {
__doPostBack(null, 'reloadGrid');
}
-
- function onUpdateIsPassClick() {
- alert(1);
- }
-