diff --git a/DataBase/版本日志/SGGLDB_WH_2023-10-30.sql b/DataBase/版本日志/SGGLDB_WH_2023-10-30.sql
new file mode 100644
index 00000000..74aa61a3
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2023-10-30.sql
@@ -0,0 +1,40 @@
+--
+truncate table PreRun_SubInspectTerm
+truncate table PreRun_SubInspectTermItem
+truncate table PreRun_InspectTailTerm
+truncate table PreRun_InspectTermApproveRecords
+GO
+--²˵
+delete Sys_Menu where MenuId='F184E0FC-96E3-48A5-9515-21EAD37053B3'
+delete Sys_Menu where MenuId='19865B64-E0AA-4D32-9712-05C14FE6288F'
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('F184E0FC-96E3-48A5-9515-21EAD37053B3','ֳʵʩ',null,'TestRun/BeforeTestRun/SiteImplementationList.aspx',12,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('19865B64-E0AA-4D32-9712-05C14FE6288F','Գ¼ϴ',null,'TestRun/BeforeTestRun/TestRunRecordUploadList.aspx',13,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+go
+
+--ְͨ
+alter table PreRun_SubInspectTerm add SubcontractorAllPassData datetime null
+--аͨ
+alter table PreRun_SubInspectTerm add ContractorAllPassData datetime null
+--ͨ
+alter table PreRun_SubInspectTerm add SupervisionAllPassData datetime null
+--ҵͨ
+alter table PreRun_SubInspectTerm add OwnerAllPassData datetime null
+--תǷȫͨ0:δͨ1:ͨ
+alter table PreRun_SubInspectTerm add WanderIsComplete int null
+--ת
+alter table PreRun_SubInspectTerm add WanderCompleteData datetime null
+--ֳʵʩǷ0:δ1:
+alter table PreRun_SubInspectTerm add IsSiteImplement int null
+--ֳʵʩȷ
+alter table PreRun_SubInspectTerm add SiteImplementUser varchar(50) null
+--ֳʵʩ¼ȷʱ
+alter table PreRun_SubInspectTerm add SiteImplementConfirmData datetime null
+--ֳʵʩ¼ϴ
+alter table PreRun_SubInspectTerm add RecordUploadData datetime null
+--Ƿر0:δر1:ѹر
+alter table PreRun_SubInspectTerm add InspectIsClose int null
+--ر
+alter table PreRun_SubInspectTerm add InspectIsCloseUser varchar(50) null
+--ر
+alter table PreRun_SubInspectTerm add InspectCloseData datetime null
+GO
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 6ea83c40..e4eea851 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1673,6 +1673,8 @@
+
+
@@ -1681,6 +1683,8 @@
+
+
@@ -15112,6 +15116,20 @@
SetWorkPackage.aspx
+
+ SiteImplementation.aspx
+ ASPXCodeBehind
+
+
+ SiteImplementation.aspx
+
+
+ SiteImplementationList.aspx
+ ASPXCodeBehind
+
+
+ SiteImplementationList.aspx
+
SubInspectTerm.aspx
ASPXCodeBehind
@@ -15168,6 +15186,20 @@
TailTermHandleList.aspx
+
+ TestRunRecordUpload.aspx
+ ASPXCodeBehind
+
+
+ TestRunRecordUpload.aspx
+
+
+ TestRunRecordUploadList.aspx
+ ASPXCodeBehind
+
+
+ TestRunRecordUploadList.aspx
+
GoodsBuy.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
index bd1b2cce..ee89d9b6 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx.cs
@@ -597,30 +597,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; }
- }
+ public class SelectPropertyTechnology
+ {
+ ///
+ /// 主键
+ ///
+ public string Id { get; set; }
+ ///
+ /// 编码
+ ///
+ public string Code { get; set; }
+ ///
+ /// 工作包主键
+ ///
+ public string WorkPackId { get; set; }
+ ///
+ /// 子系统主键
+ ///
+ public string SubSystemId { get; set; }
+ }
- #endregion
+ #endregion
+ }
}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.cs
index ec1f35df..7eb0f993 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermList.aspx.cs
@@ -7,6 +7,7 @@ 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
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs
index 24976c1d..11af05ae 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutConfirm.aspx.cs
@@ -194,10 +194,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.SubcontractorIsPass.GetValueOrDefault() != 1) == 0)
{
subModel.SubcontractorIsAllPass = 1;
+ subModel.SubcontractorAllPassData = DateTime.Now;
}
else
{
subModel.SubcontractorIsAllPass = 0;
+ subModel.SubcontractorAllPassData = null;
}
}
else if (this.ConfirmType == 2)
@@ -205,10 +207,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.ContractorIsPass.GetValueOrDefault() != 1) == 0)
{
subModel.ContractorIsAllPass = 1;
+ subModel.ContractorAllPassData = DateTime.Now;
}
else
{
subModel.ContractorIsAllPass = 0;
+ subModel.SubcontractorAllPassData = null;
}
}
else if (this.ConfirmType == 3)
@@ -216,10 +220,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.SupervisionIsPass.GetValueOrDefault() != 1) == 0)
{
subModel.SupervisionIsAllPass = 1;
+ subModel.SupervisionAllPassData = DateTime.Now;
}
else
{
subModel.SupervisionIsAllPass = 0;
+ subModel.SubcontractorAllPassData = null;
}
}
else if (this.ConfirmType == 4)
@@ -227,12 +233,25 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.OwnerIsPass.GetValueOrDefault() != 1) == 0)
{
subModel.OwnerIsAllPass = 1;
+ subModel.OwnerAllPassData = DateTime.Now;
}
else
{
subModel.OwnerIsAllPass = 0;
+ subModel.SubcontractorAllPassData = null;
}
}
+ //判断是否全部通过
+ if (subModel.SubcontractorIsAllPass == 1 && subModel.ContractorIsAllPass == 1 && subModel.SupervisionIsAllPass == 1 && subModel.OwnerIsAllPass == 1)
+ {
+ subModel.WanderIsComplete = 1;
+ subModel.WanderCompleteData = DateTime.Now;
+ }
+ else
+ {
+ subModel.WanderIsComplete = 0;
+ subModel.WanderCompleteData = null;
+ }
}
Funs.DB.SubmitChanges();
BindGrid();
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs
index 92c5f135..00f2f955 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutList.aspx.cs
@@ -8,6 +8,7 @@ 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
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx
new file mode 100644
index 00000000..58cab99b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx
@@ -0,0 +1,144 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SiteImplementation.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SiteImplementation" %>
+
+
+
+
+
+ 现场实施
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx.cs
new file mode 100644
index 00000000..4bcc6142
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx.cs
@@ -0,0 +1,190 @@
+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 SiteImplementation : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string SubInspectId
+ {
+ get { return (string)ViewState["SubInspectId"]; }
+ set { ViewState["SubInspectId"] = value; }
+ }
+
+ ///
+ /// 是否查看
+ ///
+ public bool IsView
+ {
+ get { return (bool)ViewState["IsView"]; }
+ set { ViewState["IsView"] = value; }
+ }
+
+ ///
+ /// 附件
+ ///
+ public int RecordUpload
+ {
+ get { return (int)ViewState["RecordUpload"]; }
+ set { ViewState["RecordUpload"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.SubInspectId = Request["SubInspectId"];
+ //是否查看
+ this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
+ //数据绑定
+ PageInit();
+ //判断是否查看
+ if (IsView)
+ {
+ btnSubmit.Hidden = true;
+ RecordUpload = -1;
+ }
+ }
+ }
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ RecordUpload = 0;
+ //获取检查表数据
+ var data = from a in Funs.DB.PreRun_SubInspectTerm
+ join b in Funs.DB.PreRun_WorkPackage on a.WorkPackId equals b.WorkPackId
+ join c in Funs.DB.Sys_User on a.AddUser equals c.UserId
+ join d in Funs.DB.Sys_User on a.Subcontractor equals d.UserId
+ join e in Funs.DB.Sys_User on a.Contractor equals e.UserId
+ join f in Funs.DB.Sys_User on a.Supervision equals f.UserId
+ join g in Funs.DB.Sys_User on a.Owner equals g.UserId
+ join h in Funs.DB.Base_Project on a.ProjectId equals h.ProjectId
+ where a.SubInspectId == this.SubInspectId
+ select new
+ {
+ a.SubInspectId,
+ a.ProjectId,
+ h.ProjectCode,
+ h.ProjectName,
+ a.WorkPackType,
+ WorkPackTypeName = a.WorkPackType == 1 ? "管道" : "设备",
+ b.WorkPackName,
+ InspectUser = c.UserName,
+ InspectData = a.AddTime,
+ SubcontractorName = d.UserName,
+ ContractorName = e.UserName,
+ SupervisionName = f.UserName,
+ OwnerName = g.UserName,
+ a.RecordUploadData,
+ a.SiteImplementConfirmData,
+ a.IsSiteImplement
+ };
+ if (data != null)
+ {
+ var inspectTermModel = data.FirstOrDefault();
+ lblProjectName.Text = inspectTermModel.ProjectName;
+ lblProjectCode.Text = inspectTermModel.ProjectCode;
+ lblWorkPackTypeName.Text = inspectTermModel.WorkPackTypeName;
+ lblWorkPackName.Text = inspectTermModel.WorkPackName;
+ lblInspectUser.Text = inspectTermModel.InspectUser;
+ lblInspectData.Text = inspectTermModel.InspectData != null ? inspectTermModel.InspectData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblSubcontractorName.Text = inspectTermModel.SubcontractorName;
+ lblContractorName.Text = inspectTermModel.ContractorName;
+ lblSupervisionName.Text = inspectTermModel.SupervisionName;
+ lblOwnerName.Text = inspectTermModel.OwnerName;
+ lblRecordUploadData.Text = inspectTermModel.RecordUploadData != null ? inspectTermModel.RecordUploadData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblSiteImplementConfirmData.Text = inspectTermModel.SiteImplementConfirmData != null ? inspectTermModel.SiteImplementConfirmData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ rblIsSiteImplement.SelectedValue = inspectTermModel.IsSiteImplement != null ? inspectTermModel.IsSiteImplement.ToString() : "0";
+ }
+ //获取检查项数据
+ var InspectTermItems = from a in Funs.DB.PreRun_SubInspectTermItem
+ where a.SubInspectId == this.SubInspectId
+ orderby a.Sort ascending
+ select new
+ {
+ a.TermItemId,
+ a.SubItemId,
+ a.WorkInspectName,
+ a.InspectionResults,
+ InspectionResultsName = a.InspectionResults == 1 ? "通过" : "未通过",
+ a.InspectionIllustrate
+ };
+ var itemDatas = InspectTermItems.ToList();
+ gvTermItem.DataSource = itemDatas;
+ gvTermItem.DataBind();
+ }
+
+ #region 按钮
+
+ ///
+ /// 保存并提交
+ ///
+ protected void btnSubmit_Click(object sender, EventArgs e)
+ {
+ var subModel = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
+ if (subModel != null)
+ {
+ subModel.IsSiteImplement = int.Parse(rblIsSiteImplement.SelectedValue);
+ if (!string.IsNullOrWhiteSpace(lblRecordUploadData.Text))
+ {
+ subModel.RecordUploadData = DateTime.Parse(lblRecordUploadData.Text);
+ subModel.SiteImplementUser = this.CurrUser.UserId;
+ }
+ else
+ {
+ subModel.RecordUploadData = null;
+ subModel.SiteImplementUser = string.Empty;
+ }
+ if (!string.IsNullOrWhiteSpace(lblSiteImplementConfirmData.Text))
+ {
+ subModel.SiteImplementConfirmData = DateTime.Parse(lblRecordUploadData.Text);
+ }
+ else
+ {
+ subModel.SiteImplementConfirmData = null;
+ }
+ }
+ Funs.DB.SubmitChanges();
+ ShowNotify("操作成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+
+ ///
+ /// 现场实施是否完成
+ ///
+ protected void rblIsSiteImplement_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ lblRecordUploadData.Text = rblIsSiteImplement.SelectedValue == "1" ? DateTime.Now.ToString("yyyy-MM-dd") : string.Empty;
+ }
+
+ ///
+ /// 试车过程记录上传
+ ///
+ protected void btnRecordUpload_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", this.RecordUpload, this.SubInspectId + "_xcss", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
+ {
+ lblSiteImplementConfirmData.Text = Funs.DB.AttachFile.Count(x => x.ToKeyId == this.SubInspectId + "_xcss" && x.AttachUrl != null && x.AttachUrl != "") > 0 ? DateTime.Now.ToString("yyyy-MM-dd") : string.Empty;
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx.designer.cs
new file mode 100644
index 00000000..92ec51fe
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementation.aspx.designer.cs
@@ -0,0 +1,251 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SiteImplementation
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// lblInspectUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectUser;
+
+ ///
+ /// lblInspectData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectData;
+
+ ///
+ /// lblSubcontractorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSubcontractorName;
+
+ ///
+ /// lblContractorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblContractorName;
+
+ ///
+ /// lblSupervisionName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSupervisionName;
+
+ ///
+ /// lblOwnerName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblOwnerName;
+
+ ///
+ /// rblIsSiteImplement 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.RadioButtonList rblIsSiteImplement;
+
+ ///
+ /// lblRecordUploadData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRecordUploadData;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// btnRecordUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnRecordUpload;
+
+ ///
+ /// lblSiteImplementConfirmData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSiteImplementConfirmData;
+
+ ///
+ /// plApprove2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove2;
+
+ ///
+ /// gvTermItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvTermItem;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnSubmit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSubmit;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx
new file mode 100644
index 00000000..a967ff20
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx
@@ -0,0 +1,158 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SiteImplementationList.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SiteImplementationList" %>
+
+
+
+
+
+
+
+
+ 现场实施
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx.cs
new file mode 100644
index 00000000..e18b349b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx.cs
@@ -0,0 +1,340 @@
+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 SiteImplementationList : 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.ProjectId == this.CurrUser.LoginProjectId && x.InspectionIsAllPass == 1 && x.WanderIsComplete == 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()
+ {
+ List listStr = new List();
+ string sqlStr = $"select a.SubInspectId,a.ProjectId,g.ProjectName,g.ProjectCode,a.WorkPackId,b.WorkPackName,a.WorkPackType,a.SubSystemId,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,c.UserName as SubcontractorName,d.UserName as ContractorName,e.UserName as SupervisionName,f.UserName as OwnerName,(case a.WorkPackType when 1 then (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, PipingCode) FROM (select proper.PipingCode from PreRun_PropertySysPiping as proper where proper.PropertyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) else (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, TagNumber) FROM (select technolog.TagNumber from PreRun_TechnologySysPiping as technolog where technolog.TechnologyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) end) as CodeStr,a.IsSiteImplement,(case a.IsSiteImplement when 1 then '已完成' else '未完成' end) as IsSiteImplementName,a.SiteImplementConfirmData,a.AddTime from PreRun_SubInspectTerm as a left join PreRun_WorkPackage as b on a.WorkPackId=b.WorkPackId left join Sys_User as c on c.UserId=a.Subcontractor left join Sys_User as d on d.UserId=a.Contractor left join Sys_User as e on e.UserId=a.Supervision left join Sys_User as f on f.UserId=a.Owner left join Base_Project as g on g.ProjectId=a.ProjectId where 1=1 and a.ProjectId=@projectid ";
+
+ listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 0)
+ {
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ sqlStr += $"and a.WorkPackId=@workPackId ";
+ listStr.Add(new SqlParameter("@workPackId", workPackId));
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 1)
+ {
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
+ sqlStr += $"and a.SubSystemId=@subSystemId ";
+ listStr.Add(new SqlParameter("@subSystemId", subSystemId));
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
+ {
+ var subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ sqlStr += $"and a.SubInspectId=@subInspectId ";
+ listStr.Add(new SqlParameter("@subInspectId", subInspectId));
+ }
+ //检查类型
+ if (!string.IsNullOrWhiteSpace(ddlWorkPackType.SelectedValue))
+ {
+ sqlStr += $"and a.WorkPackType=@workPackType ";
+ listStr.Add(new SqlParameter("@workPackType", ddlWorkPackType.SelectedValue));
+ }
+ //是否确认实施完成
+ if (!string.IsNullOrWhiteSpace(ddlIsSiteImplement.SelectedValue))
+ {
+ sqlStr += $"and isnull(a.IsSiteImplement,0)=@isSiteImplement ";
+ listStr.Add(new SqlParameter("@isSiteImplement", ddlIsSiteImplement.SelectedValue));
+ }
+ sqlStr += " order by a.SiteImplementConfirmData desc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(sqlStr, parameter);
+ 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 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;
+ }
+ if (Grid1.DataKeys[Grid1.SelectedRowIndex][1] != null)
+ {
+ if (Grid1.DataKeys[Grid1.SelectedRowIndex][1].ToString() == "1")
+ {
+ Alert.ShowInTop("现场实施已完成,无法确认现场实施!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SiteImplementation.aspx?SubInspectId={0}", Grid1.SelectedRowID, "现场实施 - ")));
+ }
+
+ ///
+ /// 右击确认现场实施完成
+ ///
+ protected void btnMenuConfirmation_Click(object sender, EventArgs e)
+ {
+ btnConfirmation_Click(null, null);
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 双击事件
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnConfirmation_Click(null, null);
+ }
+
+ ///
+ /// 查看
+ ///
+ protected void btnView_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("SiteImplementation.aspx?SubInspectId={0}&IsView=true", Grid1.SelectedRowID, "现场实施 - ")));
+ }
+
+ ///
+ /// 右击查看
+ ///
+ protected void btnMenuView_Click(object sender, EventArgs e)
+ {
+ btnView_Click(null, null);
+ }
+
+ #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/SiteImplementationList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx.designer.cs
new file mode 100644
index 00000000..7a6e70db
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SiteImplementationList.aspx.designer.cs
@@ -0,0 +1,188 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SiteImplementationList
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// ddlIsSiteImplement 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlIsSiteImplement;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnView;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuView;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
index 0364b276..8cb08df3 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
@@ -77,7 +77,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx
index 77c9b4ae..87882641 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx
@@ -47,7 +47,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx
index 4f2fc952..a37a8b77 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx
@@ -99,7 +99,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx.cs
index 2ca8fef5..187822b4 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermApproveList.aspx.cs
@@ -7,6 +7,7 @@ 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
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx
index 3fe8c3ef..b0d686e5 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx
@@ -99,7 +99,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx.cs
index bcbc0e7c..8ce606c5 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TailTermHandleList.aspx.cs
@@ -7,6 +7,7 @@ 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
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx
new file mode 100644
index 00000000..22b93d71
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx
@@ -0,0 +1,162 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestRunRecordUpload.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.TestRunRecordUpload" %>
+
+
+
+
+
+ 记录文件上传和任务单关闭
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.cs
new file mode 100644
index 00000000..8a704c9f
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.cs
@@ -0,0 +1,207 @@
+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 TestRunRecordUpload : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string SubInspectId
+ {
+ get { return (string)ViewState["SubInspectId"]; }
+ set { ViewState["SubInspectId"] = value; }
+ }
+
+ ///
+ /// 是否查看
+ ///
+ public bool IsView
+ {
+ get { return (bool)ViewState["IsView"]; }
+ set { ViewState["IsView"] = value; }
+ }
+
+ ///
+ /// 实施附件查看
+ ///
+ public int SiteImplement
+ {
+ get { return (int)ViewState["SiteImplement"]; }
+ set { ViewState["SiteImplement"] = value; }
+ }
+
+ ///
+ /// 附件
+ ///
+ public int RecordUpload
+ {
+ get { return (int)ViewState["RecordUpload"]; }
+ set { ViewState["RecordUpload"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.SubInspectId = Request["SubInspectId"];
+ //是否查看
+ this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
+ //数据绑定
+ PageInit();
+ //判断是否查看
+ if (IsView)
+ {
+ btnSubmit.Hidden = true;
+ SiteImplement = -1;
+ RecordUpload = -1;
+ }
+ }
+ }
+
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ SiteImplement = -1;
+ RecordUpload = 0;
+ //获取检查表数据
+ var data = from a in Funs.DB.PreRun_SubInspectTerm
+ join b in Funs.DB.PreRun_WorkPackage on a.WorkPackId equals b.WorkPackId
+ join c in Funs.DB.Sys_User on a.AddUser equals c.UserId
+ join d in Funs.DB.Sys_User on a.Subcontractor equals d.UserId
+ join e in Funs.DB.Sys_User on a.Contractor equals e.UserId
+ join f in Funs.DB.Sys_User on a.Supervision equals f.UserId
+ join g in Funs.DB.Sys_User on a.Owner equals g.UserId
+ join h in Funs.DB.Base_Project on a.ProjectId equals h.ProjectId
+ join i in Funs.DB.Sys_User on a.SiteImplementUser equals i.UserId
+ where a.SubInspectId == this.SubInspectId
+ select new
+ {
+ a.SubInspectId,
+ a.ProjectId,
+ h.ProjectCode,
+ h.ProjectName,
+ a.WorkPackType,
+ WorkPackTypeName = a.WorkPackType == 1 ? "管道" : "设备",
+ b.WorkPackName,
+ InspectUser = c.UserName,
+ InspectData = a.AddTime,
+ SubcontractorName = d.UserName,
+ ContractorName = e.UserName,
+ SupervisionName = f.UserName,
+ OwnerName = g.UserName,
+ a.RecordUploadData,
+ a.IsSiteImplement,
+ a.SiteImplementConfirmData,
+ SiteImplementName = i.UserName,
+ a.SiteImplementUser,
+ a.InspectIsClose,
+ a.InspectCloseData
+ };
+ if (data != null)
+ {
+ var inspectTermModel = data.FirstOrDefault();
+ lblProjectName.Text = inspectTermModel.ProjectName;
+ lblProjectCode.Text = inspectTermModel.ProjectCode;
+ lblWorkPackTypeName.Text = inspectTermModel.WorkPackTypeName;
+ lblWorkPackName.Text = inspectTermModel.WorkPackName;
+ lblInspectUser.Text = inspectTermModel.InspectUser;
+ lblInspectData.Text = inspectTermModel.InspectData != null ? inspectTermModel.InspectData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblSubcontractorName.Text = inspectTermModel.SubcontractorName;
+ lblContractorName.Text = inspectTermModel.ContractorName;
+ lblSupervisionName.Text = inspectTermModel.SupervisionName;
+ lblOwnerName.Text = inspectTermModel.OwnerName;
+ lblSiteImplementName.Text = inspectTermModel.SiteImplementName;
+ lblSiteImplementConfirmData.Text = inspectTermModel.SiteImplementConfirmData != null ? inspectTermModel.SiteImplementConfirmData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ rblInspectIsClose.SelectedValue = inspectTermModel.InspectIsClose != null ? inspectTermModel.InspectIsClose.ToString() : "0";
+ lblInspectCloseData.Text = inspectTermModel.InspectCloseData != null ? inspectTermModel.InspectCloseData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ }
+ //获取检查项数据
+ var InspectTermItems = from a in Funs.DB.PreRun_SubInspectTermItem
+ where a.SubInspectId == this.SubInspectId
+ orderby a.Sort ascending
+ select new
+ {
+ a.TermItemId,
+ a.SubItemId,
+ a.WorkInspectName,
+ a.InspectionResults,
+ InspectionResultsName = a.InspectionResults == 1 ? "通过" : "未通过",
+ a.InspectionIllustrate
+ };
+ var itemDatas = InspectTermItems.ToList();
+ gvTermItem.DataSource = itemDatas;
+ gvTermItem.DataBind();
+ }
+
+ #region 按钮
+
+ ///
+ /// 保存并提交
+ ///
+ protected void btnSubmit_Click(object sender, EventArgs e)
+ {
+ var subModel = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
+ if (subModel != null)
+ {
+ subModel.InspectIsClose = int.Parse(rblInspectIsClose.SelectedValue);
+ if (!string.IsNullOrWhiteSpace(lblInspectCloseData.Text))
+ {
+ subModel.InspectCloseData = DateTime.Parse(lblInspectCloseData.Text);
+ subModel.InspectIsCloseUser = this.CurrUser.UserId;
+ }
+ else
+ {
+ subModel.InspectCloseData = null;
+ subModel.InspectIsCloseUser = string.Empty;
+ }
+ }
+ Funs.DB.SubmitChanges();
+ ShowNotify("操作成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+
+ ///
+ /// 现场实施是否完成
+ ///
+ protected void rblInspectIsClose_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ lblInspectCloseData.Text = rblInspectIsClose.SelectedValue == "1" ? DateTime.Now.ToString("yyyy-MM-dd") : string.Empty;
+ }
+
+ ///
+ /// 试车记录上传
+ ///
+ protected void btnRecordUpload_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", this.RecordUpload, this.SubInspectId + "_scjlsc", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 现场实施记录查看
+ ///
+ protected void btnSiteImplement_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", this.SiteImplement, this.SubInspectId + "_xcss", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
+ {
+ lblSiteImplementConfirmData.Text = Funs.DB.AttachFile.Count(x => x.ToKeyId == this.SubInspectId + "_scjlsc" && x.AttachUrl != null && x.AttachUrl != "") > 0 ? DateTime.Now.ToString("yyyy-MM-dd") : string.Empty;
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.designer.cs
new file mode 100644
index 00000000..bfa4f69b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.designer.cs
@@ -0,0 +1,278 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class TestRunRecordUpload
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// lblInspectUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectUser;
+
+ ///
+ /// lblInspectData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectData;
+
+ ///
+ /// lblSubcontractorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSubcontractorName;
+
+ ///
+ /// lblContractorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblContractorName;
+
+ ///
+ /// lblSupervisionName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSupervisionName;
+
+ ///
+ /// lblOwnerName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblOwnerName;
+
+ ///
+ /// lblSiteImplementName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSiteImplementName;
+
+ ///
+ /// lblSiteImplementConfirmData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSiteImplementConfirmData;
+
+ ///
+ /// rblInspectIsClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.RadioButtonList rblInspectIsClose;
+
+ ///
+ /// lblInspectCloseData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectCloseData;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// btnSiteImplement 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSiteImplement;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// btnRecordUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnRecordUpload;
+
+ ///
+ /// plApprove2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove2;
+
+ ///
+ /// gvTermItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvTermItem;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnSubmit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSubmit;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx
new file mode 100644
index 00000000..10a10cee
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx
@@ -0,0 +1,158 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestRunRecordUploadList.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.TestRunRecordUploadList" %>
+
+
+
+
+
+
+
+
+ 试车记录上传
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.cs
new file mode 100644
index 00000000..aefff22d
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.cs
@@ -0,0 +1,341 @@
+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 TestRunRecordUploadList : 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.ProjectId == this.CurrUser.LoginProjectId && x.InspectionIsAllPass == 1 && x.IsSiteImplement == 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()
+ {
+ List listStr = new List();
+ string sqlStr = $"select a.SubInspectId,a.ProjectId,h.ProjectName,h.ProjectCode,a.WorkPackId,b.WorkPackName,a.WorkPackType,a.SubSystemId,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,c.UserName as SubcontractorName,d.UserName as ContractorName,e.UserName as SupervisionName,f.UserName as OwnerName,(case a.WorkPackType when 1 then (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, PipingCode) FROM (select proper.PipingCode from PreRun_PropertySysPiping as proper where proper.PropertyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) else (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, TagNumber) FROM (select technolog.TagNumber from PreRun_TechnologySysPiping as technolog where technolog.TechnologyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) end) as CodeStr,a.SiteImplementConfirmData,g.UserName as SiteImplementUserName,a.InspectIsClose,(case a.InspectIsClose when 1 then '已关闭' else '未关闭' end) as InspectIsCloseName,a.InspectCloseData from PreRun_SubInspectTerm as a left join PreRun_WorkPackage as b on a.WorkPackId=b.WorkPackId left join Sys_User as c on c.UserId=a.Subcontractor left join Sys_User as d on d.UserId=a.Contractor left join Sys_User as e on e.UserId = a.Supervision left join Sys_User as f on f.UserId = a.Owner left join Sys_User as g on g.UserId = a.SiteImplementUser left join Base_Project as h on h.ProjectId = a.ProjectId where IsSiteImplement = 1 and a.ProjectId=@projectid ";
+
+ listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 0)
+ {
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ sqlStr += $"and a.WorkPackId=@workPackId ";
+ listStr.Add(new SqlParameter("@workPackId", workPackId));
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 1)
+ {
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|')[1];
+ sqlStr += $"and a.SubSystemId=@subSystemId ";
+ listStr.Add(new SqlParameter("@subSystemId", subSystemId));
+ }
+ if (this.tvControlItem.SelectedNodeID.Split('|').Length > 2)
+ {
+ var subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ sqlStr += $"and a.SubInspectId=@subInspectId ";
+ listStr.Add(new SqlParameter("@subInspectId", subInspectId));
+ }
+ //检查类型
+ if (!string.IsNullOrWhiteSpace(ddlWorkPackType.SelectedValue))
+ {
+ sqlStr += $"and a.WorkPackType=@workPackType ";
+ listStr.Add(new SqlParameter("@workPackType", ddlWorkPackType.SelectedValue));
+ }
+ //是否确认实施完成
+ if (!string.IsNullOrWhiteSpace(ddlInspectIsClose.SelectedValue))
+ {
+ sqlStr += $"and isnull(a.InspectIsClose,0)=@inspectIsClose ";
+ listStr.Add(new SqlParameter("@inspectIsClose", ddlInspectIsClose.SelectedValue));
+ }
+ sqlStr += " order by a.InspectCloseData desc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(sqlStr, parameter);
+ 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 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 btnUploadRecord_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;
+ }
+ if (Grid1.DataKeys[Grid1.SelectedRowIndex][1] != null)
+ {
+ if (Grid1.DataKeys[Grid1.SelectedRowIndex][1].ToString() == "1")
+ {
+ Alert.ShowInTop("任务单已关闭,无法上传记录文件和关闭任务单处理!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestRunRecordUpload.aspx?SubInspectId={0}", Grid1.SelectedRowID, "试车记录上传 - ")));
+ }
+
+ ///
+ /// 右击上传记录文件
+ ///
+ protected void btnMenuUploadRecord_Click(object sender, EventArgs e)
+ {
+ btnUploadRecord_Click(null, null);
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 双击事件
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnUploadRecord_Click(null, null);
+ }
+
+ ///
+ /// 查看
+ ///
+ protected void btnView_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("TestRunRecordUpload.aspx?SubInspectId={0}&IsView=true", Grid1.SelectedRowID, "现场实施 - ")));
+ }
+
+ ///
+ /// 右击查看
+ ///
+ protected void btnMenuView_Click(object sender, EventArgs e)
+ {
+ btnView_Click(null, null);
+ }
+
+ #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/TestRunRecordUploadList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.designer.cs
new file mode 100644
index 00000000..57f75ae9
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.designer.cs
@@ -0,0 +1,188 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class TestRunRecordUploadList
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// ddlInspectIsClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlInspectIsClose;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnView;
+
+ ///
+ /// btnUploadRecord 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnUploadRecord;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuUploadRecord 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuUploadRecord;
+
+ ///
+ /// btnMenuView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuView;
+ }
+}
diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs
index 39004ead..251a35b5 100644
--- a/SGGL/Model/Model.cs
+++ b/SGGL/Model/Model.cs
@@ -263917,6 +263917,32 @@ namespace Model
private System.Nullable _OwnerIsAllPass;
+ private System.Nullable _SubcontractorAllPassData;
+
+ private System.Nullable _ContractorAllPassData;
+
+ private System.Nullable _SupervisionAllPassData;
+
+ private System.Nullable _OwnerAllPassData;
+
+ private System.Nullable _WanderIsComplete;
+
+ private System.Nullable _WanderCompleteData;
+
+ private System.Nullable _IsSiteImplement;
+
+ private string _SiteImplementUser;
+
+ private System.Nullable _SiteImplementConfirmData;
+
+ private System.Nullable _RecordUploadData;
+
+ private System.Nullable _InspectIsClose;
+
+ private string _InspectIsCloseUser;
+
+ private System.Nullable _InspectCloseData;
+
#region 可扩展性方法定义
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
@@ -263965,6 +263991,32 @@ namespace Model
partial void OnSupervisionIsAllPassChanged();
partial void OnOwnerIsAllPassChanging(System.Nullable value);
partial void OnOwnerIsAllPassChanged();
+ partial void OnSubcontractorAllPassDataChanging(System.Nullable value);
+ partial void OnSubcontractorAllPassDataChanged();
+ partial void OnContractorAllPassDataChanging(System.Nullable value);
+ partial void OnContractorAllPassDataChanged();
+ partial void OnSupervisionAllPassDataChanging(System.Nullable value);
+ partial void OnSupervisionAllPassDataChanged();
+ partial void OnOwnerAllPassDataChanging(System.Nullable value);
+ partial void OnOwnerAllPassDataChanged();
+ partial void OnWanderIsCompleteChanging(System.Nullable value);
+ partial void OnWanderIsCompleteChanged();
+ partial void OnWanderCompleteDataChanging(System.Nullable value);
+ partial void OnWanderCompleteDataChanged();
+ partial void OnIsSiteImplementChanging(System.Nullable value);
+ partial void OnIsSiteImplementChanged();
+ partial void OnSiteImplementUserChanging(string value);
+ partial void OnSiteImplementUserChanged();
+ partial void OnSiteImplementConfirmDataChanging(System.Nullable value);
+ partial void OnSiteImplementConfirmDataChanged();
+ partial void OnRecordUploadDataChanging(System.Nullable value);
+ partial void OnRecordUploadDataChanged();
+ partial void OnInspectIsCloseChanging(System.Nullable value);
+ partial void OnInspectIsCloseChanged();
+ partial void OnInspectIsCloseUserChanging(string value);
+ partial void OnInspectIsCloseUserChanged();
+ partial void OnInspectCloseDataChanging(System.Nullable value);
+ partial void OnInspectCloseDataChanged();
#endregion
public PreRun_SubInspectTerm()
@@ -264412,6 +264464,266 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubcontractorAllPassData", DbType="DateTime")]
+ public System.Nullable SubcontractorAllPassData
+ {
+ get
+ {
+ return this._SubcontractorAllPassData;
+ }
+ set
+ {
+ if ((this._SubcontractorAllPassData != value))
+ {
+ this.OnSubcontractorAllPassDataChanging(value);
+ this.SendPropertyChanging();
+ this._SubcontractorAllPassData = value;
+ this.SendPropertyChanged("SubcontractorAllPassData");
+ this.OnSubcontractorAllPassDataChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorAllPassData", DbType="DateTime")]
+ public System.Nullable ContractorAllPassData
+ {
+ get
+ {
+ return this._ContractorAllPassData;
+ }
+ set
+ {
+ if ((this._ContractorAllPassData != value))
+ {
+ this.OnContractorAllPassDataChanging(value);
+ this.SendPropertyChanging();
+ this._ContractorAllPassData = value;
+ this.SendPropertyChanged("ContractorAllPassData");
+ this.OnContractorAllPassDataChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SupervisionAllPassData", DbType="DateTime")]
+ public System.Nullable SupervisionAllPassData
+ {
+ get
+ {
+ return this._SupervisionAllPassData;
+ }
+ set
+ {
+ if ((this._SupervisionAllPassData != value))
+ {
+ this.OnSupervisionAllPassDataChanging(value);
+ this.SendPropertyChanging();
+ this._SupervisionAllPassData = value;
+ this.SendPropertyChanged("SupervisionAllPassData");
+ this.OnSupervisionAllPassDataChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OwnerAllPassData", DbType="DateTime")]
+ public System.Nullable OwnerAllPassData
+ {
+ get
+ {
+ return this._OwnerAllPassData;
+ }
+ set
+ {
+ if ((this._OwnerAllPassData != value))
+ {
+ this.OnOwnerAllPassDataChanging(value);
+ this.SendPropertyChanging();
+ this._OwnerAllPassData = value;
+ this.SendPropertyChanged("OwnerAllPassData");
+ this.OnOwnerAllPassDataChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WanderIsComplete", DbType="Int")]
+ public System.Nullable WanderIsComplete
+ {
+ get
+ {
+ return this._WanderIsComplete;
+ }
+ set
+ {
+ if ((this._WanderIsComplete != value))
+ {
+ this.OnWanderIsCompleteChanging(value);
+ this.SendPropertyChanging();
+ this._WanderIsComplete = value;
+ this.SendPropertyChanged("WanderIsComplete");
+ this.OnWanderIsCompleteChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WanderCompleteData", DbType="DateTime")]
+ public System.Nullable WanderCompleteData
+ {
+ get
+ {
+ return this._WanderCompleteData;
+ }
+ set
+ {
+ if ((this._WanderCompleteData != value))
+ {
+ this.OnWanderCompleteDataChanging(value);
+ this.SendPropertyChanging();
+ this._WanderCompleteData = value;
+ this.SendPropertyChanged("WanderCompleteData");
+ this.OnWanderCompleteDataChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSiteImplement", DbType="Int")]
+ public System.Nullable IsSiteImplement
+ {
+ get
+ {
+ return this._IsSiteImplement;
+ }
+ set
+ {
+ if ((this._IsSiteImplement != value))
+ {
+ this.OnIsSiteImplementChanging(value);
+ this.SendPropertyChanging();
+ this._IsSiteImplement = value;
+ this.SendPropertyChanged("IsSiteImplement");
+ this.OnIsSiteImplementChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteImplementUser", DbType="VarChar(50)")]
+ public string SiteImplementUser
+ {
+ get
+ {
+ return this._SiteImplementUser;
+ }
+ set
+ {
+ if ((this._SiteImplementUser != value))
+ {
+ this.OnSiteImplementUserChanging(value);
+ this.SendPropertyChanging();
+ this._SiteImplementUser = value;
+ this.SendPropertyChanged("SiteImplementUser");
+ this.OnSiteImplementUserChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SiteImplementConfirmData", DbType="DateTime")]
+ public System.Nullable SiteImplementConfirmData
+ {
+ get
+ {
+ return this._SiteImplementConfirmData;
+ }
+ set
+ {
+ if ((this._SiteImplementConfirmData != value))
+ {
+ this.OnSiteImplementConfirmDataChanging(value);
+ this.SendPropertyChanging();
+ this._SiteImplementConfirmData = value;
+ this.SendPropertyChanged("SiteImplementConfirmData");
+ this.OnSiteImplementConfirmDataChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RecordUploadData", DbType="DateTime")]
+ public System.Nullable RecordUploadData
+ {
+ get
+ {
+ return this._RecordUploadData;
+ }
+ set
+ {
+ if ((this._RecordUploadData != value))
+ {
+ this.OnRecordUploadDataChanging(value);
+ this.SendPropertyChanging();
+ this._RecordUploadData = value;
+ this.SendPropertyChanged("RecordUploadData");
+ this.OnRecordUploadDataChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InspectIsClose", DbType="Int")]
+ public System.Nullable InspectIsClose
+ {
+ get
+ {
+ return this._InspectIsClose;
+ }
+ set
+ {
+ if ((this._InspectIsClose != value))
+ {
+ this.OnInspectIsCloseChanging(value);
+ this.SendPropertyChanging();
+ this._InspectIsClose = value;
+ this.SendPropertyChanged("InspectIsClose");
+ this.OnInspectIsCloseChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InspectIsCloseUser", DbType="VarChar(50)")]
+ public string InspectIsCloseUser
+ {
+ get
+ {
+ return this._InspectIsCloseUser;
+ }
+ set
+ {
+ if ((this._InspectIsCloseUser != value))
+ {
+ this.OnInspectIsCloseUserChanging(value);
+ this.SendPropertyChanging();
+ this._InspectIsCloseUser = value;
+ this.SendPropertyChanged("InspectIsCloseUser");
+ this.OnInspectIsCloseUserChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InspectCloseData", DbType="DateTime")]
+ public System.Nullable InspectCloseData
+ {
+ get
+ {
+ return this._InspectCloseData;
+ }
+ set
+ {
+ if ((this._InspectCloseData != value))
+ {
+ this.OnInspectCloseDataChanging(value);
+ this.SendPropertyChanging();
+ this._InspectCloseData = value;
+ this.SendPropertyChanged("InspectCloseData");
+ this.OnInspectCloseDataChanged();
+ }
+ }
+ }
+
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;