diff --git a/DataBase/版本日志/SGGLDB_WH_2023-12-12.sql b/DataBase/版本日志/SGGLDB_WH_2023-12-12.sql
new file mode 100644
index 00000000..af1880be
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2023-12-12.sql
@@ -0,0 +1,382 @@
+--1:ɾҳ/TestRun/TestRunManage/TemplateItemGroup.aspx
+
+delete Sys_Menu where MenuId='AF2B0CAD-DE15-4F15-A5EE-C8FB558D00C8'
+--==ԳģϢ
+if object_id(N'TestRun_TemplateItemGroup',N'U') is not null
+drop table dbo.TestRun_TemplateItemGroup
+
+
+--==ԳģϢ
+if object_id(N'TestRun_WorkInspectTemplate',N'U') is not null
+drop table dbo.TestRun_WorkInspectTemplate
+CREATE TABLE dbo.TestRun_WorkInspectTemplate(
+ WorkInspectId varchar(50) NOT NULL,--
+ WorkPackId varchar(50) NULL,--
+ WorkInspectName varchar(500) NULL,--
+ Remark nvarchar(150) NULL,--ע
+ GroupName varchar(50) NULL,--
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_TestRun_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 TestRun_WorkInspectTemplate where WorkInspectId in ('7E6772DF-F6EB-40C2-9ADE-812261DA8FDA','983A255D-9566-41B8-A7E3-A6410CA7CE80','809B9BAD-DC27-4A10-A5D3-11E8E0FC2D03','6C512E87-4926-410E-91E9-64260841975C','BCFB2C79-8408-4D6B-818F-637AC09D5928','8089080E-194C-40EC-853A-6C54B7216640','915CFF7D-D674-4CCA-B714-039946A21F1A','4C31349D-73C8-46C0-BDFF-451FDD1B1A14','3DD4DA02-429C-484E-8B11-9DD9F4FF14F7','476504F5-0D98-4153-ADDC-07B92F1F8131','41F50C0D-7946-4476-A8CE-7873CDE9A895','8ACB5F52-CD6C-43D0-BAA6-38A45DC17E17')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('7E6772DF-F6EB-40C2-9ADE-812261DA8FDA','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','ˮϵͳѭϴϸ','','¯','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('983A255D-9566-41B8-A7E3-A6410CA7CE80','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','ҩϵͳ߱','','¯','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('809B9BAD-DC27-4A10-A5D3-11E8E0FC2D03','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','ҩƷHelaminλ','','¯','',GETDATE(),3)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('6C512E87-4926-410E-91E9-64260841975C','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','¯ˮϵͳ߱','','¯','',GETDATE(),4)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('BCFB2C79-8408-4D6B-818F-637AC09D5928','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','P-1301A/B/CԳϸܹͶˡ','','¯','',GETDATE(),5)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('8089080E-194C-40EC-853A-6C54B7216640','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','¯ҪDCSDZ嵥ϣDCSá','','¯','',GETDATE(),6)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('915CFF7D-D674-4CCA-B714-039946A21F1A','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','ܵɨϣ߱Ͷ','','¯','',GETDATE(),7)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('4C31349D-73C8-46C0-BDFF-451FDD1B1A14','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','ѭˮˮDZܹ','','¯','',GETDATE(),8)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('3DD4DA02-429C-484E-8B11-9DD9F4FF14F7','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','¯ԱѾѵϣԱŵλ','','¯','',GETDATE(),9)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('476504F5-0D98-4153-ADDC-07B92F1F8131','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','¯ҪĹλ','','¯','',GETDATE(),10)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('41F50C0D-7946-4476-A8CE-7873CDE9A895','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','Ļ÷','','¯','',GETDATE(),11)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('8ACB5F52-CD6C-43D0-BAA6-38A45DC17E17','1D6C3FD1-6462-4E2C-9828-5D1E718A5EB6','¯ˮϵͳѹ©ɡ','','¯','',GETDATE(),12)
+go
+--Գ(豸ܵϵͳ)
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('BAF6A855-626E-47AE-8392-66A728883DDC','7981FE42-A498-4033-873B-300F2C30CEDD','D50EE94D-072F-4321-A5A9-DCC418793328','C74E21AA-897D-41C9-913B-885080AC4F7B','DEAE38D1-5F93-465D-911D-A573500D87D1','3E207B29-41AE-4175-9BF8-E4A17025BAF0','6543BA5F-9414-4EEC-B9BB-3B5C4BD69C3F','525DA974-7C9D-4DEF-986E-B45C5A8C684A','2FF1A3AC-27C5-436E-857A-E16F48C41281','976BE907-6B1A-4D63-B9EC-D02FAE7F5841','5B6F8D9A-B327-4F4E-AE7A-1923C9987C31','62FFC392-13BA-4871-AA8F-F930D53D2729')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('BAF6A855-626E-47AE-8392-66A728883DDC','FF3C10D2-822E-4CF4-BE50-AB69181075B5','豸ܵװɣʩչ淶Ҫ','','豸ܵϵͳ','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('7981FE42-A498-4033-873B-300F2C30CEDD','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ĶȱϣӰԳβ','','豸ܵϵͳ','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('D50EE94D-072F-4321-A5A9-DCC418793328','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ܵѹϸ','','豸ܵϵͳ','',GETDATE(),3)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('C74E21AA-897D-41C9-913B-885080AC4F7B','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ϵͳϴɨϸ','','豸ܵϵͳ','',GETDATE(),4)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('DEAE38D1-5F93-465D-911D-A573500D87D1','FF3C10D2-822E-4CF4-BE50-AB69181075B5','豸ܵѧϴϸ','','豸ܵϵͳ','',GETDATE(),5)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('3E207B29-41AE-4175-9BF8-E4A17025BAF0','FF3C10D2-822E-4CF4-BE50-AB69181075B5','豸Գϸ','','豸ܵϵͳ','',GETDATE(),6)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('6543BA5F-9414-4EEC-B9BB-3B5C4BD69C3F','FF3C10D2-822E-4CF4-BE50-AB69181075B5','װϸ','','豸ܵϵͳ','',GETDATE(),7)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('525DA974-7C9D-4DEF-986E-B45C5A8C684A','FF3C10D2-822E-4CF4-BE50-AB69181075B5','豸ܵϸ','','豸ܵϵͳ','',GETDATE(),8)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('2FF1A3AC-27C5-436E-857A-E16F48C41281','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ȫϸͶ״̬','','豸ܵϵͳ','',GETDATE(),9)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('976BE907-6B1A-4D63-B9EC-D02FAE7F5841','FF3C10D2-822E-4CF4-BE50-AB69181075B5','8äϵͳä崦ȷλá','','豸ܵϵͳ','',GETDATE(),10)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('5B6F8D9A-B327-4F4E-AE7A-1923C9987C31','FF3C10D2-822E-4CF4-BE50-AB69181075B5','֧ܰװҪ','','豸ܵϵͳ','',GETDATE(),11)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('62FFC392-13BA-4871-AA8F-F930D53D2729','FF3C10D2-822E-4CF4-BE50-AB69181075B5','֧ܵϸͶ״̬','','豸ܵϵͳ','',GETDATE(),12)
+go
+--Գ(ϵͳ)
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('00290712-4366-46DF-88C5-6C86BF66FFCC','A7178577-245E-4926-BC95-7276CF745874','82460343-3189-46B3-A283-6D1A02700933','29251A33-5106-4660-B9E6-D43E35D44C4D','1FE206C9-A989-41AF-B6C3-94B2859FE1C1')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('00290712-4366-46DF-88C5-6C86BF66FFCC','FF3C10D2-822E-4CF4-BE50-AB69181075B5','DZװʩչ淶Ҫ','','ϵͳ','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('A7178577-245E-4926-BC95-7276CF745874','FF3C10D2-822E-4CF4-BE50-AB69181075B5','豸ļ̵;ԵѺϸ','','ϵͳ','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('82460343-3189-46B3-A283-6D1A02700933','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ʩԺϸɿ','','ϵͳ','',GETDATE(),3)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('29251A33-5106-4660-B9E6-D43E35D44C4D','FF3C10D2-822E-4CF4-BE50-AB69181075B5','DZļϵͳԶϵͳͱϵͳԺϸ','','ϵͳ','',GETDATE(),4)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('1FE206C9-A989-41AF-B6C3-94B2859FE1C1','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ԶDZԺϸƺϸ','','ϵͳ','',GETDATE(),5)
+go
+--Գ(ϵͳ)
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('E764654E-2974-4DDE-B09D-5118BC13FADE','1955A53C-5E28-4621-A2FB-2878CB47B7F7')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('E764654E-2974-4DDE-B09D-5118BC13FADE','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ˮ硢DZܱ֤ȶӦ','','ϵͳ','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('1955A53C-5E28-4621-A2FB-2878CB47B7F7','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ԭϡȼϼԭϡ֬ѧƷ뱸ȷȶӦ','','ϵͳ','',GETDATE(),2)
+go
+--Գ(ȫϵͳ)
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('7EABB4DC-2759-4744-8E14-A2B1174A7269','8BD5374C-78D8-4D3A-A215-0B937819A6B2','C4E82F10-83C2-406D-BEAE-AA324850FAE6','3B59B32D-12E4-47AD-AAFE-AEFC48CA86C9')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('7EABB4DC-2759-4744-8E14-A2B1174A7269','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ˮϵͳԺϸͶ״̬','','ȫϵͳ','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('8BD5374C-78D8-4D3A-A215-0B937819A6B2','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ĭɷ̼ۡʩԺϸͶ״̬','','ȫϵͳ','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('C4E82F10-83C2-406D-BEAE-AA324850FAE6','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ϵͳɣʱʩҪ','','ȫϵͳ','',GETDATE(),3)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('3B59B32D-12E4-47AD-AAFE-AEFC48CA86C9','FF3C10D2-822E-4CF4-BE50-AB69181075B5','äר˸𣬽ж̬¼̨ʣֳơ','','ȫϵͳ','',GETDATE(),4)
+go
+--Գ()
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('07D87903-F0F7-4E1E-AC68-4140749DCBB6','1013759E-4947-48CE-A725-904A023F7939','2C24530F-5421-47C8-984B-B763031E1D24')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('07D87903-F0F7-4E1E-AC68-4140749DCBB6','FF3C10D2-822E-4CF4-BE50-AB69181075B5','лҡѽƶȣȷ','','','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('1013759E-4947-48CE-A725-904A023F7939','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ʩԼҺѱãҪ','','','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('2C24530F-5421-47C8-984B-B763031E1D24','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ģģ','','','',GETDATE(),3)
+go
+--Գ(֯ԱͨѶ涨)
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('5CCC100F-A337-4097-B5E5-926D6D4BEBE1','5DC1B9BA-85E0-4FF2-B295-7C554D557489','63D0886F-2A2D-4381-A19D-36BC7EBE3A48','9C2EEE58-B009-4822-9000-40A8F5C43429','779B6E9D-857B-43B5-92C3-8376AF2C23EC','714F447E-793D-4B74-853B-3B751D54FCB8','70073618-055E-4E2A-91FE-65E8175203B7','12413C80-BC95-4C31-9E96-E8D61D73E50A','9C685E13-6740-47AF-A5DD-4CAF8F25047D')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('5CCC100F-A337-4097-B5E5-926D6D4BEBE1','FF3C10D2-822E-4CF4-BE50-AB69181075B5','Գָ֯ѾλѰ䲼ִУԱ룬ѰҪϸڡ','','֯ԱͨѶ涨','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('5DC1B9BA-85E0-4FF2-B295-7C554D557489','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ԳϵͳС','','֯ԱͨѶ涨','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('63D0886F-2A2D-4381-A19D-36BC7EBE3A48','FF3C10D2-822E-4CF4-BE50-AB69181075B5','װԱѾȫ','','֯ԱͨѶ涨','',GETDATE(),3)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('9C2EEE58-B009-4822-9000-40A8F5C43429','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ָϵͳͨѶͨ','','֯ԱͨѶ涨','',GETDATE(),4)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('779B6E9D-857B-43B5-92C3-8376AF2C23EC','FF3C10D2-822E-4CF4-BE50-AB69181075B5','λֱͨ绰ѿͨá','','֯ԱͨѶ涨','',GETDATE(),5)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('714F447E-793D-4B74-853B-3B751D54FCB8','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ȵ绰ߵ绰Խϵͳɿá','','֯ԱͨѶ涨','',GETDATE(),6)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('70073618-055E-4E2A-91FE-65E8175203B7','FF3C10D2-822E-4CF4-BE50-AB69181075B5','λѱ','','֯ԱͨѶ涨','',GETDATE(),7)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('12413C80-BC95-4C31-9E96-E8D61D73E50A','FF3C10D2-822E-4CF4-BE50-AB69181075B5','μԳҵԱѾӦλѵϸ','','֯ԱͨѶ涨','',GETDATE(),8)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('9C685E13-6740-47AF-A5DD-4CAF8F25047D','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ʺͲDZߺͼ¼뱸','','֯ԱͨѶ涨','',GETDATE(),9)
+go
+--Գ(ˡڱ)
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('509BE136-72B5-462D-BCD5-367719461CF6','D4BA9DD7-A2AC-49F9-87C0-F9255A3DCF81','952DDAC1-8886-4AA5-8057-C6676D92E94C','66732649-05C5-4A93-9B09-F87F51AAD1D3','DF8297EF-0D4F-470B-BFB2-64DB9F3D4428')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('509BE136-72B5-462D-BCD5-367719461CF6','FF3C10D2-822E-4CF4-BE50-AB69181075B5','˶ɣΧΡֵƶȷ','','ˡڱ','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('D4BA9DD7-A2AC-49F9-87C0-F9255A3DCF81','FF3C10D2-822E-4CF4-BE50-AB69181075B5','硢Աϸڡ','','ˡڱ','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('952DDAC1-8886-4AA5-8057-C6676D92E94C','FF3C10D2-822E-4CF4-BE50-AB69181075B5','װʵ','','ˡڱ','',GETDATE(),3)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('66732649-05C5-4A93-9B09-F87F51AAD1D3','FF3C10D2-822E-4CF4-BE50-AB69181075B5','౸Ʒרùߵѱ롣','','ˡڱ','',GETDATE(),4)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('DF8297EF-0D4F-470B-BFB2-64DB9F3D4428','FF3C10D2-822E-4CF4-BE50-AB69181075B5','ڷʵ','','ˡڱ','',GETDATE(),5)
+go
+--û
+delete TestRun_WorkInspectTemplate where WorkInspectId in ('9C3D91DD-A844-4C07-B764-5636181C0BCE','62721C3A-5153-4423-B0A1-D9E60E82B412','E84A7DA5-F174-42E4-9A8F-6F1C567670C8','180837E6-54AF-491A-81D1-C6D7545698DF','580A8E9F-B0FC-40D0-8CE6-5315529ED188','051EC46F-C2DC-4348-A0DA-2CE225D62512','AEAA541A-BC10-49AF-AB79-3C7C117BC563','9F052148-0326-432D-8C19-013C35CD743B','1C126F56-B360-4ECD-B2BE-BE499DFB23F2','F936036B-B03E-4782-A199-529F47BA5A72','9B9B479F-CD25-4E47-B274-F9D65C5EE11B')
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('9C3D91DD-A844-4C07-B764-5636181C0BCE','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','DZԺϸڷͶˡ','','û','',GETDATE(),1)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('62721C3A-5153-4423-B0A1-D9E60E82B412','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','ܵѹϴɨϸ','','û','',GETDATE(),2)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('E84A7DA5-F174-42E4-9A8F-6F1C567670C8','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','豸Գϸ','','û','',GETDATE(),3)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('180837E6-54AF-491A-81D1-C6D7545698DF','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','ϵͳԪԳϡ','','û','',GETDATE(),4)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('580A8E9F-B0FC-40D0-8CE6-5315529ED188','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','ϵͳϸ','','û','',GETDATE(),5)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('051EC46F-C2DC-4348-A0DA-2CE225D62512','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','ûʱʩϡ','','û','',GETDATE(),6)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('AEAA541A-BC10-49AF-AB79-3C7C117BC563','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','ŵĿλѰ·ͼɡ','','û','',GETDATE(),7)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('9F052148-0326-432D-8C19-013C35CD743B','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','Ѿλ','','û','',GETDATE(),8)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('1C126F56-B360-4ECD-B2BE-BE499DFB23F2','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','ϵͳûҪ','','û','',GETDATE(),9)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('F936036B-B03E-4782-A199-529F47BA5A72','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','ȫʩѵλ','','û','',GETDATE(),10)
+INSERT INTO dbo.TestRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,GroupName,AddUser,AddTime,Sort) VALUES('9B9B479F-CD25-4E47-B274-F9D65C5EE11B','82ED8240-AA40-4CEB-80E0-B3DF14FFC284','Աѽаȫס','','û','',GETDATE(),11)
+go
+
+--ԤԳ˵
+delete Sys_Menu where MenuId='FCC050F0-0F13-4CE5-BE33-623377562965'
+delete Sys_Menu where MenuId='E673FC27-74F1-479C-8DE1-950183566725'
+delete Sys_Menu where MenuId='FAD7BF9B-B08A-473B-BEB9-CCAC3E5EA130'
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('FCC050F0-0F13-4CE5-BE33-623377562965','Ķβ嵥',null,'TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx',15,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('E673FC27-74F1-479C-8DE1-950183566725','Ķȷ',null,'TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx',16,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('FAD7BF9B-B08A-473B-BEB9-CCAC3E5EA130','Ķȷ',null,'TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx',17,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+
+
+--==ϵͳ
+if object_id(N'TestRun_SubInspectTermItem',N'U') is not null
+drop table dbo.TestRun_SubInspectTermItem
+CREATE TABLE dbo.TestRun_SubInspectTermItem(
+ TermItemId varchar(50) NOT NULL,--
+ SubInspectId varchar(50) NULL,--
+ WorkPackId varchar(50) NULL,--
+ GroupName varchar(50) NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ WorkInspectId varchar(50) NOT NULL,--ģ
+ WorkInspectName varchar(500) NULL,--
+ InstallationId varchar(50) NULL,--װ(ֶΣڹ)
+ ProcessesId varchar(50) NULL,--(ֶΣڹ)
+ SystemId varchar(50) NULL,--ϵͳ(ֶΣڹ)
+ InspectedUser varchar(max) NULL,--(ɼչʾ)
+ AllUserInspectionPass int NULL,--Ƿȫͨ0:δͨ 1:ͨ
+ Subcontractor varchar(50) null,--ְ
+ Contractor varchar(50) null,--а
+ Supervision varchar(50) null,--
+ Owner varchar(50) null,--ҵ
+ SubcontractorIsPass int NULL,--ְǷͨ0/null:δͨ 1:ͨ
+ ContractorIsPass int NULL,--аǷͨ0/null:δͨ 1:ͨ
+ SupervisionIsPass int NULL,--Ƿͨ0/null:δͨ 1:ͨ
+ OwnerIsPass int NULL,--ҵǷͨ0/null:δͨ 1:ͨ
+ SubcontractorRemark varchar(1000) NULL,--ְ̱ע
+ ContractorRemark varchar(1000) NULL,--а̱ע
+ SupervisionRemark varchar(1000) NULL,--ע
+ OwnerRemark varchar(1000) NULL,--ҵע
+ Remark varchar(200) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_TestRun_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'TestRun_TermItemInspectedUser',N'U') is not null
+drop table dbo.TestRun_TermItemInspectedUser
+CREATE TABLE dbo.TestRun_TermItemInspectedUser(
+ ItemUserId varchar(50) NOT NULL,--
+ TermItemId varchar(50) NULL,--
+ SubInspectId varchar(50) NULL,--
+ WorkPackId varchar(50) NULL,--
+ GroupName varchar(50) NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ InspectedUser varchar(50) NULL,--
+ InspectionResults int NULL,--0:δͨ 1:ͨ
+ InspectionIllustrate varchar(200) NULL,--˵
+ InstallationId varchar(50) NULL,--װ(ֶΣڹ)
+ ProcessesId varchar(50) NULL,--(ֶΣڹ)
+ SystemId varchar(50) NULL,--ϵͳ(ֶΣڹ)
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_TestRun_TermItemInspectedUser PRIMARY KEY CLUSTERED
+(
+ ItemUserId 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'PreRun_SubThreeChecksFourDecision',N'U') is not null
+drop table dbo.PreRun_SubThreeChecksFourDecision
+CREATE TABLE dbo.PreRun_SubThreeChecksFourDecision(
+ DecisionId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ SubSystemId varchar(50) NULL,--ϵͳ
+ ResponsibilityUser varchar(50) NULL,--
+ ProposeUser varchar(50) NULL,--
+ GeneraUser varchar(50) NULL,--ܰ
+ SupervisionUser varchar(50) NULL,--
+ OwnerUser varchar(50) NULL,--ҵ
+ ResponsibilityUnit varchar(50) NULL,--ελ
+ QuestionDesc varchar(max) NULL,--Ķ
+ Level varchar(50) NULL,--
+ Speciality varchar(50) NULL,--רҵ
+ AskDestructionTime datetime NULL,--Ҫʱ
+ RealityDestructionTime datetime NULL,--ʵʱ
+ RestrictCondition varchar(max) NULL,--ķ/Լ
+ ResponsibilityConfirm int NULL,--ȷ(0:ύ1:δȷ2:ȷ˻3:ȷͨ)
+ ProposeConfirm int NULL,--ȷ(1:δȷ2:ȷͨ)
+ GeneraConfirm int NULL,--ܰȷ(1:δȷ2:ȷͨ)
+ SupervisionConfirm int NULL,--ȷ(1:δȷ2:ȷͨ)
+ OwnerConfirm int NULL,--ҵȷ(1:δȷ2:ȷͨ)
+ ResponsibilityConfirmData datetime NULL,--ȷʱ
+ ProposeConfirmData datetime NULL,--ȷʱ
+ GeneraConfirmData datetime NULL,--ܰȷʱ
+ SupervisionConfirmData datetime NULL,--ȷʱ
+ OwnerConfirmData datetime NULL,--ҵȷʱ
+ DecisionIsClose int NULL,--βǷر0:1:
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_PreRun_SubThreeChecksFourDecision PRIMARY KEY CLUSTERED
+(
+ DecisionId 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'PreRun_DecisionConfirmRecords',N'U') is not null
+drop table dbo.PreRun_DecisionConfirmRecords
+CREATE TABLE dbo.PreRun_DecisionConfirmRecords(
+ ConfirmId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ DecisionId varchar(50) NULL,--
+ ConfirmDesc varchar(max) NULL,--ȷ
+ ConfirmTime datetime NULL,--ȷʱ
+ ConfirmUser varchar(50) NULL,--ȷ
+ ConfirmType int NULL,--¼1:ȷ2:ȷ3:ܰȷ4:ȷ5:ҵȷ
+ ConfirmState int NULL,--1:ȷͨ2:ȷ˻
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ CONSTRAINT PK_PreRun_DecisionConfirmRecords PRIMARY KEY CLUSTERED
+(
+ ConfirmId 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
+
+--==DZϢ
+if object_id(N'PreRun_InstrumentSysPiping',N'U') is not null
+drop table dbo.PreRun_InstrumentSysPiping
+CREATE TABLE dbo.PreRun_InstrumentSysPiping(
+ InstrumentId varchar(50) NOT NULL,--
+ SystemId varchar(50) NULL,--ϵͳ
+ ProjectId varchar(50) NULL,--Ŀ
+ InstrumentTag varchar(100) NULL,--DZλ
+ UseTo varchar(200) NULL,--;
+ InstrumentName varchar(100) NULL,--DZ
+ Supplier varchar(100) NULL,--
+ InstallationPosition varchar(50) NULL,--װλ
+ SignalType varchar(50) NULL,--ź
+ AssociatedSystem varchar(50) NULL,--ϵͳ
+ Cp25 varchar(50) NULL,--CP25
+ In11 varchar(50) NULL,--IN11
+ In40 varchar(50) NULL,--IN40
+ Remark nvarchar(150) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_PreRun_InstrumentSysPiping PRIMARY KEY CLUSTERED
+(
+ InstrumentId 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
+
+--==ϵͳѡDZϢ
+if object_id(N'PreRun_SubInstrumentSelect',N'U') is not null
+drop table dbo.PreRun_SubInstrumentSelect
+CREATE TABLE dbo.PreRun_SubInstrumentSelect(
+ SubInstrumentId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ SubSystemId varchar(50) NULL,--ϵͳ
+ InstrumentId varchar(50) NULL,--DZ
+ Remark nvarchar(150) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_PreRun_SubInstrumentSelect PRIMARY KEY CLUSTERED
+(
+ SubInstrumentId 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'PreRun_WorkPackage',N'U') is not null
+drop table dbo.PreRun_WorkPackage
+CREATE TABLE dbo.PreRun_WorkPackage(
+ WorkPackId varchar(50) NOT NULL,--
+ WorkPackName varchar(50) NULL,--
+ WorkPackType int null,--0=ȫ1=ܵ2=豸3=DZ
+ SpecialWorkPack int null,--Ƿ0:1:
+ Remark nvarchar(150) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_PreRun_WorkPackage PRIMARY KEY CLUSTERED
+(
+ WorkPackId 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 PreRun_WorkPackage where WorkPackId='1C01150C-977E-499A-9173-95F319BEEF87'
+delete PreRun_WorkPackage where WorkPackId='641DA0F4-42A7-4DE3-9A57-95A606016655'
+delete PreRun_WorkPackage where WorkPackId='BEB24AE8-F66D-458B-ADFD-3810405B5EB8'
+delete PreRun_WorkPackage where WorkPackId='02BC1E1E-E531-4738-B6EC-5CE5BDC47B43'
+delete PreRun_WorkPackage where WorkPackId='474F94B6-E927-4E9A-A544-F8E1AE63F6FF'
+delete PreRun_WorkPackage where WorkPackId='3289A3D2-0691-4AD1-BDF3-1FD784564E71'
+delete PreRun_WorkPackage where WorkPackId='445B915B-3E6D-47BE-BFF4-8762695ADB20'
+delete PreRun_WorkPackage where WorkPackId='73C7D1D7-6DA3-44DD-A88B-7DF0FF15AA4F'
+delete PreRun_WorkPackage where WorkPackId='84C6DAD6-3ED8-4869-ADB4-2EDA3512DB16'
+delete PreRun_WorkPackage where WorkPackId='963E658B-CB53-4FEA-BA7D-723C538B2BD5'
+delete PreRun_WorkPackage where WorkPackId='598A028A-5812-40E3-9D9D-5180A36F4453'
+delete PreRun_WorkPackage where WorkPackId='6D827784-6ABD-4327-ABB7-FDABAC99853F'
+delete PreRun_WorkPackage where WorkPackId='4338606F-74BC-4134-8F2B-F7F826BA1E9D'
+delete PreRun_WorkPackage where WorkPackId='61A8B95B-F7A3-4F0D-8358-EF2030D321B4'
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('1C01150C-977E-499A-9173-95F319BEEF87','Գ',2,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),1)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('641DA0F4-42A7-4DE3-9A57-95A606016655','ܵϴ',1,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),2)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ܵɨ',1,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),3)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('02BC1E1E-E531-4738-B6EC-5CE5BDC47B43','ɨ',1,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),4)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ѧϴ',1,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),5)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('3289A3D2-0691-4AD1-BDF3-1FD784564E71','¯',2,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),6)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('445B915B-3E6D-47BE-BFF4-8762695ADB20','װ',2,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),7)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('73C7D1D7-6DA3-44DD-A88B-7DF0FF15AA4F','ɸװ',2,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),8)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('84C6DAD6-3ED8-4869-ADB4-2EDA3512DB16','ֻԳ',2,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),11)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('963E658B-CB53-4FEA-BA7D-723C538B2BD5','Գ',2,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),12)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('598A028A-5812-40E3-9D9D-5180A36F4453','',1,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),13)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('6D827784-6ABD-4327-ABB7-FDABAC99853F','ȼ',0,0,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),14)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('4338606F-74BC-4134-8F2B-F7F826BA1E9D','',2,1,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),15)
+INSERT INTO dbo.PreRun_WorkPackage(WorkPackId,WorkPackName,WorkPackType,SpecialWorkPack,Remark,AddUser,AddTime,Sort)
+VALUES('61A8B95B-F7A3-4F0D-8358-EF2030D321B4','DZ·',3,1,'','C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',GETDATE(),16)
+go
+
+--ֶγ
+ALTER TABLE PreRun_PropertySysPiping ALTER Column Remark varchar(max) null;
+ALTER TABLE PreRun_TechnologySysPiping ALTER Column Remark varchar(max) null;
+ALTER TABLE PreRun_TechnologySysPiping ALTER Column DrawingNo varchar(max) null;
+
+
+--
+truncate table PreRun_PropertySysPiping
+truncate table PreRun_TechnologySysPiping
+truncate table PreRun_SubPropertySelect
+truncate table PreRun_SubTechnologySelect
+truncate table PreRun_SubInspectTerm
+truncate table PreRun_SubInspectTermItem
+truncate table PreRun_InspectTailTerm
+truncate table PreRun_InspectTermApproveRecords
+truncate table PreRun_InstrumentSysPiping
+truncate table PreRun_SubInstrumentSelect
+go
\ No newline at end of file
diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs
index ed47aa1e..a858ec4d 100644
--- a/SGGL/BLL/Common/Const.cs
+++ b/SGGL/BLL/Common/Const.cs
@@ -3127,6 +3127,14 @@ namespace BLL
///
public const string QuantityCompletionTemplateUrl = "File\\Excel\\DataIn\\项目进度完成情况导入模板.xls";
///
+ /// 仪表索引
+ ///
+ public const string InstrumentUrl = "File\\Excel\\TestRun\\仪表索引模板.xlsx";
+ ///
+ /// 三查四定模板下载
+ ///
+ public const string ThreeChecksFourDecisionUrl = "File\\Excel\\TestRun\\三查四定检查表模板.xls";
+ ///
/// 低温储罐完成情况导入模版文件原始的虚拟路径
///
public const string LowTankCompletionTemplateUrl = "File\\Excel\\DataIn\\低温储罐完成情况导入模板.xls";
diff --git a/SGGL/BLL/Common/NPOIHelper.cs b/SGGL/BLL/Common/NPOIHelper.cs
index ee58679b..48ee0ae9 100644
--- a/SGGL/BLL/Common/NPOIHelper.cs
+++ b/SGGL/BLL/Common/NPOIHelper.cs
@@ -93,7 +93,7 @@ namespace BLL
///
/// 第一行是否为表头
///
- public static DataSet ExcelToDataSet(string filePath, out string strMsg, bool firstTitle = false)
+ public static DataSet ExcelToDataSet(string filePath, out string strMsg, bool firstTitle = false, bool firstSheet = true)
{
strMsg = "";
DataSet ds = new DataSet();
@@ -108,9 +108,9 @@ namespace BLL
if (fileType == ".xlsx")
{
// 2007版本
- fs.Position = 0;
+ //fs.Position = 0;
XSSFWorkbook workbook = new XSSFWorkbook(fs);
- sheetNumber = workbook.NumberOfSheets;
+ sheetNumber = firstSheet ? 1 : workbook.NumberOfSheets;
for (int i = 0; i < sheetNumber; i++)
{
string sheetName = workbook.GetSheetName(i);
@@ -134,14 +134,13 @@ namespace BLL
{
// 2003版本
HSSFWorkbook workbook = new HSSFWorkbook(fs);
- sheetNumber = workbook.NumberOfSheets;
+ sheetNumber = firstSheet ? 1 : workbook.NumberOfSheets;
for (int i = 0; i < sheetNumber; i++)
{
string sheetName = workbook.GetSheetName(i);
sheet = workbook.GetSheet(sheetName);
if (sheet != null)
{
- //dt = GetSheetDataTable(sheet, out strMsg);
dt = firstTitle ? GetFirstSheetDataTable(sheet, out strMsg) : GetSheetDataTable(sheet, out strMsg);
if (dt != null)
{
@@ -179,6 +178,7 @@ namespace BLL
//最大列数
int cellCount = 0;
IRow maxRow = sheet.GetRow(0);
+ if (maxRow == null) return dt;
for (int i = startIndex; i <= lastIndex; i++)
{
IRow row = sheet.GetRow(i);
@@ -205,6 +205,7 @@ namespace BLL
for (int i = startIndex; i <= lastIndex; i++)
{
IRow row = sheet.GetRow(i);
+ if (row == null) continue;
//移除空行
if (row.Cells.Count(p => !string.IsNullOrWhiteSpace(p.ToString())) == 0) continue;
DataRow drNew = dt.NewRow();
@@ -300,6 +301,7 @@ namespace BLL
{
IRow row = sheet.GetRow(i);
DataRow dataRow = dt.NewRow();
+ if (row == null) continue;
//移除空行
if (row.Cells.Count(p => !string.IsNullOrWhiteSpace(p.ToString())) == 0) continue;
diff --git a/SGGL/FineUIPro.Web/File/Excel/TestRun/三查四定检查表模板.xls b/SGGL/FineUIPro.Web/File/Excel/TestRun/三查四定检查表模板.xls
new file mode 100644
index 00000000..76fe7f26
Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/TestRun/三查四定检查表模板.xls differ
diff --git a/SGGL/FineUIPro.Web/File/Excel/TestRun/仪表索引模板.xlsx b/SGGL/FineUIPro.Web/File/Excel/TestRun/仪表索引模板.xlsx
new file mode 100644
index 00000000..ff4e79d7
Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/TestRun/仪表索引模板.xlsx differ
diff --git a/SGGL/FineUIPro.Web/File/Excel/TestRun/管道一览表.xlsx b/SGGL/FineUIPro.Web/File/Excel/TestRun/管道一览表.xlsx
index 3ff4f51b..f6660d5d 100644
Binary files a/SGGL/FineUIPro.Web/File/Excel/TestRun/管道一览表.xlsx and b/SGGL/FineUIPro.Web/File/Excel/TestRun/管道一览表.xlsx differ
diff --git a/SGGL/FineUIPro.Web/File/Excel/TestRun/设备一览表.xlsx b/SGGL/FineUIPro.Web/File/Excel/TestRun/设备一览表.xlsx
index 0ff4a7fc..5feb41b4 100644
Binary files a/SGGL/FineUIPro.Web/File/Excel/TestRun/设备一览表.xlsx and b/SGGL/FineUIPro.Web/File/Excel/TestRun/设备一览表.xlsx differ
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 5d924caf..c5185f93 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1672,6 +1672,10 @@
+
+
+
+
@@ -1680,6 +1684,7 @@
+
@@ -1688,6 +1693,8 @@
+
+
@@ -1790,7 +1797,6 @@
-
@@ -2038,6 +2044,9 @@
+
+
+
@@ -15131,6 +15140,34 @@
DeviceRunEdit.aspx
+
+ FourDecisionOtherConfirm.aspx
+ ASPXCodeBehind
+
+
+ FourDecisionOtherConfirm.aspx
+
+
+ FourDecisionOtherConfirmEdit.aspx
+ ASPXCodeBehind
+
+
+ FourDecisionOtherConfirmEdit.aspx
+
+
+ FourDecisionResponsibilityConfirm.aspx
+ ASPXCodeBehind
+
+
+ FourDecisionResponsibilityConfirm.aspx
+
+
+ FourDecisionResponsibilityConfirmEdit.aspx
+ ASPXCodeBehind
+
+
+ FourDecisionResponsibilityConfirmEdit.aspx
+
InspectTailTermEdit.aspx
ASPXCodeBehind
@@ -15187,6 +15224,13 @@
InspectWanderAboutList.aspx
+
+ SelectInstrument.aspx
+ ASPXCodeBehind
+
+
+ SelectInstrument.aspx
+
SelectProperty.aspx
ASPXCodeBehind
@@ -15243,6 +15287,20 @@
SubSysWorkPackage.aspx
+
+ SubThreeChecksFourDecisionEdit.aspx
+ ASPXCodeBehind
+
+
+ SubThreeChecksFourDecisionEdit.aspx
+
+
+ SubThreeChecksFourDecisionList.aspx
+ ASPXCodeBehind
+
+
+ SubThreeChecksFourDecisionList.aspx
+
SubWorkInspect.aspx
ASPXCodeBehind
@@ -16006,13 +16064,6 @@
SubWorkInspect.aspx
-
- TemplateItemGroup.aspx
- ASPXCodeBehind
-
-
- TemplateItemGroup.aspx
-
Video.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx
new file mode 100644
index 00000000..14b086f8
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx
@@ -0,0 +1,140 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionOtherConfirm.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionOtherConfirm" %>
+
+
+
+
+
+ 提出人,总包,监理,业主确认
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx.cs
new file mode 100644
index 00000000..5cc60ddf
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx.cs
@@ -0,0 +1,301 @@
+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.BeforeTestRun
+{
+ public partial class FourDecisionOtherConfirm : PageBase
+ {
+ ///
+ /// 子系统主键
+ ///
+ public string SsubSystemId
+ {
+ get { return (string)ViewState["SsubSystemId"]; }
+ set { ViewState["SsubSystemId"] = value; }
+ }
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ //加载树
+ this.InitTreeMenu();
+ }
+ }
+
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = "人员确认";
+ rootNode.NodeID = "0";
+ rootNode.Expanded = true;
+ rootNode.ToolTip = "";
+ rootNode.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode);
+ var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && (x.ProposeUser == this.CurrUser.UserId || x.GeneraUser == this.CurrUser.UserId || x.SupervisionUser == this.CurrUser.UserId || x.OwnerUser == this.CurrUser.UserId)).ToList();
+ if (decisions.Count == 0) return;
+ //获取子系统主键
+ var subsystemids = decisions.ConvertAll(x => x.SubSystemId);
+ //根据子系统获取其他节点ID
+ var userDevices = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && subsystemids.Contains(p.PreRunId)).ToList();
+ List allIds = new List();
+ allIds.AddRange(userDevices.ConvertAll(x => x.ProcessesId));
+ allIds.AddRange(userDevices.ConvertAll(x => x.SystemId));
+ allIds.AddRange(subsystemids);
+ var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && p.PreRunLevel > 1 && allIds.Contains(p.PreRunId)).ToList();
+ var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 2).OrderBy(x => x.Sort);
+ foreach (var item in onePreRunLs)
+ {
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.PreRunId;
+ rootUnitNode.Text = item.PreRunName;
+ rootUnitNode.ToolTip = item.PreRunName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = false;
+ rootUnitNode.EnableExpandEvent = false;
+ rootNode.Nodes.Add(rootUnitNode);
+ rootUnitNode.Expanded = true;
+ var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList();
+ this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId);
+ }
+ }
+
+ ///
+ /// 绑定树节点
+ ///
+ private void BindNodes(TreeNode node, List list, string parentId)
+ {
+ var itemList = list.Where(p => p.ParentId == parentId).OrderBy(x => x.Sort).ToList();
+ if (itemList.Count > 0)
+ {
+ foreach (var item in itemList)
+ {
+ TreeNode newNode = new TreeNode();
+ newNode.Text = item.PreRunName;
+ newNode.NodeID = item.PreRunId;
+ newNode.ToolTip = item.PreRunName;
+ newNode.CommandName = "";
+ newNode.EnableClickEvent = item.PreRunLevel == 4 ? true : false;
+ newNode.EnableExpandEvent = item.PreRunLevel == 4 ? true : false;
+ newNode.Expanded = true;
+ node.Nodes.Add(newNode);
+ BindNodes(newNode, list, item.PreRunId);
+ }
+ }
+ }
+
+ ///
+ /// 点击TreeView
+ ///
+ ///
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ this.SsubSystemId = tvControlItem.SelectedNodeID;
+ BindGrid();
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string tcrSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ProposeUser as ConfirmUser,cuser.UserName as ConfirmUserName,2 as ConfirmType,'提出人' as ConfirmTypeName,a.ProposeConfirm as ConfirmState,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.ProposeConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime, '') when '' then 0 else DATEDIFF(DAY, GETDATE(), a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.ProposeUser = cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser = ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit = unit.UnitId where 1 = 1 and a.ResponsibilityConfirm = 3 and a.SubSystemId = @SubSystemId and a.ProjectId = @ProjectId ";
+ string zbSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.GeneraUser as ConfirmUser,cuser.UserName as ConfirmUserName,3 as ConfirmType,'总包' as ConfirmTypeName,a.GeneraConfirm as ConfirmState,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.GeneraConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.GeneraUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ResponsibilityConfirm=3 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
+ string jlSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.SupervisionUser as ConfirmUser,cuser.UserName as ConfirmUserName,4 as ConfirmType,'监理' as ConfirmTypeName,a.SupervisionConfirm as ConfirmState,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.SupervisionConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.SupervisionUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ResponsibilityConfirm=3 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
+ string yzSql = "select NewId() as Id,a.DecisionId,a.ProjectId,a.SubSystemId,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.OwnerUser as ConfirmUser,cuser.UserName as ConfirmUserName,5 as ConfirmType,'业主' as ConfirmTypeName,a.OwnerConfirm as ConfirmState,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ConfirmStateName,a.OwnerConfirmData as ConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as cuser on a.OwnerUser=cuser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.ResponsibilityConfirm=3 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
+ string where = string.Empty;
+ //是否确认
+ if (!string.IsNullOrWhiteSpace(ddlConfirmState.SelectedValue))
+ {
+ where = " and isnull(t.ConfirmState,1) = @ConfirmState";
+ listStr.Add(new SqlParameter("@ConfirmState", ddlConfirmState.SelectedValue));
+ }
+ //是否关闭
+ if (!string.IsNullOrWhiteSpace(ddlDecisionState.SelectedValue))
+ {
+ where += " and isnull(t.DecisionIsClose,0)=@DecisionIsClose";
+ listStr.Add(new SqlParameter("@DecisionIsClose", ddlDecisionState.SelectedValue));
+ }
+ string strSql = $"select * from ({tcrSql} union all {zbSql} union all {jlSql} union all {yzSql} ) as t where 1=1 {where} order by t.ConfirmType,t.AddTime desc";
+ 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)
+ {
+ btnSubmitConfirm_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["DestructionDiffDay"]);
+ TemplateField AdjustDiffDay = Grid1.FindColumn("DestructionDiffDay") as TemplateField;
+ int isClose = int.Parse(Grid1.DataKeys[e.RowIndex][3].ToString());
+ if (isClose != 1)
+ {
+ 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
+
+ ///
+ /// 查询
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 查看
+ ///
+ protected void btnView_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ string decisionId = Grid1.DataKeys[Grid1.SelectedRowIndex][0].ToString();
+ string confirmType = Grid1.DataKeys[Grid1.SelectedRowIndex][2].ToString();
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionOtherConfirmEdit.aspx?DecisionId={0}&ConfirmType={1}&IsView=true", decisionId, confirmType, "查看 - ")));
+ }
+
+ ///
+ /// 确认
+ ///
+ protected void btnSubmitConfirm_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ string decisionId = Grid1.DataKeys[Grid1.SelectedRowIndex][0].ToString();
+ string ConfirmState = Grid1.DataKeys[Grid1.SelectedRowIndex][1] != null ? Grid1.DataKeys[Grid1.SelectedRowIndex][1].ToString() : string.Empty;
+ string confirmType = Grid1.DataKeys[Grid1.SelectedRowIndex][2].ToString();
+ if (ConfirmState == "2")
+ {
+ Alert.ShowInTop("已确认通过,无法再次确认!", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionOtherConfirmEdit.aspx?DecisionId={0}&ConfirmType={1}", decisionId, confirmType, "确认 - ")));
+ }
+
+ ///
+ /// 确认
+ ///
+ protected void btnMenuConfirm_Click(object sender, EventArgs e)
+ {
+ btnSubmitConfirm_Click(sender, e);
+ }
+
+ ///
+ /// 是否逾期返回
+ ///
+ ///
+ public string IsOverdue(object diffDayVal, object stateVal)
+ {
+ var result = string.Empty;
+ var diffDay = 0;
+ var itemState = 0;
+ if (diffDayVal != null) diffDay = int.Parse(diffDayVal.ToString());
+ if (stateVal != null) itemState = int.Parse(stateVal.ToString());
+ if (itemState != 1)
+ {
+ if (diffDay > 0)
+ {
+ result = "未逾期";
+ }
+ else if (diffDay == 0)
+ {
+ result = "即将逾期";
+ }
+ else if (diffDay < 0)
+ {
+ result = "已逾期";
+ }
+ }
+ else
+ {
+ result = "已关闭";
+ }
+ return result;
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/TestRunManage/TemplateItemGroup.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx.designer.cs
similarity index 76%
rename from SGGL/FineUIPro.Web/TestRun/TestRunManage/TemplateItemGroup.aspx.designer.cs
rename to SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx.designer.cs
index 198171b2..42e2bdd2 100644
--- a/SGGL/FineUIPro.Web/TestRun/TestRunManage/TemplateItemGroup.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirm.aspx.designer.cs
@@ -7,11 +7,11 @@
// 自动生成>
//------------------------------------------------------------------------------
-namespace FineUIPro.Web.TestRun.TestRunManage
+namespace FineUIPro.Web.TestRun.BeforeTestRun
{
- public partial class TemplateItemGroup
+ public partial class FourDecisionOtherConfirm
{
///
@@ -41,6 +41,24 @@ namespace FineUIPro.Web.TestRun.TestRunManage
///
protected global::FineUIPro.Panel Panel1;
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
///
/// Grid1 控件。
///
@@ -51,22 +69,67 @@ namespace FineUIPro.Web.TestRun.TestRunManage
protected global::FineUIPro.Grid Grid1;
///
- /// Toolbar2 控件。
+ /// Toolbar3 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.Toolbar Toolbar2;
+ protected global::FineUIPro.Toolbar Toolbar3;
///
- /// txtsGroupName 控件。
+ /// ddlConfirmState 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.TextBox txtsGroupName;
+ protected global::FineUIPro.DropDownList ddlConfirmState;
+
+ ///
+ /// ddlDecisionState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlDecisionState;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnView;
+
+ ///
+ /// btnSubmitConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSubmitConfirm;
+
+ ///
+ /// lblIsOverdue 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblIsOverdue;
///
/// ToolbarSeparator1 控件。
@@ -96,85 +159,13 @@ namespace FineUIPro.Web.TestRun.TestRunManage
protected global::FineUIPro.DropDownList ddlPageSize;
///
- /// SimpleForm1 控件。
+ /// Window1 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.SimpleForm SimpleForm1;
-
- ///
- /// hfFormID 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.TextBox hfFormID;
-
- ///
- /// txtGroupName 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.TextBox txtGroupName;
-
- ///
- /// txtRemark 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.TextArea txtRemark;
-
- ///
- /// Toolbar1 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Toolbar Toolbar1;
-
- ///
- /// btnNew 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Button btnNew;
-
- ///
- /// btnDelete 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Button btnDelete;
-
- ///
- /// ToolbarFill1 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.ToolbarFill ToolbarFill1;
-
- ///
- /// btnSave 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Button btnSave;
+ protected global::FineUIPro.Window Window1;
///
/// Menu1 控件。
@@ -186,21 +177,12 @@ namespace FineUIPro.Web.TestRun.TestRunManage
protected global::FineUIPro.Menu Menu1;
///
- /// btnMenuEdit 控件。
+ /// btnMenuConfirm 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.MenuButton btnMenuEdit;
-
- ///
- /// btnMenuDelete 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.MenuButton btnMenuDelete;
+ protected global::FineUIPro.MenuButton btnMenuConfirm;
}
}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx
new file mode 100644
index 00000000..d1d2eb62
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx
@@ -0,0 +1,136 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionOtherConfirmEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionOtherConfirmEdit" %>
+
+
+
+
+
+ 提出人,总包,监理,业主确认
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx.cs
new file mode 100644
index 00000000..f346289f
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx.cs
@@ -0,0 +1,205 @@
+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.BeforeTestRun
+{
+ public partial class FourDecisionOtherConfirmEdit : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string DecisionId
+ {
+ get { return (string)ViewState["DecisionId"]; }
+ set { ViewState["DecisionId"] = value; }
+ }
+
+ ///
+ ///
+ ///
+ public int ConfirmType
+ {
+ get { return (int)ViewState["ConfirmType"]; }
+ set { ViewState["ConfirmType"] = value; }
+ }
+
+ ///
+ /// 是否查看
+ ///
+ public bool IsView
+ {
+ get { return (bool)ViewState["IsView"]; }
+ set { ViewState["IsView"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ this.DecisionId = Request["DecisionId"];
+ this.ConfirmType = string.IsNullOrWhiteSpace(Request["ConfirmType"]) ? 0 : int.Parse(Request["ConfirmType"]);
+ ContentPanel1.Title = this.ConfirmType == 2 ? "提出人确认" : this.ConfirmType == 3 ? "总包确认" : this.ConfirmType == 4 ? "监理确认" : this.ConfirmType == 5 ? "业主确认" : "";
+ //是否查看
+ this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
+ //数据绑定
+ PageInit();
+ //判断是否查看
+ if (IsView)
+ {
+ btnPass.Hidden = true;
+ lblResponsibilityUnit.Enabled = false;
+ lblQuestionDesc.Enabled = false;
+ lblRestrictCondition.Enabled = false;
+ lblLevel.Enabled = false;
+ lblSpeciality.Enabled = false;
+ lblAskDestructionTime.Enabled = false;
+ lblRealityDestructionTime.Enabled = false;
+ lblResponsibilityUser.Enabled = false;
+ lblProposeUser.Enabled = false;
+ lblGeneraUser.Enabled = false;
+ lblSupervisionUser.Enabled = false;
+ lblOwnerUser.Enabled = false;
+ lblDecisionIsClose.Enabled = false;
+ txtConfirmDesc.Enabled = false;
+ }
+ }
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ var query = from a in Funs.DB.PreRun_SubThreeChecksFourDecision
+ join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
+ join c in Funs.DB.Base_Unit on a.ResponsibilityUnit equals c.UnitId
+ join d in Funs.DB.Sys_User on a.ResponsibilityUser equals d.UserId
+ join e in Funs.DB.Sys_User on a.ProposeUser equals e.UserId
+ join f in Funs.DB.Sys_User on a.GeneraUser equals f.UserId
+ join g in Funs.DB.Sys_User on a.SupervisionUser equals g.UserId
+ join h in Funs.DB.Sys_User on a.OwnerUser equals h.UserId
+ where a.DecisionId == this.DecisionId
+ select new
+ {
+ a.DecisionId,
+ a.ProjectId,
+ b.ProjectName,
+ a.ResponsibilityUnit,
+ ResponsibilityUnitName = c.UnitName,
+ a.ResponsibilityUser,
+ ResponsibilityUserName = d.UserName,
+ a.ProposeUser,
+ ProposeUserName = e.UserName,
+ a.GeneraUser,
+ GeneraUserName = f.UserName,
+ a.SupervisionUser,
+ SupervisionUserName = g.UserName,
+ a.OwnerUser,
+ OwnerUserName = h.UserName,
+ a.QuestionDesc,
+ a.Level,
+ a.Speciality,
+ a.AskDestructionTime,
+ a.RealityDestructionTime,
+ a.RestrictCondition,
+ a.DecisionIsClose,
+ DecisionIsCloseName = a.DecisionIsClose == 1 ? "已关闭" : "未关闭"
+ };
+ var model = query.FirstOrDefault();
+ if (model != null)
+ {
+ lblProjectName.Text = model.ProjectName;
+ lblResponsibilityUnit.Text = model.ResponsibilityUnitName;
+ lblQuestionDesc.Text = model.QuestionDesc;
+ lblRestrictCondition.Text = model.RestrictCondition;
+ lblLevel.Text = model.Level;
+ lblSpeciality.Text = model.Speciality;
+ lblAskDestructionTime.Text = model.AskDestructionTime.Value != null ? model.AskDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblRealityDestructionTime.Text = model.RealityDestructionTime != null ? model.RealityDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblResponsibilityUser.Text = model.ResponsibilityUserName;
+ lblProposeUser.Text = model.ProposeUserName;
+ lblGeneraUser.Text = model.GeneraUserName;
+ lblSupervisionUser.Text = model.SupervisionUserName;
+ lblOwnerUser.Text = model.OwnerUserName;
+ lblDecisionIsClose.Text = model.DecisionIsCloseName;
+ }
+ }
+
+ ///
+ /// 问题图片查看
+ ///
+ protected void imgBtnQuestionFile_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", this.DecisionId + "q", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 整改图片上传
+ ///
+ protected void imgBtnRectifyFile_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CheckControl&menuId={1}", this.DecisionId + "h", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 确认
+ ///
+ protected void btnPass_Click(object sender, EventArgs e)
+ {
+ var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
+ if (decisionModel != null)
+ {
+ if (this.ConfirmType == 2)
+ {
+ decisionModel.ProposeConfirm = 2;
+ decisionModel.ProposeConfirmData = DateTime.Now;
+ }
+ if (this.ConfirmType == 3)
+ {
+ decisionModel.GeneraConfirm = 2;
+ decisionModel.GeneraConfirmData = DateTime.Now;
+ }
+ if (this.ConfirmType == 4)
+ {
+ decisionModel.SupervisionConfirm = 2;
+ decisionModel.SupervisionConfirmData = DateTime.Now;
+ }
+ if (this.ConfirmType == 5)
+ {
+ decisionModel.OwnerConfirm = 2;
+ decisionModel.OwnerConfirmData = DateTime.Now;
+ }
+ if (decisionModel.ProposeConfirm == 2 && decisionModel.GeneraConfirm == 2 && decisionModel.SupervisionConfirm == 2 && decisionModel.OwnerConfirm == 2)
+ {
+ decisionModel.DecisionIsClose = 1;
+ }
+ var model = new PreRun_DecisionConfirmRecords();
+ model.ConfirmId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.DecisionId = this.DecisionId;
+ model.ConfirmDesc = txtConfirmDesc.Text;
+ model.ConfirmTime = DateTime.Now;
+ model.ConfirmUser = this.CurrUser.UserId;
+ model.ConfirmType = this.ConfirmType;
+ model.ConfirmState = 1;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.PreRun_DecisionConfirmRecords.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/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx.designer.cs
new file mode 100644
index 00000000..3ffb55ab
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionOtherConfirmEdit.aspx.designer.cs
@@ -0,0 +1,278 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class FourDecisionOtherConfirmEdit
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// lblResponsibilityUnit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblResponsibilityUnit;
+
+ ///
+ /// lblQuestionDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblQuestionDesc;
+
+ ///
+ /// lblRestrictCondition 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRestrictCondition;
+
+ ///
+ /// lblLevel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblLevel;
+
+ ///
+ /// lblSpeciality 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSpeciality;
+
+ ///
+ /// lblAskDestructionTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAskDestructionTime;
+
+ ///
+ /// lblRealityDestructionTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRealityDestructionTime;
+
+ ///
+ /// lblResponsibilityUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblResponsibilityUser;
+
+ ///
+ /// lblProposeUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblProposeUser;
+
+ ///
+ /// lblGeneraUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblGeneraUser;
+
+ ///
+ /// lblSupervisionUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSupervisionUser;
+
+ ///
+ /// lblOwnerUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblOwnerUser;
+
+ ///
+ /// lblDecisionIsClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblDecisionIsClose;
+
+ ///
+ /// 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;
+
+ ///
+ /// txtConfirmDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtConfirmDesc;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnPass 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnPass;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx
new file mode 100644
index 00000000..e5b101f6
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx
@@ -0,0 +1,139 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionResponsibilityConfirm.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionResponsibilityConfirm" %>
+
+
+
+
+
+ 责任人确认
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx.cs
new file mode 100644
index 00000000..425dd9b4
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx.cs
@@ -0,0 +1,298 @@
+using BLL;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class FourDecisionResponsibilityConfirm : PageBase
+ {
+ ///
+ /// 子系统主键
+ ///
+ public string SsubSystemId
+ {
+ get { return (string)ViewState["SsubSystemId"]; }
+ set { ViewState["SsubSystemId"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ //加载树
+ this.InitTreeMenu();
+ }
+ }
+
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = "责任人确认";
+ rootNode.NodeID = "0";
+ rootNode.Expanded = true;
+ rootNode.ToolTip = "";
+ rootNode.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode);
+ var decisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.ResponsibilityUser == this.CurrUser.UserId && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
+ if (decisions.Count == 0) return;
+ //获取子系统主键
+ var subsystemids = decisions.ConvertAll(x => x.SubSystemId);
+ //根据子系统获取其他节点ID
+ var userDevices = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && subsystemids.Contains(p.PreRunId)).ToList();
+ List allIds = new List();
+ allIds.AddRange(userDevices.ConvertAll(x => x.ProcessesId));
+ allIds.AddRange(userDevices.ConvertAll(x => x.SystemId));
+ allIds.AddRange(subsystemids);
+ var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && p.PreRunLevel > 1 && allIds.Contains(p.PreRunId)).ToList();
+ var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 2).OrderBy(x => x.Sort);
+ foreach (var item in onePreRunLs)
+ {
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.PreRunId;
+ rootUnitNode.Text = item.PreRunName;
+ rootUnitNode.ToolTip = item.PreRunName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = false;
+ rootUnitNode.EnableExpandEvent = false;
+ rootNode.Nodes.Add(rootUnitNode);
+ rootUnitNode.Expanded = true;
+ var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList();
+ this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId);
+ }
+ }
+
+ ///
+ /// 绑定树节点
+ ///
+ private void BindNodes(TreeNode node, List list, string parentId)
+ {
+ var itemList = list.Where(p => p.ParentId == parentId).OrderBy(x => x.Sort).ToList();
+ if (itemList.Count > 0)
+ {
+ foreach (var item in itemList)
+ {
+ TreeNode newNode = new TreeNode();
+ newNode.Text = item.PreRunName;
+ newNode.NodeID = item.PreRunId;
+ newNode.ToolTip = item.PreRunName;
+ newNode.CommandName = "";
+ newNode.EnableClickEvent = item.PreRunLevel == 4 ? true : false;
+ newNode.EnableExpandEvent = item.PreRunLevel == 4 ? true : false;
+ newNode.Expanded = true;
+ node.Nodes.Add(newNode);
+ BindNodes(newNode, list, item.PreRunId);
+ }
+ }
+ }
+
+ ///
+ /// 点击TreeView
+ ///
+ ///
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ this.SsubSystemId = tvControlItem.SelectedNodeID;
+ BindGrid();
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 0 then '待提交' when 1 then '未确认' when 2 then '确认退回' when 3 then '确认通过' else '待提交' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId and a.ResponsibilityUser=@ResponsibilityUser and a.ResponsibilityConfirm>0 ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
+ listStr.Add(new SqlParameter("@ResponsibilityUser", this.CurrUser.UserId));
+ //是否确认
+ if (!string.IsNullOrWhiteSpace(ddlResponsibilityConfirm.SelectedValue))
+ {
+ strSql += " and a.ResponsibilityConfirm=@ResponsibilityConfirm";
+ listStr.Add(new SqlParameter("@ResponsibilityConfirm", ddlResponsibilityConfirm.SelectedValue));
+ }
+ //是否关闭
+ if (!string.IsNullOrWhiteSpace(ddlDecisionState.Text))
+ {
+ strSql += " and a.DecisionState=@DecisionState";
+ listStr.Add(new SqlParameter("@DecisionState", ddlDecisionState.SelectedValue));
+ }
+ strSql += " order by a.AddTime desc";
+ 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)
+ {
+ btnSubmitConfirm_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["DestructionDiffDay"]);
+ TemplateField AdjustDiffDay = Grid1.FindColumn("DestructionDiffDay") as TemplateField;
+ int isClose = int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString());
+ if (isClose != 1)
+ {
+ 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
+
+ ///
+ /// 责任人确认
+ ///
+ protected void btnSubmitConfirm_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ if (model.ResponsibilityConfirm != 1)
+ {
+ Alert.ShowInTop("责任人“未确认”才可进行责任人确认操作!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionResponsibilityConfirmEdit.aspx?DecisionId={0}", Grid1.SelectedRowID, "责任人确认 - ")));
+ }
+
+ ///
+ /// 搜索
+ ///
+ protected void btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 查看
+ ///
+ protected void btnView_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("FourDecisionResponsibilityConfirmEdit.aspx?DecisionId={0}&IsView=true", Grid1.SelectedRowID, "查看 - ")));
+ }
+
+ ///
+ /// 是否逾期返回
+ ///
+ ///
+ public string IsOverdue(object diffDayVal, object stateVal)
+ {
+ var result = string.Empty;
+ var diffDay = 0;
+ var itemState = 0;
+ if (diffDayVal != null) diffDay = int.Parse(diffDayVal.ToString());
+ if (stateVal != null) itemState = int.Parse(stateVal.ToString());
+ if (itemState != 1)
+ {
+ if (diffDay > 0)
+ {
+ result = "未逾期";
+ }
+ else if (diffDay == 0)
+ {
+ result = "即将逾期";
+ }
+ else if (diffDay < 0)
+ {
+ result = "已逾期";
+ }
+ }
+ else
+ {
+ result = "已关闭";
+ }
+ return result;
+ }
+
+ ///
+ /// 右击确认
+ ///
+ protected void btnMenuConfirm_Click(object sender, EventArgs e)
+ {
+ btnSubmitConfirm_Click(null, null);
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx.designer.cs
new file mode 100644
index 00000000..84f59230
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirm.aspx.designer.cs
@@ -0,0 +1,188 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class FourDecisionResponsibilityConfirm
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar3;
+
+ ///
+ /// ddlResponsibilityConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlResponsibilityConfirm;
+
+ ///
+ /// ddlDecisionState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlDecisionState;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnView;
+
+ ///
+ /// btnSubmitConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSubmitConfirm;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuConfirm;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx
new file mode 100644
index 00000000..9a3cc857
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx
@@ -0,0 +1,138 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FourDecisionResponsibilityConfirmEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.FourDecisionResponsibilityConfirmEdit" %>
+
+
+
+
+
+ 责任人确认
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx.cs
new file mode 100644
index 00000000..6713554e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx.cs
@@ -0,0 +1,223 @@
+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.BeforeTestRun
+{
+ public partial class FourDecisionResponsibilityConfirmEdit : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string DecisionId
+ {
+ get { return (string)ViewState["DecisionId"]; }
+ set { ViewState["DecisionId"] = 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; }
+ }
+
+ ///
+ /// 整改图片是否可编辑
+ ///
+ public int RectifyEditImg
+ {
+ get { return (int)ViewState["RectifyEditImg"]; }
+ set { ViewState["RectifyEditImg"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ this.DecisionId = Request["DecisionId"];
+ //是否查看
+ this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
+ //数据绑定
+ PageInit();
+ //判断是否查看
+ if (IsView)
+ {
+ btnReturn.Hidden = true;
+ btnPass.Hidden = true;
+ QuestionEditImg = -1;
+ RectifyEditImg = -1;
+ lblResponsibilityUnit.Enabled = false;
+ lblQuestionDesc.Enabled = false;
+ lblRestrictCondition.Enabled = false;
+ lblLevel.Enabled = false;
+ lblSpeciality.Enabled = false;
+ lblAskDestructionTime.Enabled = false;
+ lblRealityDestructionTime.Enabled = false;
+ lblResponsibilityUser.Enabled = false;
+ lblProposeUser.Enabled = false;
+ lblGeneraUser.Enabled = false;
+ lblSupervisionUser.Enabled = false;
+ lblOwnerUser.Enabled = false;
+ lblDecisionIsClose.Enabled = false;
+ txtConfirmDesc.Enabled = false;
+ }
+ }
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ QuestionEditImg = -1;
+ RectifyEditImg = 0;
+ var query = from a in Funs.DB.PreRun_SubThreeChecksFourDecision
+ join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
+ join c in Funs.DB.Base_Unit on a.ResponsibilityUnit equals c.UnitId
+ join d in Funs.DB.Sys_User on a.ResponsibilityUser equals d.UserId
+ join e in Funs.DB.Sys_User on a.ProposeUser equals e.UserId
+ join f in Funs.DB.Sys_User on a.GeneraUser equals f.UserId
+ join g in Funs.DB.Sys_User on a.SupervisionUser equals g.UserId
+ join h in Funs.DB.Sys_User on a.OwnerUser equals h.UserId
+ where a.DecisionId == this.DecisionId
+ select new
+ {
+ a.DecisionId,
+ a.ProjectId,
+ b.ProjectName,
+ a.ResponsibilityUnit,
+ ResponsibilityUnitName = c.UnitName,
+ a.ResponsibilityUser,
+ ResponsibilityUserName = d.UserName,
+ a.ProposeUser,
+ ProposeUserName = e.UserName,
+ a.GeneraUser,
+ GeneraUserName = f.UserName,
+ a.SupervisionUser,
+ SupervisionUserName = g.UserName,
+ a.OwnerUser,
+ OwnerUserName = h.UserName,
+ a.QuestionDesc,
+ a.Level,
+ a.Speciality,
+ a.AskDestructionTime,
+ a.RealityDestructionTime,
+ a.RestrictCondition,
+ a.DecisionIsClose,
+ DecisionIsCloseName = a.DecisionIsClose == 1 ? "已关闭" : "未关闭"
+ };
+ var model = query.FirstOrDefault();
+ if (model != null)
+ {
+ lblProjectName.Text = model.ProjectName;
+ lblResponsibilityUnit.Text = model.ResponsibilityUnitName;
+ lblQuestionDesc.Text = model.QuestionDesc;
+ lblRestrictCondition.Text = model.RestrictCondition;
+ lblLevel.Text = model.Level;
+ lblSpeciality.Text = model.Speciality;
+ lblAskDestructionTime.Text = model.AskDestructionTime.Value != null ? model.AskDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblRealityDestructionTime.Text = model.RealityDestructionTime != null ? model.RealityDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblResponsibilityUser.Text = model.ResponsibilityUserName;
+ lblProposeUser.Text = model.ProposeUserName;
+ lblGeneraUser.Text = model.GeneraUserName;
+ lblSupervisionUser.Text = model.SupervisionUserName;
+ lblOwnerUser.Text = model.OwnerUserName;
+ lblDecisionIsClose.Text = model.DecisionIsCloseName;
+ }
+ }
+
+ ///
+ /// 问题图片查看
+ ///
+ 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.DecisionId + "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.DecisionId + "h", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 退回
+ ///
+ protected void btnReturn_Click(object sender, EventArgs e)
+ {
+ var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
+ if (decisionModel != null)
+ {
+ decisionModel.ResponsibilityConfirm = 2;
+ var model = new PreRun_DecisionConfirmRecords();
+ model.ConfirmId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.DecisionId = this.DecisionId;
+ model.ConfirmDesc = txtConfirmDesc.Text;
+ model.ConfirmTime = DateTime.Now;
+ model.ConfirmUser = this.CurrUser.UserId;
+ model.ConfirmType = 1;
+ model.ConfirmState = 2;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.PreRun_DecisionConfirmRecords.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ ShowNotify("退回成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ }
+
+ ///
+ /// 确认通过
+ ///
+ protected void btnPass_Click(object sender, EventArgs e)
+ {
+ var decisionModel = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
+ if (decisionModel != null)
+ {
+ decisionModel.ResponsibilityConfirm = 3;
+ decisionModel.ResponsibilityConfirmData = DateTime.Now;
+ var model = new PreRun_DecisionConfirmRecords();
+ model.ConfirmId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.DecisionId = this.DecisionId;
+ model.ConfirmDesc = txtConfirmDesc.Text;
+ model.ConfirmTime = DateTime.Now;
+ model.ConfirmUser = this.CurrUser.UserId;
+ model.ConfirmType = 1;
+ model.ConfirmState = 1;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.PreRun_DecisionConfirmRecords.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/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx.designer.cs
new file mode 100644
index 00000000..0e212674
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/FourDecisionResponsibilityConfirmEdit.aspx.designer.cs
@@ -0,0 +1,287 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class FourDecisionResponsibilityConfirmEdit
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// lblResponsibilityUnit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblResponsibilityUnit;
+
+ ///
+ /// lblQuestionDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblQuestionDesc;
+
+ ///
+ /// lblRestrictCondition 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRestrictCondition;
+
+ ///
+ /// lblLevel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblLevel;
+
+ ///
+ /// lblSpeciality 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSpeciality;
+
+ ///
+ /// lblAskDestructionTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblAskDestructionTime;
+
+ ///
+ /// lblRealityDestructionTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRealityDestructionTime;
+
+ ///
+ /// lblResponsibilityUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblResponsibilityUser;
+
+ ///
+ /// lblProposeUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblProposeUser;
+
+ ///
+ /// lblGeneraUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblGeneraUser;
+
+ ///
+ /// lblSupervisionUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblSupervisionUser;
+
+ ///
+ /// lblOwnerUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblOwnerUser;
+
+ ///
+ /// lblDecisionIsClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblDecisionIsClose;
+
+ ///
+ /// 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;
+
+ ///
+ /// txtConfirmDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtConfirmDesc;
+
+ ///
+ /// 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/BeforeTestRun/InspectTailTermEdit.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
index 401981e8..d62fd525 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTailTermEdit.aspx
@@ -113,15 +113,6 @@
- <%--
-
-
-
-
-
-
- --%>
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.cs
index d8db8f96..0868a5e9 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.cs
@@ -37,7 +37,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
- var list = Funs.DB.PreRun_WorkPackage.OrderBy(x => x.Sort).ToList();
+ var list = Funs.DB.PreRun_WorkPackage.Where(a => a.SpecialWorkPack == 0).OrderBy(x => x.Sort).ToList();
foreach (var item in list)
{
TreeNode rootUnitNode = new TreeNode();//定义根节点
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.cs
index 06d7da1b..555ae203 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectWanderAboutAllPassList.aspx.cs
@@ -44,7 +44,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var list = from a in Funs.DB.PreRun_SysDevice
join b in Funs.DB.PreRun_SubSysWorkPackage on a.PreRunId equals b.SubSystemId
join c in Funs.DB.PreRun_WorkPackage on b.WorkPackId equals c.WorkPackId
- where a.ProjectId == this.CurrUser.LoginProjectId && subSystemIds.Contains(a.PreRunId) && workPackIds.Contains(c.WorkPackId)
+ where a.ProjectId == this.CurrUser.LoginProjectId && subSystemIds.Contains(a.PreRunId) && workPackIds.Contains(c.WorkPackId) && c.SpecialWorkPack == 0
select new { a.PreRunId, a.SystemId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackName, b.WorkPackCode };
if (list.Count() > 0)
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx
new file mode 100644
index 00000000..c625ae90
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx
@@ -0,0 +1,96 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SelectInstrument.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SelectInstrument" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx.cs
new file mode 100644
index 00000000..dfe1ef82
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx.cs
@@ -0,0 +1,157 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class SelectInstrument : PageBase
+ {
+ ///
+ /// 子系统id
+ ///
+ public string SubSystemId
+ {
+ get { return (string)ViewState["SubSystemId"]; }
+ set { ViewState["SubSystemId"] = value; }
+ }
+
+ ///
+ /// 系统id
+ ///
+ public string SystemId
+ {
+ get { return (string)ViewState["SystemId"]; }
+ set { ViewState["SystemId"] = value; }
+ }
+
+ ///
+ /// 选中的id
+ ///
+ public string SelectInstrumentIds
+ {
+ get { return (string)ViewState["SelectInstrumentIds"]; }
+ set { ViewState["SelectInstrumentIds"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.SubSystemId = Request["SubSystemId"];
+ this.SystemId = Request["SystemId"];
+ this.SelectInstrumentIds = Request["SelectInstrumentIds"];
+ // 绑定表格
+ BindGrid();
+ }
+ }
+
+ ///
+ /// 绑定数据
+ ///
+ private void BindGrid()
+ {
+ string strSql = @"select * from PreRun_InstrumentSysPiping where ProjectId=@ProjectId and SystemId=@SystemId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@SystemId", this.SystemId));
+ if (!string.IsNullOrWhiteSpace(SelectInstrumentIds))
+ {
+ var ids = SelectInstrumentIds.Split(',').ToList();
+ strSql += $" and InstrumentId not in ('{string.Join("','", ids)}')";
+ }
+ 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();
+ }
+
+ #region 确认
+
+ ///
+ /// 确认
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ var requestIds = SelectInstrumentIds.Split(',').ToList();
+ string ids = SelectInstrumentIds;
+ foreach (var item in this.Grid1.SelectedRowIDArray)
+ {
+ if (requestIds.Contains(item)) continue;
+ if (string.IsNullOrWhiteSpace(ids))
+ {
+ ids = item;
+ }
+ else
+ {
+ ids += "," + item;
+ }
+ }
+ PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(ids) + ActiveWindow.GetHidePostBackReference());
+ }
+
+ #endregion
+
+ #region 表排序、分页、关闭窗口
+
+ ///
+ /// 分页
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 分页显示条数下拉框
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 关闭弹出窗
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 分页下拉框
+ ///
+ protected void ddlPageSize_SelectedIndexChanged1(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx.designer.cs
new file mode 100644
index 00000000..964a42c4
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SelectInstrument.aspx.designer.cs
@@ -0,0 +1,98 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SelectInstrument
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// Toolbar3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar3;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// ToolbarSeparator2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
+
+ ///
+ /// ToolbarText2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText2;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx
index ff430fbb..f41822fb 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx
@@ -69,6 +69,7 @@
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx.cs
index 157e4dc5..9d3eb3bb 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SetWorkPackage.aspx.cs
@@ -29,7 +29,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
private void BindGrid()
{
- string strSql = @"select WorkPackId,WorkPackName,WorkPackType,(case WorkPackType when 1 then '管道' when 2 then '设备' else '全部' end) as WorkPackTypeName,Remark,AddTime,Sort from PreRun_WorkPackage WHERE 1=1 ";
+ string strSql = @"select WorkPackId,WorkPackName,WorkPackType,(case WorkPackType when 1 then '管道' when 2 then '设备' when 3 then '仪表索引' else '全部' end) as WorkPackTypeName,Remark,AddTime,Sort from PreRun_WorkPackage WHERE 1=1 ";
List listStr = new List();
if (!string.IsNullOrEmpty(this.txtsWorkPackName.Text.Trim()))
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
index 8cb08df3..72eb85e4 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
@@ -38,7 +38,7 @@
-
+
@@ -152,7 +152,6 @@
//验证
function isValid() {
- debugger;
var grid1 = F('<%= Grid1.ClientID %>');
var valid = true, modifiedData = grid1.getMergedData();
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
index d888c3ef..8419b5c8 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
@@ -224,6 +224,12 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ddlWorkPackType.Items.Insert(0, new ListItem("设备", "2"));
ddlWorkPackType.SelectedValue = "2";
}
+ if (workPage.WorkPackType == 3)
+ {
+ ddlWorkPackType.Items.Clear();
+ ddlWorkPackType.Items.Insert(0, new ListItem("仪表索引", "3"));
+ ddlWorkPackType.SelectedValue = "3";
+ }
//加载数据
PipingBrid(ddlWorkPackType.SelectedValue, subSystemId, propertyTechnologyIds, selectStr);
}
@@ -372,26 +378,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
try
{
- if (string.IsNullOrWhiteSpace(ddlfbs.SelectedValue))
- {
- ShowNotify("请选择分包商!", MessageBoxIcon.Warning);
- return;
- }
- if (string.IsNullOrWhiteSpace(ddlcbs.SelectedValue))
- {
- ShowNotify("请选择承包商!", MessageBoxIcon.Warning);
- return;
- }
- if (string.IsNullOrWhiteSpace(ddljl.SelectedValue))
- {
- ShowNotify("请选择监理!", MessageBoxIcon.Warning);
- return;
- }
- if (string.IsNullOrWhiteSpace(ddlyz.SelectedValue))
- {
- ShowNotify("请选择业主!", MessageBoxIcon.Warning);
- return;
- }
if (ddbSysPiping.Values.Length == 0)
{
ShowNotify("请选择设备!", MessageBoxIcon.Warning);
@@ -405,108 +391,163 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
subInspectId = this.tvControlItem.SelectedNodeID.Split('|').Last();
}
var workPackType = int.Parse(ddlWorkPackType.SelectedValue);
- List subTrems = new List();
- List subTremItems = new List();
- var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
- var termItems = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == subInspectId).ToList();
- if (termItems.Count > 0 && termItems.Count(x => x.InspectionResults == null) == 0)
+ var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
+ var workPackModel = Funs.DB.PreRun_WorkPackage.FirstOrDefault(x => x.WorkPackId == workPackId);
+ if (workPackModel.SpecialWorkPack == 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 subItemId = this.Grid1.Rows[i].DataKeys[1].ToString();
- var workInspectId = this.Grid1.Rows[i].DataKeys[2].ToString();
-
- //获取子系统信息
- var list = new List();
- var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
- if (subSysModel != null)
+ if (string.IsNullOrWhiteSpace(ddlfbs.SelectedValue))
{
- //获取子系统工作包检查表,如果不存在则添加
- if (subTrem == null)
+ ShowNotify("请选择分包商!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlcbs.SelectedValue))
+ {
+ ShowNotify("请选择承包商!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddljl.SelectedValue))
+ {
+ ShowNotify("请选择监理!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlyz.SelectedValue))
+ {
+ ShowNotify("请选择业主!", MessageBoxIcon.Warning);
+ return;
+ }
+ List subTrems = new List();
+ List subTremItems = new List();
+ var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ var termItems = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.SubInspectId == subInspectId).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 subItemId = this.Grid1.Rows[i].DataKeys[1].ToString();
+ var workInspectId = this.Grid1.Rows[i].DataKeys[2].ToString();
+
+ //获取子系统信息
+ var list = new List();
+ if (subSysModel != null)
{
- subTrem = new PreRun_SubInspectTerm();
- subTrem.SubInspectId = Guid.NewGuid().ToString();
- subTrem.WorkPackId = workPackId;
- subTrem.ProjectId = this.CurrUser.LoginProjectId;
- subTrem.InstallationId = subSysModel.InstallationId;
- subTrem.ProcessesId = subSysModel.ProcessesId;
- subTrem.SystemId = subSysModel.SystemId;
- subTrem.SubSystemId = subSysModel.PreRunId;
- subTrem.Subcontractor = ddlfbs.SelectedValue;
- subTrem.Contractor = ddlcbs.SelectedValue;
- subTrem.Supervision = ddljl.SelectedValue;
- subTrem.Owner = ddlyz.SelectedValue;
- subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
- subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
- subTrem.AddUser = this.CurrUser.UserId;
- subTrem.AddTime = DateTime.Now;
- subTrems.Add(subTrem);
- }
- else
- {
- subTrem.Subcontractor = ddlfbs.SelectedValue;
- subTrem.Contractor = ddlcbs.SelectedValue;
- subTrem.Supervision = ddljl.SelectedValue;
- subTrem.Owner = ddlyz.SelectedValue;
- Funs.DB.SubmitChanges();
- }
- var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
- if (model == null)
- {
- model = new PreRun_SubInspectTermItem();
- model.TermItemId = termItemId;
- model.SubItemId = subItemId;
- model.SubInspectId = subTrem.SubInspectId;
- model.WorkPackId = workPackId;
- model.ProjectId = this.CurrUser.LoginProjectId;
- model.WorkInspectId = workInspectId;
- model.WorkInspectName = values.Value("WorkInspectName");
- model.InstallationId = subSysModel.InstallationId;
- model.ProcessesId = subSysModel.ProcessesId;
- model.SystemId = subSysModel.SystemId;
- model.SubSystemId = subSysModel.PreRunId;
- model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
- model.Subcontractor = ddlfbs.SelectedValue;
- model.Contractor = ddlcbs.SelectedValue;
- model.Supervision = ddljl.SelectedValue;
- model.Owner = ddlyz.SelectedValue;
- model.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
- model.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
- model.AddUser = this.CurrUser.UserId;
- model.AddTime = DateTime.Now;
- model.Sort = i + 1;
- subTremItems.Add(model);
- }
- else
- {
- model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
- model.WorkInspectName = values.Value("WorkInspectName");
- Funs.DB.SubmitChanges();
+ //获取子系统工作包检查表,如果不存在则添加
+ if (subTrem == null)
+ {
+ subTrem = new PreRun_SubInspectTerm();
+ subTrem.SubInspectId = Guid.NewGuid().ToString();
+ subTrem.WorkPackId = workPackId;
+ subTrem.ProjectId = this.CurrUser.LoginProjectId;
+ subTrem.InstallationId = subSysModel.InstallationId;
+ subTrem.ProcessesId = subSysModel.ProcessesId;
+ subTrem.SystemId = subSysModel.SystemId;
+ subTrem.SubSystemId = subSysModel.PreRunId;
+ subTrem.Subcontractor = ddlfbs.SelectedValue;
+ subTrem.Contractor = ddlcbs.SelectedValue;
+ subTrem.Supervision = ddljl.SelectedValue;
+ subTrem.Owner = ddlyz.SelectedValue;
+ subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
+ subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
+ subTrem.AddUser = this.CurrUser.UserId;
+ subTrem.AddTime = DateTime.Now;
+ subTrems.Add(subTrem);
+ }
+ else
+ {
+ subTrem.Subcontractor = ddlfbs.SelectedValue;
+ subTrem.Contractor = ddlcbs.SelectedValue;
+ subTrem.Supervision = ddljl.SelectedValue;
+ subTrem.Owner = ddlyz.SelectedValue;
+ Funs.DB.SubmitChanges();
+ }
+ var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.TermItemId == termItemId);
+ if (model == null)
+ {
+ model = new PreRun_SubInspectTermItem();
+ model.TermItemId = termItemId;
+ model.SubItemId = subItemId;
+ model.SubInspectId = subTrem.SubInspectId;
+ model.WorkPackId = workPackId;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkInspectId = workInspectId;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ model.InstallationId = subSysModel.InstallationId;
+ model.ProcessesId = subSysModel.ProcessesId;
+ model.SystemId = subSysModel.SystemId;
+ model.SubSystemId = subSysModel.PreRunId;
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.Subcontractor = ddlfbs.SelectedValue;
+ model.Contractor = ddlcbs.SelectedValue;
+ model.Supervision = ddljl.SelectedValue;
+ model.Owner = ddlyz.SelectedValue;
+ model.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
+ model.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i + 1;
+ subTremItems.Add(model);
+ }
+ else
+ {
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ Funs.DB.SubmitChanges();
+ }
}
}
- }
- if (subTrems != null) Funs.DB.PreRun_SubInspectTerm.InsertAllOnSubmit(subTrems);
- if (subTremItems.Count > 0) Funs.DB.PreRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems);
- Funs.DB.SubmitChanges();
- if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
- {
- subTrem.InspectionIsAllPass = 1;
+ if (subTrems != null) Funs.DB.PreRun_SubInspectTerm.InsertAllOnSubmit(subTrems);
+ if (subTremItems.Count > 0) Funs.DB.PreRun_SubInspectTermItem.InsertAllOnSubmit(subTremItems);
+ Funs.DB.SubmitChanges();
+ if (Funs.DB.PreRun_SubInspectTermItem.Count(x => x.SubInspectId == subTrem.SubInspectId && x.InspectionResults.GetValueOrDefault() != 1) == 0)
+ {
+ subTrem.InspectionIsAllPass = 1;
+ }
+ else
+ {
+ subTrem.InspectionIsAllPass = 0;
+ }
+ Funs.DB.SubmitChanges();
+ this.InitTreeMenu();
+ BindGrid();
}
else
{
- subTrem.InspectionIsAllPass = 0;
+ var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubInspectId == subInspectId);
+ if (subTrem == null)
+ {
+ subTrem = new PreRun_SubInspectTerm();
+ subTrem.SubInspectId = Guid.NewGuid().ToString();
+ subTrem.WorkPackId = workPackId;
+ subTrem.ProjectId = this.CurrUser.LoginProjectId;
+ subTrem.InstallationId = subSysModel.InstallationId;
+ subTrem.ProcessesId = subSysModel.ProcessesId;
+ subTrem.SystemId = subSysModel.SystemId;
+ subTrem.SubSystemId = subSysModel.PreRunId;
+ subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
+ subTrem.WorkPackType = int.Parse(ddlWorkPackType.SelectedValue);
+ subTrem.InspectionIsAllPass = 1;
+ subTrem.IsSiteImplement = 1;
+ subTrem.AddUser = this.CurrUser.UserId;
+ subTrem.AddTime = DateTime.Now;
+ Funs.DB.PreRun_SubInspectTerm.InsertOnSubmit(subTrem);
+ }
+ else
+ {
+ subTrem.PropertyTechnologyId = string.Join(",", ddbSysPiping.Values);
+ }
+ Funs.DB.SubmitChanges();
+ this.InitTreeMenu();
+ BindGrid();
}
- Funs.DB.SubmitChanges();
- this.InitTreeMenu();
+
ShowNotify("保存成功!");
}
catch (Exception ex)
@@ -671,6 +712,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var selectPtids = string.Join(",", yscInspectItems.ConvertAll(x => x.PropertyTechnologyId)).Split(',').ToList();
var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
+ var listInstrument = Funs.DB.PreRun_InstrumentSysPiping.Where(x => selectPtids.Contains(x.InstrumentId)).ToList();
foreach (var itemYsc in yscInspectItems)
{
@@ -700,13 +742,26 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
SubSystemId = itemYsc.SubSystemId
});
}
+ var itemInstrument = listInstrument.Where(x => ids.Contains(x.InstrumentId)).ToList();
+ if (itemInstrument.Count > 0)
+ {
+ codeStr = $"仪表:{string.Join(",", itemInstrument.ConvertAll(x => x.InstrumentTag))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
+
}
}
return yczData;
}
///
- /// 管道或设备绑定
+ /// 管道,设备,仪表索引绑定
///
public void PipingBrid(string WorkPackType, string subSystemId, string propertyTechnologyIds, string selectStr)
{
@@ -766,7 +821,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
}
- else
+ if (WorkPackType == "2")
{
if (string.IsNullOrWhiteSpace(propertyTechnologyIds))
{
@@ -820,6 +875,61 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
}
}
+ if (WorkPackType == "3")
+ {
+ if (string.IsNullOrWhiteSpace(propertyTechnologyIds))
+ {
+ var sysData = from instrument in Funs.DB.PreRun_InstrumentSysPiping
+ join selectinstrument in Funs.DB.PreRun_SubInstrumentSelect on instrument.InstrumentId equals selectinstrument.InstrumentId
+ where selectinstrument.SubSystemId == subSystemId
+ select new SelectPropertyTechnology()
+ {
+ Id = instrument.InstrumentId,
+ Code = $"仪表:({instrument.InstrumentTag})"
+ };
+ sysPipingData = sysData.ToList();
+ }
+ else
+ {
+ var ids = propertyTechnologyIds.Split(',');
+ var sysData = from instrument in Funs.DB.PreRun_InstrumentSysPiping
+ join selectinstrument in Funs.DB.PreRun_SubInstrumentSelect on instrument.InstrumentId equals selectinstrument.InstrumentId
+ where selectinstrument.SubSystemId == subSystemId && !ids.Contains(instrument.InstrumentId)
+ select new SelectPropertyTechnology()
+ {
+ Id = instrument.InstrumentId,
+ Code = $"仪表:({instrument.InstrumentTag})"
+ };
+ sysPipingData = sysData.ToList();
+ }
+ if (sysPipingData.Count() > 0)
+ {
+ cbSysPiping.DataTextField = "Code";
+ cbSysPiping.DataValueField = "Id";
+ cbSysPiping.DataSource = sysPipingData;
+ cbSysPiping.DataBind();
+ List values = new List();
+ List texts = new List();
+ if (!string.IsNullOrWhiteSpace(selectStr))
+ {
+ var selectIds = selectStr.Split(',').ToList();
+ var selectData = sysPipingData.Where(x => selectIds.Contains(x.Id)).ToList();
+ if (selectData.Count() > 0)
+ {
+ values = selectData.ConvertAll(x => x.Id);
+ texts = selectData.ConvertAll(x => x.Code);
+ }
+ }
+ ddbSysPiping.Values = values.ToArray();
+ ddbSysPiping.Texts = texts.ToArray();
+ }
+ else
+ {
+ cbSysPiping.Items.Clear();
+ cbSysPiping.Items.Insert(0, new CheckItem("==无数据==", ""));
+ }
+ }
+
}
///
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs
index 924aefb7..236813d9 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs
@@ -19,7 +19,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
public string TreePreRunId { get { return (string)ViewState["TreePreRunId"]; } set { ViewState["TreePreRunId"] = value; } }
///
- /// 子系统主键
+ /// 系统主键
///
public string SystemId { get { return (string)ViewState["SystemId"]; } set { ViewState["SystemId"] = value; } }
///
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx
new file mode 100644
index 00000000..876d8b12
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx
@@ -0,0 +1,178 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubThreeChecksFourDecisionEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SubThreeChecksFourDecisionEdit" %>
+
+
+
+
+
+ 三查四定尾项信息
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx.cs
new file mode 100644
index 00000000..c724a66c
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx.cs
@@ -0,0 +1,326 @@
+using BLL;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class SubThreeChecksFourDecisionEdit : PageBase
+ {
+ ///
+ /// 主键
+ ///
+ public string DecisionId
+ {
+ get { return (string)ViewState["DecisionId"]; }
+ set { ViewState["DecisionId"] = 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.DecisionId = Request["DecisionId"];
+ //是否查看
+ this.IsView = string.IsNullOrWhiteSpace(Request["IsView"]) ? false : bool.Parse(Request["IsView"]);
+ //数据绑定
+ PageInit();
+ //确认情况绑定
+ gvDataBrid();
+ //判断是否查看
+ if (IsView)
+ {
+ btnSave.Hidden = true;
+ btnSubmit.Hidden = true;
+ QuestionEditImg = -1;
+ ddlResponsibilityUnit.Enabled = false;
+ txtQuestionDesc.Enabled = false;
+ txtRestrictCondition.Enabled = false;
+ txtLevel.Enabled = false;
+ txtSpeciality.Enabled = false;
+ txtAskDestructionTime.Enabled = false;
+ lblRealityDestructionTime.Enabled = false;
+ ddlResponsibilityUser.Enabled = false;
+ ddlProposeUser.Enabled = false;
+ ddlGeneraUser.Enabled = false;
+ ddlSupervisionUser.Enabled = false;
+ ddlOwnerUser.Enabled = false;
+ lblDecisionIsClose.Enabled = false;
+ }
+ }
+ }
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ QuestionEditImg = 0;
+ //施工单位
+ UnitService.InitUnitByProjectIdUnitTypeDropDownList(ddlResponsibilityUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, 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)
+ {
+ //责任人
+ ddlResponsibilityUser.DataTextField = "UserName";
+ ddlResponsibilityUser.DataValueField = "UserId";
+ ddlResponsibilityUser.DataSource = users;
+ ddlResponsibilityUser.DataBind();
+ ddlResponsibilityUser.SelectedValue = this.CurrUser.UserId;
+ //提出人
+ ddlProposeUser.DataTextField = "UserName";
+ ddlProposeUser.DataValueField = "UserId";
+ ddlProposeUser.DataSource = users;
+ ddlProposeUser.DataBind();
+ ddlProposeUser.SelectedValue = this.CurrUser.UserId;
+ //总包
+ ddlGeneraUser.DataTextField = "UserName";
+ ddlGeneraUser.DataValueField = "UserId";
+ ddlGeneraUser.DataSource = users;
+ ddlGeneraUser.DataBind();
+ //监理
+ ddlSupervisionUser.DataTextField = "UserName";
+ ddlSupervisionUser.DataValueField = "UserId";
+ ddlSupervisionUser.DataSource = users;
+ ddlSupervisionUser.DataBind();
+ //业主
+ ddlOwnerUser.DataTextField = "UserName";
+ ddlOwnerUser.DataValueField = "UserId";
+ ddlOwnerUser.DataSource = users;
+ ddlOwnerUser.DataBind();
+ }
+
+ var query = from a in Funs.DB.PreRun_SubThreeChecksFourDecision
+ join b in Funs.DB.Base_Project on a.ProjectId equals b.ProjectId
+ where a.DecisionId == this.DecisionId
+ select new { a, b };
+
+ var model = query.FirstOrDefault();
+ if (model != null)
+ {
+ lblProjectName.Text = model.b.ProjectName;
+ ddlResponsibilityUnit.SelectedValue = model.a.ResponsibilityUnit;
+ txtQuestionDesc.Text = model.a.QuestionDesc;
+ txtRestrictCondition.Text = model.a.RestrictCondition;
+ txtLevel.Text = model.a.Level;
+ txtSpeciality.Text = model.a.Speciality;
+ txtAskDestructionTime.Text = model.a.AskDestructionTime != null ? model.a.AskDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblRealityDestructionTime.Text = model.a.RealityDestructionTime != null ? model.a.RealityDestructionTime.Value.ToString("yyyy-MM-dd") : string.Empty;
+ ddlResponsibilityUser.SelectedValue = model.a.ResponsibilityUser;
+ ddlProposeUser.SelectedValue = model.a.ProposeUser;
+ ddlGeneraUser.SelectedValue = model.a.GeneraUser;
+ ddlSupervisionUser.SelectedValue = model.a.SupervisionUser;
+ ddlOwnerUser.SelectedValue = model.a.OwnerUser;
+ lblDecisionIsClose.Text = model.a.DecisionIsClose == 1 ? "已关闭" : "未关闭";
+ }
+ }
+
+ ///
+ /// 确认情况绑定
+ ///
+ public void gvDataBrid()
+ {
+ string strSql = @"select a.ConfirmId,a.ProjectId,a.DecisionId,a.ConfirmDesc,a.ConfirmTime,a.ConfirmUser,b.UserName as ConfirmUserName,a.ConfirmType,(case a.ConfirmType when 1 then '责任人确认' when 2 then '提出人确认' when 3 then '总包确认' when 4 then '监理确认' when 5 then '业主确认' else '' end) as ConfirmTypeName,a.ConfirmState,(case a.ConfirmState when 1 then '确认通过' when 2 then '确认退回' else '' end) as ConfirmStateName,a.AddUser,a.AddTime from PreRun_DecisionConfirmRecords as a left join Sys_User as b on a.ConfirmUser=b.UserId where a.ProjectId=@ProjectId and a.DecisionId=@DecisionId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@DecisionId", this.DecisionId));
+ strSql += " order by a.AddTime asc";
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ //责任人确认
+ var handleTb = tb.AsEnumerable().Where(row => row.Field("ConfirmType") == 1);
+ gvZrrConfirm.DataSource = handleTb;
+ gvZrrConfirm.DataBind();
+ //其他人员确认
+ var approveTb = tb.AsEnumerable().Where(row => row.Field("ConfirmType") != 1);
+ gvOtherConfirm.DataSource = approveTb;
+ gvOtherConfirm.DataBind();
+ }
+
+ ///
+ /// 问题图片
+ ///
+ protected void BtnQuestionFile_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.DecisionId + "q", Const.InspectTailTerm)));
+ }
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrWhiteSpace(ddlResponsibilityUnit.SelectedValue))
+ {
+ ShowNotify("请选择责任单位!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlResponsibilityUser.SelectedValue))
+ {
+ ShowNotify("请选择责任人!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlProposeUser.SelectedValue))
+ {
+ ShowNotify("请选择提出人!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlGeneraUser.SelectedValue))
+ {
+ ShowNotify("请选择总包!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlSupervisionUser.SelectedValue))
+ {
+ ShowNotify("请选择监理!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlOwnerUser.SelectedValue))
+ {
+ ShowNotify("请选择业主!", MessageBoxIcon.Warning);
+ return;
+ }
+ var isAdd = false;
+ var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
+ if (model == null)
+ {
+ isAdd = true;
+ model = new PreRun_SubThreeChecksFourDecision();
+ model.DecisionId = this.DecisionId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ }
+ model.ResponsibilityUser = ddlResponsibilityUser.SelectedValue;
+ model.ProposeUser = ddlProposeUser.SelectedValue;
+ model.GeneraUser = ddlGeneraUser.SelectedValue;
+ model.SupervisionUser = ddlSupervisionUser.SelectedValue;
+ model.OwnerUser = ddlOwnerUser.SelectedValue;
+ model.ResponsibilityUnit = ddlResponsibilityUnit.SelectedValue;
+ model.QuestionDesc = txtQuestionDesc.Text;
+ model.Level = txtLevel.Text;
+ model.Speciality = txtSpeciality.Text;
+ model.AskDestructionTime = DateTime.Parse(txtAskDestructionTime.Text);
+ model.RestrictCondition = txtRestrictCondition.Text;
+ model.AddUser = this.CurrUser.LoginProjectId;
+ model.AddTime = DateTime.Now;
+ model.ResponsibilityConfirm = 0;
+ if (isAdd)
+ {
+ Funs.DB.PreRun_SubThreeChecksFourDecision.InsertOnSubmit(model);
+ }
+ Funs.DB.SubmitChanges();
+ ShowNotify("操作成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+
+ ///
+ /// 保存并提交
+ ///
+ protected void btnSubmit_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrWhiteSpace(ddlResponsibilityUnit.SelectedValue))
+ {
+ ShowNotify("请选择责任单位!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlResponsibilityUser.SelectedValue))
+ {
+ ShowNotify("请选择责任人!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlProposeUser.SelectedValue))
+ {
+ ShowNotify("请选择提出人!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlGeneraUser.SelectedValue))
+ {
+ ShowNotify("请选择总包!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlSupervisionUser.SelectedValue))
+ {
+ ShowNotify("请选择监理!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(ddlOwnerUser.SelectedValue))
+ {
+ ShowNotify("请选择业主!", MessageBoxIcon.Warning);
+ return;
+ }
+ var isAdd = false;
+ var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == this.DecisionId);
+ if (model == null)
+ {
+ isAdd = true;
+ model = new PreRun_SubThreeChecksFourDecision();
+ model.DecisionId = this.DecisionId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ }
+ model.ResponsibilityUser = ddlResponsibilityUser.SelectedValue;
+ model.ProposeUser = ddlProposeUser.SelectedValue;
+ model.GeneraUser = ddlGeneraUser.SelectedValue;
+ model.SupervisionUser = ddlSupervisionUser.SelectedValue;
+ model.OwnerUser = ddlOwnerUser.SelectedValue;
+ model.ResponsibilityUnit = ddlResponsibilityUnit.SelectedValue;
+ model.QuestionDesc = txtQuestionDesc.Text;
+ model.Level = txtLevel.Text;
+ model.Speciality = txtSpeciality.Text;
+ model.AskDestructionTime = DateTime.Parse(txtAskDestructionTime.Text);
+ model.RestrictCondition = txtRestrictCondition.Text;
+ model.AddUser = this.CurrUser.LoginProjectId;
+ model.AddTime = DateTime.Now;
+ model.ResponsibilityConfirm = 1;
+ if (isAdd)
+ {
+ Funs.DB.PreRun_SubThreeChecksFourDecision.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/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx.designer.cs
new file mode 100644
index 00000000..dc0e46a0
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionEdit.aspx.designer.cs
@@ -0,0 +1,287 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SubThreeChecksFourDecisionEdit
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// ddlResponsibilityUnit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlResponsibilityUnit;
+
+ ///
+ /// txtQuestionDesc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtQuestionDesc;
+
+ ///
+ /// txtRestrictCondition 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtRestrictCondition;
+
+ ///
+ /// txtLevel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtLevel;
+
+ ///
+ /// txtSpeciality 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSpeciality;
+
+ ///
+ /// txtAskDestructionTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker txtAskDestructionTime;
+
+ ///
+ /// lblRealityDestructionTime 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblRealityDestructionTime;
+
+ ///
+ /// ddlResponsibilityUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlResponsibilityUser;
+
+ ///
+ /// ddlProposeUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlProposeUser;
+
+ ///
+ /// ddlGeneraUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlGeneraUser;
+
+ ///
+ /// ddlSupervisionUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlSupervisionUser;
+
+ ///
+ /// ddlOwnerUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlOwnerUser;
+
+ ///
+ /// lblDecisionIsClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblDecisionIsClose;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// BtnQuestionFile 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button BtnQuestionFile;
+
+ ///
+ /// plApprove2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove2;
+
+ ///
+ /// gvZrrConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvZrrConfirm;
+
+ ///
+ /// plApprove3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow plApprove3;
+
+ ///
+ /// gvOtherConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid gvOtherConfirm;
+
+ ///
+ /// 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/BeforeTestRun/SubThreeChecksFourDecisionList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx
new file mode 100644
index 00000000..03682da6
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx
@@ -0,0 +1,190 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubThreeChecksFourDecisionList.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SubThreeChecksFourDecisionList" %>
+
+
+
+
+
+ 子系统三查四定检查表
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx.cs
new file mode 100644
index 00000000..fc700cf2
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx.cs
@@ -0,0 +1,815 @@
+using BLL;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.IO;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class SubThreeChecksFourDecisionList : PageBase
+ {
+ ///
+ /// 子系统主键
+ ///
+ public string SsubSystemId { get { return (string)ViewState["SsubSystemId"]; } set { ViewState["SsubSystemId"] = value; } }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.InitTreeMenu();//加载树
+ }
+ }
+
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = "系统划分";
+ rootNode.NodeID = "0";
+ rootNode.Expanded = true;
+ rootNode.ToolTip = "";
+ rootNode.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode);
+ var allPreRunLs = Funs.DB.PreRun_SysDevice.Where(p => p.ProjectId == this.CurrUser.LoginProjectId && p.PreRunLevel > 1).ToList();
+ var onePreRunLs = allPreRunLs.Where(p => p.PreRunLevel == 2).OrderBy(x => x.Sort);
+ foreach (var item in onePreRunLs)
+ {
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.PreRunId;
+ rootUnitNode.Text = item.PreRunName;
+ rootUnitNode.ToolTip = item.PreRunName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = false;
+ rootUnitNode.EnableExpandEvent = false;
+ rootNode.Nodes.Add(rootUnitNode);
+ rootUnitNode.Expanded = true;
+ var otherPreRunls = allPreRunLs.Where(p => p.PreRunLevel != 1).ToList();
+ this.BindNodes(rootUnitNode, otherPreRunls, item.PreRunId);
+ }
+ }
+
+ ///
+ /// 绑定树节点
+ ///
+ private void BindNodes(TreeNode node, List list, string parentId)
+ {
+ var itemList = list.Where(p => p.ParentId == parentId).OrderBy(x => x.Sort).ToList();
+ if (itemList.Count > 0)
+ {
+ foreach (var item in itemList)
+ {
+ TreeNode newNode = new TreeNode();
+ newNode.Text = item.PreRunName;
+ newNode.NodeID = item.PreRunId;
+ newNode.ToolTip = item.PreRunName;
+ newNode.CommandName = "";
+ newNode.EnableClickEvent = item.PreRunLevel == 4 ? true : false;
+ newNode.EnableExpandEvent = item.PreRunLevel == 4 ? true : false;
+ newNode.Expanded = true;
+ node.Nodes.Add(newNode);
+ BindNodes(newNode, list, item.PreRunId);
+ }
+ }
+ }
+
+ ///
+ /// 点击TreeView
+ ///
+ ///
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ this.SsubSystemId = tvControlItem.SelectedNodeID;
+ BindGrid();
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select a.DecisionId,a.ProjectId,a.SubSystemId,a.ProposeUser,puser.UserName as ProposeUserName,a.ResponsibilityUser,ruser.UserName as ResponsibilityUserName,a.ResponsibilityUnit,unit.UnitName as ResponsibilityUnitName,a.QuestionDesc,a.Level,a.Speciality,a.AskDestructionTime,a.RealityDestructionTime,a.RestrictCondition,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.ResponsibilityConfirm,(case a.ResponsibilityConfirm when 0 then '待提交' when 1 then '未确认' when 2 then '确认退回' when 3 then '确认通过' else '待提交' end) as ResponsibilityConfirmName,a.ProposeConfirm,(case a.ProposeConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as ProposeConfirmName,a.GeneraConfirm,(case a.GeneraConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as GeneraConfirmName,a.SupervisionConfirm,(case a.SupervisionConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as SupervisionConfirmName,a.OwnerConfirm,(case a.OwnerConfirm when 1 then '未确认' when 2 then '确认通过' else '' end) as OwnerConfirmName,a.ProposeConfirmData,a.ResponsibilityConfirmData,a.GeneraConfirmData,a.SupervisionConfirmData,a.OwnerConfirmData,a.DecisionIsClose,(case a.DecisionIsClose when 1 then '已关闭' else '未关闭' end) as DecisionIsCloseName,(case ISNULL(a.AskDestructionTime,'') when '' then 0 else DATEDIFF(DAY, GETDATE(),a.AskDestructionTime) end) as DestructionDiffDay,a.DecisionIsClose,a.AddUser,a.AddTime,a.Sort from PreRun_SubThreeChecksFourDecision as a left join Sys_User as puser on a.ProposeUser=puser.UserId left join Sys_User as ruser on a.ResponsibilityUser=ruser.UserId left join Base_Unit as unit on a.ResponsibilityUnit=unit.UnitId where 1=1 and a.SubSystemId=@SubSystemId and a.ProjectId=@ProjectId";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@SubSystemId", this.SsubSystemId));
+ //责任人是否确认
+ if (!string.IsNullOrWhiteSpace(ddlResponsibilityConfirm.SelectedValue))
+ {
+ strSql += " and isnull(a.ResponsibilityConfirm,1)=@ResponsibilityConfirm";
+ listStr.Add(new SqlParameter("@ResponsibilityConfirm", ddlResponsibilityConfirm.SelectedValue));
+ }
+ //提出人是否确认
+ if (!string.IsNullOrWhiteSpace(ddlProposeConfirm.SelectedValue))
+ {
+ strSql += " and isnull(a.ProposeConfirm,1)=@ProposeConfirm";
+ listStr.Add(new SqlParameter("@ProposeConfirm", ddlProposeConfirm.SelectedValue));
+ }
+ //总包是否确认
+ if (!string.IsNullOrWhiteSpace(ddlGeneraConfirm.SelectedValue))
+ {
+ strSql += " and isnull(a.GeneraConfirm,1)=@GeneraConfirm";
+ listStr.Add(new SqlParameter("@GeneraConfirm", ddlGeneraConfirm.SelectedValue));
+ }
+ //监理是否确认
+ if (!string.IsNullOrWhiteSpace(ddlSupervisionConfirm.SelectedValue))
+ {
+ strSql += " and isnull(a.SupervisionConfirm,1)=@SupervisionConfirm";
+ listStr.Add(new SqlParameter("@SupervisionConfirm", ddlSupervisionConfirm.SelectedValue));
+ }
+ //业主是否确认
+ if (!string.IsNullOrWhiteSpace(ddlOwnerConfirm.SelectedValue))
+ {
+ strSql += " and isnull(a.OwnerConfirm,1)=@OwnerConfirm";
+ listStr.Add(new SqlParameter("@OwnerConfirm", ddlOwnerConfirm.SelectedValue));
+ }
+ //是否关闭
+ if (!string.IsNullOrWhiteSpace(ddlDecisionState.SelectedValue))
+ {
+ strSql += " and isnull(a.DecisionIsClose,0)=@DecisionIsClose";
+ listStr.Add(new SqlParameter("@DecisionIsClose", ddlDecisionState.SelectedValue));
+ }
+ strSql += " order by a.AddTime desc";
+ 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["DestructionDiffDay"]);
+ TemplateField AdjustDiffDay = Grid1.FindColumn("DestructionDiffDay") as TemplateField;
+ int isClose = int.Parse(Grid1.DataKeys[e.RowIndex][1].ToString());
+ if (isClose != 1)
+ {
+ 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 btnQuery_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 新增
+ ///
+ protected void btnAdd_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SubThreeChecksFourDecisionEdit.aspx?DecisionId=", "新增 - ")));
+ }
+
+ ///
+ /// 修改
+ ///
+ protected void btnModify_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ var states = new List() { 0, 2 };
+ if (!states.Contains(model.ResponsibilityConfirm.Value))
+ {
+ Alert.ShowInTop("责任人“待提交”和“确认退回”才可进行编辑操作!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SubThreeChecksFourDecisionEdit.aspx?DecisionId={0}", Grid1.SelectedRowID, "编辑 - ")));
+ }
+
+ ///
+ /// 右击修改
+ ///
+ protected void btnMenuModify_Click(object sender, EventArgs e)
+ {
+ btnModify_Click(sender, e);
+ }
+
+ ///
+ /// 查看
+ ///
+ protected void btnView_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SubThreeChecksFourDecisionEdit.aspx?DecisionId={0}&IsView=true", Grid1.SelectedRowID, "查看 - ")));
+ }
+
+ ///
+ /// 右击查看
+ ///
+ protected void btnMenuView_Click(object sender, EventArgs e)
+ {
+ btnView_Click(sender, e);
+ }
+
+ ///
+ /// 删除
+ ///
+ protected void btnDel_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ var states = new List() { 0, 2 };
+ if (!states.Contains(model.ResponsibilityConfirm.Value))
+ {
+ Alert.ShowInTop("责任人“待提交”和“确认退回”才可进行删除操作!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ Funs.DB.PreRun_SubThreeChecksFourDecision.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ Alert.ShowInTop("删除成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ ///
+ /// 右击删除
+ ///
+ protected void btnMenuDel_Click(object sender, EventArgs e)
+ {
+ btnDel_Click(sender, e);
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 提交责任人确认
+ ///
+ protected void btnSubmitConfirm_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+ var model = Funs.DB.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ if (model.ResponsibilityConfirm == 1)
+ {
+ Alert.ShowInTop("责任人未确认状态,无法提交!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (model.ResponsibilityConfirm == 3)
+ {
+ Alert.ShowInTop("责任人确认通过,无法提交!", MessageBoxIcon.Warning);
+ return;
+ }
+ model.ResponsibilityConfirm = 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.PreRun_SubThreeChecksFourDecision.FirstOrDefault(x => x.DecisionId == Grid1.SelectedRowID);
+ if (model != null)
+ {
+ if (model.ResponsibilityConfirm != 1)
+ {
+ Alert.ShowInTop("仅责任人未确认状态才可撤回!", MessageBoxIcon.Warning);
+ return;
+ }
+ model.ProposeConfirm = 0;
+ model.ProposeConfirmData = null;
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ Alert.ShowInTop("撤回成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ ///
+ /// 下载模板
+ ///
+ protected void btnDownLoad_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Confirm.GetShowReference("是否确认下载模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
+ }
+
+ ///
+ /// 导入
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (this.fileData.HasFile == false)
+ {
+ ShowNotify("请选择excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(this.SsubSystemId))
+ {
+ fileData.Reset();
+ ShowNotify("请选择子系统!", MessageBoxIcon.Warning);
+ return;
+ }
+ string IsXls = Path.GetExtension(this.fileData.FileName).ToString().Trim().ToLower();
+ if (IsXls != ".xls" && IsXls != ".xlsx")
+ {
+ fileData.Reset();
+ ShowNotify("excel文件类型错误!", MessageBoxIcon.Warning);
+ return;
+ }
+ string rootPath = Server.MapPath("~/");
+ string initFullPath = rootPath + Const.ExcelUrl;
+ if (!Directory.Exists(initFullPath))
+ {
+ Directory.CreateDirectory(initFullPath);
+ }
+ //指定上传文件名称
+ string fileUrl = Funs.GetNewFileName() + IsXls;
+ //上传文件路径
+ string filePath = initFullPath + fileUrl;
+ //文件上传服务器
+ this.fileData.PostedFile.SaveAs(filePath);
+ //文件上传服务器后的名称
+ string fileName = rootPath + Const.ExcelUrl + fileUrl;
+ //读取Excel
+ DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false);
+ if (ds == null)
+ {
+ fileData.Reset();
+ ShowNotify("模板错误,请从系统下载正确的模板!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (!string.IsNullOrWhiteSpace(message))
+ {
+ ShowNotify(message, MessageBoxIcon.Warning);
+ return;
+ }
+ if (ds.Tables[0].Rows.Count > 3)
+ {
+ var fileVerify = VerifyFileColumn(ds);
+ if (!fileVerify)
+ {
+ fileData.Reset();
+ ShowNotify("请获取正确模板!", MessageBoxIcon.Warning);
+ return;
+ }
+ //验证整改问题描述是否为空
+ var questions = GetColumnValues(ds.Tables[0], "D", 5);
+ if (questions.Count(a => string.IsNullOrWhiteSpace(a)) > 0)
+ {
+ fileData.Reset();
+ ShowNotify("存在整改问题描述列为空的数据!", MessageBoxIcon.Warning);
+ return;
+ }
+ var userNames = new List();
+ //提出人
+ var proposeUserNames = GetColumnValues(ds.Tables[0], "C", 5);
+ proposeUserNames.RemoveAll(x => string.IsNullOrWhiteSpace(x));
+ if (proposeUserNames.Count > 0) userNames.AddRange(proposeUserNames);
+ //责任人
+ var responsibilityUserNames = GetColumnValues(ds.Tables[0], "I", 5);
+ responsibilityUserNames.RemoveAll(x => string.IsNullOrWhiteSpace(x));
+ if (responsibilityUserNames.Count > 0) userNames.AddRange(responsibilityUserNames);
+ //总包
+ var generaUserNames = GetColumnValues(ds.Tables[0], "L", 5);
+ generaUserNames.RemoveAll(x => string.IsNullOrWhiteSpace(x));
+ if (generaUserNames.Count > 0) userNames.AddRange(generaUserNames);
+ //监理
+ var supervisionNames = GetColumnValues(ds.Tables[0], "M", 5);
+ supervisionNames.RemoveAll(x => string.IsNullOrWhiteSpace(x));
+ if (supervisionNames.Count > 0) userNames.AddRange(supervisionNames);
+ //业主
+ var ownerNames = GetColumnValues(ds.Tables[0], "N", 5);
+ ownerNames.RemoveAll(x => string.IsNullOrWhiteSpace(x));
+ if (ownerNames.Count > 0) userNames.AddRange(ownerNames);
+ //责任单位
+ var responsibilityUnitNames = GetColumnValues(ds.Tables[0], "H", 5);
+ responsibilityUnitNames.RemoveAll(x => string.IsNullOrWhiteSpace(x));
+ //获取所有的提出人和责任人
+ List users = userNames.Count > 0 ? Funs.DB.Sys_User.Where(x => userNames.Contains(x.UserName)).ToList() : new List();
+ var baseUserNames = users.ConvertAll(x => x.UserName);
+ //获取责任单位
+ List units = responsibilityUnitNames.Count > 0 ? Funs.DB.Base_Unit.Where(x => responsibilityUnitNames.Contains(x.UnitName)).ToList() : new List();
+
+ #region 验证人员和单位
+ //验证责任人
+ if (responsibilityUserNames.Count > 0)
+ {
+ var responsibilityExcept = responsibilityUserNames.Except(baseUserNames).ToList();
+ if (responsibilityExcept.Count() > 0)
+ {
+ fileData.Reset();
+ ShowNotify($"责任人({string.Join(",", responsibilityExcept)}在系统中不存在)", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ //验证提出人
+ if (proposeUserNames.Count > 0)
+ {
+ var proposeExcept = proposeUserNames.Except(baseUserNames).ToList();
+ if (proposeExcept.Count() > 0)
+ {
+ fileData.Reset();
+ ShowNotify($"提出人({string.Join(",", proposeExcept)}在系统中不存在)", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ //验证总包
+ if (generaUserNames.Count > 0)
+ {
+ var generaUserExcept = generaUserNames.Except(baseUserNames).ToList();
+ if (generaUserExcept.Count() > 0)
+ {
+ fileData.Reset();
+ ShowNotify($"总包({string.Join(",", generaUserExcept)}在系统中不存在)", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ //验证监理
+ if (supervisionNames.Count > 0)
+ {
+ var supervisionExcept = supervisionNames.Except(baseUserNames).ToList();
+ if (supervisionExcept.Count() > 0)
+ {
+ fileData.Reset();
+ ShowNotify($"监理({string.Join(",", supervisionExcept)}在系统中不存在)", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ //验证业主
+ if (ownerNames.Count > 0)
+ {
+ var ownerExcept = ownerNames.Except(baseUserNames).ToList();
+ if (ownerExcept.Count() > 0)
+ {
+ fileData.Reset();
+ ShowNotify($"业主({string.Join(",", ownerExcept)}在系统中不存在)", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+ //验证责任单位
+ var baseUnitsNames = units.ConvertAll(x => x.UnitName);
+ var unitExcept = responsibilityUnitNames.Except(baseUnitsNames).ToList();
+ if (unitExcept.Count() > 0)
+ {
+ fileData.Reset();
+ ShowNotify($"责任单位({string.Join(",", unitExcept)}在系统中不存在)", MessageBoxIcon.Warning);
+ return;
+ }
+ #endregion
+
+
+ //获取已存在的尾项清单
+ var existDecisions = Funs.DB.PreRun_SubThreeChecksFourDecision.Where(x => x.SubSystemId == tvControlItem.SelectedNodeID && questions.Contains(x.QuestionDesc)).ToList();
+ if (existDecisions == null) existDecisions = new List();
+ List list = new List();
+ //数据导入
+ for (int i = 5; i < ds.Tables[0].Rows.Count; i++)
+ {
+ if (existDecisions.Count > 0 && existDecisions.Count(x => x.QuestionDesc == ds.Tables[0].Rows[i][3].ToString()) > 0)
+ {
+ var updatemodel = existDecisions.FirstOrDefault(x => x.QuestionDesc == ds.Tables[0].Rows[i][3].ToString());
+ updatemodel.QuestionDesc = ds.Tables[0].Rows[i][3].ToString();
+ updatemodel.Level = ds.Tables[0].Rows[i][4].ToString();
+ updatemodel.Speciality = ds.Tables[0].Rows[i][5].ToString();
+ updatemodel.AskDestructionTime = TimeVal(ds.Tables[0].Rows[i][6].ToString());
+ if (updatemodel.ResponsibilityConfirm == 0)
+ {
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][8].ToString()))
+ {
+ updatemodel.ResponsibilityUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][8].ToString()).UserId;
+ }
+ }
+ if (updatemodel.ProposeConfirm != 2)
+ {
+
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][2].ToString()))
+ {
+ updatemodel.ProposeUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][2].ToString()).UserId;
+ }
+ }
+ if (updatemodel.GeneraConfirm != 2)
+ {
+
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][11].ToString()))
+ {
+ updatemodel.GeneraUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][11].ToString()).UserId;
+ }
+ }
+ if (updatemodel.SupervisionConfirm != 2)
+ {
+
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][12].ToString()))
+ {
+ updatemodel.SupervisionUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][12].ToString()).UserId;
+ }
+ }
+ if (updatemodel.OwnerConfirm != 2)
+ {
+
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][13].ToString()))
+ {
+ updatemodel.OwnerUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][13].ToString()).UserId;
+ }
+ }
+ updatemodel.RestrictCondition = ds.Tables[0].Rows[i][9].ToString();
+ Funs.DB.SubmitChanges();
+ }
+ else
+ {
+ PreRun_SubThreeChecksFourDecision model = new PreRun_SubThreeChecksFourDecision();
+ model.DecisionId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.SubSystemId = tvControlItem.SelectedNodeID;
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][8].ToString()))
+ {
+ model.ResponsibilityUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][8].ToString()).UserId;
+ }
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][2].ToString()))
+ {
+ model.ProposeUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][2].ToString()).UserId;
+ }
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][11].ToString()))
+ {
+ model.GeneraUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][11].ToString()).UserId;
+ }
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][12].ToString()))
+ {
+ model.SupervisionUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][12].ToString()).UserId;
+ }
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][13].ToString()))
+ {
+ model.OwnerUser = users.FirstOrDefault(x => x.UserName == ds.Tables[0].Rows[i][13].ToString()).UserId;
+ }
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][7].ToString()))
+ {
+ model.ResponsibilityUnit = units.FirstOrDefault(x => x.UnitName == ds.Tables[0].Rows[i][7].ToString()).UnitId;
+ }
+ model.QuestionDesc = ds.Tables[0].Rows[i][3].ToString();
+ model.Level = ds.Tables[0].Rows[i][4].ToString();
+ model.Speciality = ds.Tables[0].Rows[i][5].ToString();
+ model.AskDestructionTime = TimeVal(ds.Tables[0].Rows[i][6].ToString());
+ model.RealityDestructionTime = TimeVal(ds.Tables[0].Rows[i][10].ToString());
+ model.RestrictCondition = ds.Tables[0].Rows[i][9].ToString();
+ model.ResponsibilityConfirm = 0;
+ model.DecisionIsClose = 0;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i - 4;
+ list.Add(model);
+ }
+ }
+ Funs.DB.PreRun_SubThreeChecksFourDecision.InsertAllOnSubmit(list);
+ Funs.DB.SubmitChanges();
+ }
+ else
+ {
+ fileData.Reset();
+ ShowNotify("文件无数据!", MessageBoxIcon.Warning);
+ }
+ fileData.Reset();
+ BindGrid();
+ ShowNotify("导入成功!", MessageBoxIcon.Success);
+ }
+ catch (Exception ex)
+ {
+ fileData.Reset();
+ ShowNotify(ex.Message, MessageBoxIcon.Warning);
+ }
+ }
+
+ #endregion
+
+ #region 私有方法
+
+ ///
+ /// 验证管道模板是否正确
+ ///
+ ///
+ ///
+ private bool VerifyFileColumn(DataSet ds)
+ {
+ var result = true;
+
+ if (ds.Tables[0].Rows[4][2].ToString() != "提出人") result = false;
+ if (!ds.Tables[0].Rows[4][3].ToString().Contains("整改问题描述")) result = false;
+ if (ds.Tables[0].Rows[4][4].ToString() != "级别") result = false;
+ if (ds.Tables[0].Rows[4][5].ToString() != "专业") result = false;
+ if (ds.Tables[0].Rows[4][6].ToString() != "要求销项时间") result = false;
+ if (ds.Tables[0].Rows[4][7].ToString() != "责任单位") result = false;
+ if (ds.Tables[0].Rows[4][8].ToString() != "责任人") result = false;
+ if (ds.Tables[0].Rows[4][9].ToString() != "整改方法/制约条件") result = false;
+ if (ds.Tables[0].Rows[4][10].ToString() != "实际销项时间") result = false;
+
+ return result;
+ }
+
+ ///
+ /// 验证datatable某列是否存在重复
+ ///
+ ///
+ private bool HasRepeatData(DataTable dt, string[] colName)
+ {
+ bool flag = false;
+ DataView myDataView = new DataView(dt);
+ if (myDataView.ToTable(true, colName).Rows.Count < dt.Rows.Count)
+ {
+ flag = true;
+ }
+ return flag;
+ }
+
+ ///
+ /// 获取某一列的所有值
+ ///
+ /// 列数据类型
+ /// 数据表
+ /// 列名
+ ///
+ private static List GetColumnValues(DataTable dtSource, string filedName, int rowNum = 0)
+ {
+ var result = (from r in dtSource.AsEnumerable() select r.Field(filedName)).ToList();
+ if (rowNum > 0)
+ {
+ result = result.Count() > rowNum ? result.Skip(rowNum).ToList() : new List();
+ }
+ return result;
+ }
+
+ ///
+ /// 是否逾期返回
+ ///
+ ///
+ public string IsOverdue(object diffDayVal, object stateVal)
+ {
+ var result = string.Empty;
+ var diffDay = 0;
+ var itemState = 0;
+ if (diffDayVal != null) diffDay = int.Parse(diffDayVal.ToString());
+ if (stateVal != null) itemState = int.Parse(stateVal.ToString());
+ if (itemState != 1)
+ {
+ if (diffDay > 0)
+ {
+ result = "未逾期";
+ }
+ else if (diffDay == 0)
+ {
+ result = "即将逾期";
+ }
+ else if (diffDay < 0)
+ {
+ result = "已逾期";
+ }
+ }
+ else
+ {
+ result = "已关闭";
+ }
+ return result;
+ }
+
+ ///
+ /// 下载导入模板
+ ///
+ protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
+ {
+ if (e.EventArgument == "Confirm_OK")
+ {
+ string constUrl = Const.ThreeChecksFourDecisionUrl;
+ string rootPath = Server.MapPath("~/");
+ string uploadfilepath = rootPath + constUrl;
+ string filePath = constUrl;
+ string fileName = Path.GetFileName(filePath);
+ FileInfo info = new FileInfo(uploadfilepath);
+ long fileSize = info.Length;
+ Response.ClearContent();
+ Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
+ Response.ContentType = "excel/plain";
+ Response.ContentEncoding = System.Text.Encoding.UTF8;
+ Response.AddHeader("Content-Length", fileSize.ToString().Trim());
+ Response.TransmitFile(uploadfilepath, 0, fileSize);
+ Response.End();
+ }
+ }
+
+ ///
+ /// 返回时间
+ ///
+ ///
+ ///
+ private DateTime? TimeVal(string val)
+ {
+ if (string.IsNullOrWhiteSpace(val)) return null;
+ var istime = DateTime.TryParse(val, out DateTime time);
+ if (istime)
+ {
+ return time;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx.designer.cs
new file mode 100644
index 00000000..f70f03b7
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubThreeChecksFourDecisionList.aspx.designer.cs
@@ -0,0 +1,323 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SubThreeChecksFourDecisionList
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// fileData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FileUpload fileData;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ddlProposeConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlProposeConfirm;
+
+ ///
+ /// ddlResponsibilityConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlResponsibilityConfirm;
+
+ ///
+ /// ddlGeneraConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlGeneraConfirm;
+
+ ///
+ /// ddlSupervisionConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlSupervisionConfirm;
+
+ ///
+ /// ddlOwnerConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlOwnerConfirm;
+
+ ///
+ /// Toolbar3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar3;
+
+ ///
+ /// ddlDecisionState 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlDecisionState;
+
+ ///
+ /// btnQuery 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnQuery;
+
+ ///
+ /// btnDownLoad 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDownLoad;
+
+ ///
+ /// btnAdd 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAdd;
+
+ ///
+ /// btnModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnModify;
+
+ ///
+ /// btnDel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDel;
+
+ ///
+ /// btnView 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnView;
+
+ ///
+ /// btnSubmitConfirm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSubmitConfirm;
+
+ ///
+ /// 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/BeforeTestRun/SysPipingDeviceImport.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx
index 6bd29e65..d236fd72 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx
@@ -67,7 +67,7 @@
-
@@ -260,6 +260,7 @@
+
@@ -361,6 +362,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -368,21 +476,19 @@
-
-
+
- <%--
- --%>
@@ -496,33 +602,20 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
@@ -569,19 +662,65 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -589,6 +728,7 @@
+
@@ -601,6 +741,10 @@
Target="Top" EnableResize="true" runat="server" OnClose="Window2_Close" IsModal="true"
Width="1090px" Height="660px">
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs
index b025a6ef..bf18e348 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs
@@ -275,7 +275,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
//文件上传服务器后的名称
string fileName = rootPath + Const.ExcelUrl + fileUrl;
//读取Excel
- DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false);
+ DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false, false);
if (ds == null)
{
fileData.Reset();
@@ -287,76 +287,115 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ShowNotify(message, MessageBoxIcon.Warning);
return;
}
- if (ds.Tables[0].Rows.Count > 3)
+ //移除不正确的表格
+ List removeAtt = new List();
+ for (int i = 0; i < ds.Tables.Count; i++)
{
- var fileVerify = PropertyVerifyFile(ds);
- if (!fileVerify)
+ var itemTb = ds.Tables[i];
+ var fileVerify = PropertyVerifyFile(itemTb);
+ if (!fileVerify) removeAtt.Add(ds.Tables[i].TableName);
+ }
+ if (removeAtt.Count > 0)
+ {
+ foreach (var itemR in removeAtt)
{
- fileData.Reset();
- ShowNotify("请获取正确模板!", MessageBoxIcon.Warning);
- return;
+ ds.Tables.Remove(itemR);
}
- var columVerify = HasRepeatData(ds.Tables[0], new string[] { "A" });
- if (columVerify)
+ }
+ if (ds.Tables.Count == 0)
+ {
+ fileData.Reset();
+ ShowNotify("Excel模板格式不正确!", MessageBoxIcon.Warning);
+ return;
+ }
+ List list = new List();
+ for (int i = 0; i < ds.Tables.Count; i++)
+ {
+ var itemTb = ds.Tables[i];
+ if (itemTb.Rows.Count > 6)
{
- fileData.Reset();
- ShowNotify("模板中存在管道号相同或管道号为空的数据!", MessageBoxIcon.Warning);
- return;
- }
- var pipingCodes = GetColumnValues(ds.Tables[0], "A");
- var removeCodes = new List() { "管道号", "管道说明", "" };
- pipingCodes.RemoveAll(a => removeCodes.Contains(a));
- var existPropertys = Funs.DB.PreRun_PropertySysPiping.Where(a => pipingCodes.Contains(a.PipingCode) && a.SystemId == tvControlItem.SelectedNodeID && a.ProjectId == this.CurrUser.LoginProjectId).ToList();
- if (existPropertys.Count > 0)
- {
- //删除已经存在的信息
- Funs.DB.PreRun_PropertySysPiping.DeleteAllOnSubmit(existPropertys);
- Funs.DB.SubmitChanges();
- //ShowNotify($"管道号({string.Join(",", existPropertys.ConvertAll(s => s.PipingCode))})已存在!", MessageBoxIcon.Warning);
- //return;
- }
- List list = new List();
- //数据导入
- for (int i = 3; i < ds.Tables[0].Rows.Count; i++)
- {
- if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][0].ToString()))
+ for (int j = 6; j < itemTb.Rows.Count; j++)
{
- fileData.Reset();
- ShowNotify($"第{i}行管道号为空", MessageBoxIcon.Warning);
- return;
+ if (string.IsNullOrWhiteSpace(itemTb.Rows[j][1].ToString()) || string.IsNullOrWhiteSpace(itemTb.Rows[j][8].ToString())) continue;
+ PreRun_PropertySysPiping model = new PreRun_PropertySysPiping();
+ model.PropertyId = Guid.NewGuid().ToString();
+ model.SystemId = tvControlItem.SelectedNodeID;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.PipingCode = itemTb.Rows[j][1].ToString();
+ model.Diameter = itemTb.Rows[j][8].ToString();
+ model.MaterialLevel = itemTb.Rows[j][10].ToString();
+ model.AdiabatType = itemTb.Rows[j][15].ToString();
+ model.AdiabatThickness = itemTb.Rows[j][18].ToString();
+ model.MediumState = itemTb.Rows[j][20].ToString();
+ model.DrawingNo = itemTb.Rows[j][22].ToString();
+ model.PipingStart = itemTb.Rows[j][29].ToString();
+ model.PipingEnd = itemTb.Rows[j][35].ToString();
+ model.PipingLevel = itemTb.Rows[j][41].ToString();
+ model.NormalTemperature = itemTb.Rows[j][43].ToString();
+ model.NormalPressure = itemTb.Rows[j][45].ToString();
+ model.DesignTemperature = itemTb.Rows[j][46].ToString();
+ model.DesignPressure = itemTb.Rows[j][48].ToString();
+ model.PaintLevel = itemTb.Rows[j][50].ToString();
+ model.Remark = itemTb.Rows[j][53].ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = list.Count;
+ list.Add(model);
}
- PreRun_PropertySysPiping model = new PreRun_PropertySysPiping();
- model.PropertyId = Guid.NewGuid().ToString();
- model.SystemId = tvControlItem.SelectedNodeID;
- model.ProjectId = this.CurrUser.LoginProjectId;
- model.PipingCode = ds.Tables[0].Rows[i][0].ToString();
- model.Diameter = ds.Tables[0].Rows[i][7] != null ? ds.Tables[0].Rows[i][7].ToString() : string.Empty;
- model.MaterialLevel = ds.Tables[0].Rows[i][9] != null ? ds.Tables[0].Rows[i][9].ToString() : string.Empty;
- model.AdiabatType = ds.Tables[0].Rows[i][14] != null ? ds.Tables[0].Rows[i][14].ToString() : string.Empty;
- model.AdiabatThickness = ds.Tables[0].Rows[i][17] != null ? ds.Tables[0].Rows[i][17].ToString() : string.Empty;
- model.MediumState = ds.Tables[0].Rows[i][19] != null ? ds.Tables[0].Rows[i][19].ToString() : string.Empty;
- model.DrawingNo = ds.Tables[0].Rows[i][21] != null ? ds.Tables[0].Rows[i][21].ToString() : string.Empty;
- model.PipingStart = ds.Tables[0].Rows[i][28] != null ? ds.Tables[0].Rows[i][28].ToString() : string.Empty;
- model.PipingEnd = ds.Tables[0].Rows[i][34] != null ? ds.Tables[0].Rows[i][34].ToString() : string.Empty;
- model.PipingLevel = ds.Tables[0].Rows[i][40] != null ? ds.Tables[0].Rows[i][40].ToString() : string.Empty;
- model.NormalTemperature = ds.Tables[0].Rows[i][42] != null ? ds.Tables[0].Rows[i][42].ToString() : string.Empty;
- model.NormalPressure = ds.Tables[0].Rows[i][44] != null ? ds.Tables[0].Rows[i][44].ToString() : string.Empty;
- model.DesignTemperature = ds.Tables[0].Rows[i][46] != null ? ds.Tables[0].Rows[i][46].ToString() : string.Empty;
- model.DesignPressure = ds.Tables[0].Rows[i][48] != null ? ds.Tables[0].Rows[i][48].ToString() : string.Empty;
- model.PaintLevel = ds.Tables[0].Rows[i][50] != null ? ds.Tables[0].Rows[i][50].ToString() : string.Empty;
- model.Remark = ds.Tables[0].Rows[i][53] != null ? ds.Tables[0].Rows[i][53].ToString() : string.Empty;
- model.AddUser = this.CurrUser.UserId;
- model.AddTime = DateTime.Now;
- model.Sort = i - 2;
- list.Add(model);
}
- Funs.DB.PreRun_PropertySysPiping.InsertAllOnSubmit(list);
- Funs.DB.SubmitChanges();
+ }
+ if (list.Count > 0)
+ {
+ //获取已经存在的数据
+ var pipingCodes = list.ConvertAll(x => x.PipingCode);
+ List addList = new List();
+ var existPropertys = Funs.DB.PreRun_PropertySysPiping.Where(x => pipingCodes.Contains(x.PipingCode) && x.SystemId == tvControlItem.SelectedNodeID && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
+ if (existPropertys.Count == 0)
+ {
+ addList = list;
+ }
+ else
+ {
+ var existTags = existPropertys.ConvertAll(x => x.PipingCode);
+ foreach (var item in list)
+ {
+ if (existTags.Count(a => a == item.PipingCode) > 0)
+ {
+ var upModel = existPropertys.FirstOrDefault(a => a.PipingCode == item.PipingCode);
+ upModel.Diameter = item.Diameter;
+ upModel.MaterialLevel = item.MaterialLevel;
+ upModel.AdiabatType = item.AdiabatType;
+ upModel.AdiabatThickness = item.AdiabatThickness;
+ upModel.MediumState = item.MediumState;
+ upModel.DrawingNo = item.DrawingNo;
+ upModel.PipingStart = item.PipingStart;
+ upModel.PipingEnd = item.PipingEnd;
+ upModel.PipingLevel = item.PipingLevel;
+ upModel.NormalTemperature = item.NormalTemperature;
+ upModel.NormalPressure = item.NormalPressure;
+ upModel.DesignTemperature = item.DesignTemperature;
+ upModel.DesignPressure = item.DesignPressure;
+ upModel.PaintLevel = item.PaintLevel;
+ upModel.Remark = item.Remark;
+ Funs.DB.SubmitChanges();
+ }
+ else
+ {
+ addList.Add(item);
+ }
+ }
+ }
+ if (addList.Count > 0)
+ {
+ Funs.DB.PreRun_PropertySysPiping.InsertAllOnSubmit(addList);
+ Funs.DB.SubmitChanges();
+ }
}
else
{
fileData.Reset();
- ShowNotify("文件无数据!", MessageBoxIcon.Warning);
+ ShowNotify("Excel模板无数据!", MessageBoxIcon.Warning);
+ return;
}
fileData.Reset();
ZxtgdBrid();
@@ -521,7 +560,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
//文件上传服务器后的名称
string fileName = rootPath + Const.ExcelUrl + fileUrl;
//读取Excel
- DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false);
+ DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false, false);
if (ds == null)
{
filegyData.Reset();
@@ -530,117 +569,136 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
if (!string.IsNullOrWhiteSpace(message))
{
+ filegyData.Reset();
ShowNotify(message, MessageBoxIcon.Warning);
return;
}
- if (ds.Tables[0].Rows.Count > 2)
+
+ //移除不正确的表格
+ List removeAtt = new List();
+ for (int i = 0; i < ds.Tables.Count; i++)
{
- var fileVerify = TechnologyVerifyFile(ds);
- if (!fileVerify)
+ var itemTb = ds.Tables[i];
+ var fileVerify = TechnologyVerifyFile(itemTb);
+ if (!fileVerify) removeAtt.Add(ds.Tables[i].TableName);
+ }
+ if (removeAtt.Count > 0)
+ {
+ foreach (var itemR in removeAtt)
{
- filegyData.Reset();
- ShowNotify("请获取正确模板!", MessageBoxIcon.Warning);
- return;
+ ds.Tables.Remove(itemR);
}
- var tagNumbers = GetColumnValues(ds.Tables[0], "D");
- var removeNumbers = new List() { "设备位号", "" };
- tagNumbers.RemoveAll(a => removeNumbers.Contains(a));
- var existTechnologys = Funs.DB.PreRun_TechnologySysPiping.Where(a => tagNumbers.Contains(a.TagNumber) && a.SystemId == tvControlItem.SelectedNodeID && a.ProjectId == this.CurrUser.LoginProjectId).ToList();
- if (existTechnologys.Count > 0)
+ }
+ if (ds.Tables.Count == 0)
+ {
+ filegyData.Reset();
+ ShowNotify("Excel模板格式不正确!", MessageBoxIcon.Warning);
+ return;
+ }
+ List list = new List();
+ for (int i = 0; i < ds.Tables.Count; i++)
+ {
+ var itemTb = ds.Tables[i];
+ if (itemTb.Rows.Count > 5)
{
- //删除已经存在的信息
- Funs.DB.PreRun_TechnologySysPiping.DeleteAllOnSubmit(existTechnologys);
- Funs.DB.SubmitChanges();
- //ShowNotify($"设备位号({string.Join(",", existTechnologys.ConvertAll(s => s.TagNumber))})已存在!", MessageBoxIcon.Warning);
- //return;
- }
- string nameSpecificationStr = string.Empty;
- string materialStr = string.Empty;
- PreRun_TechnologySysPiping model = new PreRun_TechnologySysPiping();
- List list = new List();
- //数据导入
- for (int i = 2; i < ds.Tables[0].Rows.Count; i++)
- {
- if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][3].ToString()))
+ string lastTagNumber = string.Empty;
+ for (int j = 5; j < itemTb.Rows.Count; j++)
{
- if (model == null)
+ if (string.IsNullOrWhiteSpace(itemTb.Rows[j][1].ToString()) && string.IsNullOrWhiteSpace(itemTb.Rows[j][4].ToString()) && string.IsNullOrWhiteSpace(itemTb.Rows[j][9].ToString())) continue;
+ if (!string.IsNullOrWhiteSpace(itemTb.Rows[j][1].ToString()) && string.IsNullOrWhiteSpace(itemTb.Rows[j][4].ToString()) && !string.IsNullOrWhiteSpace(itemTb.Rows[j][9].ToString())) continue;
+ PreRun_TechnologySysPiping model = new PreRun_TechnologySysPiping();
+ if (!string.IsNullOrWhiteSpace(itemTb.Rows[j][4].ToString()))
{
- filegyData.Reset();
- ShowNotify($"{i}行数据存在错误!", MessageBoxIcon.Warning);
- return;
+ model.TechnologyId = Guid.NewGuid().ToString();
+ model.SystemId = tvControlItem.SelectedNodeID;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.TagNumber = itemTb.Rows[j][4].ToString();
+ model.NameSpecifications = itemTb.Rows[j][9].ToString();
+ model.DrawingNo = itemTb.Rows[j][25].ToString();
+ model.Materials = itemTb.Rows[j][33].ToString();
+ model.NumOperate = itemTb.Rows[j][42].ToString();
+ model.NumStandby = itemTb.Rows[j][44].ToString();
+ model.WeightSingle = itemTb.Rows[j][46].ToString();
+ model.WeightTotal = itemTb.Rows[j][49].ToString();
+ model.Remark = itemTb.Rows[j][52].ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i - 1;
+ list.Add(model);
+ lastTagNumber = model.TagNumber;
}
else
{
- if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][8].ToString()))
+ if (list.Count(x => x.TagNumber == lastTagNumber) > 0)
{
- nameSpecificationStr += "\n" + ds.Tables[0].Rows[i][8].ToString();
- }
- if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][32].ToString()))
- {
- materialStr += "\n" + ds.Tables[0].Rows[i][32].ToString();
+ if (!string.IsNullOrWhiteSpace(itemTb.Rows[j][9].ToString()))
+ {
+ list.FirstOrDefault(x => x.TagNumber == lastTagNumber).NameSpecifications += "\n" + itemTb.Rows[j][9].ToString();
+ }
+ if (!string.IsNullOrWhiteSpace(itemTb.Rows[j][25].ToString()))
+ {
+ list.FirstOrDefault(x => x.TagNumber == lastTagNumber).DrawingNo += "\n" + itemTb.Rows[j][25].ToString();
+ }
+ if (!string.IsNullOrWhiteSpace(itemTb.Rows[j][33].ToString()))
+ {
+ list.FirstOrDefault(x => x.TagNumber == lastTagNumber).Materials += "\n" + itemTb.Rows[j][33].ToString();
+ }
+ if (!string.IsNullOrWhiteSpace(itemTb.Rows[j][52].ToString()))
+ {
+ list.FirstOrDefault(x => x.TagNumber == lastTagNumber).Remark += "\n" + itemTb.Rows[j][51].ToString();
+ }
}
}
}
- else
- {
- if (model != null && list.Count(x => x.TagNumber == model.TagNumber) > 0)
- {
- list.Where(x => x.TagNumber == model.TagNumber).ToList().ForEach(p =>
- {
- p.Materials = materialStr;
- p.NameSpecifications = nameSpecificationStr;
- });
- }
- model = new PreRun_TechnologySysPiping();
- model.TechnologyId = Guid.NewGuid().ToString();
- model.SystemId = tvControlItem.SelectedNodeID;
- model.ProjectId = this.CurrUser.LoginProjectId;
- model.TagNumber = ds.Tables[0].Rows[i][3].ToString();
- model.NameSpecifications = ds.Tables[0].Rows[i][8] != null ? ds.Tables[0].Rows[i][8].ToString() : string.Empty;
- model.DrawingNo = ds.Tables[0].Rows[i][24] != null ? ds.Tables[0].Rows[i][24].ToString() : string.Empty;
- model.Materials = ds.Tables[0].Rows[i][32] != null ? ds.Tables[0].Rows[i][32].ToString() : string.Empty;
- model.NumOperate = ds.Tables[0].Rows[i][41] != null ? ds.Tables[0].Rows[i][41].ToString() : string.Empty;
- model.NumStandby = ds.Tables[0].Rows[i][43] != null ? ds.Tables[0].Rows[i][43].ToString() : string.Empty;
- model.WeightSingle = ds.Tables[0].Rows[i][45] != null ? ds.Tables[0].Rows[i][45].ToString() : string.Empty;
- model.WeightTotal = ds.Tables[0].Rows[i][48] != null ? ds.Tables[0].Rows[i][48].ToString() : string.Empty;
- model.Remark = ds.Tables[0].Rows[i][51] != null ? ds.Tables[0].Rows[i][51].ToString() : string.Empty;
- model.AddUser = this.CurrUser.UserId;
- model.AddTime = DateTime.Now;
- model.Sort = i - 1;
- materialStr = model.Materials;
- nameSpecificationStr = model.NameSpecifications;
- list.Add(model);
- }
-
- //最后一条数据累加
- if (i == ds.Tables[0].Rows.Count - 1)
- {
- if (model != null && list.Count(x => x.TagNumber == model.TagNumber) > 0)
- {
- list.Where(x => x.TagNumber == model.TagNumber).ToList().ForEach(p =>
- {
- p.Materials = materialStr;
- p.NameSpecifications = nameSpecificationStr;
- });
- }
- }
-
}
- if (list.GroupBy(x => x.TagNumber).Count() != list.Count)
+ }
+ if (list.Count > 0)
+ {
+ //获取已经存在的数据
+ var pipingCodes = list.ConvertAll(x => x.TagNumber);
+ List addList = new List();
+ var existTechnologys = Funs.DB.PreRun_TechnologySysPiping.Where(x => pipingCodes.Contains(x.TagNumber) && x.SystemId == tvControlItem.SelectedNodeID && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
+ if (existTechnologys.Count == 0)
{
- filegyData.Reset();
- ShowNotify("模板中存在设备位号相同的数据!", MessageBoxIcon.Warning);
- return;
+ addList = list;
+ }
+ else
+ {
+ var existTags = existTechnologys.ConvertAll(x => x.TagNumber);
+ foreach (var item in list)
+ {
+ if (existTags.Count(a => a == item.TagNumber) > 0)
+ {
+ var upModel = existTechnologys.FirstOrDefault(a => a.TagNumber == item.TagNumber);
+ upModel.NameSpecifications = item.NameSpecifications;
+ upModel.DrawingNo = item.DrawingNo;
+ upModel.Materials = item.Materials;
+ upModel.NumOperate = item.NumOperate;
+ upModel.NumStandby = item.NumStandby;
+ upModel.WeightSingle = item.WeightSingle;
+ upModel.WeightTotal = item.WeightTotal;
+ upModel.Remark = item.Remark;
+ Funs.DB.SubmitChanges();
+ }
+ else
+ {
+ addList.Add(item);
+ }
+ }
+ }
+ if (addList.Count > 0)
+ {
+ Funs.DB.PreRun_TechnologySysPiping.InsertAllOnSubmit(addList);
+ Funs.DB.SubmitChanges();
}
-
- Funs.DB.PreRun_TechnologySysPiping.InsertAllOnSubmit(list);
- Funs.DB.SubmitChanges();
}
else
{
filegyData.Reset();
- ShowNotify("文件无数据!", MessageBoxIcon.Warning);
+ ShowNotify("Excel模板无数据!", MessageBoxIcon.Warning);
+ return;
}
+
filegyData.Reset();
ZxtgyBrid();
ShowNotify("导入成功!", MessageBoxIcon.Success);
@@ -698,6 +756,278 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
#endregion
+ #region 仪表索引导入
+
+ ///
+ /// 绑定仪表索引
+ ///
+ public void ZxtybBrid()
+ {
+ string strSql = @"select * from PreRun_InstrumentSysPiping where ProjectId=@ProjectId and SystemId=@SystemId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@SystemId", this.tvControlItem.SelectedNodeID));
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ GridZxtyb.RecordCount = tb.Rows.Count;
+ var table = this.GetPagedDataTable(GridZxtyb, tb);
+ GridZxtyb.DataSource = table;
+ GridZxtyb.DataBind();
+ TabStrip1.ActiveTabIndex = 2;
+ }
+
+ ///
+ /// 分页
+ ///
+ protected void GridZxtyb_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ GridZxtyb.PageIndex = e.NewPageIndex;
+ ZxtybBrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void GridZxtyb_Sort(object sender, GridSortEventArgs e)
+ {
+ GridZxtyb.SortDirection = e.SortDirection;
+ GridZxtyb.SortField = e.SortField;
+ ZxtybBrid();
+ }
+
+ ///
+ /// 行点击事件
+ ///
+ protected void GridZxtyb_RowCommand(object sender, GridCommandEventArgs e)
+ {
+ if (e.CommandName == "Delete")
+ {
+ string rowID = e.RowID;
+ var model = Funs.DB.PreRun_InstrumentSysPiping.FirstOrDefault(p => p.InstrumentId == rowID);
+ Funs.DB.PreRun_InstrumentSysPiping.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ ZxtybBrid();
+ ShowNotify("删除成功!");
+ }
+ }
+
+ ///
+ /// 分页下拉框事件
+ ///
+ protected void ddlZxtybPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ GridZxtyb.PageSize = Convert.ToInt32(ddlZxtybPageSize.SelectedValue);
+ ZxtybBrid();
+ }
+
+ ///
+ /// 仪表索引导入
+ ///
+ protected void btnZxtybImport_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (this.fileybData.HasFile == false)
+ {
+ ShowNotify("请选择excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ string IsXls = Path.GetExtension(this.fileybData.FileName).ToString().Trim().ToLower();
+ if (IsXls != ".xls" && IsXls != ".xlsx")
+ {
+ fileybData.Reset();
+ ShowNotify("excel文件类型错误!", MessageBoxIcon.Warning);
+ return;
+ }
+ string rootPath = Server.MapPath("~/");
+ string initFullPath = rootPath + Const.ExcelUrl;
+ if (!Directory.Exists(initFullPath))
+ {
+ Directory.CreateDirectory(initFullPath);
+ }
+ //指定上传文件名称
+ string fileUrl = BLL.Funs.GetNewFileName() + IsXls;
+ //上传文件路径
+ string filePath = initFullPath + fileUrl;
+ //文件上传服务器
+ this.fileybData.PostedFile.SaveAs(filePath);
+ //文件上传服务器后的名称
+ string fileName = rootPath + Const.ExcelUrl + fileUrl;
+ //读取Excel
+ DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false, false);
+ if (ds == null)
+ {
+ fileybData.Reset();
+ ShowNotify("模板错误,请从系统下载正确的模板!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (!string.IsNullOrWhiteSpace(message))
+ {
+ ShowNotify(message, MessageBoxIcon.Warning);
+ return;
+ }
+ //移除不正确的表格
+ List removeAtt = new List();
+ for (int i = 0; i < ds.Tables.Count; i++)
+ {
+ var itemTb = ds.Tables[i];
+ var fileVerify = InstrumentVerifyFile(itemTb);
+ if (!fileVerify) removeAtt.Add(ds.Tables[i].TableName);
+ }
+ if (removeAtt.Count > 0)
+ {
+ foreach (var itemR in removeAtt)
+ {
+ ds.Tables.Remove(itemR);
+ }
+ }
+ if (ds.Tables.Count == 0)
+ {
+ fileybData.Reset();
+ ShowNotify("Excel模板格式不正确!", MessageBoxIcon.Warning);
+ return;
+ }
+ List list = new List();
+ for (int i = 0; i < ds.Tables.Count; i++)
+ {
+ var itemTb = ds.Tables[i];
+ if (itemTb.Rows.Count > 5)
+ {
+ for (int j = 5; j < itemTb.Rows.Count; j++)
+ {
+ if (string.IsNullOrWhiteSpace(itemTb.Rows[j][1].ToString())) continue;
+ if (string.IsNullOrWhiteSpace(itemTb.Rows[j][28].ToString())) continue;
+ if (itemTb.Rows[j][28].ToString().Trim() != "现场") continue;
+ var model = new PreRun_InstrumentSysPiping();
+ model.InstrumentId = Guid.NewGuid().ToString();
+ model.SystemId = tvControlItem.SelectedNodeID;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.InstrumentTag = itemTb.Rows[j][1].ToString();
+ model.UseTo = itemTb.Rows[j][7].ToString();
+ model.InstrumentName = itemTb.Rows[j][18].ToString();
+ model.Supplier = itemTb.Rows[j][25].ToString();
+ model.InstallationPosition = itemTb.Rows[j][28].ToString();
+ model.SignalType = itemTb.Rows[j][32].ToString();
+ model.AssociatedSystem = itemTb.Rows[j][36].ToString();
+ model.Cp25 = itemTb.Rows[j][40].ToString();
+ model.In11 = itemTb.Rows[j][44].ToString();
+ model.In40 = itemTb.Rows[j][48].ToString();
+ model.Remark = itemTb.Rows[j][52].ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = list.Count;
+ list.Add(model);
+ }
+ }
+ }
+ if (list.Count > 0)
+ {
+ //获取已经存在的数据
+ var tags = list.ConvertAll(x => x.InstrumentTag);
+ List addList = new List();
+ var existInstrumens = Funs.DB.PreRun_InstrumentSysPiping.Where(x => tags.Contains(x.InstrumentTag) && x.SystemId == tvControlItem.SelectedNodeID && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
+ if (existInstrumens.Count == 0)
+ {
+ addList = list;
+ }
+ else
+ {
+ var existTags = existInstrumens.ConvertAll(x => x.InstrumentTag);
+ foreach (var item in list)
+ {
+ if (existTags.Count(a => a == item.InstrumentTag) > 0)
+ {
+ var upModel = existInstrumens.FirstOrDefault(a => a.InstrumentTag == item.InstrumentTag);
+ upModel.UseTo = item.UseTo;
+ upModel.InstrumentName = item.InstrumentName;
+ upModel.Supplier = item.Supplier;
+ upModel.InstallationPosition = item.InstallationPosition;
+ upModel.SignalType = item.SignalType;
+ upModel.AssociatedSystem = item.AssociatedSystem;
+ upModel.Cp25 = item.Cp25;
+ upModel.In11 = item.In11;
+ upModel.In40 = item.In40;
+ upModel.Remark = item.Remark;
+ Funs.DB.SubmitChanges();
+ }
+ else
+ {
+ addList.Add(item);
+ }
+ }
+ }
+ if (addList.Count > 0)
+ {
+ Funs.DB.PreRun_InstrumentSysPiping.InsertAllOnSubmit(addList);
+ Funs.DB.SubmitChanges();
+ }
+ }
+ else
+ {
+ fileybData.Reset();
+ ShowNotify("Excel模板无安装位置为“现场”的数据!", MessageBoxIcon.Warning);
+ return;
+ }
+ fileybData.Reset();
+ ZxtybBrid();
+ ShowNotify("导入成功!", MessageBoxIcon.Success);
+ }
+ catch (Exception ex)
+ {
+ fileybData.Reset();
+ ShowNotify(ex.Message, MessageBoxIcon.Warning);
+ }
+ }
+
+ ///
+ /// 仪表索引保存
+ ///
+ protected void btnZxtybSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ JArray mergedData = GridZxtyb.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var instrumentId = this.GridZxtyb.Rows[i].DataKeys[0].ToString();
+ PreRun_InstrumentSysPiping model = Funs.DB.PreRun_InstrumentSysPiping.FirstOrDefault(x => x.InstrumentId == instrumentId);
+ if (model == null) continue;
+ model.InstrumentTag = values.Value("InstrumentTag");
+ model.UseTo = values.Value("UseTo");
+ model.InstrumentName = values.Value("InstrumentName");
+ model.Supplier = values.Value("Supplier");
+ model.InstallationPosition = values.Value("InstallationPosition");
+ model.SignalType = values.Value("SignalType");
+ model.AssociatedSystem = values.Value("AssociatedSystem");
+ model.Cp25 = values.Value("Cp25");
+ model.In11 = values.Value("In11");
+ model.In40 = values.Value("In40");
+ model.Remark = values.Value("Remark");
+ Funs.DB.SubmitChanges();
+ }
+ ZxtybBrid();
+ ShowNotify("修改成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+
+ }
+
+ ///
+ /// 仪表索引下载模板
+ ///
+ protected void btnYbsyDownLoad_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Confirm.GetShowReference("是否确认下载模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirmyb_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
+ }
+
+ #endregion
+
#region SS子系统管道一览表选择
///
@@ -736,23 +1066,11 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
hidSelectProperty.Text = string.Empty;
}
-
- gvSsxtgdxz.RecordCount = datatb.Rows.Count;
- var table = this.GetPagedDataTable(GridZxtgd, datatb);
- gvSsxtgdxz.DataSource = table;
+ gvSsxtgdxz.DataSource = datatb;
gvSsxtgdxz.DataBind();
TabStrip2.ActiveTabIndex = 0;
}
- ///
- /// 分页
- ///
- protected void gvSsxtgdxz_PageIndexChange(object sender, GridPageEventArgs e)
- {
- gvSsxtgdxz.PageIndex = e.NewPageIndex;
- SubPropertyBrid();
- }
-
///
/// 排序
///
@@ -788,15 +1106,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
}
- ///
- /// 分页下拉框事件
- ///
- protected void ddlSubPropertyPageSize_SelectedIndexChanged(object sender, EventArgs e)
- {
- gvSsxtgdxz.PageSize = Convert.ToInt32(ddlSubPropertyPageSize.SelectedValue);
- SubPropertyBrid();
- }
-
///
/// 选择
///
@@ -895,32 +1204,11 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
hidSelectTechnology.Text = string.Empty;
}
- gvSsxtgyxz.RecordCount = datatb.Rows.Count;
- var table = this.GetPagedDataTable(gvSsxtgyxz, datatb);
- gvSsxtgyxz.DataSource = table;
+ gvSsxtgyxz.DataSource = datatb;
gvSsxtgyxz.DataBind();
TabStrip2.ActiveTabIndex = 1;
}
- ///
- /// 分页
- ///
- protected void gvSsxtgyxz_PageIndexChange(object sender, GridPageEventArgs e)
- {
- gvSsxtgyxz.PageIndex = e.NewPageIndex;
- SubTechnologyBrid();
- }
-
- ///
- /// 排序
- ///
- protected void gvSsxtgyxz_Sort(object sender, GridSortEventArgs e)
- {
- gvSsxtgyxz.SortDirection = e.SortDirection;
- gvSsxtgyxz.SortField = e.SortField;
- SubTechnologyBrid();
- }
-
///
/// 行事件
///
@@ -946,21 +1234,13 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
}
- ///
- /// 分页下拉框事件
- ///
- protected void ddlSubTechnologyPageSize_SelectedIndexChanged(object sender, EventArgs e)
- {
- gvSsxtgyxz.PageSize = Convert.ToInt32(ddlSubTechnologyPageSize.SelectedValue);
- SubTechnologyBrid();
- }
-
///
/// 关闭
///
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
- var list = hidSystemId.Text.Split(',').ToList();
+ //var list = hidSystemId.Text.Split(',').ToList();
+ var list = hidSelectTechnology.Text.Split(',').ToList();
SubTechnologyBrid(list);
}
@@ -970,7 +1250,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
protected void btngySelect_Click(object sender, EventArgs e)
{
string window = $"SelectTechnology.aspx?SubSystemId={this.tvControlItem.SelectedNodeID}&SystemId={hidSystemId.Text}&SelectTechnologyIds={hidSelectTechnology.Text}";
- PageContext.RegisterStartupScript(Window2.GetSaveStateReference(this.hidSystemId.ClientID) + Window2.GetShowReference(window));
+ PageContext.RegisterStartupScript(Window2.GetSaveStateReference(this.hidSelectTechnology.ClientID) + Window2.GetShowReference(window));
}
///
@@ -1015,38 +1295,200 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
#endregion
+ #region SS系统仪表索引选择
+
+ ///
+ /// 绑定数据
+ ///
+ public void SubInstrumentBrid(List selectInstrumentIds = null)
+ {
+ var datatb = new DataTable();
+ var addTb = new DataTable();
+ string strSql = @"select a.InstrumentId,a.SystemId,a.ProjectId,a.InstrumentTag,a.UseTo,a.InstrumentName,a.Supplier,a.InstallationPosition,a.SignalType,a.AssociatedSystem,a.Cp25,a.In11,a.In40,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_InstrumentSysPiping as a inner join PreRun_SubInstrumentSelect as b on a.InstrumentId=b.InstrumentId where 1=1 and a.ProjectId=@ProjectId and b.SubSystemId=@SubSystemId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@SubSystemId", this.tvControlItem.SelectedNodeID));
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ if (selectInstrumentIds != null && selectInstrumentIds.Count > 0)
+ {
+ var existInstrumentIdIds = GetColumnValues(tb, "InstrumentId");
+ if (existInstrumentIdIds.Count > 0) selectInstrumentIds.RemoveAll(a => existInstrumentIdIds.Contains(a));
+ if (selectInstrumentIds.Count > 0)
+ {
+ var addtbRowSql = $"select a.InstrumentId,a.SystemId,a.ProjectId,a.InstrumentTag,a.UseTo,a.InstrumentName,a.Supplier,a.InstallationPosition,a.SignalType,a.AssociatedSystem,a.Cp25,a.In11,a.In40,a.Remark,a.AddUser,a.AddTime,a.Sort from PreRun_InstrumentSysPiping as a where 1=1 and a.InstrumentId in ('{string.Join("','", selectInstrumentIds)}')";
+ addTb = SQLHelper.GetDataTableRunText(addtbRowSql);
+ }
+ }
+ if (addTb.Rows.Count > 0) datatb.Load(addTb.CreateDataReader());
+ if (tb.Rows.Count > 0) datatb.Load(tb.CreateDataReader());
+ if (datatb.Rows.Count > 0)
+ {
+ var tids = GetColumnValues(datatb, "InstrumentId");
+ if (tids.Count > 0) hidSelectInstrument.Text = string.Join(",", tids);
+ }
+ else
+ {
+ hidSelectInstrument.Text = string.Empty;
+ }
+ gvSsxtybxz.DataSource = datatb;
+ gvSsxtybxz.DataBind();
+ TabStrip2.ActiveTabIndex = 2;
+ }
+
+ ///
+ /// 行事件
+ ///
+ protected void gvSsxtybxz_RowCommand(object sender, GridCommandEventArgs e)
+ {
+ if (e.CommandName == "Delete")
+ {
+ var ids = new List();
+ string rowID = e.RowID;
+ var model = Funs.DB.PreRun_InstrumentSysPiping.FirstOrDefault(p => p.InstrumentId == rowID);
+ if (model != null)
+ {
+ Funs.DB.PreRun_InstrumentSysPiping.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ }
+ if (!string.IsNullOrWhiteSpace(hidSelectInstrument.Text))
+ {
+ ids = hidSelectInstrument.Text.Split(',').ToList();
+ ids.RemoveAll(a => a == rowID);
+ }
+ SubInstrumentBrid(ids);
+ ShowNotify("删除成功!");
+ }
+ }
+
+ ///
+ /// 选择
+ ///
+ protected void btnybSelect_Click(object sender, EventArgs e)
+ {
+ string window = $"SelectInstrument.aspx?SubSystemId={this.tvControlItem.SelectedNodeID}&SystemId={hidSystemId.Text}&SelectInstrumentIds={hidSelectInstrument.Text}";
+ PageContext.RegisterStartupScript(Window3.GetSaveStateReference(this.hidSelectInstrument.ClientID) + Window3.GetShowReference(window));
+ }
+
+ ///
+ /// 保存
+ ///
+ protected void btnybSelectSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ JArray mergedData = gvSsxtybxz.GetMergedData();
+ List list = new List();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var deleteSubs = Funs.DB.PreRun_SubInstrumentSelect.Where(x => x.SubSystemId == this.tvControlItem.SelectedNodeID);
+ Funs.DB.PreRun_SubInstrumentSelect.DeleteAllOnSubmit(deleteSubs);
+ var model = new PreRun_SubInstrumentSelect();
+ model.SubInstrumentId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.SubSystemId = this.tvControlItem.SelectedNodeID;
+ model.InstrumentId = gvSsxtybxz.DataKeys[i][0].ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i;
+ list.Add(model);
+ }
+ if (list.Count > 0)
+ {
+ Funs.DB.PreRun_SubInstrumentSelect.InsertAllOnSubmit(list);
+ Funs.DB.SubmitChanges();
+ }
+ SubInstrumentBrid();
+ ShowNotify("保存成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 关闭
+ ///
+ protected void Window3_Close(object sender, WindowCloseEventArgs e)
+ {
+ var list = hidSelectInstrument.Text.Split(',').ToList();
+ SubInstrumentBrid(list);
+ }
+
+ #endregion
+
#region 私有方法
///
/// 验证管道模板是否正确
///
- ///
///
- private bool PropertyVerifyFile(DataSet ds)
+ private bool PropertyVerifyFile(DataTable dt)
{
var result = true;
- if (ds.Tables[0].Rows[1][0].ToString() != "管道号") result = false;
- if (ds.Tables[0].Rows[1][7].ToString() != "公称") result = false;
- if (ds.Tables[0].Rows[1][9].ToString() != "管道材料等级") result = false;
- if (ds.Tables[0].Rows[1][14].ToString() != "绝热伴热") result = false;
+ if (dt.Rows[4][1].ToString() != "管道号") result = false;
+ if (dt.Rows[4][8].ToString() != "公称") result = false;
+ if (dt.Rows[4][10].ToString() != "管道材料等级") result = false;
+ if (dt.Rows[4][15].ToString() != "绝热伴热") result = false;
+ if (dt.Rows[4][20].ToString() != "介质") result = false;
+ if (!dt.Rows[4][22].ToString().Contains("图号")) result = false;
+ if (dt.Rows[4][29].ToString() != "管道起止点") result = false;
+ if (dt.Rows[4][41].ToString() != "管道") result = false;
+ if (dt.Rows[4][43].ToString() != "温度") result = false;
+ if (dt.Rows[4][45].ToString() != "压力") result = false;
+ if (dt.Rows[4][47].ToString() != "温度") result = false;
+ if (dt.Rows[4][49].ToString() != "压力") result = false;
+
return result;
}
///
- /// 验证管道模板是否正确
+ /// 验证设备模板是否正确
///
- ///
///
- private bool TechnologyVerifyFile(DataSet ds)
+ private bool TechnologyVerifyFile(DataTable dt)
{
var result = true;
- if (ds.Tables[0].Rows[0][3].ToString() != "设备位号") result = false;
- if (ds.Tables[0].Rows[0][8].ToString() != "设备名称和规格") result = false;
- if (ds.Tables[0].Rows[0][24].ToString() != "图号或型号") result = false;
- if (ds.Tables[0].Rows[0][32].ToString() != "制造材料") result = false;
+ if (dt.Rows[3][1].ToString() != "序号") result = false;
+ if (dt.Rows[3][4].ToString() != "设备位号") result = false;
+ if (dt.Rows[3][9].ToString() != "设备名称和规格") result = false;
+ if (dt.Rows[3][25].ToString() != "图号或型号") result = false;
+ if (dt.Rows[3][33].ToString() != "制造材料") result = false;
+ if (dt.Rows[4][42].ToString() != "操作") result = false;
+ if (dt.Rows[4][44].ToString() != "备用") result = false;
+ if (dt.Rows[4][46].ToString() != "单重") result = false;
+ if (dt.Rows[4][49].ToString() != "总重") result = false;
+ if (dt.Rows[3][52].ToString() != "备注") result = false;
+
+ return result;
+ }
+
+ ///
+ /// 验证仪表索引模板是否正确
+ ///
+ ///
+ private bool InstrumentVerifyFile(DataTable dt)
+ {
+ var result = true;
+
+ if (dt.Rows[3][1].ToString() != "仪表位号") result = false;
+ if (dt.Rows[3][7].ToString() != "用途") result = false;
+ if (dt.Rows[3][18].ToString() != "仪表名称") result = false;
+ if (dt.Rows[3][25].ToString() != "供货方") result = false;
+ if (dt.Rows[3][28].ToString() != "安装位置") result = false;
+ if (dt.Rows[3][32].ToString() != "信号类型") result = false;
+ if (dt.Rows[3][36].ToString() != "关联系统") result = false;
+ if (dt.Rows[4][40].ToString() != "CP25") result = false;
+ if (dt.Rows[4][44].ToString() != "IN11") result = false;
+ if (dt.Rows[4][48].ToString() != "IN40") result = false;
+ if (dt.Rows[3][52].ToString() != "备注") result = false;
return result;
}
@@ -1079,7 +1521,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
///
- /// 导入管道和工艺tab选择
+ /// 导入管道,工艺,仪表索引tab选择
///
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
@@ -1093,10 +1535,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
//工艺设备一览表
ZxtgyBrid();
}
+ else if (TabStrip1.ActiveTabIndex == 2)
+ {
+ //仪表索引
+ ZxtybBrid();
+ }
}
///
- /// 选择管道和工艺tab选择
+ /// 选择管道,工艺,仪表索引tab选择
///
protected void TabStrip2_TabIndexChanged(object sender, EventArgs e)
{
@@ -1110,6 +1557,11 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
//工艺设备
SubTechnologyBrid();
}
+ else if (TabStrip2.ActiveTabIndex == 2)
+ {
+ //仪表索引
+ SubInstrumentBrid();
+ }
}
///
@@ -1117,7 +1569,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
protected void PageManager1_CustomEvent(object sender, CustomEventArgs e)
{
- if (e.EventArgument == "Confirmgd_OK" || e.EventArgument == "Confirmgy_OK")
+ if (e.EventArgument == "Confirmgd_OK" || e.EventArgument == "Confirmgy_OK" || e.EventArgument == "Confirmyb_OK")
{
string constUrl = string.Empty;
if (e.EventArgument == "Confirmgd_OK")
@@ -1128,6 +1580,10 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
constUrl = Const.TechnologyUrl;
}
+ else if (e.EventArgument == "Confirmyb_OK")
+ {
+ constUrl = Const.InstrumentUrl;
+ }
string rootPath = Server.MapPath("~/");
string uploadfilepath = rootPath + constUrl;
string filePath = constUrl;
@@ -1145,6 +1601,5 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
#endregion
-
}
}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs
index 4143c5af..2a3cae0f 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs
@@ -626,6 +626,195 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
protected global::FineUIPro.DropDownList ddlZxtgyPageSize;
+ ///
+ /// GridZxtyb 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid GridZxtyb;
+
+ ///
+ /// Toolbar6 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar6;
+
+ ///
+ /// fileybData 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FileUpload fileybData;
+
+ ///
+ /// btnZxtybImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnZxtybImport;
+
+ ///
+ /// ToolbarFill4 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill4;
+
+ ///
+ /// btnYbsyDownLoad 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnYbsyDownLoad;
+
+ ///
+ /// btnZxtybSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnZxtybSave;
+
+ ///
+ /// txtInstrumentTag 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtInstrumentTag;
+
+ ///
+ /// txtUseTo 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtUseTo;
+
+ ///
+ /// txtInstrumentName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtInstrumentName;
+
+ ///
+ /// txtSupplier 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSupplier;
+
+ ///
+ /// txtInstallationPosition 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtInstallationPosition;
+
+ ///
+ /// txtSignalType 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSignalType;
+
+ ///
+ /// txtAssociatedSystem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtAssociatedSystem;
+
+ ///
+ /// txtCp25 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtCp25;
+
+ ///
+ /// txtIn11 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtIn11;
+
+ ///
+ /// txtIn40 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtIn40;
+
+ ///
+ /// txtybRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtybRemark;
+
+ ///
+ /// ToolbarSeparator5 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator5;
+
+ ///
+ /// ToolbarText5 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText5;
+
+ ///
+ /// ddlZxtybPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlZxtybPageSize;
+
///
/// zxtsxt 控件。
///
@@ -707,33 +896,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
protected global::FineUIPro.TextBox hidSystemId;
- ///
- /// ToolbarSeparator3 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.ToolbarSeparator ToolbarSeparator3;
-
- ///
- /// ToolbarText3 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.ToolbarText ToolbarText3;
-
- ///
- /// ddlSubPropertyPageSize 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.DropDownList ddlSubPropertyPageSize;
-
///
/// gvSsxtgyxz 控件。
///
@@ -786,34 +948,61 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.HiddenField hidSelectTechnology;
+ protected global::FineUIPro.TextBox hidSelectTechnology;
///
- /// ToolbarSeparator4 控件。
+ /// gvSsxtybxz 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.ToolbarSeparator ToolbarSeparator4;
+ protected global::FineUIPro.Grid gvSsxtybxz;
///
- /// ToolbarText4 控件。
+ /// Toolbar7 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.ToolbarText ToolbarText4;
+ protected global::FineUIPro.Toolbar Toolbar7;
///
- /// ddlSubTechnologyPageSize 控件。
+ /// ToolbarFill5 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.DropDownList ddlSubTechnologyPageSize;
+ protected global::FineUIPro.ToolbarFill ToolbarFill5;
+
+ ///
+ /// btnybSelect 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnybSelect;
+
+ ///
+ /// btnybSelectSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnybSelectSave;
+
+ ///
+ /// hidSelectInstrument 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox hidSelectInstrument;
///
/// Window1 控件。
@@ -832,5 +1021,14 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Window Window2;
+
+ ///
+ /// Window3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window3;
}
}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx
index 22b93d71..d057a57e 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx
@@ -86,7 +86,7 @@
-
+
@@ -97,7 +97,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.cs
index 28c85831..f5fb6eec 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.cs
@@ -65,7 +65,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
}
-
///
/// 默认绑定
///
@@ -73,76 +72,111 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
SiteImplement = -1;
RecordUpload = 0;
- //获取检查表数据
- var data = from a in Funs.DB.PreRun_SubInspectTerm
- join b in Funs.DB.PreRun_WorkPackage on a.WorkPackId equals b.WorkPackId
- join c in Funs.DB.Sys_User on a.AddUser equals c.UserId
- join d in Funs.DB.Sys_User on a.Subcontractor equals d.UserId
- join e in Funs.DB.Sys_User on a.Contractor equals e.UserId
- join f in Funs.DB.Sys_User on a.Supervision equals f.UserId
- join g in Funs.DB.Sys_User on a.Owner equals g.UserId
- join h in Funs.DB.Base_Project on a.ProjectId equals h.ProjectId
-
- join i in Funs.DB.Sys_User on a.SiteImplementUser equals i.UserId
-
- where a.SubInspectId == this.SubInspectId
- select new
- {
- a.SubInspectId,
- a.ProjectId,
- h.ProjectCode,
- h.ProjectName,
- a.WorkPackType,
- WorkPackTypeName = a.WorkPackType == 1 ? "管道" : "设备",
- b.WorkPackName,
- InspectUser = c.UserName,
- InspectData = a.AddTime,
- SubcontractorName = d.UserName,
- ContractorName = e.UserName,
- SupervisionName = f.UserName,
- OwnerName = g.UserName,
- a.RecordUploadData,
- a.IsSiteImplement,
- a.SiteImplementConfirmData,
- SiteImplementName = i.UserName,
- a.SiteImplementUser,
- a.InspectIsClose,
- a.InspectCloseData
- };
- var inspectTermModel = data.FirstOrDefault();
- if (inspectTermModel != null)
+ var termData = from a in Funs.DB.PreRun_SubInspectTerm
+ join b in Funs.DB.PreRun_WorkPackage on a.WorkPackId equals b.WorkPackId
+ join c in Funs.DB.Base_Project on a.ProjectId equals c.ProjectId
+ where a.SubInspectId == this.SubInspectId
+ select new
+ {
+ a.SubInspectId,
+ a.ProjectId,
+ c.ProjectCode,
+ c.ProjectName,
+ a.WorkPackType,
+ WorkPackTypeName = a.WorkPackType == 1 ? "管道" : a.WorkPackType == 2 ? "设备" : a.WorkPackType == 3 ? "仪表索引" : "",
+ b.WorkPackName,
+ InspectData = a.AddTime,
+ a.RecordUploadData,
+ a.IsSiteImplement,
+ a.SiteImplementConfirmData,
+ a.SiteImplementUser,
+ a.InspectIsClose,
+ a.InspectCloseData,
+ b.SpecialWorkPack
+ };
+ var termModel = termData.FirstOrDefault();
+ if (termModel.SpecialWorkPack == 1)
{
- lblProjectName.Text = inspectTermModel.ProjectName;
- lblProjectCode.Text = inspectTermModel.ProjectCode;
- lblWorkPackTypeName.Text = inspectTermModel.WorkPackTypeName;
- lblWorkPackName.Text = inspectTermModel.WorkPackName;
- lblInspectUser.Text = inspectTermModel.InspectUser;
- lblInspectData.Text = inspectTermModel.InspectData != null ? inspectTermModel.InspectData.Value.ToString("yyyy-MM-dd") : string.Empty;
- lblSubcontractorName.Text = inspectTermModel.SubcontractorName;
- lblContractorName.Text = inspectTermModel.ContractorName;
- lblSupervisionName.Text = inspectTermModel.SupervisionName;
- lblOwnerName.Text = inspectTermModel.OwnerName;
- lblSiteImplementName.Text = inspectTermModel.SiteImplementName;
- lblSiteImplementConfirmData.Text = inspectTermModel.SiteImplementConfirmData != null ? inspectTermModel.SiteImplementConfirmData.Value.ToString("yyyy-MM-dd") : string.Empty;
- rblInspectIsClose.SelectedValue = inspectTermModel.InspectIsClose != null ? inspectTermModel.InspectIsClose.ToString() : "0";
- lblInspectCloseData.Text = inspectTermModel.InspectCloseData != null ? inspectTermModel.InspectCloseData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblProjectName.Text = termModel.ProjectName;
+ lblProjectCode.Text = termModel.ProjectCode;
+ lblWorkPackTypeName.Text = termModel.WorkPackTypeName;
+ lblWorkPackName.Text = termModel.WorkPackName;
+ lblSiteImplementConfirmData.Text = termModel.SiteImplementConfirmData != null ? termModel.SiteImplementConfirmData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ rblInspectIsClose.SelectedValue = termModel.InspectIsClose != null ? termModel.InspectIsClose.ToString() : "0";
+ lblInspectCloseData.Text = termModel.InspectCloseData != null ? termModel.InspectCloseData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ xcssfj.Hidden = true;
+ }
+ else
+ {
+ //获取检查表数据
+ var data = from a in Funs.DB.PreRun_SubInspectTerm
+ join b in Funs.DB.PreRun_WorkPackage on a.WorkPackId equals b.WorkPackId
+ join c in Funs.DB.Sys_User on a.AddUser equals c.UserId
+ join d in Funs.DB.Sys_User on a.Subcontractor equals d.UserId
+ join e in Funs.DB.Sys_User on a.Contractor equals e.UserId
+ join f in Funs.DB.Sys_User on a.Supervision equals f.UserId
+ join g in Funs.DB.Sys_User on a.Owner equals g.UserId
+ join h in Funs.DB.Base_Project on a.ProjectId equals h.ProjectId
+ join i in Funs.DB.Sys_User on a.SiteImplementUser equals i.UserId
+ where a.SubInspectId == this.SubInspectId
+ select new
+ {
+ a.SubInspectId,
+ a.ProjectId,
+ h.ProjectCode,
+ h.ProjectName,
+ a.WorkPackType,
+ WorkPackTypeName = a.WorkPackType == 1 ? "管道" : "设备",
+ b.WorkPackName,
+ InspectUser = c.UserName,
+ InspectData = a.AddTime,
+ SubcontractorName = d.UserName,
+ ContractorName = e.UserName,
+ SupervisionName = f.UserName,
+ OwnerName = g.UserName,
+ a.RecordUploadData,
+ a.IsSiteImplement,
+ a.SiteImplementConfirmData,
+ SiteImplementName = i.UserName,
+ a.SiteImplementUser,
+ a.InspectIsClose,
+ a.InspectCloseData
+ };
+ var inspectTermModel = data.FirstOrDefault();
+ if (inspectTermModel != null)
+ {
+ lblProjectName.Text = inspectTermModel.ProjectName;
+ lblProjectCode.Text = inspectTermModel.ProjectCode;
+ lblWorkPackTypeName.Text = inspectTermModel.WorkPackTypeName;
+ lblWorkPackName.Text = inspectTermModel.WorkPackName;
+ lblInspectUser.Text = inspectTermModel.InspectUser;
+ lblInspectData.Text = inspectTermModel.InspectData != null ? inspectTermModel.InspectData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ lblSubcontractorName.Text = inspectTermModel.SubcontractorName;
+ lblContractorName.Text = inspectTermModel.ContractorName;
+ lblSupervisionName.Text = inspectTermModel.SupervisionName;
+ lblOwnerName.Text = inspectTermModel.OwnerName;
+ lblSiteImplementName.Text = inspectTermModel.SiteImplementName;
+ lblSiteImplementConfirmData.Text = inspectTermModel.SiteImplementConfirmData != null ? inspectTermModel.SiteImplementConfirmData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ rblInspectIsClose.SelectedValue = inspectTermModel.InspectIsClose != null ? inspectTermModel.InspectIsClose.ToString() : "0";
+ lblInspectCloseData.Text = inspectTermModel.InspectCloseData != null ? inspectTermModel.InspectCloseData.Value.ToString("yyyy-MM-dd") : string.Empty;
+ }
+ //获取检查项数据
+ var InspectTermItems = from a in Funs.DB.PreRun_SubInspectTermItem
+ where a.SubInspectId == this.SubInspectId
+ orderby a.Sort ascending
+ select new
+ {
+ a.TermItemId,
+ a.SubItemId,
+ a.WorkInspectName,
+ a.InspectionResults,
+ InspectionResultsName = a.InspectionResults == 1 ? "通过" : "未通过",
+ a.InspectionIllustrate
+ };
+ var itemDatas = InspectTermItems.ToList();
+ gvTermItem.DataSource = itemDatas;
+ gvTermItem.DataBind();
}
- //获取检查项数据
- var InspectTermItems = from a in Funs.DB.PreRun_SubInspectTermItem
- where a.SubInspectId == this.SubInspectId
- orderby a.Sort ascending
- select new
- {
- a.TermItemId,
- a.SubItemId,
- a.WorkInspectName,
- a.InspectionResults,
- InspectionResultsName = a.InspectionResults == 1 ? "通过" : "未通过",
- a.InspectionIllustrate
- };
- var itemDatas = InspectTermItems.ToList();
- gvTermItem.DataSource = itemDatas;
- gvTermItem.DataBind();
}
#region 按钮
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.designer.cs
index bfa4f69b..fea8726a 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUpload.aspx.designer.cs
@@ -185,6 +185,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
///
protected global::FineUIPro.Label lblInspectCloseData;
+ ///
+ /// xcssfj 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FormRow xcssfj;
+
///
/// Panel1 控件。
///
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx
index 239c89bc..651df217 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx
@@ -74,6 +74,7 @@
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.cs
index d4ba097f..f1c44e27 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/TestRunRecordUploadList.aspx.cs
@@ -21,7 +21,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
}
}
-
#region 数加载
///
@@ -74,7 +73,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
rootUnitNode.EnableExpandEvent = false;
rootFirstNode.Nodes.Add(rootUnitNode);
rootUnitNode.Expanded = true;
- var worklist = list.Where(a => a.PreRunId == item.Key.PreRunId).GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackCode }).ToList();
+ var worklist = list.Where(a => a.PreRunId == item.Key.PreRunId && a.SystemId == item.Key.SystemId).GroupBy(x => new { x.WorkPackId, x.WorkPackName, x.WorkPackCode }).ToList();
if (worklist.Count > 0)
{
foreach (var itemWork in worklist.OrderBy(o => o.Key.WorkPackCode))
@@ -86,11 +85,11 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
newNode.CommandName = "";
newNode.EnableClickEvent = false;
newNode.EnableExpandEvent = false;
- rootUnitNode.Nodes.Add(newNode);
newNode.Expanded = true;
if (selectlist.Count > 0)
{
var workselects = selectlist.Where(x => x.SubSystemId == item.Key.PreRunId && x.WorkPackId == itemWork.Key.WorkPackId);
+ if (workselects.Count() > 0) rootUnitNode.Nodes.Add(newNode);
foreach (var itemSelect in workselects)
{
TreeNode newNodeSelect = new TreeNode();
@@ -129,7 +128,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
public void BindGrid()
{
List listStr = new List();
- string sqlStr = $"select a.SubInspectId,a.ProjectId,h.ProjectName,h.ProjectCode,a.WorkPackId,b.WorkPackName,a.WorkPackType,a.SubSystemId,(case a.WorkPackType when 1 then '管道' else '设备' end) as WorkPackTypeName,c.UserName as SubcontractorName,d.UserName as ContractorName,e.UserName as SupervisionName,f.UserName as OwnerName,(case a.WorkPackType when 1 then (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, PipingCode) FROM (select proper.PipingCode from PreRun_PropertySysPiping as proper where proper.PropertyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) else (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, TagNumber) FROM (select technolog.TagNumber from PreRun_TechnologySysPiping as technolog where technolog.TechnologyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) end) as CodeStr,a.SiteImplementConfirmData,g.UserName as SiteImplementUserName,a.InspectIsClose,(case a.InspectIsClose when 1 then '已关闭' else '未关闭' end) as InspectIsCloseName,a.InspectCloseData from PreRun_SubInspectTerm as a left join PreRun_WorkPackage as b on a.WorkPackId=b.WorkPackId left join Sys_User as c on c.UserId=a.Subcontractor left join Sys_User as d on d.UserId=a.Contractor left join Sys_User as e on e.UserId = a.Supervision left join Sys_User as f on f.UserId = a.Owner left join Sys_User as g on g.UserId = a.SiteImplementUser left join Base_Project as h on h.ProjectId = a.ProjectId where IsSiteImplement = 1 and a.ProjectId=@projectid ";
+ string sqlStr = $"select a.SubInspectId,a.ProjectId,h.ProjectName,h.ProjectCode,a.WorkPackId,b.WorkPackName,a.WorkPackType,a.SubSystemId,(case a.WorkPackType when 1 then '管道' when 2 then '设备' when 3 then '仪表索引' else '' end) as WorkPackTypeName,c.UserName as SubcontractorName,d.UserName as ContractorName,e.UserName as SupervisionName,f.UserName as OwnerName,(case a.WorkPackType when 1 then (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, PipingCode) FROM (select proper.PipingCode from PreRun_PropertySysPiping as proper where proper.PropertyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) else (select a.pkidStr from (SELECT STUFF(( SELECT ',' +convert(VARCHAR, TagNumber) FROM (select technolog.TagNumber from PreRun_TechnologySysPiping as technolog where technolog.TechnologyId in (select Id from StrToTable(a.PropertyTechnologyId)))t FOR XML PATH('')), 1, 1, '') AS pkidStr) a) end) as CodeStr,a.SiteImplementConfirmData,g.UserName as SiteImplementUserName,a.InspectIsClose,(case a.InspectIsClose when 1 then '已关闭' else '未关闭' end) as InspectIsCloseName,a.InspectCloseData from PreRun_SubInspectTerm as a left join PreRun_WorkPackage as b on a.WorkPackId=b.WorkPackId left join Sys_User as c on c.UserId=a.Subcontractor left join Sys_User as d on d.UserId=a.Contractor left join Sys_User as e on e.UserId = a.Supervision left join Sys_User as f on f.UserId = a.Owner left join Sys_User as g on g.UserId = a.SiteImplementUser left join Base_Project as h on h.ProjectId = a.ProjectId where IsSiteImplement = 1 and a.ProjectId=@projectid ";
listStr.Add(new SqlParameter("@projectid", this.CurrUser.LoginProjectId));
if (this.tvControlItem.SelectedNodeID.Split('|').Length > 0)
@@ -301,6 +300,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var selectPtids = string.Join(",", yscInspectItems.ConvertAll(x => x.PropertyTechnologyId)).Split(',').ToList();
var listPros = Funs.DB.PreRun_PropertySysPiping.Where(x => selectPtids.Contains(x.PropertyId)).ToList();
var listTechno = Funs.DB.PreRun_TechnologySysPiping.Where(x => selectPtids.Contains(x.TechnologyId)).ToList();
+ var listInstrument = Funs.DB.PreRun_InstrumentSysPiping.Where(x => selectPtids.Contains(x.InstrumentId)).ToList();
foreach (var itemYsc in yscInspectItems)
{
@@ -330,6 +330,18 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
SubSystemId = itemYsc.SubSystemId
});
}
+ var itemInstrument = listInstrument.Where(x => ids.Contains(x.InstrumentId)).ToList();
+ if (itemInstrument.Count > 0)
+ {
+ codeStr = $"仪表索引:{string.Join(",", itemInstrument.ConvertAll(x => x.InstrumentTag))}";
+ yczData.Add(new SelectPropertyTechnology()
+ {
+ Id = itemYsc.SubInspectId,
+ Code = codeStr,
+ WorkPackId = itemYsc.WorkPackId,
+ SubSystemId = itemYsc.SubSystemId
+ });
+ }
}
}
return yczData;
diff --git a/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplate.aspx.cs b/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplate.aspx.cs
index 73811fc5..28a1446c 100644
--- a/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplate.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplate.aspx.cs
@@ -70,18 +70,8 @@ namespace FineUIPro.Web.TestRun.TestRunManage
///
public void BindGrid()
{
- string strSql = @"select a.WorkInspectId,a.WorkPackId,a.WorkInspectName,a.Remark,a.GroupId,a.AddUser,a.AddTime,a.Sort,b.GroupName from TestRun_WorkInspectTemplate as a inner join TestRun_TemplateItemGroup as b on a.GroupId=b.GroupId where a.WorkPackId=@WorkPackId ";
- List listStr = new List();
- listStr.Add(new SqlParameter("@WorkPackId", this.tvControlItem.SelectedNodeID));
- if (!string.IsNullOrWhiteSpace(txtsWorkInspectName.Text))
- {
- strSql += "and a.WorkInspectName like '%" + txtsWorkInspectName.Text + "%'";
- }
- strSql += " order by a.Sort asc";
-
- SqlParameter[] parameter = listStr.ToArray();
- DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
- Grid1.DataSource = tb;
+ var list = Funs.DB.TestRun_WorkInspectTemplate.Where(x => x.WorkPackId == this.tvControlItem.SelectedNodeID).OrderBy(x => x.Sort);
+ Grid1.DataSource = list;
Grid1.DataBind();
}
diff --git a/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplateEdit.aspx b/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplateEdit.aspx
index f2af7634..e573d9e8 100644
--- a/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplateEdit.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/TestRunManage/InspectTemplateEdit.aspx
@@ -12,9 +12,9 @@
-
+
-
+
@@ -22,47 +22,54 @@
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+