From 546e2764a131fbfdbf3a15c42952c5063a54b173 Mon Sep 17 00:00:00 2001
From: gaofei1985 <181547018@qq.com>
Date: Thu, 11 Apr 2024 14:11:04 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../版本日志/SGGLDB_WH_2024-04-10-bwj.sql | 48 ++
.../版本日志/SGGLDB_WH_2024-04-11-gaofei.sql | 183 +++++
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 112 +++
SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user | 2 +-
.../TestRun/Produce/InspectTailTermEdit.aspx | 181 +++++
.../Produce/InspectTailTermEdit.aspx.cs | 393 +++++++++++
.../InspectTailTermEdit.aspx.designer.cs | 269 ++++++++
.../TestRun/Produce/InspectTailTermList.aspx | 179 +++++
.../Produce/InspectTailTermList.aspx.cs | 314 +++++++++
.../InspectTailTermList.aspx.designer.cs | 215 ++++++
.../TestRun/Produce/InspectTemplate.aspx | 83 +++
.../TestRun/Produce/InspectTemplate.aspx.cs | 183 +++++
.../Produce/InspectTemplate.aspx.designer.cs | 179 +++++
.../TestRun/Produce/InspectTemplateEdit.aspx | 59 ++
.../Produce/InspectTemplateEdit.aspx.cs | 78 +++
.../InspectTemplateEdit.aspx.designer.cs | 134 ++++
.../Produce/InspectWanderAboutAllPass.aspx | 119 ++++
.../Produce/InspectWanderAboutAllPass.aspx.cs | 155 +++++
...InspectWanderAboutAllPass.aspx.designer.cs | 197 ++++++
.../InspectWanderAboutAllPassList.aspx | 127 ++++
.../InspectWanderAboutAllPassList.aspx.cs | 123 ++++
...ectWanderAboutAllPassList.aspx.designer.cs | 134 ++++
.../Produce/InspectWanderAboutConfirm.aspx | 137 ++++
.../Produce/InspectWanderAboutConfirm.aspx.cs | 649 ++++++++++++++++++
...InspectWanderAboutConfirm.aspx.designer.cs | 233 +++++++
.../Produce/InspectWanderAboutList.aspx | 129 ++++
.../Produce/InspectWanderAboutList.aspx.cs | 131 ++++
.../InspectWanderAboutList.aspx.designer.cs | 134 ++++
.../TestRun/Produce/SubInspectTerm.aspx | 122 ++++
.../TestRun/Produce/SubInspectTerm.aspx.cs | 353 ++++++++++
.../Produce/SubInspectTerm.aspx.designer.cs | 161 +++++
.../TestRun/Produce/SubWorkInspect.aspx | 112 +++
.../TestRun/Produce/SubWorkInspect.aspx.cs | 374 ++++++++++
.../Produce/SubWorkInspect.aspx.designer.cs | 125 ++++
.../TestRun/Produce/TailTermApprove.aspx | 153 +++++
.../TestRun/Produce/TailTermApprove.aspx.cs | 233 +++++++
.../Produce/TailTermApprove.aspx.designer.cs | 278 ++++++++
.../TestRun/Produce/TailTermApproveList.aspx | 136 ++++
.../Produce/TailTermApproveList.aspx.cs | 137 ++++
.../TailTermApproveList.aspx.designer.cs | 143 ++++
.../TestRun/Produce/TailTermHandle.aspx | 131 ++++
.../TestRun/Produce/TailTermHandle.aspx.cs | 193 ++++++
.../Produce/TailTermHandle.aspx.designer.cs | 260 +++++++
.../TestRun/Produce/TailTermHandleList.aspx | 137 ++++
.../Produce/TailTermHandleList.aspx.cs | 139 ++++
.../TailTermHandleList.aspx.designer.cs | 143 ++++
SGGL/FineUIPro.Web/Web.config | 2 +-
SGGL/FineUIPro.Web/common/main_new.aspx.cs | 18 +-
48 files changed, 8217 insertions(+), 13 deletions(-)
create mode 100644 DataBase/版本日志/SGGLDB_WH_2024-04-11-gaofei.sql
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.designer.cs
diff --git a/DataBase/版本日志/SGGLDB_WH_2024-04-10-bwj.sql b/DataBase/版本日志/SGGLDB_WH_2024-04-10-bwj.sql
index f19c9368..d3652eee 100644
--- a/DataBase/版本日志/SGGLDB_WH_2024-04-10-bwj.sql
+++ b/DataBase/版本日志/SGGLDB_WH_2024-04-10-bwj.sql
@@ -30,3 +30,51 @@ go
values('CCAFE438-A71E-41D9-A727-AC5A5C92D2A8','9EBA628D-E725-4A0B-B765-171F405D0821','',4)
go
+
+CREATE TABLE [dbo].[Driver_MeetingMinutes](
+ [MeetingMinutesId] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [MinutesCode] [nvarchar](50) NULL,
+ [MeetingType] [nchar](10) NULL,
+ [CompileMan] [nvarchar](50) NULL,
+ [CompileDate] [datetime] NULL,
+ [Statues] [nvarchar](50) NULL,
+ CONSTRAINT [PK_Driver_MeetingMinutes] PRIMARY KEY CLUSTERED
+(
+ [MeetingMinutesId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[Driver_MeetingMinutes] WITH CHECK ADD CONSTRAINT [FK_Driver_MeetingMinutes_Base_Project] FOREIGN KEY([ProjectId])
+REFERENCES [dbo].[Base_Project] ([ProjectId])
+GO
+
+ALTER TABLE [dbo].[Driver_MeetingMinutes] CHECK CONSTRAINT [FK_Driver_MeetingMinutes_Base_Project]
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes', @level2type=N'COLUMN',@level2name=N'MeetingMinutesId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes', @level2type=N'COLUMN',@level2name=N'ProjectId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ҫ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes', @level2type=N'COLUMN',@level2name=N'MinutesCode'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ͣ1-Ȼᣬ2-ᣬ3-רᣩ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes', @level2type=N'COLUMN',@level2name=N'MeetingType'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes', @level2type=N'COLUMN',@level2name=N'CompileMan'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes', @level2type=N'COLUMN',@level2name=N'CompileDate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'״̬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes', @level2type=N'COLUMN',@level2name=N'Statues'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ҫ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Driver_MeetingMinutes'
+GO
+
+
diff --git a/DataBase/版本日志/SGGLDB_WH_2024-04-11-gaofei.sql b/DataBase/版本日志/SGGLDB_WH_2024-04-11-gaofei.sql
new file mode 100644
index 00000000..63297c6b
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2024-04-11-gaofei.sql
@@ -0,0 +1,183 @@
+--cd C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
+--SqlMetal /views /server:wq /database:SGGLDB_WH /code:C:\Model.cs /namespace:Model
+
+delete Sys_Menu where MenuId='AC5BC922-FA5E-4141-8458-7DE89434A8E7'
+delete Sys_Menu where MenuId='BEAE1E66-5783-489B-A268-F46491AE1257'
+delete Sys_Menu where MenuId='D8DF6DDB-3CDD-41C0-B374-1AAE40802B68'
+delete Sys_Menu where MenuId='C2E827C4-6E04-4EB6-8E51-B43FCBD3753F'
+delete Sys_Menu where MenuId='AF4EEC31-73E9-4F36-BEA7-2A92468F324E'
+delete Sys_Menu where MenuId='7400F47B-3F45-4142-B21F-3BECCABBB202'
+delete Sys_Menu where MenuId='F2D170C3-6CA5-439D-8CC7-81E4FB906B1F'
+delete Sys_Menu where MenuId='A7BBF5F1-F145-43D1-9227-7EC24099BBEC'
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('AC5BC922-FA5E-4141-8458-7DE89434A8E7','ģ',null,'TestRun/Produce/InspectTemplate.aspx',2,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('BEAE1E66-5783-489B-A268-F46491AE1257','ܿ˹',null,'TestRun/Produce/SubInspectTerm.aspx',3,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('D8DF6DDB-3CDD-41C0-B374-1AAE40802B68','ܿȷ',null,'TestRun/Produce/SubWorkInspect.aspx',4,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('C2E827C4-6E04-4EB6-8E51-B43FCBD3753F','β',null,'TestRun/Produce/InspectTailTermList.aspx',5,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('AF4EEC31-73E9-4F36-BEA7-2A92468F324E','β',null,'TestRun/Produce/TailTermHandleList.aspx',6,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('7400F47B-3F45-4142-B21F-3BECCABBB202','β',null,'TestRun/Produce/TailTermApproveList.aspx',7,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('F2D170C3-6CA5-439D-8CC7-81E4FB906B1F','ǩ',null,'TestRun/Produce/InspectWanderAboutList.aspx',8,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('A7BBF5F1-F145-43D1-9227-7EC24099BBEC','תȫͨ',null,'TestRun/Produce/InspectWanderAboutAllPassList.aspx',9,'F4827DE7-FDA6-42B6-A495-616EEFC4C8A5','Menu_TestRun',0,1,1)
+go
+
+--==ܿģϢ
+if object_id(N'ProduceRun_WorkInspectTemplate',N'U') is not null
+drop table dbo.ProduceRun_WorkInspectTemplate
+CREATE TABLE dbo.ProduceRun_WorkInspectTemplate(
+ WorkInspectId varchar(50) NOT NULL,--
+ WorkInspectName varchar(500) NULL,--
+ Remark nvarchar(150) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_ProduceRun_WorkInspectTemplate PRIMARY KEY CLUSTERED
+(
+ WorkInspectId ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+--==ܿ
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='A95825BD-709E-46DB-AEFD-1E7C9C1BF524'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='55CB964B-A82A-4BBC-BC2D-040E31C7CC36'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='EE35FF88-6E30-4797-AE46-0623B9BD3E81'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='C679A7B8-4244-42E5-96C8-B5A941FF5130'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='30470FF1-0BA2-4DE0-8CDB-DF812C0AC4B8'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='E369582C-25FB-49EF-B3ED-4A7EDF8CA61C'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='2255D8C6-B12D-4035-B56A-11A5815B7C4F'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='015D647D-ECB4-4252-BA9E-C60190D63F0A'
+delete ProduceRun_WorkInspectTemplate where WorkInspectId='6CDFE6DD-E113-4A07-B5F4-083343672A9E'
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('A95825BD-709E-46DB-AEFD-1E7C9C1BF524','ڹ涨ĸ±¶ѾָѴȶ״̬','','',GETDATE(),1)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('55CB964B-A82A-4BBC-BC2D-040E31C7CC36','ȫװôȶ״̬','','',GETDATE(),2)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('EE35FF88-6E30-4797-AE46-0623B9BD3E81','˷ƶ','','',GETDATE(),3)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('C679A7B8-4244-42E5-96C8-B5A941FF5130','רùߺDZ뱸УϸЧڡ','','',GETDATE(),4)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('30470FF1-0BA2-4DE0-8CDB-DF812C0AC4B8','Ա֯ȷʵ','','',GETDATE(),5)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('E369582C-25FB-49EF-B3ED-4A7EDF8CA61C','ĿĿȷ','','',GETDATE(),6)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('2255D8C6-B12D-4035-B56A-11A5815B7C4F','ԭϡȼϡѧҩƷļҪ','','',GETDATE(),7)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('015D647D-ECB4-4252-BA9E-C60190D63F0A','ˮ硢ԭϡȼϡѧҩƷȷȶӦ','','',GETDATE(),8)
+INSERT INTO dbo.ProduceRun_WorkInspectTemplate(WorkInspectId,WorkInspectName,Remark,AddUser,AddTime,Sort)
+VALUES('6CDFE6DD-E113-4A07-B5F4-083343672A9E','ԿDZװͶȶС','','',GETDATE(),9)
+go
+
+--==
+if object_id(N'ProduceRun_SubInspectTerm',N'U') is not null
+drop table dbo.ProduceRun_SubInspectTerm
+CREATE TABLE dbo.ProduceRun_SubInspectTerm(
+ SubInspectId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ Contractor varchar(50) null,--а
+ Owner varchar(50) null,--ҵ
+ ProcessPatent varchar(50) null,--ר
+ ContractorIsAllPass int NULL,--аǷͨ0/null:δͨ 1:ͨ
+ OwnerIsAllPass int NULL,--ҵǷͨ0/null:δͨ 1:ͨ
+ ProcessPatentIsAllPass int NULL,--רǷͨ0/null:δͨ 1:ͨ
+ ContractorAllPassData datetime null,--аͨ
+ OwnerAllPassData datetime null,--ҵͨ
+ ProcessPatentAllPassData datetime null,--רͨ
+ InspectionIsAllPass int NULL,--0/null:δͨ 1:ͨ
+ WanderIsComplete int null,--תǷȫͨ0:δͨ1:ͨ
+ WanderCompleteData datetime null,--ת
+ IsUnifyWanderAbout int null,--Ƿͳһת0:1:
+ UnifyWanderAboutData datetime null,--ͳһתʱ
+ UnifyWanderAboutOpinion varchar(max) null,--ͳһתע
+ InspectIsClose int null,--Ƿر0:δر1:ѹر
+ InspectCloseData datetime null,--ر
+ InspectTime datetime NULL,--ʱ
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ CONSTRAINT PK_ProduceRun_SubInspectTerm PRIMARY KEY CLUSTERED
+(
+ SubInspectId ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+--==
+if object_id(N'ProduceRun_SubInspectTermItem',N'U') is not null
+drop table dbo.ProduceRun_SubInspectTermItem
+CREATE TABLE dbo.ProduceRun_SubInspectTermItem(
+ TermItemId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ SubInspectId varchar(50) NULL,--
+ GroupName varchar(50) NULL,--
+ WorkInspectId varchar(50) NOT NULL,--ģ
+ WorkInspectName varchar(500) NULL,--
+ InspectedUser varchar(50) NULL,--
+ InspectionResults int NULL,--0:δͨ 1:ͨ
+ InspectionIllustrate varchar(200) NULL,--˵
+ Contractor varchar(50) null,--а
+ Owner varchar(50) null,--ҵ
+ ProcessPatent varchar(50) null,--ר
+ ContractorIsPass int NULL,--аǷͨ0/null:δͨ 1:ͨ
+ OwnerIsPass int NULL,--ҵǷͨ0/null:δͨ 1:ͨ
+ ProcessPatentIsPass int NULL,--רǷͨ0/null:δͨ 1:ͨ
+ ContractorRemark varchar(1000) NULL,--а̱ע
+ OwnerRemark varchar(1000) NULL,--ҵע
+ ProcessPatentRemark varchar(1000) NULL,--ר̱ע
+ Remark varchar(200) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_ProduceRun_SubInspectTermItem PRIMARY KEY CLUSTERED
+(
+ TermItemId ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+--==β
+if object_id(N'ProduceRun_InspectTailTerm',N'U') is not null
+drop table dbo.ProduceRun_InspectTailTerm
+CREATE TABLE dbo.ProduceRun_InspectTailTerm(
+ TailTermId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ ProjectName varchar(50) NULL,--Ŀ
+ TailTermCode varchar(50) NULL,--Ѳ
+ ConstructionUnit varchar(50) NULL,--ʩλ
+ SubInspectId varchar(50) NULL,--
+ TermItemId varchar(50) NULL,--
+ QuestionDesc varchar(max) NULL,--
+ RectifyOpinion varchar(max) NULL,--
+ RectifyTime datetime NULL,--βʱ
+ InspectUser varchar(50) NULL,--
+ HandleUser varchar(50) NULL,--
+ ApproveUser varchar(50) NULL,--
+ AdjustCompleteTime datetime NULL,--Ҫʱ
+ ApproveState int NULL,--0:ύ1:2:˻3:˻4:5:ͨ
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ CONSTRAINT PK_ProduceRun_InspectTailTerm PRIMARY KEY CLUSTERED
+(
+ TailTermId ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+--==/˼¼
+if object_id(N'ProduceRun_InspectTermApproveRecords',N'U') is not null
+drop table dbo.ProduceRun_InspectTermApproveRecords
+CREATE TABLE dbo.ProduceRun_InspectTermApproveRecords(
+ InspectTermId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ TermItemId varchar(50) NULL,--
+ TailTermId varchar(50) NULL,--β
+ ApproveOpinion varchar(max) NULL,--
+ ApproveTime datetime NULL,--ʱ
+ ApproveUser varchar(50) NULL,--
+ ApproveType int NULL,--¼0:¼1:˼¼
+ ApproveState int NULL,--0:˻1:ͨ
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ CONSTRAINT PK_ProduceRun_InspectTermApproveRecords PRIMARY KEY CLUSTERED
+(
+ InspectTermId ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 26f4b6d6..3bace61e 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1872,6 +1872,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -16724,6 +16738,104 @@
TestRunReportEdit.aspx
+
+ InspectTailTermEdit.aspx
+ ASPXCodeBehind
+
+
+ InspectTailTermEdit.aspx
+
+
+ InspectTailTermList.aspx
+ ASPXCodeBehind
+
+
+ InspectTailTermList.aspx
+
+
+ InspectTemplate.aspx
+ ASPXCodeBehind
+
+
+ InspectTemplate.aspx
+
+
+ InspectTemplateEdit.aspx
+ ASPXCodeBehind
+
+
+ InspectTemplateEdit.aspx
+
+
+ InspectWanderAboutAllPass.aspx
+ ASPXCodeBehind
+
+
+ InspectWanderAboutAllPass.aspx
+
+
+ InspectWanderAboutAllPassList.aspx
+ ASPXCodeBehind
+
+
+ InspectWanderAboutAllPassList.aspx
+
+
+ InspectWanderAboutConfirm.aspx
+ ASPXCodeBehind
+
+
+ InspectWanderAboutConfirm.aspx
+
+
+ InspectWanderAboutList.aspx
+ ASPXCodeBehind
+
+
+ InspectWanderAboutList.aspx
+
+
+ SubInspectTerm.aspx
+ ASPXCodeBehind
+
+
+ SubInspectTerm.aspx
+
+
+ SubWorkInspect.aspx
+ ASPXCodeBehind
+
+
+ SubWorkInspect.aspx
+
+
+ TailTermApprove.aspx
+ ASPXCodeBehind
+
+
+ TailTermApprove.aspx
+
+
+ TailTermApproveList.aspx
+ ASPXCodeBehind
+
+
+ TailTermApproveList.aspx
+
+
+ TailTermHandle.aspx
+ ASPXCodeBehind
+
+
+ TailTermHandle.aspx
+
+
+ TailTermHandleList.aspx
+ ASPXCodeBehind
+
+
+ TailTermHandleList.aspx
+
FourDecisionSchedule.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user
index 9e91deff..63ca13cc 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj.user
@@ -1,7 +1,7 @@
- Debug|Any CPU
+ Release|Any CPU
true
false
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx
new file mode 100644
index 00000000..f922822d
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx
@@ -0,0 +1,181 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTailTermEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectTailTermEdit" %>
+
+
+
+
+
+ 质量巡检
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.cs
new file mode 100644
index 00000000..c5165940
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.cs
@@ -0,0 +1,393 @@
+using BLL;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class InspectTailTermEdit : PageBase
+ {
+ ///
+ /// 检查表尾项主键
+ ///
+ public string TailTermId
+ {
+ get { return (string)ViewState["TailTermId"]; }
+ set { ViewState["TailTermId"] = value; }
+ }
+
+ ///
+ /// 检查项主键
+ ///
+ public string TermItemId
+ {
+ get { return (string)ViewState["TermItemId"]; }
+ set { ViewState["TermItemId"] = value; }
+ }
+
+ ///
+ /// 是否查看
+ ///
+ public bool IsView
+ {
+ get { return (bool)ViewState["IsView"]; }
+ set { ViewState["IsView"] = value; }
+ }
+
+ ///
+ /// 问题图片是否可编辑
+ ///
+ public int QuestionEditImg
+ {
+ get { return (int)ViewState["QuestionEditImg"]; }
+ set { ViewState["QuestionEditImg"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.TailTermId = Request["TailTermId"];
+ this.TermItemId = Request["TermItemId"];
+ //是否查看
+ this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
+ //数据绑定
+ PageInit();
+ //处理和审批意见绑定
+ gvRecordBrid();
+ //判断是否查看
+ if (IsView)
+ {
+ btnSave.Hidden = true;
+ btnSubmit.Hidden = true;
+ QuestionEditImg = -1;
+ txtTailTermCode.Enabled = false;
+ ddlConstructionUnit.Enabled = false;
+ ddlTermItemId.Enabled = false;
+ txtQuestionDesc.Enabled = false;
+ txtRectifyOpinion.Enabled = false;
+ ddlApproveUser.Enabled = false;
+ ddlHandleUser.Enabled = false;
+ }
+ }
+ }
+
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ QuestionEditImg = 0;
+ //施工单位
+ UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlConstructionUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false);
+ //检查人绑定
+ var userList = from user in Funs.DB.Sys_User
+ join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
+ where projectrole.ProjectId == this.CurrUser.LoginProjectId
+ select user;
+ var userids = new List() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
+ var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
+ var users = userList.ToList();
+ if (addUserList.Count() > 0)
+ {
+ users.AddRange(addUserList);
+ }
+ //检查人和审核人
+ if (users.Count() > 0)
+ {
+ //处理人
+ ddlHandleUser.DataTextField = "UserName";
+ ddlHandleUser.DataValueField = "UserId";
+ ddlHandleUser.DataSource = users;
+ ddlHandleUser.DataBind();
+ ddlHandleUser.SelectedValue = this.CurrUser.UserId;
+ //审核人
+ ddlApproveUser.DataTextField = "UserName";
+ ddlApproveUser.DataValueField = "UserId";
+ ddlApproveUser.DataSource = users;
+ ddlApproveUser.DataBind();
+ ddlApproveUser.SelectedValue = this.CurrUser.UserId;
+ }
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
+ if (model != null)
+ {
+ //项目名称
+ txtProjectName.Text = model.ProjectName;
+ //巡检编号
+ txtTailTermCode.Text = model.TailTermCode;
+ //施工单位
+ ddlConstructionUnit.SelectedValue = model.ConstructionUnit;
+ //提出人
+ var inspectModel = users.FirstOrDefault(x => x.UserId == model.InspectUser);
+ if (inspectModel != null)
+ {
+ lblInspectUser.Text = inspectModel.UserName;
+ hidInspectUserId.Text = inspectModel.UserId;
+ }
+ //绑定检查项
+ var list = Funs.DB.ProduceRun_SubInspectTermItem.Where(x => x.InspectionResults == 0 && x.InspectedUser == this.CurrUser.UserId).ToList();
+ if (list.Count() > 0)
+ {
+ ddlTermItemId.DataTextField = "WorkInspectName";
+ ddlTermItemId.DataValueField = "TermItemId";
+ ddlTermItemId.DataSource = list;
+ ddlTermItemId.DataBind();
+ }
+ //检查项
+ ddlTermItemId.SelectedValue = model.TermItemId;
+ //问题描述
+ txtQuestionDesc.Text = model.QuestionDesc;
+ //整改意见
+ txtRectifyOpinion.Text = model.RectifyOpinion;
+ //提出时间
+ lblRectifyTime.Text = model.RectifyTime != null ? model.RectifyTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ //处理人
+ ddlHandleUser.SelectedValue = model.HandleUser;
+ //审核人
+ ddlApproveUser.SelectedValue = model.ApproveUser;
+ //整改完成日期
+ txtAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ if (model.ApproveState > 1)
+ {
+ QuestionEditImg = -1;
+ }
+ }
+ else
+ {
+ this.TailTermId = Guid.NewGuid().ToString();
+ var projectModel = Funs.DB.Base_Project.FirstOrDefault(e => e.ProjectId == this.CurrUser.LoginProjectId);
+ if (projectModel != null)
+ {
+ txtProjectName.Text = projectModel.ProjectName;
+ string code = projectModel.ProjectCode + "-06-CM03-XJ-";
+ txtTailTermCode.Text = SQLHelper.RunProcNewId("SpGetNewCode5", "dbo.ProduceRun_InspectTailTerm", "TailTermCode", code);
+ }
+ if (!string.IsNullOrWhiteSpace(this.TermItemId))
+ {
+ var itemTerm = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.InspectedUser == this.CurrUser.UserId && x.TermItemId == this.TermItemId);
+ if (itemTerm != null)
+ {
+ var list = Funs.DB.ProduceRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId && (x.InspectionResults == 0 || x.TermItemId == this.TermItemId));
+ ddlTermItemId.Items.Clear();
+ if (list.Count() > 0)
+ {
+ ddlTermItemId.DataTextField = "WorkInspectName";
+ ddlTermItemId.DataValueField = "TermItemId";
+ ddlTermItemId.DataSource = list;
+ ddlTermItemId.DataBind();
+ }
+ else
+ {
+ ddlTermItemId.Items.Insert(0, new ListItem("==无数据==", ""));
+ }
+
+ //检查项
+ ddlTermItemId.SelectedValue = itemTerm.TermItemId;
+ //提出人
+ var inspectModel = users.FirstOrDefault(x => x.UserId == itemTerm.InspectedUser);
+ if (inspectModel != null)
+ {
+ lblInspectUser.Text = inspectModel.UserName;
+ hidInspectUserId.Text = inspectModel.UserId;
+ }
+ //提出时间
+ lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
+ }
+ }
+ }
+ }
+
+ ///
+ /// 处理和审批意见绑定
+ ///
+ public void gvRecordBrid()
+ {
+ string strSql = @"select a.InspectTermId,a.ApproveOpinion,a.ApproveTime,a.ApproveType,a.ApproveState,(case a.ApproveType when 0 then (case a.ApproveState when 0 then '处理退回' when 1 then '处理通过' else '' end) else (case a.ApproveState when 0 then '审批退回' when 1 then '审批通过' else '' end) end) as ApproveStateName,b.ConstructionUnit,d.UnitName as ConstructionUnitName,a.AddUser,a.AddTime from ProduceRun_InspectTermApproveRecords as a inner join ProduceRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join ProduceRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Unit as d on d.UnitId=b.ConstructionUnit where 1=1 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@TailTermId", this.TailTermId));
+ strSql += " order by a.AddTime asc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ //处理意见
+ var handleTb = tb.AsEnumerable().Where(row => row.Field("ApproveType") == 0);
+ gvHandle.DataSource = handleTb;
+ gvHandle.DataBind();
+ //审批意见
+ var approveTb = tb.AsEnumerable().Where(row => row.Field("ApproveType") == 1);
+ gvApprove.DataSource = approveTb;
+ gvApprove.DataBind();
+ }
+
+ #region 按钮
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
+ {
+ ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
+ {
+ ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
+ {
+ ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
+ {
+ ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
+ return;
+ }
+ var isAdd = false;
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
+ if (model == null)
+ {
+ isAdd = true;
+ model = new ProduceRun_InspectTailTerm();
+ model.TailTermId = this.TailTermId;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ }
+ model.ProjectName = txtProjectName.Text;
+ model.TailTermCode = txtTailTermCode.Text;
+ model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
+ model.TermItemId = ddlTermItemId.SelectedValue;
+ model.QuestionDesc = txtQuestionDesc.Text.Trim();
+ model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
+ model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
+ model.InspectUser = hidInspectUserId.Text;
+ model.HandleUser = ddlHandleUser.SelectedValue;
+ model.ApproveUser = ddlApproveUser.SelectedValue;
+ model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
+ model.ApproveState = 0;
+ model.AddUser = this.CurrUser.LoginProjectId;
+ model.AddTime = DateTime.Now;
+ if (isAdd)
+ {
+ Funs.DB.ProduceRun_InspectTailTerm.InsertOnSubmit(model);
+ }
+ //判断尾项是否保存
+ var itemModel = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == this.TermItemId && x.InspectedUser == this.CurrUser.UserId);
+ if (itemModel != null) itemModel.InspectionResults = 0;
+ Funs.DB.SubmitChanges();
+ ShowNotify("操作成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+
+ ///
+ /// 保存并提交
+ ///
+ protected void btnSubmit_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrWhiteSpace(ddlConstructionUnit.SelectedValue))
+ {
+ ShowNotify("请选择施工单位!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlTermItemId.SelectedValue))
+ {
+ ShowNotify("请选择检查项!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlHandleUser.SelectedValue))
+ {
+ ShowNotify("请选择处理人!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlApproveUser.SelectedValue))
+ {
+ ShowNotify("请选择审核人!", MessageBoxIcon.Warning);
+ return;
+ }
+ var isAdd = false;
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
+ if (model == null)
+ {
+ isAdd = true;
+ model = new ProduceRun_InspectTailTerm();
+ model.TailTermId = this.TailTermId;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ }
+ model.ProjectName = txtProjectName.Text;
+ model.TailTermCode = txtTailTermCode.Text;
+ model.ConstructionUnit = ddlConstructionUnit.SelectedValue;
+ model.TermItemId = ddlTermItemId.SelectedValue;
+ model.QuestionDesc = txtQuestionDesc.Text.Trim();
+ model.RectifyOpinion = txtRectifyOpinion.Text.Trim();
+ model.RectifyTime = DateTime.Parse(lblRectifyTime.Text);
+ model.InspectUser = hidInspectUserId.Text;
+ model.HandleUser = ddlHandleUser.SelectedValue;
+ model.ApproveUser = ddlApproveUser.SelectedValue;
+ model.AdjustCompleteTime = DateTime.Parse(txtAdjustCompleteTime.Text);
+ model.ApproveState = 1;
+ model.AddUser = this.CurrUser.LoginProjectId;
+ model.AddTime = DateTime.Now;
+ if (isAdd)
+ {
+ Funs.DB.ProduceRun_InspectTailTerm.InsertOnSubmit(model);
+ }
+ //判断尾项是否保存
+ var itemModel = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == this.TermItemId && x.InspectedUser == this.CurrUser.UserId);
+ if (itemModel != null) itemModel.InspectionResults = 0;
+ Funs.DB.SubmitChanges();
+ ShowNotify("操作成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+
+ ///
+ /// 问题图片
+ ///
+ protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
+ }
+
+ #endregion
+
+ #region 事件
+
+ ///
+ /// 检查项
+ ///
+ protected void ddlTermItemId_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ var itemUserTerm = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == ddlTermItemId.SelectedValue);
+ if (itemUserTerm != null)
+ {
+ //提出人
+ var inspectModel = Funs.DB.Sys_User.FirstOrDefault(x => x.UserId == itemUserTerm.InspectedUser);
+ if (inspectModel != null)
+ {
+ lblInspectUser.Text = inspectModel.UserName;
+ hidInspectUserId.Text = inspectModel.UserId;
+ }
+ //提出时间
+ lblRectifyTime.Text = DateTime.Now.ToString("yyyy-MM-dd");
+ }
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
+ {
+
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.designer.cs
new file mode 100644
index 00000000..e1b5a405
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermEdit.aspx.designer.cs
@@ -0,0 +1,269 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectTailTermEdit
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// txtProjectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectName;
+
+ ///
+ /// txtTailTermCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtTailTermCode;
+
+ ///
+ /// ddlConstructionUnit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlConstructionUnit;
+
+ ///
+ /// ddlTermItemId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlTermItemId;
+
+ ///
+ /// txtQuestionDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtQuestionDesc;
+
+ ///
+ /// txtRectifyOpinion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtRectifyOpinion;
+
+ ///
+ /// lblInspectUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectUser;
+
+ ///
+ /// lblRectifyTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRectifyTime;
+
+ ///
+ /// hidInspectUserId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hidInspectUserId;
+
+ ///
+ /// ddlHandleUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlHandleUser;
+
+ ///
+ /// ddlApproveUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlApproveUser;
+
+ ///
+ /// txtAdjustCompleteTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker txtAdjustCompleteTime;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// imgBtnQuestionFile 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button imgBtnQuestionFile;
+
+ ///
+ /// plApprove2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove2;
+
+ ///
+ /// gvHandle 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvHandle;
+
+ ///
+ /// plApprove3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove3;
+
+ ///
+ /// gvApprove 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvApprove;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// btnSubmit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSubmit;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx
new file mode 100644
index 00000000..72f26b14
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx
@@ -0,0 +1,179 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTailTermList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectTailTermList" %>
+
+
+
+
+
+
+
+
+ 检查表尾项管理
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.cs
new file mode 100644
index 00000000..6ee1cecd
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.cs
@@ -0,0 +1,314 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class InspectTailTermList : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ BindGrid();
+ }
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.HandleUser,g.UserName as HandleUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交处理' when 1 then '待处理' when 2 then '处理退回' when 3 then '审核退回' when 4 then '待审核' when 5 then '审核通过' else '' end) as ApproveStateName,a.AddTime,a.AdjustCompleteTime,DATEDIFF(DAY, GETDATE(),a.AdjustCompleteTime) as AdjustDiffDay from ProduceRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join ProduceRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser inner join Sys_User as g on g.UserId=a.HandleUser where 1=1 and a.ProjectId=@projectid and a.InspectUser=@InspectUser";
+
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@InspectUser", this.CurrUser.UserId));
+ //审核状态
+ if (!string.IsNullOrWhiteSpace(ddlApproveState.SelectedValue))
+ {
+ strSql += " and a.ApproveState=@ApproveState";
+ listStr.Add(new SqlParameter("@ApproveState", ddlApproveState.SelectedValue));
+ }
+ //开始时间
+ if (!string.IsNullOrWhiteSpace(txtStartTime.Text))
+ {
+ strSql += $" and a.RectifyTime>='{DateTime.Parse(txtStartTime.Text.Trim()).ToString("yyyy-MM-dd")} 00:00:00'";
+ }
+ //结束时间
+ if (!string.IsNullOrWhiteSpace(txtEndTime.Text))
+ {
+ strSql += $" and a.RectifyTime<='{DateTime.Parse(txtEndTime.Text.Trim()).ToString("yyyy-MM-dd")} 23:59:59'";
+ }
+ strSql += " order by a.AddTime asc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, 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 Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuModify_Click(null, null);
+ }
+
+ ///
+ /// 分页下拉框
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 行数据处理事件
+ ///
+ protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
+ {
+ DataRowView row = e.DataItem as DataRowView;
+
+ // 入学年份
+ int diffDay = Convert.ToInt32(row["AdjustDiffDay"]);
+ TemplateField AdjustDiffDay = Grid1.FindColumn("AdjustDiffDay") as TemplateField;
+ int approveState = int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString());
+ if (approveState != 5)
+ {
+ if (diffDay > 0)
+ {
+ e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color1";
+ }
+ else if (diffDay == 0)
+ {
+ e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color2";
+ }
+ else if (diffDay < 0)
+ {
+ e.CellAttributes[AdjustDiffDay.ColumnIndex]["data-color"] = "color3";
+ }
+ }
+ }
+
+ #endregion
+
+ #region 按钮
+
+ ///
+ /// 修改
+ ///
+ protected void btnMenuModify_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var passLs = new List() { 0, 2 };
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ if (!passLs.Contains(model.ApproveState.Value))
+ {
+ Alert.ShowInTop("只可编辑“待提交处理”和“处理退回”的记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}", Grid1.SelectedRowID, "编辑 - ")));
+ }
+
+ ///
+ /// 编辑
+ ///
+ protected void btnModify_Click(object sender, EventArgs e)
+ {
+ btnMenuModify_Click(null, null);
+ }
+
+ ///
+ /// 新增
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId=", "新增 - ")));
+ }
+
+ ///
+ /// 查看
+ ///
+ protected void btnMenuView_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?IsView=true&TailTermId={0}", Grid1.SelectedRowID, "查看 - ")));
+ }
+
+ ///
+ /// 删除
+ ///
+ protected void btnMenuDel_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ if (model.ApproveState != 0)
+ {
+ Alert.ShowInTop("只可删除待提交的记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ Funs.DB.ProduceRun_InspectTailTerm.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ Alert.ShowInTop("删除成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ ///
+ /// 查询
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 弹框关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 提交处理
+ ///
+ protected void btnSubmitReview_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var passLs = new List() { 0, 2 };
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ //0:待提交处理1:待处理2:处理退回3:审核退回4:待审核5:审核通过
+ if (!passLs.Contains(model.ApproveState.Value))
+ {
+ Alert.ShowInTop("只可提交“待提交处理”和“处理退回”的记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ model.ApproveState = 1;
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ Alert.ShowInTop("提交成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ ///
+ /// 撤回提交
+ ///
+ protected void btnwithdraw_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ //0:待提交处理1:待处理2:处理退回3:审核退回4:待审核5:审核通过
+ if (model.ApproveState != 1)
+ {
+ Alert.ShowInTop("只可撤回“待处理”的记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ model.ApproveState = 0;
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ Alert.ShowInTop("撤回成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ #endregion
+
+ #region 私有方法
+
+ ///
+ /// 是否逾期返回
+ ///
+ ///
+ public string IsOverdue(object diffDayVal, object approveStateVal)
+ {
+ var result = string.Empty;
+ var diffDay = 0;
+ var approveState = 0;
+ if (diffDayVal != null) diffDay = int.Parse(diffDayVal.ToString());
+ if (approveStateVal != null) approveStateVal = int.Parse(approveStateVal.ToString());
+ if (approveState != 5)
+ {
+ if (diffDay > 0)
+ {
+ result = "未逾期";
+ }
+ else if (diffDay == 0)
+ {
+ result = "即将逾期";
+ }
+ else if (diffDay < 0)
+ {
+ result = "已逾期";
+ }
+ }
+ else
+ {
+ result = "整改完毕";
+ }
+ return result;
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.designer.cs
new file mode 100644
index 00000000..4012a41b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTailTermList.aspx.designer.cs
@@ -0,0 +1,215 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectTailTermList
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ddlApproveState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlApproveState;
+
+ ///
+ /// txtStartTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker txtStartTime;
+
+ ///
+ /// txtEndTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker txtEndTime;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// btnModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnModify;
+
+ ///
+ /// btnSubmitReview 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSubmitReview;
+
+ ///
+ /// btnwithdraw 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnwithdraw;
+
+ ///
+ /// lblIsOverdue 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblIsOverdue;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuModify;
+
+ ///
+ /// btnMenuView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuView;
+
+ ///
+ /// btnMenuDel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDel;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx
new file mode 100644
index 00000000..98a90fe8
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx
@@ -0,0 +1,83 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTemplate.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectTemplate" %>
+
+
+
+
+
+ 工作包模板管理
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.cs
new file mode 100644
index 00000000..1f21741b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.cs
@@ -0,0 +1,183 @@
+using BLL;
+using Model;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class InspectTemplate : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.BindGrid();
+ }
+ }
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select * from ProduceRun_WorkInspectTemplate ";
+ List listStr = new List();
+ if (!string.IsNullOrWhiteSpace(txtsWorkInspectName.Text))
+ {
+ strSql += "and WorkInspectName like '%" + txtsWorkInspectName.Text + "%'";
+ }
+ strSql += " order by Sort asc";
+
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 搜索
+ ///
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 分页
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ ///
+ /// 分页下拉框事件
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 行按钮事件
+ ///
+ protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
+ {
+ if (e.CommandName == "Delete")
+ {
+ string rowID = e.RowID;
+ var model = Funs.DB.ProduceRun_WorkInspectTemplate.FirstOrDefault(p => p.WorkInspectId == rowID);
+ if (model != null)
+ {
+ Funs.DB.ProduceRun_WorkInspectTemplate.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("删除成功!");
+ }
+ else
+ {
+ ShowNotify("删除错误!");
+ }
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var rowid = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var add = false;
+ ProduceRun_WorkInspectTemplate model = Funs.DB.ProduceRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == rowid);
+ if (model == null)
+ {
+ add = true;
+ model = new ProduceRun_WorkInspectTemplate();
+ model.WorkInspectId = Guid.NewGuid().ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i;
+ }
+ model.WorkInspectName = values.Value("WorkInspectName");
+ model.Remark = values.Value("Remark");
+ if (add) Funs.DB.ProduceRun_WorkInspectTemplate.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ }
+ BindGrid();
+ ShowNotify("修改成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 新增
+ ///
+ protected void btnAdd_Click(object sender, EventArgs e)
+ {
+ this.hidSelectedNodeID.Text = string.Empty;
+ PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID)
+ + Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId=", "新增"));
+ }
+
+ ///
+ /// 编辑
+ ///
+ protected void btnEdit_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ ShowNotify("请选择一条数据!", MessageBoxIcon.Warning);
+ return;
+ }
+ var rowIndex = Grid1.SelectedRowIndex;
+ var rowId = Grid1.DataKeys[rowIndex][0].ToString();
+ this.hidSelectedNodeID.Text = string.Empty;
+ PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID)
+ + Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId={rowId}", "编辑"));
+ }
+
+ ///
+ /// 新增/编辑关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.designer.cs
new file mode 100644
index 00000000..3d165b5e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplate.aspx.designer.cs
@@ -0,0 +1,179 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectTemplate
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// txtsWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtsWorkInspectName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnAdd 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAdd;
+
+ ///
+ /// btnEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnEdit;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// hidSelectedNodeID 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox hidSelectedNodeID;
+
+ ///
+ /// txtWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtWorkInspectName;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtRemark;
+
+ ///
+ /// ToolbarSeparator2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
+
+ ///
+ /// ToolbarText2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText2;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx
new file mode 100644
index 00000000..760f6b06
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx
@@ -0,0 +1,59 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTemplateEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectTemplateEdit" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.cs
new file mode 100644
index 00000000..a181ad47
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.cs
@@ -0,0 +1,78 @@
+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.Produce
+{
+ public partial class InspectTemplateEdit : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string WorkInspectId
+ {
+ get { return (string)ViewState["WorkInspectId"]; }
+ set { ViewState["WorkInspectId"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.WorkInspectId = Request.Params["WorkInspectId"];
+ PageInit();
+ }
+ }
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ if (!string.IsNullOrWhiteSpace(this.WorkInspectId))
+ {
+ var model = Funs.DB.ProduceRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == this.WorkInspectId);
+ txtWorkInspectName.Text = model.WorkInspectName;
+ txtRemark.Text = model.Remark;
+ txtSort.Text = model.Sort != null ? model.Sort.ToString() : (Funs.DB.ProduceRun_WorkInspectTemplate.Count() + 1).ToString();
+ }
+ else
+ {
+ txtSort.Text = (Funs.DB.ProduceRun_WorkInspectTemplate.Count() + 1).ToString();
+ }
+ }
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var model = Funs.DB.ProduceRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == this.WorkInspectId);
+ if (model == null) model = new Model.ProduceRun_WorkInspectTemplate();
+ model.WorkInspectName = txtWorkInspectName.Text;
+ model.Remark = txtRemark.Text;
+ model.Sort = int.Parse(txtSort.Text);
+ if (string.IsNullOrWhiteSpace(this.WorkInspectId))
+ {
+ model.WorkInspectId = Guid.NewGuid().ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.ProduceRun_WorkInspectTemplate.InsertOnSubmit(model);
+ }
+ Funs.DB.SubmitChanges();
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(this.WorkInspectId) + ActiveWindow.GetHidePostBackReference());
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.designer.cs
new file mode 100644
index 00000000..31b90a1b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectTemplateEdit.aspx.designer.cs
@@ -0,0 +1,134 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectTemplateEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// hdAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdAttachUrl;
+
+ ///
+ /// hdId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdId;
+
+ ///
+ /// ContentPanel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ContentPanel ContentPanel2;
+
+ ///
+ /// Form2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form2;
+
+ ///
+ /// txtWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtWorkInspectName;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtRemark;
+
+ ///
+ /// txtSort 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtSort;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx
new file mode 100644
index 00000000..9355df32
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx
@@ -0,0 +1,119 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutAllPass.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectWanderAboutAllPass" %>
+
+
+
+
+
+ 全部通过
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.cs
new file mode 100644
index 00000000..3872d393
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.cs
@@ -0,0 +1,155 @@
+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.Produce
+{
+ public partial class InspectWanderAboutAllPass : PageBase
+ {
+ ///
+ /// 检查表主键
+ ///
+ public string SubInspectId
+ {
+ get { return (string)ViewState["SubInspectId"]; }
+ set { ViewState["SubInspectId"] = value; }
+ }
+
+ ///
+ /// 统一处理附件
+ ///
+ public int UnifyImg
+ {
+ get { return (int)ViewState["UnifyImg"]; }
+ set { ViewState["UnifyImg"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.UnifyImg = 0;
+ this.SubInspectId = Request["SubInspectId"];
+ PageInit();
+ }
+ }
+
+ ///
+ /// 绑定数据
+ ///
+ public void PageInit()
+ {
+ var data = from term in Funs.DB.ProduceRun_SubInspectTerm
+ join pro in Funs.DB.Base_Project on term.ProjectId equals pro.ProjectId
+ join ua in Funs.DB.Sys_User on term.Contractor equals ua.UserId
+ join ub in Funs.DB.Sys_User on term.Owner equals ub.UserId
+ join uc in Funs.DB.Sys_User on term.ProcessPatent equals uc.UserId
+ where term.SubInspectId == this.SubInspectId
+ select new
+ {
+ term.SubInspectId,
+ term.ProjectId,
+ pro.ProjectName,
+ pro.ProjectCode,
+ term.AddUser,
+ term.AddTime,
+ ContractorName = ua.UserName,
+ OwnerName = ub.UserName,
+ ProcessPatentName = uc.UserName,
+ term.IsUnifyWanderAbout,
+ term.UnifyWanderAboutData,
+ term.UnifyWanderAboutOpinion
+ };
+ if (data.Count() > 0)
+ {
+ var model = data.FirstOrDefault();
+ //项目名称
+ lblProjectName.Text = model.ProjectName;
+ //项目号
+ lblProjectCode.Text = model.ProjectCode;
+ //承包商
+ lblContractorName.Text = model.ContractorName;
+ //业主
+ lblOwnerName.Text = model.OwnerName;
+ //工艺专利商
+ lblProcessPatentName.Text = model.ProcessPatentName;
+ //是否统一流转
+ rblIsUnifyWanderAbout.SelectedValue = model.IsUnifyWanderAbout != null ? model.IsUnifyWanderAbout.ToString() : "1";
+ //审核意见
+ txtUnifyWanderAboutOpinion.Text = model.UnifyWanderAboutOpinion;
+ }
+ }
+
+ ///
+ /// 确认
+ ///
+ protected void btnConfirm_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (Funs.DB.AttachFile.Count(x => x.ToKeyId == this.SubInspectId + "_unify" && x.AttachUrl != null && x.AttachUrl != "") == 0)
+ {
+ ShowNotify("请上传附件!", MessageBoxIcon.Warning);
+ return;
+ }
+ var term = Funs.DB.ProduceRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
+ if (term != null)
+ {
+ var isPass = int.Parse(rblIsUnifyWanderAbout.SelectedValue);
+ term.IsUnifyWanderAbout = isPass;
+ term.UnifyWanderAboutData = DateTime.Now;
+ term.UnifyWanderAboutOpinion = txtUnifyWanderAboutOpinion.Text;
+ term.ContractorIsAllPass = isPass;
+ term.OwnerIsAllPass = isPass;
+ term.ProcessPatentIsAllPass = isPass;
+ term.WanderIsComplete = isPass;
+ term.InspectIsClose = isPass;
+ if (isPass == 1)
+ {
+ term.ContractorAllPassData = DateTime.Now;
+ term.OwnerAllPassData = DateTime.Now;
+ term.ProcessPatentAllPassData = DateTime.Now;
+ term.WanderCompleteData = DateTime.Now;
+ term.InspectCloseData = DateTime.Now;
+ }
+ else
+ {
+ term.ContractorAllPassData = null;
+ term.OwnerAllPassData = null;
+ term.ProcessPatentAllPassData = null;
+ term.WanderCompleteData = null;
+ term.InspectCloseData = null;
+ }
+ var termIetms = Funs.DB.ProduceRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).ToList();
+ if (termIetms.Count > 0)
+ {
+ foreach (var item in termIetms)
+ {
+ item.ContractorIsPass = isPass;
+ item.OwnerIsPass = isPass;
+ item.ProcessPatentIsPass = isPass;
+ Funs.DB.SubmitChanges();
+ }
+ }
+ ShowNotify("确认成功!", MessageBoxIcon.Success);
+ }
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 附件上传
+ ///
+ protected void btnAttach_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", UnifyImg, this.SubInspectId + "_unify", Const.TestRunMenuId)));
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.designer.cs
new file mode 100644
index 00000000..6445c193
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPass.aspx.designer.cs
@@ -0,0 +1,197 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectWanderAboutAllPass
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// ContentPanel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ContentPanel ContentPanel1;
+
+ ///
+ /// Form2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form2;
+
+ ///
+ /// lblProjectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblProjectName;
+
+ ///
+ /// lblProjectCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblProjectCode;
+
+ ///
+ /// lblContractorName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblContractorName;
+
+ ///
+ /// lblOwnerName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblOwnerName;
+
+ ///
+ /// lblProcessPatentName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblProcessPatentName;
+
+ ///
+ /// lblWorkPackName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblWorkPackName;
+
+ ///
+ /// txtUnifyWanderAboutOpinion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtUnifyWanderAboutOpinion;
+
+ ///
+ /// rblIsUnifyWanderAbout 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.RadioButtonList rblIsUnifyWanderAbout;
+
+ ///
+ /// Panel3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel3;
+
+ ///
+ /// lblAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAttach;
+
+ ///
+ /// btnAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAttach;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnConfirm;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx
new file mode 100644
index 00000000..fc0d6a27
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx
@@ -0,0 +1,127 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutAllPassList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectWanderAboutAllPassList" %>
+
+
+
+
+
+
+
+
+ 检查表流转全部通过
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.cs
new file mode 100644
index 00000000..7f7d1e63
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.cs
@@ -0,0 +1,123 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class InspectWanderAboutAllPassList : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ BindGrid();
+ }
+ }
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ string sqlStr = $"select a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.AddUser,a.AddTime,c.UserName as ContractorName,d.UserName as OwnerName,e.UserName as ProcessPatentName,IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName from ProduceRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId inner join Sys_User as c on c.UserId=a.Contractor inner join Sys_User as d on d.UserId=a.Owner inner join Sys_User as e on e.UserId = a.ProcessPatent where 1 = 1 and a.InspectionIsAllPass = 1 and a.ProjectId='{this.CurrUser.LoginProjectId}' ";
+ List listStr = new List();
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(sqlStr);
+ Grid1.RecordCount = tb.Rows.Count;
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 分页
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ ///
+ /// 双击事件
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuAllPass_Click(null, null);
+ }
+
+ ///
+ /// 分页下拉框
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 按钮和事件
+
+ ///
+ /// 查询
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 检查全部通过
+ ///
+ protected void btnAllPass_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请选择记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (Grid1.SelectedRowIndexArray.Length > 1)
+ {
+ Alert.ShowInTop("只可选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectWanderAboutAllPass.aspx?SubInspectId={0}", Grid1.DataKeys[Grid1.SelectedRowIndex][0].ToString(), "检查全部通过 - ")));
+ }
+
+ ///
+ /// 右击检查全部通过
+ ///
+ protected void btnMenuAllPass_Click(object sender, EventArgs e)
+ {
+ btnAllPass_Click(null, null);
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.designer.cs
new file mode 100644
index 00000000..4bb27248
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutAllPassList.aspx.designer.cs
@@ -0,0 +1,134 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectWanderAboutAllPassList
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnAllPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAllPass;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuAllPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuAllPass;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx
new file mode 100644
index 00000000..be787d20
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx
@@ -0,0 +1,137 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutConfirm.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectWanderAboutConfirm" %>
+
+
+
+
+
+ 签字确认
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.cs
new file mode 100644
index 00000000..65ba8822
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.cs
@@ -0,0 +1,649 @@
+using BLL;
+using Newtonsoft.Json.Linq;
+using NPOI.SS.UserModel;
+using NPOI.SS.Util;
+using NPOI.XSSF.UserModel;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class InspectWanderAboutConfirm : PageBase
+ {
+ ///
+ /// 检查表主键
+ ///
+ public string SubInspectId
+ {
+ get { return (string)ViewState["SubInspectId"]; }
+ set { ViewState["SubInspectId"] = value; }
+ }
+
+ ///
+ /// 类型
+ ///
+ public int ConfirmType
+ {
+ get { return (int)ViewState["ConfirmType"]; }
+ set { ViewState["ConfirmType"] = value; }
+ }
+
+ ///
+ /// 类型名称
+ ///
+ public string ConfirmTypeName
+ {
+ get { return (string)ViewState["ConfirmTypeName"]; }
+ set { ViewState["ConfirmTypeName"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.SubInspectId = Request.Params["SubInspectId"];
+ this.ConfirmType = int.Parse(Request.Params["ConfirmType"]);
+
+ if (this.ConfirmType == 1)
+ {
+ this.ConfirmTypeName = "承包商";
+ }
+ if (this.ConfirmType == 2)
+ {
+ this.ConfirmTypeName = "业主";
+ }
+ if (this.ConfirmType == 3)
+ {
+ this.ConfirmTypeName = "工艺专利商";
+ }
+ this.BindGrid();
+ }
+ }
+
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid(int isPass = -1)
+ {
+ var term = Funs.DB.ProduceRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == this.SubInspectId);
+ if (term != null)
+ {
+ lblIsUnifyWanderAbout.Text = term.IsUnifyWanderAbout == 1 ? "是" : "否";
+ lblUnifyWanderAboutData.Text = term.UnifyWanderAboutData != null ? term.UnifyWanderAboutData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ unifyfile.Hidden = term.IsUnifyWanderAbout == 1 ? false : true;
+ }
+ var data = new List();
+ var queryData = from a in Funs.DB.ProduceRun_SubInspectTermItem
+ join b in Funs.DB.Sys_User on a.InspectedUser equals b.UserId
+ where a.SubInspectId == this.SubInspectId
+ select new { a, b };
+ if (queryData.Count() > 0)
+ {
+ var list = queryData.ToList();
+ foreach (var item in list)
+ {
+ var model = new ConfirmIsPass();
+ model.TermItemId = item.a.TermItemId;
+ model.SubInspectId = item.a.SubInspectId;
+ model.WorkInspectName = item.a.WorkInspectName;
+ model.ConfirmType = this.ConfirmType;
+ model.ConfirmTypeName = this.ConfirmTypeName;
+ model.InspectedUser = item.a.InspectedUser;
+ model.InspectedUserName = item.b.UserName;
+ model.InspectionResults = item.a.InspectionResults.Value;
+ //1=承包商=业主=工艺专利商
+ if (this.ConfirmType == 1)
+ {
+ model.IsPass = isPass != -1 ? isPass : item.a.ContractorIsPass;
+ model.Remark = item.a.ContractorRemark;
+ }
+ if (this.ConfirmType == 2)
+ {
+ model.IsPass = isPass != -1 ? isPass : item.a.OwnerIsPass;
+ model.Remark = item.a.OwnerRemark;
+ }
+ if (this.ConfirmType == 3)
+ {
+ model.IsPass = isPass != -1 ? isPass : item.a.ProcessPatentIsPass;
+ model.Remark = item.a.ProcessPatentRemark;
+ }
+ data.Add(model);
+ }
+ }
+ Grid1.DataSource = data;
+ Grid1.DataBind();
+ titleName.Title = this.ConfirmType == 1 ? "承包商确认签字" : this.ConfirmType == 2 ? "业主确认签字" : this.ConfirmType == 3 ? "工艺专利商确认签字" : "";
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 按钮和事件
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ GridRow row = Grid1.Rows[i];
+ System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)row.FindControl("rblIsPass");
+ var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var inspectedUser = this.Grid1.Rows[i].DataKeys[1].ToString();
+ var model = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId && x.InspectedUser == inspectedUser);
+ if (model != null)
+ {
+ if (!string.IsNullOrWhiteSpace(rblIsPass.SelectedValue))
+ {
+ //1=承包商=业主=工艺专利商
+ if (this.ConfirmType == 1)
+ {
+ model.ContractorIsPass = int.Parse(rblIsPass.SelectedValue);
+ model.ContractorRemark = values.Value("Remark");
+ }
+ else if (this.ConfirmType == 2)
+ {
+ model.OwnerIsPass = int.Parse(rblIsPass.SelectedValue);
+ model.OwnerRemark = values.Value("Remark");
+ }
+ else if (this.ConfirmType == 3)
+ {
+ model.ProcessPatentIsPass = int.Parse(rblIsPass.SelectedValue);
+ model.ProcessPatentRemark = values.Value("Remark");
+ }
+ }
+ Funs.DB.SubmitChanges();
+ }
+ }
+ var subInspectId = this.Grid1.Rows[0].DataKeys[3].ToString();
+ var subModel = Funs.DB.ProduceRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ if (subModel != null)
+ {
+ //1=承包商=业主=工艺专利商
+ if (this.ConfirmType == 1)
+ {
+ if (Funs.DB.ProduceRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.ContractorIsPass.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.ContractorIsAllPass = 1;
+ subModel.ContractorAllPassData = DateTime.Now;
+ }
+ else
+ {
+ subModel.ContractorIsAllPass = 0;
+ subModel.ContractorAllPassData = null;
+ }
+ }
+ else if (this.ConfirmType == 2)
+ {
+ if (Funs.DB.ProduceRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.OwnerIsPass.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.OwnerIsAllPass = 1;
+ subModel.OwnerAllPassData = DateTime.Now;
+ }
+ else
+ {
+ subModel.OwnerIsAllPass = 0;
+ subModel.OwnerAllPassData = null;
+ }
+ }
+ else if (this.ConfirmType == 3)
+ {
+ if (Funs.DB.ProduceRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.ProcessPatentIsPass.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.ProcessPatentIsAllPass = 1;
+ subModel.ProcessPatentAllPassData = DateTime.Now;
+ }
+ else
+ {
+ subModel.ProcessPatentIsAllPass = 0;
+ subModel.ProcessPatentAllPassData = null;
+ }
+ }
+ //判断是否全部通过
+ if (subModel.ContractorIsAllPass == 1 && subModel.OwnerIsAllPass == 1 && subModel.ProcessPatentIsAllPass == 1)
+ {
+ subModel.InspectIsClose = 1;
+ subModel.InspectCloseData = DateTime.Now;
+ subModel.WanderIsComplete = 1;
+ subModel.WanderCompleteData = DateTime.Now;
+ }
+ else
+ {
+ subModel.InspectIsClose = 0;
+ subModel.InspectCloseData = null;
+ subModel.WanderIsComplete = 0;
+ subModel.WanderCompleteData = null;
+ }
+ }
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("保存成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 导出
+ ///
+ protected void btnExport_Click(object sender, EventArgs e)
+ {
+ string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
+ //导出文件
+ string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
+ if (!Directory.Exists(filePath))
+ {
+ Directory.CreateDirectory(filePath);
+ }
+ string ReportFileName = filePath + this.ConfirmTypeName + "确认签字.xlsx";
+ //获取工作包检查表
+ var termData = from a in Funs.DB.ProduceRun_SubInspectTerm
+ join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
+ select new { a.SubInspectId, a.ProjectId, b.ProjectName, b.ShortName, b.ProjectCode, a.Contractor, a.Owner, a.ProcessPatent, a.InspectionIsAllPass, a.ContractorIsAllPass, a.OwnerIsAllPass, a.ProcessPatentIsAllPass, a.InspectTime, a.AddUser, a.AddTime };
+ if (termData != null)
+ {
+ var termModel = termData.FirstOrDefault();
+ //获取工作包检查项表
+ var termItems = Funs.DB.ProduceRun_SubInspectTermItem.Where(x => x.SubInspectId == this.SubInspectId).OrderBy(x => x.Sort).ToList();
+ int rowIndex = 0;
+ XSSFWorkbook hssfworkbook = new XSSFWorkbook();
+ XSSFSheet ws = (XSSFSheet)hssfworkbook.CreateSheet(this.ConfirmTypeName + "确认签字");
+
+ #region 列宽
+
+ ws.SetColumnWidth(0, (7 * 256));
+ ws.SetColumnWidth(1, (4 * 256));
+ ws.SetColumnWidth(2, (4 * 256));
+ ws.SetColumnWidth(3, (4 * 256));
+ ws.SetColumnWidth(4, (10 * 256));
+ ws.SetColumnWidth(5, (10 * 256));
+ ws.SetColumnWidth(6, (10 * 256));
+ ws.SetColumnWidth(7, (10 * 256));
+ ws.SetColumnWidth(8, (3 * 256));
+ ws.SetColumnWidth(9, (3 * 256));
+ ws.SetColumnWidth(10, (3 * 256));
+ ws.SetColumnWidth(11, (3 * 256));
+ ws.SetColumnWidth(12, (3 * 256));
+ ws.SetColumnWidth(13, (3 * 256));
+ ws.SetColumnWidth(14, (3 * 256));
+ ws.SetColumnWidth(15, (3 * 256));
+ ws.SetColumnWidth(16, (3 * 256));
+ ws.SetColumnWidth(17, (3 * 256));
+
+ #endregion
+
+ #region 样式
+ //头部样式居中
+ ICellStyle titleStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 14, true, true);
+ //头部样式靠左
+ ICellStyle leftTitleStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Left, 14, true, true);
+ //公共样式
+ ICellStyle style = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true);
+ //公共样式靠左
+ ICellStyle leftStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Left, 10.5, true);
+ //公共样式靠左上对其
+ ICellStyle leftTopStyle = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Top, HorizontalAlignment.Left, 10.5, true);
+ //公共样式加粗
+ ICellStyle styleBold = SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 10.5, true, true);
+
+ #endregion
+
+ #region 头部
+
+ ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex, rowIndex + 5, 0, 17);
+ //行1
+ var region = new CellRangeAddress(rowIndex, rowIndex + 2, 0, 0);
+ ws.AddMergedRegion(region);
+ byte[] bytes = File.ReadAllBytes(Server.MapPath("~/") + "Images\\Template.png");
+ int pictureIdx = hssfworkbook.AddPicture(bytes, PictureType.JPEG);
+ IDrawing patriarch = ws.CreateDrawingPatriarch();
+ IClientAnchor anchor = patriarch.CreateAnchor(0, 0, 0, 0, 0, rowIndex, 1, rowIndex + 2);
+ IPicture pict = patriarch.CreatePicture(anchor, pictureIdx);
+ //pict.Resize();
+ region = new CellRangeAddress(rowIndex, rowIndex + 2, 1, 3);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex).GetCell(1).SetCellValue("中国五环工程有限公司");
+ ws.GetRow(rowIndex).GetCell(1).CellStyle =
+ ws.GetRow(rowIndex).GetCell(2).CellStyle =
+ ws.GetRow(rowIndex).GetCell(3).CellStyle = leftTitleStyle;
+ region = new CellRangeAddress(rowIndex, rowIndex, 4, 7);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex).GetCell(4).SetCellValue(termModel.ProjectName);
+ ws.GetRow(rowIndex).GetCell(4).CellStyle = style;
+ region = new CellRangeAddress(rowIndex, rowIndex, 8, 12);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex).GetCell(8).SetCellValue("项目号");
+ ws.GetRow(rowIndex).GetCell(8).CellStyle = style;
+ region = new CellRangeAddress(rowIndex, rowIndex, 13, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex).GetCell(13).SetCellValue(termModel.ProjectCode);
+ ws.GetRow(rowIndex).GetCell(13).CellStyle = style;
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 4, 7);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(4).SetCellValue("");
+ ws.GetRow(rowIndex + 1).GetCell(4).CellStyle = style;
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 8, 12);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(8).SetCellValue("(文件号)");
+ ws.GetRow(rowIndex + 1).GetCell(8).CellStyle = style;
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 13, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(13).SetCellValue("");
+ ws.GetRow(rowIndex + 1).GetCell(13).CellStyle = style;
+ region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 4, 7);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 2).GetCell(4).SetCellValue($"生产性能考核检查表");
+ ws.GetRow(rowIndex + 2).GetCell(4).CellStyle = titleStyle;
+ region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 8, 12);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 2).GetCell(8).SetCellValue("第 1 页");
+ ws.GetRow(rowIndex + 2).GetCell(8).CellStyle = style;
+ region = new CellRangeAddress(rowIndex + 2, rowIndex + 2, 13, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 2).GetCell(13).SetCellValue("共 1 页");
+ ws.GetRow(rowIndex + 2).GetCell(13).CellStyle = style;
+ //行4,行5
+ region = new CellRangeAddress(rowIndex + 3, rowIndex + 4, 0, 2);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 3).GetCell(0).CellStyle = style;
+ ws.GetRow(rowIndex + 3).GetCell(0).SetCellValue("");
+ region = new CellRangeAddress(rowIndex + 3, rowIndex + 4, 3, 11);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 3).GetCell(3).CellStyle = leftStyle;
+ ws.GetRow(rowIndex + 3).GetCell(3).SetCellValue("");
+ region = new CellRangeAddress(rowIndex + 3, rowIndex + 3, 12, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 3).GetCell(12).CellStyle = style;
+ ws.GetRow(rowIndex + 3).GetCell(12).SetCellValue("检查日期");
+ region = new CellRangeAddress(rowIndex + 4, rowIndex + 4, 12, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 4).GetCell(12).CellStyle = style;
+ ws.GetRow(rowIndex + 4).GetCell(12).SetCellValue(DateTime.Now.ToString("yyyy年MM月dd日"));
+ //行6
+ ws.GetRow(rowIndex + 5).GetCell(0).CellStyle = styleBold;
+ ws.GetRow(rowIndex + 5).GetCell(0).SetCellValue("序号");
+ region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 1, 7);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 5).GetCell(1).CellStyle = styleBold;
+ ws.GetRow(rowIndex + 5).GetCell(1).SetCellValue("检查项目");
+ region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 8, 12);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 5).GetCell(8).CellStyle = styleBold;
+ ws.GetRow(rowIndex + 5).GetCell(8).SetCellValue("结果");
+ region = new CellRangeAddress(rowIndex + 5, rowIndex + 5, 13, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 5).GetCell(13).CellStyle = styleBold;
+ ws.GetRow(rowIndex + 5).GetCell(13).SetCellValue("备注");
+
+ #endregion
+
+ #region 表格
+
+ var start = rowIndex + 6;
+ var end = rowIndex + 5 + termItems.Count;
+
+ ws = ExcelCreateRowTitle(ws, hssfworkbook, style, start, end, 0, 17);
+
+ //合并单元格
+ for (int hb = start; hb <= end; hb++)
+ {
+ region = new CellRangeAddress(hb, hb, 1, 7);
+ ws.AddMergedRegion(region);
+ region = new CellRangeAddress(hb, hb, 8, 12);
+ ws.AddMergedRegion(region);
+ region = new CellRangeAddress(hb, hb, 13, 17);
+ ws.AddMergedRegion(region);
+ }
+
+ //数据
+ int num = 1;
+ var dataIndex = 6;
+ foreach (var item in termItems)
+ {
+ //序号
+ ws.GetRow(dataIndex).GetCell(0).SetCellValue(num);
+ //检查项目
+ ws.GetRow(dataIndex).GetCell(1).SetCellValue(item.WorkInspectName);
+ ws.GetRow(dataIndex).GetCell(1).CellStyle = leftStyle;
+ //结果
+ ws.GetRow(dataIndex).GetCell(8).SetCellValue("");
+ //备注
+ ws.GetRow(dataIndex).GetCell(13).SetCellValue("");
+ dataIndex++;
+ num++;
+ }
+ rowIndex = start + termItems.Count;
+
+ #endregion
+
+ #region 尾部
+
+ ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex, rowIndex, 0, 17, 100);
+ //行1
+ ws.GetRow(rowIndex).GetCell(0).SetCellValue("结论");
+ region = new CellRangeAddress(rowIndex, rowIndex, 1, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex).GetCell(1).SetCellValue("是否同意进行(包括整改意见):");
+ ws.GetRow(rowIndex).GetCell(1).CellStyle = leftTopStyle;
+ //行2
+ ws = ExcelCreateRowTitle(ws, hssfworkbook, style, rowIndex + 1, rowIndex + 1, 0, 17, 80);
+ ws.GetRow(rowIndex + 1).GetCell(0).SetCellValue("检查人员");
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 1, 4);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(1).SetCellValue("施工单位:");
+ ws.GetRow(rowIndex + 1).GetCell(1).CellStyle = leftTopStyle;
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 5, 6);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(5).SetCellValue("承包商:");
+ ws.GetRow(rowIndex + 1).GetCell(5).CellStyle = leftTopStyle;
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 7, 11);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(7).SetCellValue("业主:");
+ ws.GetRow(rowIndex + 1).GetCell(7).CellStyle = leftTopStyle;
+ region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 12, 17);
+ ws.AddMergedRegion(region);
+ ws.GetRow(rowIndex + 1).GetCell(12).SetCellValue("工艺专利商:");
+ ws.GetRow(rowIndex + 1).GetCell(12).CellStyle = leftTopStyle;
+
+ #endregion
+
+ ws.PrintSetup.Landscape = false;
+ ws.PrintSetup.PaperSize = 9;
+ ws.ForceFormulaRecalculation = true;
+ using (FileStream filess = File.OpenWrite(ReportFileName))
+ {
+ hssfworkbook.Write(filess);
+ }
+ FileInfo filet = new FileInfo(ReportFileName);
+ Response.Clear();
+ Response.Charset = "GB2312";
+ Response.ContentEncoding = System.Text.Encoding.UTF8;
+ // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
+ Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(this.ConfirmTypeName + "确认签字.xlsx"));
+ // 添加头信息,指定文件大小,让浏览器能够显示下载进度
+ Response.AddHeader("Content-Length", filet.Length.ToString());
+ // 指定返回的是一个不能被客户端读取的流,必须被下载
+ Response.ContentType = "application/ms-excel";
+ // 把文件流发送到客户端
+ Response.WriteFile(filet.FullName);
+ // 停止页面的执行
+ Response.End();
+ }
+ }
+
+ ///
+ /// 行加载事件
+ ///
+ protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
+ {
+ System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)Grid1.Rows[e.RowIndex].FindControl("rblIsPass");
+ int isPass = 1;
+ if (Grid1.DataKeys[e.RowIndex][4] != null) isPass = int.Parse(Grid1.DataKeys[e.RowIndex][4].ToString());
+ rblIsPass.SelectedValue = isPass.ToString();
+ if (rblIsPass.SelectedValue != "1")
+ {
+ rblIsAllPass.SelectedValue = "0";
+ }
+ }
+
+ ///
+ /// 实体绑定
+ ///
+ public class ConfirmIsPass
+ {
+ ///
+ /// 检查项主键
+ ///
+ public string TermItemId { get; set; }
+ ///
+ /// 检查表主键
+ ///
+ public string SubInspectId { get; set; }
+ ///
+ /// 检查人
+ ///
+ public string InspectedUser { get; set; }
+ ///
+ /// 检查人名称
+ ///
+ public string InspectedUserName { get; set; }
+ ///
+ /// 检查结果
+ ///
+ public int InspectionResults { get; set; }
+ ///
+ /// 名称
+ ///
+ public string WorkInspectName { get; set; }
+ ///
+ /// 确认类型1=承包商2=业主3=工艺专利商
+ ///
+ public int ConfirmType { get; set; }
+ ///
+ /// 确认类型名称
+ ///
+ public string ConfirmTypeName { get; set; }
+ ///
+ /// 是否通过
+ ///
+ public int? IsPass { get; set; }
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+
+ }
+
+ ///
+ /// 检查项确认事件
+ ///
+ protected void rblIsPass_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ for (int i = 0; i < Grid1.Rows.Count; i++)
+ {
+ System.Web.UI.WebControls.RadioButtonList rblIsPass = (System.Web.UI.WebControls.RadioButtonList)Grid1.Rows[i].FindControl("rblIsPass");
+ if (rblIsPass.SelectedValue != "1")
+ {
+ rblIsAllPass.SelectedValue = "0";
+ }
+ }
+ }
+
+ ///
+ /// 是否同意进行预试车活动事件
+ ///
+ protected void rblIsAllPass_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ BindGrid(int.Parse(rblIsAllPass.SelectedValue));
+ }
+
+ ///
+ /// 附件上传
+ ///
+ protected void btnAttach_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", $"{this.SubInspectId}_{this.ConfirmType}", Const.TestRunMenuId)));
+ }
+
+ ///
+ /// 统一流转通过附件查看
+ ///
+ protected void btnUnifyUpload_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", this.SubInspectId + "_unify", Const.TestRunMenuId)));
+ }
+
+ #endregion
+
+ #region 私有方法
+
+ ///
+ /// 创建样式
+ ///
+ ///
+ public static ICellStyle SetExcelStyle(XSSFWorkbook wb, BorderStyle Bottom, BorderStyle Left, BorderStyle Right, BorderStyle Top, VerticalAlignment VerAig, HorizontalAlignment HorAig, double FontSize, bool WrapText = true, bool Bold = false, string FontName = "宋体")
+ {
+ ICellStyle style = wb.CreateCellStyle();
+ style.BorderBottom = Bottom;
+ style.BorderLeft = Left;
+ style.BorderRight = Right;
+ style.BorderTop = Top;
+ style.VerticalAlignment = VerAig;
+ style.Alignment = HorAig;
+ IFont font = wb.CreateFont();
+ font.FontHeightInPoints = FontSize;
+ font.IsBold = Bold;
+ font.FontName = FontName;
+ style.SetFont(font);
+ style.WrapText = WrapText;
+ return style;
+ }
+
+ ///
+ /// 创建头部
+ ///
+ ///
+ private XSSFSheet ExcelCreateRowTitle(XSSFSheet ws, XSSFWorkbook hssfworkbook, ICellStyle style, int sRows, int eRows, int cStart, int cEnd, float height = 21)
+ {
+ for (int i = sRows; i <= eRows; i++)
+ {
+ ws.CreateRow(i);
+ ws.GetRow(i).HeightInPoints = height;
+ for (int j = cStart; j <= cEnd; j++)
+ {
+ ws.GetRow(i).CreateCell(j);
+ ws.GetRow(i).CreateCell(j).CellStyle = style;
+ }
+ }
+ return ws;
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.designer.cs
new file mode 100644
index 00000000..bfe666bc
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutConfirm.aspx.designer.cs
@@ -0,0 +1,233 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectWanderAboutConfirm
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// plApprove2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove2;
+
+ ///
+ /// titleName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ContentPanel titleName;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnExport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnExport;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// rblIsPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.RadioButtonList rblIsPass;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtRemark;
+
+ ///
+ /// ContentPanel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ContentPanel ContentPanel1;
+
+ ///
+ /// Form2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form2;
+
+ ///
+ /// rblIsAllPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.RadioButtonList rblIsAllPass;
+
+ ///
+ /// Panel3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel3;
+
+ ///
+ /// lblAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAttach;
+
+ ///
+ /// btnAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAttach;
+
+ ///
+ /// lblIsUnifyWanderAbout 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblIsUnifyWanderAbout;
+
+ ///
+ /// lblUnifyWanderAboutData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblUnifyWanderAboutData;
+
+ ///
+ /// unifyfile 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow unifyfile;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// btnUnifyUpload 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnUnifyUpload;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx
new file mode 100644
index 00000000..1fcb90fd
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx
@@ -0,0 +1,129 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectWanderAboutList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.InspectWanderAboutList" %>
+
+
+
+
+
+
+
+
+ 检查表流转
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.cs
new file mode 100644
index 00000000..cc0ace1f
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.cs
@@ -0,0 +1,131 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class InspectWanderAboutList : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ BindGrid();
+ }
+ }
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ //承包商
+ string contractorStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Contractor,a.Owner,a.ProcessPatent,1 as ConfirmType,'承包商' as ConfirmName,(select count (1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.ContractorIsPass is null) as WaitConfirmNum,(select count (1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.ContractorIsPass=1) as PassConfirmNum,(select count (1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId=a.SubInspectId and t.ContractorIsPass=0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName from ProduceRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId=b.ProjectId where 1=1 and a.InspectionIsAllPass=1 and a.ProjectId='{this.CurrUser.LoginProjectId}' and a.Contractor='{this.CurrUser.UserId}' ";
+ //业主
+ string ownerStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Contractor,a.Owner,a.ProcessPatent,2 as ConfirmType,'业主' as ConfirmName,(select count(1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass is null) as WaitConfirmNum,(select count(1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 1) as PassConfirmNum,(select count(1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.OwnerIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName from ProduceRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1=1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.Owner = '{this.CurrUser.UserId}' ";
+ //工艺专利商
+ string processPatentStr = $"select NEWID() as Id,a.SubInspectId,a.ProjectId,b.ProjectName,b.ProjectCode,a.Contractor,a.Owner,a.ProcessPatent,3 as ConfirmType,'工艺专利商' as ConfirmName,(select count(1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ProcessPatentIsPass is null) as WaitConfirmNum,(select count(1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ProcessPatentIsPass = 1) as PassConfirmNum,(select count(1) from ProduceRun_SubInspectTermItem as t where t.SubInspectId = a.SubInspectId and t.ProcessPatentIsPass = 0) as FailConfirmNum,a.AddUser,a.AddTime,a.IsUnifyWanderAbout,(case IsUnifyWanderAbout when 1 then '是' else '否' end) as IsUnifyWanderAboutName from ProduceRun_SubInspectTerm as a inner join Base_Project as b on a.ProjectId = b.ProjectId where 1=1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.InspectionIsAllPass = 1 and a.ProjectId = '{this.CurrUser.LoginProjectId}' and a.ProcessPatent = '{this.CurrUser.UserId}' ";
+
+ var allSql = $"select * from ({contractorStr} union all {ownerStr} union all {processPatentStr}) as t order by t.ConfirmType asc";
+ List listStr = new List();
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(allSql);
+ Grid1.RecordCount = tb.Rows.Count;
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+
+ }
+
+ ///
+ /// 分页
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ ///
+ /// 双击事件
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuConfirmation_Click(null, null);
+ }
+
+ ///
+ /// 分页下拉框
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 按钮和事件
+
+ ///
+ /// 查询
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 检查确认
+ ///
+ protected void btnConfirmation_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请选择记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (Grid1.SelectedRowIndexArray.Length > 1)
+ {
+ Alert.ShowInTop("只可选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectWanderAboutConfirm.aspx?SubInspectId={0}&ConfirmType={1}", Grid1.DataKeys[Grid1.SelectedRowIndex][1].ToString(), Grid1.DataKeys[Grid1.SelectedRowIndex][2].ToString(), "编辑 - ")));
+ }
+
+ ///
+ /// 右击检查确认
+ ///
+ protected void btnMenuConfirmation_Click(object sender, EventArgs e)
+ {
+ btnConfirmation_Click(null, null);
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.designer.cs
new file mode 100644
index 00000000..04dd58ff
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/InspectWanderAboutList.aspx.designer.cs
@@ -0,0 +1,134 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class InspectWanderAboutList
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnConfirmation 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnConfirmation;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuConfirmation 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuConfirmation;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx
new file mode 100644
index 00000000..ef61e307
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx
@@ -0,0 +1,122 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubInspectTerm.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.SubInspectTerm" %>
+
+
+
+
+
+ 生成工作包检查
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.cs
new file mode 100644
index 00000000..a7335365
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.cs
@@ -0,0 +1,353 @@
+using BLL;
+using Model;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class SubInspectTerm : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ PageInit();
+ BindGrid();
+ }
+ }
+
+ #region 数据绑定
+
+ ///
+ /// 绑定下拉框
+ ///
+ public void PageInit()
+ {
+ //检查人绑定
+ var userList = from user in Funs.DB.Sys_User
+ join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId
+ where projectrole.ProjectId == this.CurrUser.LoginProjectId
+ select user;
+ var userids = new List() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
+ var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
+ var users = userList.ToList();
+ if (addUserList.Count() > 0)
+ {
+ users.AddRange(addUserList);
+ }
+ if (users.Count() > 0)
+ {
+ ddlContractor.DataTextField = "UserName";
+ ddlContractor.DataValueField = "UserId";
+ ddlContractor.DataSource = users;
+ ddlContractor.DataBind();
+
+ ddlOwner.DataTextField = "UserName";
+ ddlOwner.DataValueField = "UserId";
+ ddlOwner.DataSource = users;
+ ddlOwner.DataBind();
+
+ ddlProcessPatent.DataTextField = "UserName";
+ ddlProcessPatent.DataValueField = "UserId";
+ ddlProcessPatent.DataSource = users;
+ ddlProcessPatent.DataBind();
+ }
+ }
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ var result = new List();
+ var list = Funs.DB.ProduceRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).OrderBy(x => x.Sort).ToList();
+ if (list.Count > 0)
+ {
+ foreach (var item in list)
+ {
+ var model = new ProduceRun_SubInspectTermItem();
+ model.TermItemId = item.TermItemId;
+ model.ProjectId = item.ProjectId;
+ model.WorkInspectId = item.WorkInspectId;
+ model.WorkInspectName = item.WorkInspectName;
+ model.InspectedUser = item.InspectedUser;
+ model.InspectionResults = item.InspectionResults;
+ model.InspectionIllustrate = item.InspectionIllustrate;
+ model.Sort = item.Sort;
+ result.Add(model);
+ }
+ }
+ else
+ {
+ //获取预加载的数据
+ var defaultDatas = Funs.DB.ProduceRun_WorkInspectTemplate.OrderBy(x => x.Sort).ToList();
+ if (defaultDatas.Count > 0)
+ {
+ int index = list.Count + 1;
+ foreach (var item in defaultDatas)
+ {
+ var model = new ProduceRun_SubInspectTermItem();
+ model.TermItemId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkInspectId = item.WorkInspectId;
+ model.WorkInspectName = item.WorkInspectName;
+ model.Sort = index + 1;
+ result.Add(model);
+ index++;
+ }
+ }
+ }
+ Grid1.DataSource = result;
+ Grid1.DataBind();
+ //检查人绑定
+ var userList = from user in Funs.DB.Sys_User join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId where projectrole.ProjectId == this.CurrUser.LoginProjectId select user;
+ var userids = new List() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
+ var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
+ var data = userList.ToList();
+ if (addUserList.Count() > 0)
+ {
+ data.AddRange(addUserList);
+ }
+ DropDownList ddlInspectedUser = Grid1.FindColumn("InspectedUser").FindControl("ddlInspectedUser") as DropDownList;
+ ddlInspectedUser.DataTextField = "UserName";
+ ddlInspectedUser.DataValueField = "UserId";
+ ddlInspectedUser.DataSource = data;
+ ddlInspectedUser.DataBind();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ ///
+ /// 行按钮事件
+ ///
+ protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
+ {
+ if (e.CommandName == "Delete")
+ {
+ string rowID = e.RowID;
+ var model = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(p => p.TermItemId == rowID);
+ if (model != null)
+ {
+ if (model.InspectionResults != null)
+ {
+ ShowNotify("已存在检查结果,无法删除!", MessageBoxIcon.Warning);
+ return;
+ }
+ Funs.DB.ProduceRun_SubInspectTermItem.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("删除成功!");
+ }
+ else
+ {
+ var list = gvList();
+ list.RemoveAll(x => x.TermItemId == rowID);
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ ShowNotify("删除成功!");
+ }
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (string.IsNullOrWhiteSpace(ddlContractor.SelectedValue))
+ {
+ ShowNotify("请选择承包商!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlOwner.SelectedValue))
+ {
+ ShowNotify("请选择业主!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlProcessPatent.SelectedValue))
+ {
+ ShowNotify("请选择工艺专利商!", MessageBoxIcon.Warning);
+ return;
+ }
+ List subTrems = new List();
+ List subTremItems = new List();
+ var subTrem = Funs.DB.ProduceRun_SubInspectTerm.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
+ var termItems = Funs.DB.ProduceRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList();
+ if (termItems.Count > 0 && termItems.Count(x => x.InspectionResults == null) == 0)
+ {
+ ShowNotify("所有检查项已存在检查结果,无法保存!", MessageBoxIcon.Warning);
+ return;
+ }
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var workInspectId = this.Grid1.Rows[i].DataKeys[1].ToString();
+
+ //获取子系统信息
+ var list = new List();
+ if (subTrem == null)
+ {
+ subTrem = new ProduceRun_SubInspectTerm();
+ subTrem.SubInspectId = Guid.NewGuid().ToString();
+ subTrem.ProjectId = this.CurrUser.LoginProjectId;
+ subTrem.Contractor = ddlContractor.SelectedValue;
+ subTrem.Owner = ddlOwner.SelectedValue;
+ subTrem.ProcessPatent = ddlProcessPatent.SelectedValue;
+ subTrem.AddUser = this.CurrUser.UserId;
+ subTrem.AddTime = DateTime.Now;
+ subTrems.Add(subTrem);
+ }
+ else
+ {
+ subTrem.Contractor = ddlContractor.SelectedValue;
+ subTrem.Owner = ddlOwner.SelectedValue;
+ subTrem.ProcessPatent = ddlProcessPatent.SelectedValue;
+ Funs.DB.SubmitChanges();
+ }
+ var model = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
+ if (model == null)
+ {
+ model = new ProduceRun_SubInspectTermItem();
+ model.TermItemId = termItemId;
+ model.SubInspectId = subTrem.SubInspectId;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkInspectId = workInspectId;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ subTrem.Contractor = ddlContractor.SelectedValue;
+ subTrem.Owner = ddlOwner.SelectedValue;
+ subTrem.ProcessPatent = ddlProcessPatent.SelectedValue;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i + 1;
+ subTremItems.Add(model);
+ }
+ else
+ {
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ if (subTrems != null) Funs.DB.ProduceRun_SubInspectTerm.InsertAllOnSubmit(subTrems);
+ if (subTremItems.Count > 0) Funs.DB.ProduceRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems);
+ Funs.DB.SubmitChanges();
+ if (Funs.DB.ProduceRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
+ {
+ subTrem.InspectionIsAllPass = 1;
+ }
+ else
+ {
+ subTrem.InspectionIsAllPass = 0;
+ }
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("保存成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 新增
+ ///
+ protected void btnAdd_Click(object sender, EventArgs e)
+ {
+ var list = gvList();
+ var termItems = Funs.DB.ProduceRun_SubInspectTermItem.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).ToList();
+ if (termItems.Count > 0 && termItems.Count(x => x.InspectionResults == null) == 0)
+ {
+ ShowNotify("所有检查项已存在检查结果,无法新增!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = new ProduceRun_SubInspectTermItem();
+ model.TermItemId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkInspectId = string.Empty;
+ model.WorkInspectName = string.Empty;
+ model.Sort = list.Count + 1;
+ list.Add(model);
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 获取集合
+ ///
+ private List gvList()
+ {
+ List list = new List();
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var workInspectId = this.Grid1.Rows[i].DataKeys[1] != null ? this.Grid1.Rows[i].DataKeys[1].ToString() : string.Empty;
+ var subInspectId = this.Grid1.Rows[i].DataKeys[2] != null ? this.Grid1.Rows[i].DataKeys[2].ToString() : string.Empty;
+
+ var model = new ProduceRun_SubInspectTermItem();
+ model.TermItemId = termItemId;
+ model.SubInspectId = subInspectId;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkInspectId = workInspectId;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i + 1;
+ list.Add(model);
+ }
+ return list;
+ }
+
+ ///
+ /// 检测结果
+ ///
+ ///
+ public string Results(object value)
+ {
+ var result = string.Empty;
+
+ if (value != null)
+ {
+ var intVal = int.Parse(value.ToString());
+ if (intVal == 1)
+ {
+ result = "通过";
+ }
+ else if (intVal == 0)
+ {
+ result = "未通过";
+ }
+ }
+
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.designer.cs
new file mode 100644
index 00000000..c2957bfb
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/SubInspectTerm.aspx.designer.cs
@@ -0,0 +1,161 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class SubInspectTerm
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnAdd 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAdd;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// txtWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtWorkInspectName;
+
+ ///
+ /// ddlInspectedUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlInspectedUser;
+
+ ///
+ /// lblInspectionResults 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblInspectionResults;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// ddlContractor 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlContractor;
+
+ ///
+ /// ddlOwner 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlOwner;
+
+ ///
+ /// ddlProcessPatent 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlProcessPatent;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx
new file mode 100644
index 00000000..0e9d7714
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx
@@ -0,0 +1,112 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubWorkInspect.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.SubWorkInspect" %>
+
+
+
+
+
+ 工作包检查
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.cs
new file mode 100644
index 00000000..53c8ca90
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.cs
@@ -0,0 +1,374 @@
+using BLL;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class SubWorkInspect : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.BindGrid();
+ }
+ }
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid(bool istail = false)
+ {
+ //获取子系统
+ var data = from termitem in Funs.DB.ProduceRun_SubInspectTermItem
+ join b in Funs.DB.ProduceRun_InspectTailTerm on termitem.TermItemId equals b.TermItemId into t
+ from tail in t.DefaultIfEmpty()
+ where termitem.ProjectId == this.CurrUser.LoginProjectId
+ && termitem.InspectedUser == this.CurrUser.UserId
+ group termitem by new { termitem.TermItemId, termitem.SubInspectId, termitem.ProjectId, termitem.WorkInspectId, termitem.WorkInspectName,termitem.InspectedUser, termitem.InspectionResults, termitem.InspectionIllustrate, termitem.Contractor, termitem.Owner, termitem.ProcessPatent, termitem.ContractorIsPass, termitem.OwnerIsPass, termitem.ProcessPatentIsPass, termitem.ContractorRemark, termitem.OwnerRemark, termitem.ProcessPatentRemark, termitem.Remark, termitem.AddUser, termitem.AddTime, termitem.Sort, IsTailTerm = tail.TailTermId == null ? 0 : 1 } into gt
+ orderby gt.Key.Sort
+ select new TermItemBridDto()
+ {
+ TermItemId = gt.Key.TermItemId,
+ SubInspectId = gt.Key.SubInspectId,
+ ProjectId = gt.Key.ProjectId,
+ WorkInspectId = gt.Key.WorkInspectId,
+ WorkInspectName = gt.Key.WorkInspectName,
+ InspectedUser = gt.Key.InspectedUser,
+ InspectionResults = gt.Key.InspectionResults,
+ InspectionIllustrate = gt.Key.InspectionIllustrate,
+ Contractor = gt.Key.Contractor,
+ Owner = gt.Key.Owner,
+ ProcessPatent = gt.Key.ProcessPatent,
+ ContractorIsPass = gt.Key.ContractorIsPass,
+ OwnerIsPass = gt.Key.OwnerIsPass,
+ ProcessPatentIsPass = gt.Key.ProcessPatentIsPass,
+ ContractorRemark = gt.Key.ContractorRemark,
+ OwnerRemark = gt.Key.OwnerRemark,
+ ProcessPatentRemark = gt.Key.ProcessPatentRemark,
+ Remark = gt.Key.Remark,
+ AddUser = gt.Key.AddUser,
+ AddTime = gt.Key.AddTime,
+ Sort = gt.Key.Sort,
+ IsTailTerm = gt.Key.IsTailTerm
+ };
+ var list = data.ToList();
+ if (istail)
+ {
+ JArray mergedData = Grid1.GetMergedData();
+ list.ForEach(a =>
+ {
+ var itemRow = mergedData.FirstOrDefault(x => x.Value("id") == a.TermItemId);
+ JObject values = itemRow.Value("values");
+ var inspectionResults = !string.IsNullOrWhiteSpace(values.Value("InspectionResults")) ? values.Value("InspectionResults") : string.Empty;
+ if (!string.IsNullOrWhiteSpace(inspectionResults))
+ {
+ a.InspectionResults = int.Parse(inspectionResults);
+ }
+ });
+ }
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 保存
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var subInspectId = this.Grid1.Rows[0].DataKeys[2].ToString();
+ if (Funs.DB.ProduceRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && (x.ContractorIsPass != null || x.OwnerIsPass != null || x.ProcessPatentIsPass != null)) > 0)
+ {
+ ShowNotify("已进入检查表流转,无法修改检查结果!", MessageBoxIcon.Warning);
+ return;
+ }
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ if (values.Value("InspectionResults") == "0")
+ {
+ if (Funs.DB.ProduceRun_InspectTailTerm.Count(x => x.TermItemId == termItemId) == 0)
+ {
+ ShowNotify("未通过的检查项请填写尾项!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ }
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var termItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ //获取子系统信息
+ var model = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
+ if (model != null)
+ {
+ model.InspectionIllustrate = !string.IsNullOrWhiteSpace(values.Value("InspectionIllustrate")) ? values.Value("InspectionIllustrate") : string.Empty;
+ if (!string.IsNullOrWhiteSpace(values.Value("InspectionResults")))
+ {
+ model.InspectionResults = int.Parse(values.Value("InspectionResults"));
+ }
+ Funs.DB.SubmitChanges();
+ }
+ }
+ var subModel = Funs.DB.ProduceRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ if (subModel != null)
+ {
+ if (Funs.DB.ProduceRun_SubInspectTermItem.Count(x => x.SubInspectId == subInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
+ {
+ subModel.InspectionIsAllPass = 1;
+ }
+ else
+ {
+ subModel.InspectionIsAllPass = 0;
+ }
+ }
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("保存成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 尾项数据绑定实体
+ ///
+ public class TermItemBridDto
+ {
+ ///
+ /// 主键
+ ///
+ public string TermItemId { get; set; }
+ ///
+ /// 检查项主键
+ ///
+ public string SubItemId { get; set; }
+ ///
+ /// 检查表主键
+ ///
+ public string SubInspectId { get; set; }
+ ///
+ /// 工作包主键
+ ///
+ public string WorkPackId { get; set; }
+ ///
+ /// 项目主键
+ ///
+ public string ProjectId { get; set; }
+ ///
+ /// 工作包模板项主键
+ ///
+ public string WorkInspectId { get; set; }
+ ///
+ /// 检查事项名称
+ ///
+ public string WorkInspectName { get; set; }
+ ///
+ /// 检查人主键
+ ///
+ public string InspectedUser { get; set; }
+ ///
+ /// 检查结果0:未通过 1:通过
+ ///
+ public int? InspectionResults { get; set; }
+ ///
+ /// 检查说明
+ ///
+ public string InspectionIllustrate { get; set; }
+ ///
+ /// 承包商
+ ///
+ public string Contractor { get; set; }
+ ///
+ /// 业主
+ ///
+ public string Owner { get; set; }
+ ///
+ /// 工艺专利商
+ ///
+ public string ProcessPatent { get; set; }
+ ///
+ /// 承包商是否通过0/null:未通过 1:通过
+ ///
+ public int? ContractorIsPass { get; set; }
+ ///
+ /// 业主是否通过0/null:未通过 1:通过
+ ///
+ public int? OwnerIsPass { get; set; }
+ ///
+ /// 工艺专利商是否通过0/null:未通过 1:通过
+ ///
+ public int? ProcessPatentIsPass { get; set; }
+ ///
+ /// 承包商备注
+ ///
+ public string ContractorRemark { get; set; }
+ ///
+ /// 业主备注
+ ///
+ public string OwnerRemark { get; set; }
+ ///
+ /// 工艺专利商备注
+ ///
+ public string ProcessPatentRemark { get; set; }
+ ///
+ /// 备注
+ ///
+ public string Remark { get; set; }
+ ///
+ /// 添加人
+ ///
+ public string AddUser { get; set; }
+ ///
+ /// 添加日期
+ ///
+ public DateTime? AddTime { get; set; }
+ ///
+ /// 排序
+ ///
+ public int? Sort { get; set; }
+ ///
+ /// 是否存在尾项0:不存在1:存在
+ ///
+ public int IsTailTerm { get; set; }
+ }
+
+ ///
+ /// 行内按钮事件
+ ///
+ protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
+ {
+ //尾项申请
+ if (e.CommandName == "TailTerm")
+ {
+ var termItemId = Grid1.DataKeys[e.RowIndex][0].ToString();
+ var inspectionResults = Grid1.DataKeys[e.RowIndex][1] != null ? int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString()) : -1;
+ if (inspectionResults == 0)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", "", termItemId, "新增 - ")));
+ }
+ else
+ {
+ JArray mergedData = Grid1.GetMergedData();
+ var itemRow = mergedData[e.RowIndex].Value("values");
+ if (itemRow.Value("InspectionResults") == "0")
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", "", termItemId, "新增 - ")));
+ }
+ else
+ {
+ ShowNotify("仅未通过检查项才可填写!", MessageBoxIcon.Warning);
+ }
+ }
+ }
+ //尾项修改
+ if (e.CommandName == "TailTermUpdate")
+ {
+ var termItemId = Grid1.DataKeys[e.RowIndex][0].ToString();
+ var inspectionResults = Grid1.DataKeys[e.RowIndex][1] != null ? int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString()) : -1;
+ if (inspectionResults == 0)
+ {
+ var tails = Funs.DB.ProduceRun_InspectTailTerm.Where(x => x.TermItemId == termItemId).ToList();
+ if (tails.Count > 0)
+ {
+ if (tails.Count(x => x.ApproveState == 0) == 0)
+ {
+ ShowNotify("申请的尾项非“待提交处理”状态,无法修改!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (tails.Count(x => x.ApproveState == 0) > 1)
+ {
+ string window = $"SelectTailTermList.aspx?TermItemId={termItemId}";
+ PageContext.RegisterStartupScript(Window2.GetSaveStateReference(this.hidTailTermId.ClientID) + Window2.GetShowReference(window));
+ }
+ else
+ {
+ var tailModel = tails.FirstOrDefault();
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", tailModel.TailTermId, tailModel.TermItemId, "编辑 - ")));
+ }
+ }
+ else
+ {
+ ShowNotify("请填写尾项申请!", MessageBoxIcon.Warning);
+ }
+ }
+ else
+ {
+ ShowNotify("请填写尾项申请!", MessageBoxIcon.Warning);
+ }
+ }
+ }
+
+ ///
+ /// 窗口关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid(true);
+ }
+
+ ///
+ /// 行绑定
+ ///
+ protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
+ {
+ var isTailTerm = Grid1.DataKeys[e.RowIndex][3].ToString();
+ LinkButtonField TailTermUpdate = Grid1.FindColumn("TailTermUpdate") as LinkButtonField;
+ if (isTailTerm == "0")
+ {
+ e.CellCssClasses[TailTermUpdate.ColumnIndex] = "hidethis";
+ }
+ }
+
+ ///
+ /// 尾项选择关闭
+ ///
+ ///
+ ///
+ protected void Window2_Close(object sender, WindowCloseEventArgs e)
+ {
+ if (!string.IsNullOrWhiteSpace(hidTailTermId.Text))
+ {
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == hidTailTermId.Text);
+ if (model != null)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectTailTermEdit.aspx?TailTermId={0}&TermItemId={1}", hidTailTermId.Text, model.TermItemId, "编辑 - ")));
+ }
+ }
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.designer.cs
new file mode 100644
index 00000000..231bdd2c
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/SubWorkInspect.aspx.designer.cs
@@ -0,0 +1,125 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class SubWorkInspect
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// hidTailTermId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox hidTailTermId;
+
+ ///
+ /// txtInspectionIllustrate 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtInspectionIllustrate;
+
+ ///
+ /// ddlInspectionResults 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlInspectionResults;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window2;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx
new file mode 100644
index 00000000..ad7ba4ce
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx
@@ -0,0 +1,153 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermApprove.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.TailTermApprove" %>
+
+
+
+
+
+ 质量巡检
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.cs
new file mode 100644
index 00000000..6b451a5e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.cs
@@ -0,0 +1,233 @@
+using BLL;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class TailTermApprove : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string TailTermId
+ {
+ get { return (string)ViewState["TailTermId"]; }
+ set { ViewState["TailTermId"] = value; }
+ }
+
+ ///
+ /// 问题图片是否可编辑
+ ///
+ public int QuestionEditImg
+ {
+ get { return (int)ViewState["QuestionEditImg"]; }
+ set { ViewState["QuestionEditImg"] = value; }
+ }
+
+ ///
+ /// 整改图片是否可编辑
+ ///
+ public int RectifyEditImg
+ {
+ get { return (int)ViewState["RectifyEditImg"]; }
+ set { ViewState["RectifyEditImg"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.TailTermId = Request["TailTermId"];
+ this.QuestionEditImg = -1;
+ this.RectifyEditImg = -1;
+ //数据绑定
+ PageInit();
+ //处理意见绑定
+ gvHandleBrid();
+ }
+ }
+
+
+ ///
+ /// 绑定数据
+ ///
+ public void PageInit()
+ {
+ var data = from tail in Funs.DB.ProduceRun_InspectTailTerm
+ join unit in Funs.DB.Base_Unit on tail.ConstructionUnit equals unit.UnitId
+ join inspuser in Funs.DB.Sys_User on tail.InspectUser equals inspuser.UserId
+ join approuser in Funs.DB.Sys_User on tail.ApproveUser equals approuser.UserId
+ join termitem in Funs.DB.ProduceRun_SubInspectTermItem on tail.TermItemId equals termitem.TermItemId
+ where tail.TailTermId == this.TailTermId
+ select new
+ {
+ tail.ProjectName,
+ tail.TailTermCode,
+ unit.UnitName,
+ TermItemName = termitem.WorkInspectName,
+ tail.SubInspectId,
+ tail.QuestionDesc,
+ tail.RectifyOpinion,
+ tail.RectifyTime,
+ tail.InspectUser,
+ InspectUserName = inspuser.UserName,
+ tail.ApproveUser,
+ ApproveUserName = approuser.UserName,
+ tail.AdjustCompleteTime
+ };
+ if (data.Count() > 0)
+ {
+ var model = data.FirstOrDefault();
+ //项目名称
+ lblProjectName.Text = model.ProjectName;
+ //巡检编号
+ lblTailTermCode.Text = model.TailTermCode;
+ //施工单位
+ lblConstructionUnit.Text = model.UnitName;
+ //检查项
+ lblTermItemName.Text = model.TermItemName;
+ //问题描述
+ lblQuestionDesc.Text = model.QuestionDesc;
+ //整改意见
+ lblRectifyOpinion.Text = model.RectifyOpinion;
+ //要求整改完成时间
+ lblAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : string.Empty;
+ //检查人
+ lblInspectUser.Text = model.InspectUserName;
+ //审核人
+ lblApproveUser.Text = model.ApproveUserName;
+ hidApproveUserId.Text = model.ApproveUser;
+ //审核时间
+ lblApproveTime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
+ }
+ }
+
+ ///
+ /// 处理意见绑定
+ ///
+ public void gvHandleBrid()
+ {
+ string strSql = @"select a.InspectTermId,a.ApproveOpinion,a.ApproveTime,a.ApproveType,a.ApproveState,(case a.ApproveState when 0 then '处理退回' when 1 then '处理完成' else '' end) as ApproveStateName,b.ConstructionUnit,d.UnitName as ConstructionUnitName,a.AddUser,a.AddTime from ProduceRun_InspectTermApproveRecords as a inner join ProduceRun_InspectTailTerm as b on a.TailTermId=b.TailTermId inner join ProduceRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Unit as d on d.UnitId=b.ConstructionUnit where 1=1 and a.ApproveType=0 and a.ProjectId=@ProjectId and a.TailTermId=@TailTermId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@TailTermId", this.TailTermId));
+ strSql += " order by a.AddTime asc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ gvHandle.DataSource = tb;
+ gvHandle.DataBind();
+ }
+
+ ///
+ /// 问题图片
+ ///
+ protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 整改图片
+ ///
+ protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", RectifyEditImg, this.TailTermId + "h", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 退回
+ ///
+ protected void btnReturn_Click(object sender, EventArgs e)
+ {
+ var tailTerm = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
+ if (tailTerm != null)
+ {
+ tailTerm.ApproveState = 3;
+ var model = new ProduceRun_InspectTermApproveRecords();
+ model.InspectTermId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.TermItemId = tailTerm.TermItemId;
+ model.TailTermId = this.TailTermId;
+ model.ApproveOpinion = txtApproveOpinion.Text;
+ model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
+ model.ApproveUser = hidApproveUserId.Text;
+ //0:处理记录1:审核记录
+ model.ApproveType = 1;
+ //0:退回1:通过
+ model.ApproveState = 0;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.ProduceRun_InspectTermApproveRecords.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ ShowNotify("退回成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ }
+
+ ///
+ /// 通过
+ ///
+ protected void btnPass_Click(object sender, EventArgs e)
+ {
+ var tailTerm = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
+ if (tailTerm != null)
+ {
+ //获取审核项
+ if (Funs.DB.ProduceRun_InspectTailTerm.Count(x => x.TermItemId == tailTerm.TermItemId && x.ApproveState != 5 && x.TailTermId != this.TailTermId) == 0)
+ {
+ var termItemModel = Funs.DB.ProduceRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == tailTerm.TermItemId);
+ if (termItemModel != null)
+ {
+ termItemModel.InspectionResults = 1;
+ var subModel = Funs.DB.ProduceRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == termItemModel.SubInspectId);
+ if (subModel != null)
+ {
+ if (Funs.DB.ProduceRun_SubInspectTermItem.Count(x => x.SubInspectId == termItemModel.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1 && x.TermItemId != termItemModel.TermItemId) == 0)
+ {
+ subModel.InspectionIsAllPass = 1;
+ }
+ else
+ {
+ subModel.InspectionIsAllPass = 0;
+ }
+ }
+ }
+ }
+ tailTerm.ApproveState = 5;
+ var model = new ProduceRun_InspectTermApproveRecords();
+ model.InspectTermId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.TermItemId = tailTerm.TermItemId;
+ model.TailTermId = this.TailTermId;
+ model.ApproveOpinion = txtApproveOpinion.Text;
+ model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
+ model.ApproveUser = hidApproveUserId.Text;
+ //0:处理记录1:审核记录
+ model.ApproveType = 1;
+ //0:退回1:通过
+ model.ApproveState = 1;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.ProduceRun_InspectTermApproveRecords.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ ShowNotify("审核成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
+ {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.designer.cs
new file mode 100644
index 00000000..034d5d92
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApprove.aspx.designer.cs
@@ -0,0 +1,278 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class TailTermApprove
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// lblTailTermCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblTailTermCode;
+
+ ///
+ /// lblConstructionUnit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblConstructionUnit;
+
+ ///
+ /// lblTermItemName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblTermItemName;
+
+ ///
+ /// lblQuestionDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblQuestionDesc;
+
+ ///
+ /// lblRectifyOpinion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRectifyOpinion;
+
+ ///
+ /// lblInspectUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectUser;
+
+ ///
+ /// lblAdjustCompleteTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAdjustCompleteTime;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// imgBtnQuestionFile 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button imgBtnQuestionFile;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// lblAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAttach;
+
+ ///
+ /// imgBtnRectifyFile 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button imgBtnRectifyFile;
+
+ ///
+ /// plApprove2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove2;
+
+ ///
+ /// gvHandle 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvHandle;
+
+ ///
+ /// lblApproveUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblApproveUser;
+
+ ///
+ /// hidApproveUserId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hidApproveUserId;
+
+ ///
+ /// lblApproveTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblApproveTime;
+
+ ///
+ /// txtApproveOpinion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtApproveOpinion;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnReturn 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnReturn;
+
+ ///
+ /// btnPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnPass;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx
new file mode 100644
index 00000000..395c4e3b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx
@@ -0,0 +1,136 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermApproveList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.TailTermApproveList" %>
+
+
+
+
+
+
+
+
+ 质量巡检审核
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.cs
new file mode 100644
index 00000000..e4ec0272
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.cs
@@ -0,0 +1,137 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class TailTermApproveList : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ //绑定数据
+ BindGrid();
+ }
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.HandleUser,g.UserName as HandleUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交处理' when 1 then '待处理' when 2 then '处理退回' when 3 then '审核退回' when 4 then '待审核' when 5 then '审核通过' else '' end) as ApproveStateName,a.AddTime,a.AdjustCompleteTime,DATEDIFF(DAY, GETDATE(),a.AdjustCompleteTime) as AdjustDiffDay from ProduceRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join ProduceRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser inner join Sys_User as g on g.UserId=a.HandleUser where 1=1 and a.ProjectId=@projectid and a.ApproveUser=@ApproveUser and a.ApproveState>=3";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@ApproveUser", this.CurrUser.UserId));
+ //审核状态
+ if (!string.IsNullOrWhiteSpace(ddlApproveState.SelectedValue))
+ {
+ strSql += " and a.ApproveState=@ApproveState";
+ listStr.Add(new SqlParameter("@ApproveState", ddlApproveState.SelectedValue));
+ }
+ strSql += " order by a.AddTime asc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, 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 Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuApprove_Click(null, null);
+ }
+
+ ///
+ /// 分页下拉框
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 按钮和操作
+
+ ///
+ /// 关闭弹框
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 审核
+ ///
+ protected void btnReview_Click(object sender, EventArgs e)
+ {
+ btnMenuApprove_Click(null, null);
+ }
+
+ ///
+ /// 审核
+ ///
+ protected void btnMenuApprove_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ if (model.ApproveState != 4)
+ {
+ Alert.ShowInTop("只可审核“待审核”的记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TailTermApprove.aspx?TailTermId={0}", Grid1.SelectedRowID, "审核 - ")));
+ }
+
+ ///
+ /// 搜索
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.designer.cs
new file mode 100644
index 00000000..489efce3
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermApproveList.aspx.designer.cs
@@ -0,0 +1,143 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class TailTermApproveList
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ddlApproveState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlApproveState;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnReview 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnReview;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuApprove 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuApprove;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx
new file mode 100644
index 00000000..2e85de04
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx
@@ -0,0 +1,131 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermHandle.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.TailTermHandle" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.cs
new file mode 100644
index 00000000..16f12aab
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.cs
@@ -0,0 +1,193 @@
+using BLL;
+using Model;
+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.Produce
+{
+ public partial class TailTermHandle : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string TailTermId
+ {
+ get { return (string)ViewState["TailTermId"]; }
+ set { ViewState["TailTermId"] = value; }
+ }
+
+ ///
+ /// 问题图片是否可编辑
+ ///
+ public int QuestionEditImg
+ {
+ get { return (int)ViewState["QuestionEditImg"]; }
+ set { ViewState["QuestionEditImg"] = value; }
+ }
+
+ ///
+ /// 整改图片是否可编辑
+ ///
+ public int RectifyEditImg
+ {
+ get { return (int)ViewState["RectifyEditImg"]; }
+ set { ViewState["RectifyEditImg"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.TailTermId = Request["TailTermId"];
+ this.QuestionEditImg = -1;
+ this.RectifyEditImg = 0;
+ //数据绑定
+ PageInit();
+ }
+ }
+
+
+ ///
+ /// 绑定数据
+ ///
+ public void PageInit()
+ {
+ var data = from tail in Funs.DB.ProduceRun_InspectTailTerm
+ join unit in Funs.DB.Base_Unit on tail.ConstructionUnit equals unit.UnitId
+ join inspuser in Funs.DB.Sys_User on tail.InspectUser equals inspuser.UserId
+ join handleuser in Funs.DB.Sys_User on tail.HandleUser equals handleuser.UserId
+ join termitem in Funs.DB.ProduceRun_SubInspectTermItem on tail.TermItemId equals termitem.TermItemId
+ where tail.TailTermId == this.TailTermId
+ select new
+ {
+ tail.ProjectName,
+ tail.TailTermCode,
+ unit.UnitName,
+ TermItemName = termitem.WorkInspectName,
+ tail.SubInspectId,
+ tail.QuestionDesc,
+ tail.RectifyOpinion,
+ tail.RectifyTime,
+ tail.InspectUser,
+ InspectUserName = inspuser.UserName,
+ tail.HandleUser,
+ HandleUserName = handleuser.UserName,
+ tail.AdjustCompleteTime
+ };
+ if (data.Count() > 0)
+ {
+ var model = data.FirstOrDefault();
+ //项目名称
+ lblProjectName.Text = model.ProjectName;
+ //巡检编号
+ lblTailTermCode.Text = model.TailTermCode;
+ //施工单位
+ lblConstructionUnit.Text = model.UnitName;
+ //检查项
+ lblTermItemName.Text = model.TermItemName;
+ //问题描述
+ lblQuestionDesc.Text = model.QuestionDesc;
+ //整改意见
+ lblRectifyOpinion.Text = model.RectifyOpinion;
+ //要求整改完成时间
+ lblAdjustCompleteTime.Text = model.AdjustCompleteTime != null ? model.AdjustCompleteTime.Value.ToString("yyyy-MM-dd hh:mm:ss") : string.Empty;
+ //检查人
+ lblInspectUser.Text = model.InspectUserName;
+ //处理人
+ lblApproveUser.Text = model.HandleUserName;
+ hidApproveUserId.Text = model.HandleUser;
+ //处理时间
+ lblApproveTime.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
+ }
+ }
+
+ ///
+ /// 问题图片
+ ///
+ protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", QuestionEditImg, this.TailTermId + "q", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 整改图片
+ ///
+ protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", RectifyEditImg, this.TailTermId + "h", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 处理退回
+ ///
+ protected void btnReturn_Click(object sender, EventArgs e)
+ {
+ var tailTerm = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
+ if (tailTerm != null)
+ {
+ tailTerm.ApproveState = 2;
+ var model = new ProduceRun_InspectTermApproveRecords();
+ model.InspectTermId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.TermItemId = tailTerm.TermItemId;
+ model.TailTermId = this.TailTermId;
+ model.ApproveOpinion = txtApproveOpinion.Text;
+ model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
+ model.ApproveUser = hidApproveUserId.Text;
+ //0:处理记录1:审核记录
+ model.ApproveType = 0;
+ //0:退回1:通过
+ model.ApproveState = 0;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.ProduceRun_InspectTermApproveRecords.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ ShowNotify("退回成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ }
+
+ ///
+ /// 处理通过并提交审核
+ ///
+ protected void btnPass_Click(object sender, EventArgs e)
+ {
+ var tailTerm = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == this.TailTermId);
+ if (tailTerm != null)
+ {
+ tailTerm.ApproveState = 4;
+ var model = new ProduceRun_InspectTermApproveRecords();
+ model.InspectTermId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.TermItemId = tailTerm.TermItemId;
+ model.TailTermId = this.TailTermId;
+ model.ApproveOpinion = txtApproveOpinion.Text;
+ model.ApproveTime = DateTime.Parse(lblApproveTime.Text);
+ model.ApproveUser = hidApproveUserId.Text;
+ //0:处理记录1:审核记录
+ model.ApproveType = 0;
+ //0:退回1:通过
+ model.ApproveState = 1;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.ProduceRun_InspectTermApproveRecords.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ ShowNotify("处理成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
+ {
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.designer.cs
new file mode 100644
index 00000000..072541a9
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandle.aspx.designer.cs
@@ -0,0 +1,260 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class TailTermHandle
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// lblTailTermCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblTailTermCode;
+
+ ///
+ /// lblConstructionUnit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblConstructionUnit;
+
+ ///
+ /// lblTermItemName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblTermItemName;
+
+ ///
+ /// lblQuestionDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblQuestionDesc;
+
+ ///
+ /// lblRectifyOpinion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRectifyOpinion;
+
+ ///
+ /// lblInspectUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblInspectUser;
+
+ ///
+ /// lblAdjustCompleteTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAdjustCompleteTime;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// imgBtnQuestionFile 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button imgBtnQuestionFile;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// lblAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAttach;
+
+ ///
+ /// imgBtnRectifyFile 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button imgBtnRectifyFile;
+
+ ///
+ /// lblApproveUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblApproveUser;
+
+ ///
+ /// hidApproveUserId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hidApproveUserId;
+
+ ///
+ /// lblApproveTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblApproveTime;
+
+ ///
+ /// txtApproveOpinion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtApproveOpinion;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnReturn 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnReturn;
+
+ ///
+ /// btnPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnPass;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx
new file mode 100644
index 00000000..16b2c6e3
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx
@@ -0,0 +1,137 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TailTermHandleList.aspx.cs" Inherits="FineUIPro.Web.TestRun.Produce.TailTermHandleList" %>
+
+
+
+
+
+
+
+
+ 质量巡检处理确认
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.cs
new file mode 100644
index 00000000..c3ad265e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.cs
@@ -0,0 +1,139 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+ public partial class TailTermHandleList : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ //绑定数据
+ BindGrid();
+ }
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select a.TailTermId,a.ProjectId,d.ProjectCode,d.ProjectName,a.TailTermCode,a.ConstructionUnit,b.UnitName,a.SubInspectId,a.TermItemId,c.WorkInspectName,a.QuestionDesc,a.RectifyTime,a.RectifyOpinion,a.InspectUser,e.UserName as InspectUserName,a.ApproveUser,f.UserName as ApproveUserName,a.HandleUser,g.UserName as HandleUserName,a.ApproveState,(case a.ApproveState when 0 then '待提交处理' when 1 then '待处理' when 2 then '处理退回' when 3 then '审核退回' when 4 then '待审核' when 5 then '审核通过' else '' end) as ApproveStateName,a.AddTime,a.AdjustCompleteTime,DATEDIFF(DAY, GETDATE(),a.AdjustCompleteTime) as AdjustDiffDay from ProduceRun_InspectTailTerm as a inner join Base_Unit as b on a.ConstructionUnit=b.UnitId inner join ProduceRun_SubInspectTermItem as c on c.TermItemId=a.TermItemId inner join Base_Project as d on d.ProjectId=a.ProjectId inner join Sys_User as e on e.UserId=a.InspectUser inner join Sys_User as f on f.UserId=a.ApproveUser inner join Sys_User as g on g.UserId=a.HandleUser where 1=1 and a.ProjectId=@projectid and a.HandleUser=@HandleUser and a.ApproveState>=1";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@HandleUser", this.CurrUser.UserId));
+ //审核状态
+ if (!string.IsNullOrWhiteSpace(ddlApproveState.SelectedValue))
+ {
+ strSql += " and a.ApproveState=@ApproveState";
+ listStr.Add(new SqlParameter("@ApproveState", ddlApproveState.SelectedValue));
+ }
+ strSql += " order by a.AddTime asc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, 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 Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuApprove_Click(null, null);
+ }
+
+ ///
+ /// 分页下拉框
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 按钮
+
+ ///
+ /// 关闭弹框
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 处理
+ ///
+ protected void btnReview_Click(object sender, EventArgs e)
+ {
+ btnMenuApprove_Click(null, null);
+ }
+
+ ///
+ /// 处理
+ ///
+ protected void btnMenuApprove_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var passLs = new List() { 1, 3 };
+ var model = Funs.DB.ProduceRun_InspectTailTerm.FirstOrDefault(x => x.TailTermId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ if (!passLs.Contains(model.ApproveState.Value))
+ {
+ Alert.ShowInTop("只可处理“待处理”和“审核退回”的记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TailTermHandle.aspx?TailTermId={0}", Grid1.SelectedRowID, "审核 - ")));
+ }
+
+ ///
+ /// 搜索
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.designer.cs
new file mode 100644
index 00000000..c9d7addf
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/Produce/TailTermHandleList.aspx.designer.cs
@@ -0,0 +1,143 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.Produce
+{
+
+
+ public partial class TailTermHandleList
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ddlApproveState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlApproveState;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnReview 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnReview;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuApprove 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuApprove;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/Web.config b/SGGL/FineUIPro.Web/Web.config
index eafda425..963148f2 100644
--- a/SGGL/FineUIPro.Web/Web.config
+++ b/SGGL/FineUIPro.Web/Web.config
@@ -12,7 +12,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/common/main_new.aspx.cs b/SGGL/FineUIPro.Web/common/main_new.aspx.cs
index 0f37aaee..b409036d 100644
--- a/SGGL/FineUIPro.Web/common/main_new.aspx.cs
+++ b/SGGL/FineUIPro.Web/common/main_new.aspx.cs
@@ -541,23 +541,19 @@ namespace FineUIPro.Web.common
protected string zggjzglDataValue;
protected void getZlgj()
{
+ var num1 = (from x in Funs.DB.ProcessControl_InspectionManagement
+ select x).Count();
//Check_JointCheck
- zlgjallNumber = (from x in Funs.DB.Check_JointCheck
- where x.CheckDate <= DateTime.Now
- select x).Count().ToString();
+ zlgjallNumber = num1.ToString();
- var num2 = (from x in Funs.DB.Check_JointCheck
- where x.CheckDate <= DateTime.Now && x.State == BLL.Const.JointCheck_Complete
+ var num2 = (from x in Funs.DB.ProcessControl_InspectionManagement
+ where x.IsOnceQualified == true
select x).Count();
zlgjfinishNumber = num2.ToString();
- var num3 = (from x in Funs.DB.Check_JointCheck
- where x.CheckDate <= DateTime.Now && x.State != BLL.Const.JointCheck_Complete
- select x).Count();
-
- var zgl = String.Format("{0:N2}", 100.0 * num2 / (num2 + num3));
+ var zgl = String.Format("{0:N2}", 100.0 * num2 / num1);
zlgjzgl = zgl.ToString();
- zggjzglDataValue = (100 - (100.0 * num2 / (num2 + num3))).ToString();
+ zggjzglDataValue = (100 - (100.0 * num2 / num1)).ToString();
}
#endregion