diff --git a/DataBase/版本日志/SGGLDB_WH_2023-07-28.sql b/DataBase/版本日志/SGGLDB_WH_2023-07-28.sql
new file mode 100644
index 00000000..67cfe78d
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2023-07-28.sql
@@ -0,0 +1,167 @@
+
+--˵
+delete Sys_Menu where MenuId='3B60BB5F-A000-40FC-9C7F-D4AE28EB2EB3'
+delete Sys_Menu where MenuId='D9D90BA4-BF34-4045-977F-DCE9D507F40F'
+delete Sys_Menu where MenuId='150A6D3D-CAA2-4246-947C-6730A18BCC83'
+INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('3B60BB5F-A000-40FC-9C7F-D4AE28EB2EB3','ģ',null,'TestRun/BeforeTestRun/InspectTemplate.aspx',5,'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('D9D90BA4-BF34-4045-977F-DCE9D507F40F','ɹ',null,'TestRun/BeforeTestRun/SubInspectTerm.aspx',6,'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('150A6D3D-CAA2-4246-947C-6730A18BCC83','ϵͳ',null,'TestRun/BeforeTestRun/SubWorkInspect.aspx',7,'AD6E08B6-5571-4FFB-BDBE-9E6811770BD6','Menu_TestRun',0,1,1)
+
+go
+--==ģϢ
+if object_id(N'PreRun_WorkInspectTemplate',N'U') is not null
+drop table dbo.PreRun_WorkInspectTemplate
+CREATE TABLE dbo.PreRun_WorkInspectTemplate(
+ WorkInspectId varchar(50) NOT NULL,--
+ WorkPackId varchar(50) NULL,--
+ WorkInspectName varchar(500) NULL,--
+ Remark nvarchar(150) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_PreRun_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
+
+--==ģ
+--WP02 ܵϴ
+delete PreRun_WorkInspectTemplate where WorkInspectId='D114152C-AB8F-4A27-BB99-047EFC6A659B'
+delete PreRun_WorkInspectTemplate where WorkInspectId='A9EE383E-9073-4C6A-9BF9-6A55D13DED78'
+delete PreRun_WorkInspectTemplate where WorkInspectId='ECEAF45C-43E1-4DBD-9ECF-EB509B30C727'
+delete PreRun_WorkInspectTemplate where WorkInspectId='123E15BA-8885-445A-8C88-FFEE69E6AAC3'
+delete PreRun_WorkInspectTemplate where WorkInspectId='98E970F7-58E2-4EFC-B74F-0D724B968ED2'
+delete PreRun_WorkInspectTemplate where WorkInspectId='2340CB66-6CB4-47A6-A80C-F7C523E7F19D'
+delete PreRun_WorkInspectTemplate where WorkInspectId='FE74C3B5-33D7-4DB2-A234-CF61248AE508'
+delete PreRun_WorkInspectTemplate where WorkInspectId='C57CBFFD-B11F-4F8F-A637-B7EF6344B818'
+delete PreRun_WorkInspectTemplate where WorkInspectId='BDD6D5B1-C82C-46A1-BCC5-5F66BFCE4C72'
+delete PreRun_WorkInspectTemplate where WorkInspectId='C6171D1B-9B3C-47A5-A5BE-BB21525C67A9'
+delete PreRun_WorkInspectTemplate where WorkInspectId='2DA39968-C16D-4723-9932-80804B0F88E6'
+delete PreRun_WorkInspectTemplate where WorkInspectId='11F562CB-9867-46E3-A42A-3DCF6C9B80A6'
+delete PreRun_WorkInspectTemplate where WorkInspectId='435AF81B-23CD-4EE8-8023-7F26BF8672AA'
+delete PreRun_WorkInspectTemplate where WorkInspectId='948611DC-519D-465A-BBA2-5BD26C70C62A'
+delete PreRun_WorkInspectTemplate where WorkInspectId='2F77D05B-837C-4A74-AAAD-2BCDAF7444D7'
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('D114152C-AB8F-4A27-BB99-047EFC6A659B','641DA0F4-42A7-4DE3-9A57-95A606016655','ϴɨ·ڵĹܵѹϸ','','',GETDATE(),1)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('A9EE383E-9073-4C6A-9BF9-6A55D13DED78','641DA0F4-42A7-4DE3-9A57-95A606016655','װƵĿװȡ','','',GETDATE(),2)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('ECEAF45C-43E1-4DBD-9ECF-EB509B30C727','641DA0F4-42A7-4DE3-9A57-95A606016655','ҪѲȡЧʩ','','',GETDATE(),3)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('123E15BA-8885-445A-8C88-FFEE69E6AAC3','641DA0F4-42A7-4DE3-9A57-95A606016655','ڷѲѲȡʩ','','',GETDATE(),4)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('98E970F7-58E2-4EFC-B74F-0D724B968ED2','641DA0F4-42A7-4DE3-9A57-95A606016655','Ҫ¶ȼƲԪʱͷס','','',GETDATE(),5)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('2340CB66-6CB4-47A6-A80C-F7C523E7F19D','641DA0F4-42A7-4DE3-9A57-95A606016655','ҪDZѲȡЧʩ','','',GETDATE(),6)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('FE74C3B5-33D7-4DB2-A234-CF61248AE508','641DA0F4-42A7-4DE3-9A57-95A606016655','ͽλ״̬ϳϴɨҪ','','',GETDATE(),7)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('C57CBFFD-B11F-4F8F-A637-B7EF6344B818','641DA0F4-42A7-4DE3-9A57-95A606016655','֧״̬ϳϴɨҪ','','',GETDATE(),8)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('BDD6D5B1-C82C-46A1-BCC5-5F66BFCE4C72','641DA0F4-42A7-4DE3-9A57-95A606016655','ưѲä塣','','',GETDATE(),9)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('C6171D1B-9B3C-47A5-A5BE-BB21525C67A9','641DA0F4-42A7-4DE3-9A57-95A606016655','豸ڼĭ̵ѲȡЧʩ','','',GETDATE(),10)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('2DA39968-C16D-4723-9932-80804B0F88E6','641DA0F4-42A7-4DE3-9A57-95A606016655','ϴܵϵͳäʩƱʾ','','',GETDATE(),11)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('11F562CB-9867-46E3-A42A-3DCF6C9B80A6','641DA0F4-42A7-4DE3-9A57-95A606016655','ųѼӹ̣ʱ̶ʩϳϴɨҪ','','',GETDATE(),12)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('435AF81B-23CD-4EE8-8023-7F26BF8672AA','641DA0F4-42A7-4DE3-9A57-95A606016655','ȫʩϳϴɨҪ','','',GETDATE(),13)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('948611DC-519D-465A-BBA2-5BD26C70C62A','641DA0F4-42A7-4DE3-9A57-95A606016655','ʩϳϴɨҪ','','',GETDATE(),14)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('2F77D05B-837C-4A74-AAAD-2BCDAF7444D7','641DA0F4-42A7-4DE3-9A57-95A606016655','','','',GETDATE(),15)
+--WP03 ܵɨ
+delete PreRun_WorkInspectTemplate where WorkInspectId='BC693EF5-405B-4341-8D7F-E1A7DF613CB5'
+delete PreRun_WorkInspectTemplate where WorkInspectId='D1977C77-1823-4EC6-8B6A-576ED5C664BC'
+delete PreRun_WorkInspectTemplate where WorkInspectId='BC5B90E2-BE72-4957-98CF-0018F8F79900'
+delete PreRun_WorkInspectTemplate where WorkInspectId='B8700369-6E43-4D4A-8D35-5D46E064511C'
+delete PreRun_WorkInspectTemplate where WorkInspectId='4CBE76B2-1760-428C-9855-30FBD610157D'
+delete PreRun_WorkInspectTemplate where WorkInspectId='CC5718D2-10D4-449E-8527-3ABD6E12F120'
+delete PreRun_WorkInspectTemplate where WorkInspectId='99068D60-FD45-4435-890C-52E5BC743645'
+delete PreRun_WorkInspectTemplate where WorkInspectId='A830F841-C86F-45F6-A888-7EFFA9914F9C'
+delete PreRun_WorkInspectTemplate where WorkInspectId='7671F673-6BF1-4A65-9848-6ED60E541C38'
+delete PreRun_WorkInspectTemplate where WorkInspectId='41B4C1ED-0D00-4C8F-BDB6-8C3450330255'
+delete PreRun_WorkInspectTemplate where WorkInspectId='A0CD44CB-48FC-46E7-A7EA-177B8D880409'
+delete PreRun_WorkInspectTemplate where WorkInspectId='3C5F0A0B-0A45-45BE-BDC8-8444415DFEAC'
+delete PreRun_WorkInspectTemplate where WorkInspectId='AE04B9B6-0143-411D-BD45-C53FEC73D78C'
+delete PreRun_WorkInspectTemplate where WorkInspectId='F51EAB4B-96E8-48C6-848D-DD0EBEDA7539'
+delete PreRun_WorkInspectTemplate where WorkInspectId='7428215F-D5BE-4FE3-98B9-6D962B13224B'
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('BC693EF5-405B-4341-8D7F-E1A7DF613CB5','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ϴɨ·ڵĹܵѹϸ','','',GETDATE(),1)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('D1977C77-1823-4EC6-8B6A-576ED5C664BC','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','װƵĿװȡ','','',GETDATE(),2)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('BC5B90E2-BE72-4957-98CF-0018F8F79900','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ҪѲȡЧʩ','','',GETDATE(),3)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('B8700369-6E43-4D4A-8D35-5D46E064511C','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ڷѲѲȡʩ','','',GETDATE(),4)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('4CBE76B2-1760-428C-9855-30FBD610157D','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','Ҫ¶ȼƲԪʱͷס','','',GETDATE(),5)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('CC5718D2-10D4-449E-8527-3ABD6E12F120','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ҪDZѲȡЧʩ','','',GETDATE(),6)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('99068D60-FD45-4435-890C-52E5BC743645','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ͽλ״̬ϳϴɨҪ','','',GETDATE(),7)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('A830F841-C86F-45F6-A888-7EFFA9914F9C','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','֧״̬ϳϴɨҪ','','',GETDATE(),8)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('7671F673-6BF1-4A65-9848-6ED60E541C38','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ưѲä塣','','',GETDATE(),9)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('41B4C1ED-0D00-4C8F-BDB6-8C3450330255','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','豸ڼĭ̵ѲȡЧʩ','','',GETDATE(),10)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('A0CD44CB-48FC-46E7-A7EA-177B8D880409','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ϴܵϵͳäʩƱʾ','','',GETDATE(),11)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('3C5F0A0B-0A45-45BE-BDC8-8444415DFEAC','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ųѼӹ̣ʱ̶ʩϳϴɨҪ','','',GETDATE(),12)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('AE04B9B6-0143-411D-BD45-C53FEC73D78C','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ȫʩϳϴɨҪ','','',GETDATE(),13)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('F51EAB4B-96E8-48C6-848D-DD0EBEDA7539','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','ʩϳϴɨҪ','','',GETDATE(),14)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('7428215F-D5BE-4FE3-98B9-6D962B13224B','BEB24AE8-F66D-458B-ADFD-3810405B5EB8','','','',GETDATE(),15)
+--WP05 ѧϴ
+delete PreRun_WorkInspectTemplate where WorkInspectId='2C74C5DE-D600-425E-9870-061715D0AA93'
+delete PreRun_WorkInspectTemplate where WorkInspectId='F2F146F9-4A2A-40E2-9FA3-83B954DF4775'
+delete PreRun_WorkInspectTemplate where WorkInspectId='EF527C06-4CAB-46EC-A6C6-FB5C9152C03B'
+delete PreRun_WorkInspectTemplate where WorkInspectId='25D55B52-6083-4856-BEAA-F983DB250CE2'
+delete PreRun_WorkInspectTemplate where WorkInspectId='14DBD15B-F40E-4FAD-B903-5FACEF1D85F4'
+delete PreRun_WorkInspectTemplate where WorkInspectId='89D04B6E-16D0-4870-B006-7ADA9FED4F8D'
+delete PreRun_WorkInspectTemplate where WorkInspectId='B534309B-1767-47A2-9729-46ACB732AAD2'
+delete PreRun_WorkInspectTemplate where WorkInspectId='D76DB877-D8C6-45EB-BDB0-E33AC3EA3272'
+delete PreRun_WorkInspectTemplate where WorkInspectId='6CB94B9D-2ED6-4C6D-A164-1AE8EE3CB02E'
+delete PreRun_WorkInspectTemplate where WorkInspectId='F9B9A741-A9F1-4863-86C1-B061A4645B1F'
+delete PreRun_WorkInspectTemplate where WorkInspectId='4C1F3A32-A3CF-48A9-83A5-ACD7C6CBE644'
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('2C74C5DE-D600-425E-9870-061715D0AA93','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ѧϴ·Ĺܵѹϸ','','',GETDATE(),1)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('F2F146F9-4A2A-40E2-9FA3-83B954DF4775','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ϵͳ·ıáѹѵԳϸ','','',GETDATE(),2)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('EF527C06-4CAB-46EC-A6C6-FB5C9152C03B','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ҪDZڷѲȡЧʩ','','',GETDATE(),3)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('25D55B52-6083-4856-BEAA-F983DB250CE2','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ϵͳе豸ڼѲȡʩ','','',GETDATE(),4)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('14DBD15B-F40E-4FAD-B903-5FACEF1D85F4','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ҪIJԪʱͷס','','',GETDATE(),5)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('89D04B6E-16D0-4870-B006-7ADA9FED4F8D','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','֧ܵܰװϷҪ','','',GETDATE(),6)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('B534309B-1767-47A2-9729-46ACB732AAD2','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','֧״̬ϻѧϴҪ','','',GETDATE(),7)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('D76DB877-D8C6-45EB-BDB0-E33AC3EA3272','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ưѲä塣','','',GETDATE(),8)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('6CB94B9D-2ED6-4C6D-A164-1AE8EE3CB02E','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ϴϵͳϵͳäʩƱʾ','','',GETDATE(),9)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('F9B9A741-A9F1-4863-86C1-B061A4645B1F','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ѧϴʱʩԴҩƷѧߵȽѱ롣','','',GETDATE(),10)
+INSERT INTO dbo.PreRun_WorkInspectTemplate(WorkInspectId,WorkPackId,WorkInspectName,Remark,AddUser,AddTime,Sort) VALUES('4C1F3A32-A3CF-48A9-83A5-ACD7C6CBE644','474F94B6-E927-4E9A-A544-F8E1AE63F6FF','ȫʩϻѧϴҪ','','',GETDATE(),11)
+GO
+
+--==ϵͳ
+if object_id(N'PreRun_SubInspectTerm',N'U') is not null
+drop table dbo.PreRun_SubInspectTerm
+CREATE TABLE dbo.PreRun_SubInspectTerm(
+ SubInspectId varchar(50) NOT NULL,--
+ ProjectId varchar(50) NULL,--Ŀ
+ InstallationId varchar(50) NULL,--װ(ֶΣڹ)
+ ProcessesId varchar(50) NULL,--(ֶΣڹ)
+ SystemId varchar(50) NULL,--ϵͳ(ֶΣڹ)
+ SubSystemId varchar(50) NULL,--ϵͳ
+ WorkPackId varchar(50) NULL,--
+ InspectResult varchar(500) NULL,--
+ InspectTime datetime NULL,--ʱ
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ CONSTRAINT PK_PreRun_SubInspectTerm PRIMARY KEY CLUSTERED
+(
+ SubInspectId ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+--==ϵͳ
+if object_id(N'PreRun_SubInspectTermItem',N'U') is not null
+drop table dbo.PreRun_SubInspectTermItem
+CREATE TABLE dbo.PreRun_SubInspectTermItem(
+ SubItemId varchar(50) NOT NULL,--
+ SubInspectId varchar(50) NULL,--
+ WorkPackId 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,--ϵͳ(ֶΣڹ)
+ SubSystemId varchar(50) NULL,--ϵͳ
+ InspectedUser varchar(50) NULL,--
+ InspectionResults int NULL,--0:δͨ 1:ͨ
+ InspectionIllustrate varchar(200) NULL,--˵
+ Remark varchar(200) NULL,--ע
+ AddUser varchar(50) NULL,--
+ AddTime datetime NULL,--
+ Sort int NULL,--
+ CONSTRAINT PK_PreRun_SubInspectTermItem PRIMARY KEY CLUSTERED
+(
+ SubItemId 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
+
+
diff --git a/SGGL/BLL/Common/NPOIHelper.cs b/SGGL/BLL/Common/NPOIHelper.cs
index 505431e9..ee58679b 100644
--- a/SGGL/BLL/Common/NPOIHelper.cs
+++ b/SGGL/BLL/Common/NPOIHelper.cs
@@ -205,6 +205,8 @@ namespace BLL
for (int i = startIndex; i <= lastIndex; i++)
{
IRow row = sheet.GetRow(i);
+ //移除空行
+ if (row.Cells.Count(p => !string.IsNullOrWhiteSpace(p.ToString())) == 0) continue;
DataRow drNew = dt.NewRow();
if (row != null)
{
@@ -298,6 +300,8 @@ namespace BLL
{
IRow row = sheet.GetRow(i);
DataRow dataRow = dt.NewRow();
+ //移除空行
+ if (row.Cells.Count(p => !string.IsNullOrWhiteSpace(p.ToString())) == 0) continue;
for (int j = row.FirstCellNum; j < cellCount; j++)
{
diff --git a/SGGL/FineUIPro.Web/File/Excel/TestRun/管道一览表.xlsx b/SGGL/FineUIPro.Web/File/Excel/TestRun/管道一览表.xlsx
index 2c1f4f69..3ff4f51b 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 c6be63f1..0ff4a7fc 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 0179e2db..3066779f 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1595,10 +1595,14 @@
+
+
+
+
@@ -1925,6 +1929,9 @@
+
+
+
@@ -14808,6 +14815,20 @@
DeviceRunEdit.aspx
+
+ InspectTemplate.aspx
+ ASPXCodeBehind
+
+
+ InspectTemplate.aspx
+
+
+ InspectTemplateEdit.aspx
+ ASPXCodeBehind
+
+
+ InspectTemplateEdit.aspx
+
SelectProperty.aspx
ASPXCodeBehind
@@ -14829,6 +14850,13 @@
SetWorkPackage.aspx
+
+ SubInspectTerm.aspx
+ ASPXCodeBehind
+
+
+ SubInspectTerm.aspx
+
SubSysWorkPackage.aspx
ASPXCodeBehind
@@ -14836,6 +14864,13 @@
SubSysWorkPackage.aspx
+
+ SubWorkInspect.aspx
+ ASPXCodeBehind
+
+
+ SubWorkInspect.aspx
+
SysPipingDeviceImport.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx
new file mode 100644
index 00000000..8d4f094e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx
@@ -0,0 +1,93 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTemplate.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.InspectTemplate" %>
+
+
+
+
+
+ 工作包模板管理
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.cs
new file mode 100644
index 00000000..53492268
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.cs
@@ -0,0 +1,236 @@
+using BLL;
+using Model;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class InspectTemplate : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.InitTreeMenu();//加载树
+ }
+ }
+
+ #region 数绑定
+
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = "工作包模板设置";
+ rootNode.NodeID = "0";
+ rootNode.Expanded = true;
+ rootNode.ToolTip = "";
+ rootNode.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode);
+ var list = Funs.DB.PreRun_WorkPackage.OrderBy(x => x.Sort).ToList();
+ foreach (var item in list)
+ {
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.WorkPackId;
+ rootUnitNode.Text = item.WorkPackCode;
+ rootUnitNode.ToolTip = item.WorkPackName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = true;
+ rootUnitNode.EnableExpandEvent = true;
+ rootUnitNode.Expanded = true;
+ rootNode.Nodes.Add(rootUnitNode);
+ }
+ }
+
+ ///
+ /// 点击TreeView
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ this.BindGrid();
+ }
+
+ #endregion
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select * from PreRun_WorkInspectTemplate where WorkPackId=@WorkPackId ";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@WorkPackId", this.tvControlItem.SelectedNodeID));
+ if (!string.IsNullOrWhiteSpace(txtsWorkInspectName.Text))
+ {
+ strSql += "and WorkInspectName like '%" + txtsWorkInspectName.Text + "%'";
+ }
+ strSql += " order by Sort asc";
+
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 搜索
+ ///
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 分页
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ Grid1.PageIndex = e.NewPageIndex;
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ ///
+ /// 分页下拉框事件
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 行按钮事件
+ ///
+ protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
+ {
+ if (e.CommandName == "Delete")
+ {
+ string rowID = e.RowID;
+ var model = Funs.DB.PreRun_WorkInspectTemplate.FirstOrDefault(p => p.WorkInspectId == rowID);
+ if (model != null)
+ {
+ Funs.DB.PreRun_WorkInspectTemplate.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("删除成功!");
+ }
+ else
+ {
+ ShowNotify("删除错误!");
+ }
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var rowid = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var add = false;
+ PreRun_WorkInspectTemplate model = Funs.DB.PreRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == rowid);
+ if (model == null)
+ {
+ add = true;
+ model = new PreRun_WorkInspectTemplate();
+ model.WorkInspectId = Guid.NewGuid().ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i;
+ }
+ model.WorkPackId = this.tvControlItem.SelectedNodeID;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ model.Remark = values.Value("Remark");
+ if (add) Funs.DB.PreRun_WorkInspectTemplate.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ }
+ BindGrid();
+ ShowNotify("修改成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 新增
+ ///
+ protected void btnAdd_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
+ {
+ ShowNotify("请选择工作包!", MessageBoxIcon.Warning);
+ return;
+ }
+ this.hidSelectedNodeID.Text = string.Empty;
+ PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID)
+ + Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId=&WorkPackId={this.tvControlItem.SelectedNodeID}", "新增"));
+ }
+
+ ///
+ /// 编辑
+ ///
+ protected void btnEdit_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ ShowNotify("请选择一条数据!", MessageBoxIcon.Warning);
+ return;
+ }
+ var rowIndex = Grid1.SelectedRowIndex;
+ var rowId = Grid1.DataKeys[rowIndex][0].ToString();
+ var workPackId = Grid1.DataKeys[rowIndex][1].ToString();
+ this.hidSelectedNodeID.Text = string.Empty;
+ PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hidSelectedNodeID.ClientID)
+ + Window1.GetShowReference($"InspectTemplateEdit.aspx?WorkInspectId={rowId}&WorkPackId={workPackId}", "编辑"));
+ }
+
+ ///
+ /// 新增/编辑关闭
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ if (!string.IsNullOrWhiteSpace(hidSelectedNodeID.Text))
+ {
+ this.tvControlItem.SelectedNodeID = hidSelectedNodeID.Text;
+ BindGrid();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.designer.cs
new file mode 100644
index 00000000..a9df4f90
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplate.aspx.designer.cs
@@ -0,0 +1,197 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class InspectTemplate
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// txtsWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtsWorkInspectName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnAdd 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAdd;
+
+ ///
+ /// btnEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnEdit;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// hidSelectedNodeID 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hidSelectedNodeID;
+
+ ///
+ /// txtWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtWorkInspectName;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtRemark;
+
+ ///
+ /// ToolbarSeparator2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
+
+ ///
+ /// ToolbarText2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText2;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx
new file mode 100644
index 00000000..a2b65114
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx
@@ -0,0 +1,64 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectTemplateEdit.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.InspectTemplateEdit" %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx.cs
new file mode 100644
index 00000000..35286404
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx.cs
@@ -0,0 +1,105 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class InspectTemplateEdit : PageBase
+ {
+
+ ///
+ /// 工作包主键
+ ///
+ public string WorkPackId
+ {
+ get { return (string)ViewState["WorkPackId"]; }
+ set { ViewState["WorkPackId"] = value; }
+ }
+
+ ///
+ /// 主键
+ ///
+ public string WorkInspectId
+ {
+ get { return (string)ViewState["WorkInspectId"]; }
+ set { ViewState["WorkInspectId"] = value; }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.WorkInspectId = Request.Params["WorkInspectId"];
+ this.WorkPackId = Request.Params["WorkPackId"];
+ PageInit();
+ }
+ }
+
+ ///
+ /// 默认绑定
+ ///
+ public void PageInit()
+ {
+ if (!string.IsNullOrWhiteSpace(this.WorkInspectId))
+ {
+ var modelQuery = from temp in Funs.DB.PreRun_WorkInspectTemplate
+ join workpack in Funs.DB.PreRun_WorkPackage on temp.WorkPackId equals workpack.WorkPackId
+ where temp.WorkInspectId == this.WorkInspectId
+ select new { temp.WorkInspectId, temp.WorkInspectName, temp.Sort, temp.Remark, temp.WorkPackId, workpack.WorkPackName, workpack.WorkPackCode };
+ if (modelQuery.Count() > 0)
+ {
+ var model = modelQuery.FirstOrDefault();
+ lblgzbmc.Text = model.WorkPackName;
+ lblgzbbm.Text = model.WorkPackCode;
+ txtWorkInspectName.Text = model.WorkInspectName;
+ txtRemark.Text = model.Remark;
+ txtSort.Text = model.Sort != null ? model.Sort.ToString() : (Funs.DB.PreRun_WorkInspectTemplate.Count(x => x.WorkPackId == this.WorkPackId) + 1).ToString();
+ }
+ }
+ else
+ {
+ var model = Funs.DB.PreRun_WorkPackage.FirstOrDefault(x => x.WorkPackId == this.WorkPackId);
+ if (model != null)
+ {
+ lblgzbmc.Text = model.WorkPackName;
+ lblgzbbm.Text = model.WorkPackCode;
+ txtSort.Text = (Funs.DB.PreRun_WorkInspectTemplate.Count(x => x.WorkPackId == this.WorkPackId) + 1).ToString();
+ }
+ }
+ }
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ var model = Funs.DB.PreRun_WorkInspectTemplate.FirstOrDefault(x => x.WorkInspectId == this.WorkInspectId);
+ if (model == null) model = new Model.PreRun_WorkInspectTemplate();
+ model.WorkInspectName = txtWorkInspectName.Text;
+ model.Remark = txtRemark.Text;
+ model.WorkPackId = this.WorkPackId;
+ model.Sort = int.Parse(txtSort.Text);
+ if (string.IsNullOrWhiteSpace(this.WorkInspectId))
+ {
+ model.WorkInspectId = Guid.NewGuid().ToString();
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ Funs.DB.PreRun_WorkInspectTemplate.InsertOnSubmit(model);
+ }
+ Funs.DB.SubmitChanges();
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(this.WorkPackId) + ActiveWindow.GetHidePostBackReference());
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx.designer.cs
new file mode 100644
index 00000000..723161fb
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/InspectTemplateEdit.aspx.designer.cs
@@ -0,0 +1,152 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class InspectTemplateEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// hdAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdAttachUrl;
+
+ ///
+ /// hdId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdId;
+
+ ///
+ /// ContentPanel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ContentPanel ContentPanel2;
+
+ ///
+ /// Form2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form2;
+
+ ///
+ /// lblgzbmc 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblgzbmc;
+
+ ///
+ /// lblgzbbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblgzbbm;
+
+ ///
+ /// txtWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtWorkInspectName;
+
+ ///
+ /// txtRemark 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtRemark;
+
+ ///
+ /// txtSort 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.NumberBox txtSort;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
new file mode 100644
index 00000000..1e80653d
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx
@@ -0,0 +1,83 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubInspectTerm.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SubInspectTerm" %>
+
+
+
+
+
+ 生成工作包检查
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
new file mode 100644
index 00000000..ba0b4331
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.cs
@@ -0,0 +1,367 @@
+using BLL;
+using Model;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class SubInspectTerm : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.InitTreeMenu();//加载树
+ }
+ }
+
+ #region 树绑定
+
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = "检查表";
+ rootNode.NodeID = "0";
+ rootNode.Expanded = true;
+ rootNode.ToolTip = "";
+ rootNode.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode);
+ var 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
+ select new { a.PreRunId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackCode, c.WorkPackName };
+
+ if (list.Count() > 0)
+ {
+ var subList = list.GroupBy(x => new { x.PreRunId, x.PreRunCode, x.PreRunName });
+ foreach (var item in subList)
+ {
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.Key.PreRunId;
+ rootUnitNode.Text = item.Key.PreRunName;
+ rootUnitNode.ToolTip = item.Key.PreRunName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = true;
+ rootUnitNode.EnableExpandEvent = true;
+ rootNode.Nodes.Add(rootUnitNode);
+ rootUnitNode.Expanded = true;
+ var worklist = list.Where(a => a.PreRunId == item.Key.PreRunId).GroupBy(x => new { x.WorkPackId, x.WorkPackCode, x.WorkPackName }).ToList();
+ if (worklist.Count > 0)
+ {
+ foreach (var itemWork in worklist)
+ {
+ TreeNode newNode = new TreeNode();
+ newNode.Text = itemWork.Key.WorkPackName;
+ newNode.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId;
+ newNode.ToolTip = itemWork.Key.WorkPackName;
+ newNode.CommandName = "";
+ newNode.EnableClickEvent = true;
+ rootUnitNode.Nodes.Add(newNode);
+ }
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// 点击TreeView
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ this.BindGrid();
+ }
+
+ #endregion
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ //获取子系统
+ var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
+ var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.WorkPackId == workPackId && x.SubSystemId == subSystemId).ToList();
+ if (list.Count == 0)
+ {
+ list = new List();
+ var defaultDatas = Funs.DB.PreRun_WorkInspectTemplate.Where(s => s.WorkPackId == workPackId).ToList();
+ if (defaultDatas.Count > 0)
+ {
+ int index = 0;
+ foreach (var item in defaultDatas)
+ {
+ var model = new PreRun_SubInspectTermItem();
+ model.SubItemId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkPackId = item.WorkPackId;
+ model.WorkInspectId = item.WorkInspectId;
+ model.WorkInspectName = item.WorkInspectName;
+ model.InstallationId = subSysModel.InstallationId;
+ model.ProcessesId = subSysModel.ProcessesId;
+ model.SystemId = subSysModel.SystemId;
+ model.SubSystemId = subSysModel.PreRunId;
+ model.Sort = index + 1;
+ list.Add(model);
+ index++;
+ }
+ }
+ }
+
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ //检查人绑定
+ var userList = from user in Funs.DB.Sys_User join projectrole in Funs.DB.Project_ProjectUser on user.UserId equals projectrole.UserId where projectrole.ProjectId == this.CurrUser.LoginProjectId select user;
+
+ var userids = new List() { Const.sysglyId, Const.hfnbdId, Const.sedinId };
+ var addUserList = Funs.DB.Sys_User.Where(x => userids.Contains(x.UserId));
+ var data = userList.ToList();
+ if (addUserList.Count() > 0)
+ {
+ data.AddRange(addUserList);
+ }
+ DropDownList ddlInspectedUser = Grid1.FindColumn("InspectedUser").FindControl("ddlInspectedUser") as DropDownList;
+ ddlInspectedUser.DataTextField = "UserName";
+ ddlInspectedUser.DataValueField = "UserId";
+ ddlInspectedUser.DataSource = data;
+ ddlInspectedUser.DataBind();
+ //Funs.FineUIPleaseSelect(ddlInspectedUser);
+
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+
+ ///
+ /// 行按钮事件
+ ///
+ protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
+ {
+ if (e.CommandName == "Delete")
+ {
+ string rowID = e.RowID;
+ var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(p => p.SubItemId == rowID);
+ if (model != null)
+ {
+ Funs.DB.PreRun_SubInspectTermItem.DeleteOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ BindGrid();
+ ShowNotify("删除成功!");
+ }
+ else
+ {
+ var list = gvList();
+ list.RemoveAll(x => x.SubItemId == rowID);
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ ShowNotify("删除成功!");
+ }
+ }
+ }
+
+ #endregion
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ ShowNotify("请选择一条数据!", MessageBoxIcon.Warning);
+ return;
+ }
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ var subTrem = Funs.DB.PreRun_SubInspectTerm.FirstOrDefault(x => x.SubSystemId == subSystemId && x.WorkPackId == workPackId);
+ 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 subItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var workInspectId = this.Grid1.Rows[i].DataKeys[1].ToString();
+ if (!Grid1.SelectedRowIndexArray.Contains(i)) continue;
+
+ //获取子系统信息
+ var list = new List();
+ var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
+ if (subSysModel != null)
+ {
+ //获取子系统工作包检查表,如果不存在则添加
+ 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.AddUser = this.CurrUser.UserId;
+ subTrem.AddTime = DateTime.Now;
+ Funs.DB.PreRun_SubInspectTerm.InsertOnSubmit(subTrem);
+ }
+
+ var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.SubItemId == subItemId);
+ if (model == null)
+ {
+ model = new PreRun_SubInspectTermItem();
+ 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.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i + 1;
+ Funs.DB.PreRun_SubInspectTermItem.InsertOnSubmit(model);
+ }
+ else
+ {
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ Funs.DB.SubmitChanges();
+ }
+ }
+ Funs.DB.SubmitChanges();
+ }
+ BindGrid();
+ ShowNotify("保存成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+
+ ///
+ /// 新增
+ ///
+ protected void btnAdd_Click(object sender, EventArgs e)
+ {
+ var list = gvList();
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ //获取子系统
+ var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
+ if (subSysModel != null)
+ {
+ var model = new PreRun_SubInspectTermItem();
+ model.SubItemId = Guid.NewGuid().ToString();
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkPackId = workPackId;
+ model.WorkInspectId = string.Empty;
+ model.WorkInspectName = string.Empty;
+ model.InstallationId = subSysModel.InstallationId;
+ model.ProcessesId = subSysModel.ProcessesId;
+ model.SystemId = subSysModel.SystemId;
+ model.SubSystemId = subSysModel.PreRunId;
+ model.Sort = list.Count + 1;
+ list.Add(model);
+ }
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 入场人员培训及特种作业报验人数集合
+ ///
+ private List gvList()
+ {
+ List list = new List();
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var subItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+ var workInspectId = this.Grid1.Rows[i].DataKeys[1] != null ? this.Grid1.Rows[i].DataKeys[1].ToString() : string.Empty; ;
+ var subInspectId = this.Grid1.Rows[i].DataKeys[2] != null ? this.Grid1.Rows[i].DataKeys[2].ToString() : string.Empty;
+ var workPackId = this.Grid1.Rows[i].DataKeys[3].ToString();
+ var installationId = this.Grid1.Rows[i].DataKeys[4].ToString();
+ var processesId = this.Grid1.Rows[i].DataKeys[4].ToString();
+ var systemId = this.Grid1.Rows[i].DataKeys[4].ToString();
+ var subSystemId = this.Grid1.Rows[i].DataKeys[4].ToString();
+
+ var model = new PreRun_SubInspectTermItem();
+ model = new PreRun_SubInspectTermItem();
+ model.SubItemId = subItemId;
+ model.SubInspectId = subInspectId;
+ model.WorkPackId = workPackId;
+ model.ProjectId = this.CurrUser.LoginProjectId;
+ model.WorkInspectId = workInspectId;
+ model.WorkInspectName = values.Value("WorkInspectName");
+ model.InstallationId = installationId;
+ model.ProcessesId = processesId;
+ model.SystemId = systemId;
+ model.SubSystemId = subSystemId;
+ model.InspectedUser = !string.IsNullOrWhiteSpace(values.Value("InspectedUser")) ? values.Value("InspectedUser") : string.Empty;
+ model.AddUser = this.CurrUser.UserId;
+ model.AddTime = DateTime.Now;
+ model.Sort = i + 1;
+ list.Add(model);
+ }
+ return list;
+ }
+
+ ///
+ /// 检测结果
+ ///
+ ///
+ public string Results(object value)
+ {
+ var result = string.Empty;
+
+ if (value != null)
+ {
+ var intVal = int.Parse(value.ToString());
+ if (intVal == 1)
+ {
+ result = "通过";
+ }
+ else if (intVal == 0)
+ {
+ result = "未通过";
+ }
+ }
+
+ return result;
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.designer.cs
new file mode 100644
index 00000000..3e1fd3a0
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubInspectTerm.aspx.designer.cs
@@ -0,0 +1,134 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SubInspectTerm
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnAdd 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAdd;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// txtWorkInspectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtWorkInspectName;
+
+ ///
+ /// ddlInspectedUser 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlInspectedUser;
+
+ ///
+ /// lblInspectionResults 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblInspectionResults;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx
index bf17dce7..e998d896 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx
@@ -56,29 +56,26 @@
-
-
+
-
-
+
-
+
-
-
+
-
+
-
-
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs
index 1a80eb10..9f88979f 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.cs
@@ -135,8 +135,8 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
if (list.Count(p => p.PreRunLevel == 2) > 0)
{
gx.Hidden = false;
- lblgxmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunName;
- lblgxbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunCode;
+ lblgxmc.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunCode;
+ lblgxbm.Text = list.FirstOrDefault(p => p.PreRunLevel == 2).PreRunName;
}
if (list.Count(p => p.PreRunLevel == 3) > 0)
{
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.designer.cs
index afcb7e51..e0d97e5b 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubSysWorkPackage.aspx.designer.cs
@@ -120,15 +120,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.FormRow zz;
- ///
- /// lblzzbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblzzbm;
-
///
/// lblzzmc 控件。
///
@@ -138,6 +129,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.Label lblzzmc;
+ ///
+ /// lblzzbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblzzbm;
+
///
/// gx 控件。
///
@@ -147,15 +147,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.FormRow gx;
- ///
- /// lblgxbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblgxbm;
-
///
/// lblgxmc 控件。
///
@@ -165,6 +156,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.Label lblgxmc;
+ ///
+ /// lblgxbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblgxbm;
+
///
/// sxt 控件。
///
@@ -174,15 +174,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.FormRow sxt;
- ///
- /// lblsxtbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblsxtbm;
-
///
/// lblsxtmc 控件。
///
@@ -192,6 +183,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.Label lblsxtmc;
+ ///
+ /// lblsxtbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblsxtbm;
+
///
/// sszxt 控件。
///
@@ -201,15 +201,6 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.FormRow sszxt;
- ///
- /// lblszxtbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblszxtbm;
-
///
/// lblszxtmc 控件。
///
@@ -219,6 +210,15 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
///
protected global::FineUIPro.Label lblszxtmc;
+ ///
+ /// lblszxtbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblszxtbm;
+
///
/// gzb 控件。
///
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx
new file mode 100644
index 00000000..8bb7de0b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx
@@ -0,0 +1,76 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SubWorkInspect.aspx.cs" Inherits="FineUIPro.Web.TestRun.BeforeTestRun.SubWorkInspect" %>
+
+
+
+
+
+ 子系统工作包检查
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx.cs
new file mode 100644
index 00000000..1f04d509
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx.cs
@@ -0,0 +1,156 @@
+using BLL;
+using Model;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+ public partial class SubWorkInspect : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.InitTreeMenu();//加载树
+ }
+ }
+
+
+ #region 树绑定
+
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+
+
+ this.tvControlItem.Nodes.Clear();
+ TreeNode rootNode = new TreeNode();
+ rootNode.Text = "检查表";
+ rootNode.NodeID = "0";
+ rootNode.Expanded = true;
+ rootNode.ToolTip = "";
+ rootNode.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode);
+ var userSubInspects = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId).ToList();
+ if (userSubInspects.Count == 0) return;
+ var subSystemIds = userSubInspects.ConvertAll(x => x.SubSystemId);
+ var workPackIds = userSubInspects.ConvertAll(x => x.WorkPackId);
+
+ var list = from a in Funs.DB.PreRun_SysDevice
+ join b in Funs.DB.PreRun_SubSysWorkPackage on a.PreRunId equals b.SubSystemId
+ join c in Funs.DB.PreRun_WorkPackage on b.WorkPackId equals c.WorkPackId
+ where a.ProjectId == this.CurrUser.LoginProjectId && subSystemIds.Contains(a.PreRunId) && workPackIds.Contains(c.WorkPackId)
+ select new { a.PreRunId, a.PreRunCode, a.PreRunName, a.ProjectId, c.WorkPackId, c.WorkPackCode, c.WorkPackName };
+
+ if (list.Count() > 0)
+ {
+ var subList = list.GroupBy(x => new { x.PreRunId, x.PreRunCode, x.PreRunName });
+ foreach (var item in subList)
+ {
+ TreeNode rootUnitNode = new TreeNode();//定义根节点
+ rootUnitNode.NodeID = item.Key.PreRunId;
+ rootUnitNode.Text = item.Key.PreRunName;
+ rootUnitNode.ToolTip = item.Key.PreRunName;
+ rootUnitNode.CommandName = "";
+ rootUnitNode.EnableClickEvent = true;
+ rootUnitNode.EnableExpandEvent = true;
+ rootNode.Nodes.Add(rootUnitNode);
+ rootUnitNode.Expanded = true;
+ var worklist = list.Where(a => a.PreRunId == item.Key.PreRunId).GroupBy(x => new { x.WorkPackId, x.WorkPackCode, x.WorkPackName }).ToList();
+ if (worklist.Count > 0)
+ {
+ foreach (var itemWork in worklist)
+ {
+ TreeNode newNode = new TreeNode();
+ newNode.Text = itemWork.Key.WorkPackName;
+ newNode.NodeID = itemWork.Key.WorkPackId + "|" + item.Key.PreRunId;
+ newNode.ToolTip = itemWork.Key.WorkPackName;
+ newNode.CommandName = "";
+ newNode.EnableClickEvent = true;
+ rootUnitNode.Nodes.Add(newNode);
+ }
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// 点击TreeView
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ this.BindGrid();
+ }
+
+ #endregion
+
+ #region 数据绑定
+
+ ///
+ /// 绑定数据
+ ///
+ public void BindGrid()
+ {
+ var workPackId = this.tvControlItem.SelectedNodeID.Split('|').First();
+ var subSystemId = this.tvControlItem.SelectedNodeID.Split('|').Last();
+ //获取子系统
+ var subSysModel = Funs.DB.PreRun_SysDevice.FirstOrDefault(x => x.PreRunId == subSystemId);
+ var list = Funs.DB.PreRun_SubInspectTermItem.Where(x => x.WorkPackId == workPackId && x.SubSystemId == subSystemId && x.InspectedUser == this.CurrUser.UserId).ToList();
+ Grid1.DataSource = list;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 排序
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ #endregion
+
+ ///
+ /// 保存
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ try
+ {
+ JArray mergedData = Grid1.GetMergedData();
+ foreach (JObject mergedRow in mergedData)
+ {
+ string status = mergedRow.Value("status");
+ JObject values = mergedRow.Value("values");
+ int i = mergedRow.Value("index");
+ var subItemId = this.Grid1.Rows[i].DataKeys[0].ToString();
+
+ //获取子系统信息
+ var model = Funs.DB.PreRun_SubInspectTermItem.FirstOrDefault(x => x.SubItemId == subItemId);
+ if (model != null)
+ {
+ model.InspectionIllustrate = !string.IsNullOrWhiteSpace(values.Value("InspectionIllustrate")) ? values.Value("InspectionIllustrate") : string.Empty;
+ model.InspectionResults = !string.IsNullOrWhiteSpace(values.Value("InspectionResults")) ? int.Parse(values.Value("InspectionResults")) : -1;
+ Funs.DB.SubmitChanges();
+ }
+ }
+ BindGrid();
+ ShowNotify("保存成功!");
+ }
+ catch (Exception ex)
+ {
+ ShowNotify(ex.Message, MessageBoxIcon.Error);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx.designer.cs
new file mode 100644
index 00000000..438b75b9
--- /dev/null
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SubWorkInspect.aspx.designer.cs
@@ -0,0 +1,116 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SubWorkInspect
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// txtInspectionIllustrate 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtInspectionIllustrate;
+
+ ///
+ /// ddlInspectionResults 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlInspectionResults;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx
index 270cd340..05dc320f 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx
@@ -43,28 +43,26 @@
-
-
+
-
-
+
-
+
-
+
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs
index cb55b6fa..d3ecedd1 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.cs
@@ -296,7 +296,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var columVerify = HasRepeatData(ds.Tables[0], new string[] { "A" });
if (columVerify)
{
- ShowNotify("模板中存在管道号相同的数据!", MessageBoxIcon.Warning);
+ ShowNotify("模板中存在管道号相同或管道号为空的数据!", MessageBoxIcon.Warning);
return;
}
var pipingCodes = GetColumnValues(ds.Tables[0], "A");
@@ -312,28 +312,31 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
//数据导入
for (int i = 3; i < ds.Tables[0].Rows.Count; i++)
{
- if (ds.Tables[0].Rows[i][0] == null) continue;
-
+ if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][0].ToString()))
+ {
+ ShowNotify($"第{i}行管道号为空", MessageBoxIcon.Warning);
+ return;
+ }
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][1] != null ? ds.Tables[0].Rows[i][1].ToString() : string.Empty;
- model.MaterialLevel = ds.Tables[0].Rows[i][2] != null ? ds.Tables[0].Rows[i][2].ToString() : string.Empty;
- model.AdiabatType = ds.Tables[0].Rows[i][3] != null ? ds.Tables[0].Rows[i][3].ToString() : string.Empty;
- model.AdiabatThickness = ds.Tables[0].Rows[i][4] != null ? ds.Tables[0].Rows[i][4].ToString() : string.Empty;
- model.MediumState = ds.Tables[0].Rows[i][5] != null ? ds.Tables[0].Rows[i][5].ToString() : string.Empty;
- model.DrawingNo = ds.Tables[0].Rows[i][6] != null ? ds.Tables[0].Rows[i][6].ToString() : string.Empty;
- model.PipingStart = ds.Tables[0].Rows[i][7] != null ? ds.Tables[0].Rows[i][7].ToString() : string.Empty;
- model.PipingEnd = ds.Tables[0].Rows[i][8] != null ? ds.Tables[0].Rows[i][8].ToString() : string.Empty;
- model.PipingLevel = ds.Tables[0].Rows[i][9] != null ? ds.Tables[0].Rows[i][9].ToString() : string.Empty;
- model.NormalTemperature = ds.Tables[0].Rows[i][10] != null ? ds.Tables[0].Rows[i][10].ToString() : string.Empty;
- model.NormalPressure = ds.Tables[0].Rows[i][11] != null ? ds.Tables[0].Rows[i][11].ToString() : string.Empty;
- model.DesignTemperature = ds.Tables[0].Rows[i][12] != null ? ds.Tables[0].Rows[i][12].ToString() : string.Empty;
- model.DesignPressure = ds.Tables[0].Rows[i][13] != null ? ds.Tables[0].Rows[i][13].ToString() : string.Empty;
- model.PaintLevel = ds.Tables[0].Rows[i][14] != null ? ds.Tables[0].Rows[i][14].ToString() : string.Empty;
- model.Remark = ds.Tables[0].Rows[i][15] != null ? ds.Tables[0].Rows[i][15].ToString() : string.Empty;
+ 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;
@@ -524,13 +527,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
ShowNotify("请获取正确模板!", MessageBoxIcon.Warning);
return;
}
- var columVerify = HasRepeatData(ds.Tables[0], new string[] { "A" });
- if (columVerify)
- {
- ShowNotify("模板中存在设备位号相同的数据!", MessageBoxIcon.Warning);
- return;
- }
- var tagNumbers = GetColumnValues(ds.Tables[0], "A");
+ 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();
@@ -539,30 +536,83 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
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 (ds.Tables[0].Rows[i][0] == null) continue;
+ if (string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][3].ToString()))
+ {
+ if (model == null)
+ {
+ ShowNotify($"{i}行数据存在错误!", MessageBoxIcon.Warning);
+ return;
+ }
+ else
+ {
+ if (!string.IsNullOrWhiteSpace(ds.Tables[0].Rows[i][8].ToString()))
+ {
+ 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();
+ }
+ }
+ }
+ 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;
+ });
+ }
+ }
- PreRun_TechnologySysPiping 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][0].ToString();
- model.NameSpecifications = ds.Tables[0].Rows[i][1] != null ? ds.Tables[0].Rows[i][1].ToString() : string.Empty;
- model.DrawingNo = ds.Tables[0].Rows[i][2] != null ? ds.Tables[0].Rows[i][2].ToString() : string.Empty;
- model.Materials = ds.Tables[0].Rows[i][3] != null ? ds.Tables[0].Rows[i][3].ToString() : string.Empty;
- model.NumOperate = ds.Tables[0].Rows[i][4] != null ? ds.Tables[0].Rows[i][4].ToString() : string.Empty;
- model.NumStandby = ds.Tables[0].Rows[i][5] != null ? ds.Tables[0].Rows[i][5].ToString() : string.Empty;
- model.WeightSingle = ds.Tables[0].Rows[i][6] != null ? ds.Tables[0].Rows[i][6].ToString() : string.Empty;
- model.WeightTotal = ds.Tables[0].Rows[i][7] != null ? ds.Tables[0].Rows[i][7].ToString() : string.Empty;
- model.Remark = ds.Tables[0].Rows[i][8] != null ? ds.Tables[0].Rows[i][8].ToString() : string.Empty;
- model.AddUser = this.CurrUser.UserId;
- model.AddTime = DateTime.Now;
- model.Sort = i - 1;
- list.Add(model);
}
+ if (list.GroupBy(x => x.TagNumber).Count() != list.Count)
+ {
+ ShowNotify("模板中存在设备位号相同的数据!", MessageBoxIcon.Warning);
+ return;
+ }
+
Funs.DB.PreRun_TechnologySysPiping.InsertAllOnSubmit(list);
Funs.DB.SubmitChanges();
}
@@ -953,9 +1003,9 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
var result = true;
if (ds.Tables[0].Rows[1][0].ToString() != "管道号") result = false;
- if (ds.Tables[0].Rows[1][1].ToString() != "公称") result = false;
- if (ds.Tables[0].Rows[1][2].ToString() != "管道材料等级") result = false;
- if (ds.Tables[0].Rows[1][3].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;
return result;
}
@@ -969,10 +1019,10 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun
{
var result = true;
- if (ds.Tables[0].Rows[0][0].ToString() != "设备位号") result = false;
- if (ds.Tables[0].Rows[0][1].ToString() != "设备名称和规格") result = false;
- if (ds.Tables[0].Rows[0][2].ToString() != "图号或型号") result = false;
- if (ds.Tables[0].Rows[0][3].ToString() != "制造材料") result = false;
+ 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;
return result;
}
diff --git a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs
index 0818981b..893d4c2a 100644
--- a/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/BeforeTestRun/SysPipingDeviceImport.aspx.designer.cs
@@ -7,11 +7,13 @@
// 自动生成>
//------------------------------------------------------------------------------
-namespace FineUIPro.Web.TestRun.BeforeTestRun {
-
-
- public partial class SysPipingDeviceImport {
-
+namespace FineUIPro.Web.TestRun.BeforeTestRun
+{
+
+
+ public partial class SysPipingDeviceImport
+ {
+
///
/// form1 控件。
///
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
-
+
///
/// PageManager1 控件。
///
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.PageManager PageManager1;
-
+
///
/// Panel1 控件。
///
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Panel Panel1;
-
+
///
/// panelLeftRegion 控件。
///
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Panel panelLeftRegion;
-
+
///
/// tvControlItem 控件。
///
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Tree tvControlItem;
-
+
///
/// panelCenterRegion 控件。
///
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Panel panelCenterRegion;
-
+
///
/// Toolbar2 控件。
///
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Toolbar Toolbar2;
-
+
///
/// hdTrustID 控件。
///
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.HiddenField hdTrustID;
-
+
///
/// SimpleForm1 控件。
///
@@ -92,7 +94,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Form SimpleForm1;
-
+
///
/// zz 控件。
///
@@ -101,16 +103,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FormRow zz;
-
- ///
- /// lblzzbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblzzbm;
-
+
///
/// lblzzmc 控件。
///
@@ -119,7 +112,16 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Label lblzzmc;
-
+
+ ///
+ /// lblzzbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblzzbm;
+
///
/// gx 控件。
///
@@ -128,16 +130,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FormRow gx;
-
- ///
- /// lblgxbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblgxbm;
-
+
///
/// lblgxmc 控件。
///
@@ -146,7 +139,16 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Label lblgxmc;
-
+
+ ///
+ /// lblgxbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblgxbm;
+
///
/// sxt 控件。
///
@@ -155,16 +157,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FormRow sxt;
-
- ///
- /// lblsxtbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblsxtbm;
-
+
///
/// lblsxtmc 控件。
///
@@ -173,7 +166,16 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Label lblsxtmc;
-
+
+ ///
+ /// lblsxtbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblsxtbm;
+
///
/// sszxt 控件。
///
@@ -182,16 +184,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FormRow sszxt;
-
- ///
- /// lblszxtbm 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.Label lblszxtbm;
-
+
///
/// lblszxtmc 控件。
///
@@ -200,7 +193,16 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Label lblszxtmc;
-
+
+ ///
+ /// lblszxtbm 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label lblszxtbm;
+
///
/// zxtsc 控件。
///
@@ -209,7 +211,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FormRow zxtsc;
-
+
///
/// TabStrip1 控件。
///
@@ -218,7 +220,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TabStrip TabStrip1;
-
+
///
/// GridZxtgd 控件。
///
@@ -227,7 +229,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Grid GridZxtgd;
-
+
///
/// Toolbar1 控件。
///
@@ -236,7 +238,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Toolbar Toolbar1;
-
+
///
/// fileData 控件。
///
@@ -245,7 +247,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FileUpload fileData;
-
+
///
/// btnZxtgdImport 控件。
///
@@ -254,7 +256,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnZxtgdImport;
-
+
///
/// ToolbarFill 控件。
///
@@ -263,7 +265,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarFill ToolbarFill;
-
+
///
/// btnGdDownLoad 控件。
///
@@ -272,7 +274,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnGdDownLoad;
-
+
///
/// btnZxtgdSave 控件。
///
@@ -281,7 +283,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnZxtgdSave;
-
+
///
/// txtPipingCode 控件。
///
@@ -290,7 +292,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtPipingCode;
-
+
///
/// txtDiameter 控件。
///
@@ -299,7 +301,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtDiameter;
-
+
///
/// txtMaterialLevel 控件。
///
@@ -308,7 +310,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtMaterialLevel;
-
+
///
/// txtAdiabatType 控件。
///
@@ -317,7 +319,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtAdiabatType;
-
+
///
/// txtAdiabatThickness 控件。
///
@@ -326,7 +328,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtAdiabatThickness;
-
+
///
/// txtMediumState 控件。
///
@@ -335,7 +337,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtMediumState;
-
+
///
/// txtDrawingNo 控件。
///
@@ -344,7 +346,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtDrawingNo;
-
+
///
/// txtPipingStart 控件。
///
@@ -353,7 +355,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtPipingStart;
-
+
///
/// txtPipingEnd 控件。
///
@@ -362,7 +364,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtPipingEnd;
-
+
///
/// txtPipingLevel 控件。
///
@@ -371,7 +373,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtPipingLevel;
-
+
///
/// txtNormalTemperature 控件。
///
@@ -380,7 +382,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtNormalTemperature;
-
+
///
/// txtNormalPressure 控件。
///
@@ -389,7 +391,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtNormalPressure;
-
+
///
/// txtDesignTemperature 控件。
///
@@ -398,7 +400,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtDesignTemperature;
-
+
///
/// txtDesignPressure 控件。
///
@@ -407,7 +409,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtDesignPressure;
-
+
///
/// txtPaintLevel 控件。
///
@@ -416,7 +418,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtPaintLevel;
-
+
///
/// txtRemark 控件。
///
@@ -425,7 +427,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtRemark;
-
+
///
/// ToolbarSeparator1 控件。
///
@@ -434,7 +436,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
-
+
///
/// ToolbarText1 控件。
///
@@ -443,7 +445,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarText ToolbarText1;
-
+
///
/// ddlZxtgdPageSize 控件。
///
@@ -452,7 +454,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DropDownList ddlZxtgdPageSize;
-
+
///
/// GridZxtgy 控件。
///
@@ -461,7 +463,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Grid GridZxtgy;
-
+
///
/// Toolbar3 控件。
///
@@ -470,7 +472,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Toolbar Toolbar3;
-
+
///
/// filegyData 控件。
///
@@ -479,7 +481,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FileUpload filegyData;
-
+
///
/// btnZxtgyImport 控件。
///
@@ -488,7 +490,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnZxtgyImport;
-
+
///
/// ToolbarFill1 控件。
///
@@ -497,7 +499,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarFill ToolbarFill1;
-
+
///
/// btnGysbDownLoad 控件。
///
@@ -506,7 +508,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnGysbDownLoad;
-
+
///
/// btnZxtgySave 控件。
///
@@ -515,7 +517,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnZxtgySave;
-
+
///
/// txtTagNumber 控件。
///
@@ -524,7 +526,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtTagNumber;
-
+
///
/// txtNameSpecifications 控件。
///
@@ -533,7 +535,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtNameSpecifications;
-
+
///
/// txtgyDrawingNo 控件。
///
@@ -542,7 +544,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtgyDrawingNo;
-
+
///
/// txtMaterials 控件。
///
@@ -551,7 +553,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtMaterials;
-
+
///
/// txtNumOperate 控件。
///
@@ -560,7 +562,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtNumOperate;
-
+
///
/// txtNumStandby 控件。
///
@@ -569,7 +571,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtNumStandby;
-
+
///
/// txtWeightSingle 控件。
///
@@ -578,7 +580,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtWeightSingle;
-
+
///
/// txtWeightTotal 控件。
///
@@ -587,7 +589,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtWeightTotal;
-
+
///
/// txtgyRemark 控件。
///
@@ -596,7 +598,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtgyRemark;
-
+
///
/// ToolbarSeparator2 控件。
///
@@ -605,7 +607,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator2;
-
+
///
/// ToolbarText2 控件。
///
@@ -614,7 +616,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarText ToolbarText2;
-
+
///
/// ddlZxtgyPageSize 控件。
///
@@ -623,7 +625,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DropDownList ddlZxtgyPageSize;
-
+
///
/// zxtsxt 控件。
///
@@ -632,7 +634,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.FormRow zxtsxt;
-
+
///
/// TabStrip2 控件。
///
@@ -641,7 +643,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TabStrip TabStrip2;
-
+
///
/// gvSsxtgdxz 控件。
///
@@ -650,7 +652,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Grid gvSsxtgdxz;
-
+
///
/// Toolbar4 控件。
///
@@ -659,7 +661,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Toolbar Toolbar4;
-
+
///
/// ToolbarFill2 控件。
///
@@ -668,7 +670,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarFill ToolbarFill2;
-
+
///
/// btnSelect 控件。
///
@@ -677,7 +679,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnSelect;
-
+
///
/// btnSelectSave 控件。
///
@@ -686,7 +688,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnSelectSave;
-
+
///
/// hidSelectProperty 控件。
///
@@ -695,7 +697,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.HiddenField hidSelectProperty;
-
+
///
/// hidSystemId 控件。
///
@@ -704,7 +706,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.HiddenField hidSystemId;
-
+
///
/// ToolbarSeparator3 控件。
///
@@ -713,7 +715,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator3;
-
+
///
/// ToolbarText3 控件。
///
@@ -722,7 +724,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarText ToolbarText3;
-
+
///
/// ddlSubPropertyPageSize 控件。
///
@@ -731,7 +733,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DropDownList ddlSubPropertyPageSize;
-
+
///
/// gvSsxtgyxz 控件。
///
@@ -740,7 +742,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Grid gvSsxtgyxz;
-
+
///
/// Toolbar5 控件。
///
@@ -749,7 +751,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Toolbar Toolbar5;
-
+
///
/// ToolbarFill3 控件。
///
@@ -758,7 +760,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarFill ToolbarFill3;
-
+
///
/// btngySelect 控件。
///
@@ -767,7 +769,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btngySelect;
-
+
///
/// btngySelectSave 控件。
///
@@ -776,7 +778,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btngySelectSave;
-
+
///
/// hidSelectTechnology 控件。
///
@@ -785,7 +787,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.HiddenField hidSelectTechnology;
-
+
///
/// ToolbarSeparator4 控件。
///
@@ -794,7 +796,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator4;
-
+
///
/// ToolbarText4 控件。
///
@@ -803,7 +805,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.ToolbarText ToolbarText4;
-
+
///
/// ddlSubTechnologyPageSize 控件。
///
@@ -812,7 +814,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DropDownList ddlSubTechnologyPageSize;
-
+
///
/// Window1 控件。
///
@@ -821,7 +823,7 @@ namespace FineUIPro.Web.TestRun.BeforeTestRun {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Window Window1;
-
+
///
/// Window2 控件。
///