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;