diff --git a/.vs/SGGL_SeDin/v17/.wsuo b/.vs/SGGL_SeDin/v17/.wsuo
index b58594d2..fc93fb60 100644
Binary files a/.vs/SGGL_SeDin/v17/.wsuo and b/.vs/SGGL_SeDin/v17/.wsuo differ
diff --git a/DataBase/版本日志/SGGLDB_V2023-08-23.sql b/DataBase/版本日志/SGGLDB_V2023-08-23.sql
new file mode 100644
index 00000000..649aab33
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_V2023-08-23.sql
@@ -0,0 +1,277 @@
+INSERT Sys_Menu ([MenuId],[MenuName],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( '8213BE20-2680-4A13-91B8-49028BB89869','嵥',60,'0','Menu_HTGL',1,0,1)
+GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=0',10,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'78B2CEAD-E4C8-46D2-96B6-95A5496783CD',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'48354E2E-5DA6-4C99-9A3C-CB9AD8EEB5F9',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'31E7E660-C03A-472C-A826-5028083B1EE0',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'0DE87AC3-7FF2-4356-99E6-6BE37805D3B4',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'ֽṹԤƹ',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=1',20,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'DA598A3C-1B93-4226-97B8-35AD4DA5D28F',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'0EF63456-80E1-4426-948A-DE75E5C6A8F1',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'9D1CF158-CF04-44B4-9B9C-50601EA04969',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'C5F024BF-9B74-44AF-AFEA-3CC515CA2C28',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'չܵװ',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=2',30,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'583E54BA-FD70-47AA-93B1-494C31EC1FC6',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'48B2AFDB-2B0B-4A87-B390-9C0F50CE2627',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'B1D5F26B-DDB2-4659-8169-3A00A989EDFC',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'A57F3A55-52E8-4C21-9575-E46CE704506D',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'豸װ',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=3',40,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'524040AB-D87D-4BEB-95BC-D2C4AA7A2D2A',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'73FE0082-DEE6-4E11-A0A7-35E1B2FCF466',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'ACABBC3B-D806-4CF2-8354-699087EDAFED',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'A33F06B6-20E2-4231-AFAB-C29E6992B128',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'DZ豸ֳװ',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=4',50,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'04A4F361-3A53-4A95-8672-A245F9FA6622',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'D7FE32B5-3677-485D-80E8-5B70B2C593FF',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'2E575038-BD18-4BBD-82A3-5C3A1E40FCAA',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'DADA9037-FB84-4F87-B582-22D8C9060CA2',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'ǰװ',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=5',60,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'04A4F361-3A53-4A95-8672-A245F9FA6622',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'D7FE32B5-3677-485D-80E8-5B70B2C593FF',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'2E575038-BD18-4BBD-82A3-5C3A1E40FCAA',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'DADA9037-FB84-4F87-B582-22D8C9060CA2',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'ˮůװ',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=6',70,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'E4B2C688-3398-4EC5-B44F-C108DB0F3CD0',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'C0476DEF-A2AC-41F1-A93B-18ED3ADEBE25',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'BD17EEE4-8816-4811-A42A-8B7B5B43D0DE',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'4AF564B5-661E-4D20-B24C-4A792EC91871',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'33A03E2C-4E00-4722-AA14-F50419468154',N'ȹ',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=7',80,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'63FFB9EB-AFC0-4F6E-A797-A269BAE84245',N'33A03E2C-4E00-4722-AA14-F50419468154',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'23010AFF-BFA5-497D-80C3-A4D7E5D213BC',N'33A03E2C-4E00-4722-AA14-F50419468154',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'C7D7D80A-1D7A-4292-BB36-9CA797737329',N'33A03E2C-4E00-4722-AA14-F50419468154',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'3EBE4D70-E3FF-46E6-A759-23B5D98529D9',N'33A03E2C-4E00-4722-AA14-F50419468154',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=8',90,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'6F90E9C9-5F1E-4C7B-A77A-0768D5FE6FAD',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'85EA023A-AFC1-4C92-9C16-16C6E02BA368',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'88070C98-1C22-44F5-BB10-E16B8D112F60',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'29137116-9B3F-42D8-AAB8-34108D7DB0BB',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=9',100,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'BC3550E7-5F9A-4B85-A7A9-132738CA020A',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'66D94832-CDBD-4BE3-9E36-44EB6680E14B',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'A341D583-A00B-4321-BF9F-ECEABF6A8B1B',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'ɾ',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'E9CB92B6-3DE0-4CA6-A616-29F2957B8BD5',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'',4)
+ GO
+
+
+
+INSERT [Sys_Menu] ([MenuId], [MenuName], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed])
+VALUES (N'687991B6-73AC-42FA-9A72-178AF94D1EB4', N'б깤嵥',
+ N'PHTGL/BillOfQuantities/BidProjectQuantityList.aspx', 60, N'04DEBC8A-1D09-4DD8-9464-496A4533FE03',
+ N'Menu_PHTGL', 0, 1, 1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
+ VALUES (N'F26266A4-92A3-404D-B09F-F6BF4EA9FB47', N'687991B6-73AC-42FA-9A72-178AF94D1EB4', N'', 2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
+ VALUES (N'EF556067-5F86-43E3-AFAC-B4CFFC7BD7F3', N'687991B6-73AC-42FA-9A72-178AF94D1EB4', N'', 4)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
+ VALUES (N'285674F5-8A75-43F4-9683-DD67BFDA7442', N'687991B6-73AC-42FA-9A72-178AF94D1EB4', N'', 1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
+ VALUES (N'223B4ABD-1E1A-47CA-AB54-4E832A8CEC1C', N'687991B6-73AC-42FA-9A72-178AF94D1EB4', N'ɾ', 3)
+ Go
+
+
+create table dbo.PHTGL_Quantity
+(
+ Id varchar(50) not null
+ constraint PK_PHTGL_Quantity
+ primary key,
+ Major varchar(50),
+ SubProject varchar(50),
+ SubItemProject varchar(50),
+ ProjectCode varchar(255),
+ ProjectName varchar(255),
+ ProjectDescription varchar(255),
+ UnitOfMeasurement varchar(50),
+ Quantity varchar(50),
+ TotalCostFixedComprehensiveUnitPrice varchar(50),
+ MainMaterialCost varchar(50),
+ TotalPrice varchar(50),
+ CalculationRule varchar(255),
+ WorkContent varchar(max),
+ Remarks varchar(max),
+ IsTemplate bit
+ constraint DF_PHTGL_Quantity_IsTemplate default 0,
+ ParentId varchar(50)
+)
+go
+
+exec sp_addextendedproperty 'MS_Description', N'嵥', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'רҵ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN', 'Major'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'ֲ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'SubProject'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'SubItemProject'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'Ŀ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'ProjectCode'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'Ŀ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'ProjectName'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'Ŀ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'ProjectDescription'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'λ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'UnitOfMeasurement'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'Quantity'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'ȫù̶ۺϵ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity',
+ 'COLUMN', 'TotalCostFixedComprehensiveUnitPrice'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'ķ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'MainMaterialCost'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'ϼ/Ԫ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'TotalPrice'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'CalculationRule'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
+ 'WorkContent'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'ע', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN', 'Remarks'
+go
+create table dbo.PHTGL_BidProjectQuantity
+(
+ BidProjectQuantityId nvarchar(50) not null
+ constraint PK_PHTGL_BidProjectQuantity
+ primary key,
+ ProjectId nvarchar(50),
+ LotNumber nvarchar(50),
+ BidProjectCode nvarchar(100),
+ IsMainProject bit,
+ CreatorId nvarchar(50),
+ CreateDate datetime
+)
+go
+
+exec sp_addextendedproperty 'MS_Description', N'б깤嵥Ʊ', 'SCHEMA', 'dbo', 'TABLE',
+ 'PHTGL_BidProjectQuantity'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'id', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_BidProjectQuantity',
+ 'COLUMN', 'ProjectId'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'κ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_BidProjectQuantity', 'COLUMN',
+ 'LotNumber'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'б깤', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_BidProjectQuantity',
+ 'COLUMN', 'BidProjectCode'
+go
+create table dbo.PHTGL_MainProjectQuantity
+(
+ MainProjectQuantityId nvarchar(50) not null
+ constraint PK_PHTGL_MainProjectQuantity
+ primary key,
+ MainProjectQuantityCode nvarchar(100),
+ MainProjectQuantityName nvarchar(100),
+ QuantityId nvarchar(50)
+)
+go
+
+exec sp_addextendedproperty 'MS_Description', N'嵥', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_MainProjectQuantity'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_MainProjectQuantity',
+ 'COLUMN', 'MainProjectQuantityCode'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_MainProjectQuantity',
+ 'COLUMN', 'MainProjectQuantityName'
+go
+
+exec sp_addextendedproperty 'MS_Description', N'ϸid', 'SCHEMA', 'dbo', 'TABLE',
+ 'PHTGL_MainProjectQuantity', 'COLUMN', 'QuantityId'
+go
\ No newline at end of file
diff --git a/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql b/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql
index 2e28bbe6..97c96682 100644
--- a/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql
+++ b/DataBase/菜单初始化脚本/0-3合同管理(Menu_HTGL).sql
@@ -94,3 +94,127 @@ GO
VALUES ( N'1A5D7CEC-2E64-4AAB-910B-A2C2CD6FA797',N'0A5DF9F5-B6B5-41B8-8951-C203C5749495',N'导入',5)
GO
+INSERT Sys_Menu ([MenuId],[MenuName],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( '8213BE20-2680-4A13-91B8-49028BB89869','工程量清单',60,'0','Menu_HTGL',1,0,1)
+GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'土建工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=0',10,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'78B2CEAD-E4C8-46D2-96B6-95A5496783CD',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'48354E2E-5DA6-4C99-9A3C-CB9AD8EEB5F9',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'31E7E660-C03A-472C-A826-5028083B1EE0',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'0DE87AC3-7FF2-4356-99E6-6BE37805D3B4',N'326AA80C-6B01-4214-ACF2-B29595BA28D5',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'钢结构预制工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=1',20,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'DA598A3C-1B93-4226-97B8-35AD4DA5D28F',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'0EF63456-80E1-4426-948A-DE75E5C6A8F1',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'9D1CF158-CF04-44B4-9B9C-50601EA04969',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'C5F024BF-9B74-44AF-AFEA-3CC515CA2C28',N'0A679077-6D89-4272-A1B0-CF384DEDC9B8',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'工艺管道安装工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=2',30,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'583E54BA-FD70-47AA-93B1-494C31EC1FC6',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'48B2AFDB-2B0B-4A87-B390-9C0F50CE2627',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'B1D5F26B-DDB2-4659-8169-3A00A989EDFC',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'A57F3A55-52E8-4C21-9575-E46CE704506D',N'0E04FA16-FFA6-4987-A0A5-A4658F0099F2',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'工艺设备安装工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=3',40,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'524040AB-D87D-4BEB-95BC-D2C4AA7A2D2A',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'73FE0082-DEE6-4E11-A0A7-35E1B2FCF466',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'ACABBC3B-D806-4CF2-8354-699087EDAFED',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'A33F06B6-20E2-4231-AFAB-C29E6992B128',N'FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'非标设备现场制作安装工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=4',50,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'04A4F361-3A53-4A95-8672-A245F9FA6622',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'D7FE32B5-3677-485D-80E8-5B70B2C593FF',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'2E575038-BD18-4BBD-82A3-5C3A1E40FCAA',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'DADA9037-FB84-4F87-B582-22D8C9060CA2',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'电仪安装工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=5',60,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'04A4F361-3A53-4A95-8672-A245F9FA6622',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'D7FE32B5-3677-485D-80E8-5B70B2C593FF',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'2E575038-BD18-4BBD-82A3-5C3A1E40FCAA',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'DADA9037-FB84-4F87-B582-22D8C9060CA2',N'10586190-0FDD-4DA8-A877-CE4599D6F0DF',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'水暖安装工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=6',70,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'E4B2C688-3398-4EC5-B44F-C108DB0F3CD0',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'C0476DEF-A2AC-41F1-A93B-18ED3ADEBE25',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'BD17EEE4-8816-4811-A42A-8B7B5B43D0DE',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'4AF564B5-661E-4D20-B24C-4A792EC91871',N'92101A90-9C22-4B43-B012-9AFF8402F85D',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'33A03E2C-4E00-4722-AA14-F50419468154',N'防腐绝热工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=7',80,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'63FFB9EB-AFC0-4F6E-A797-A269BAE84245',N'33A03E2C-4E00-4722-AA14-F50419468154',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'23010AFF-BFA5-497D-80C3-A4D7E5D213BC',N'33A03E2C-4E00-4722-AA14-F50419468154',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'C7D7D80A-1D7A-4292-BB36-9CA797737329',N'33A03E2C-4E00-4722-AA14-F50419468154',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'3EBE4D70-E3FF-46E6-A759-23B5D98529D9',N'33A03E2C-4E00-4722-AA14-F50419468154',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'无损检测工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=8',90,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'6F90E9C9-5F1E-4C7B-A77A-0768D5FE6FAD',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'85EA023A-AFC1-4C92-9C16-16C6E02BA368',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'88070C98-1C22-44F5-BB10-E16B8D112F60',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'29137116-9B3F-42D8-AAB8-34108D7DB0BB',N'A5A31FE8-0643-4396-99E3-A4A31A947789',N'保存',4)
+ GO
+INSERT Sys_Menu ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+VALUES ( N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'消防工程',N'PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=9',100,N'8213BE20-2680-4A13-91B8-49028BB89869',N'Menu_HTGL',1,1,1)
+GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'BC3550E7-5F9A-4B85-A7A9-132738CA020A',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'增加',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'66D94832-CDBD-4BE3-9E36-44EB6680E14B',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'修改',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'A341D583-A00B-4321-BF9F-ECEABF6A8B1B',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'删除',3)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'E9CB92B6-3DE0-4CA6-A616-29F2957B8BD5',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'保存',4)
+ GO
+
\ No newline at end of file
diff --git a/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql b/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql
index f2cd35b6..8858d2d1 100644
--- a/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql
+++ b/DataBase/菜单初始化脚本/1-6合同管理(Menu_PHTGL).sql
@@ -65,6 +65,18 @@ INSERT [Sys_Menu] ([MenuId],[MenuName],[SortIndex],[SuperMenu],[MenuType],[IsOff
INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
VALUES ( N'4342B20C-FD3D-4D19-9B7C-99CAD53DAAD4',N'11503AD6-742D-406D-96F1-17BA3B9E7580',N'ɾ',3)
Go
+ INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
+ VALUES ( N'687991B6-73AC-42FA-9A72-178AF94D1EB4',N'б깤嵥',N'PHTGL/BillOfQuantities/BidProjectQuantityList.aspx',60,N'04DEBC8A-1D09-4DD8-9464-496A4533FE03',N'Menu_PHTGL',0,1,1)
+ GO
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'F26266A4-92A3-404D-B09F-F6BF4EA9FB47',N'687991B6-73AC-42FA-9A72-178AF94D1EB4',N'',2)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'EF556067-5F86-43E3-AFAC-B4CFFC7BD7F3',N'687991B6-73AC-42FA-9A72-178AF94D1EB4',N'',4)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'285674F5-8A75-43F4-9683-DD67BFDA7442',N'687991B6-73AC-42FA-9A72-178AF94D1EB4',N'',1)
+ INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
+ VALUES ( N'223B4ABD-1E1A-47CA-AB54-4E832A8CEC1C',N'687991B6-73AC-42FA-9A72-178AF94D1EB4',N'ɾ',3)
+ Go
INSERT [Sys_Menu] ([MenuId],[MenuName],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
VALUES ( N'C041D799-47A0-4ECA-A6A2-C387857165D6',N'ͬ',20,N'0',N'Menu_PHTGL',0,0,1)
diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index a55f7d03..0f262afb 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -104,8 +104,8 @@
..\packages\QRCoder.1.4.3\lib\net40\QRCoder.dll
-
- ..\packages\Quartz.3.7.0\lib\netstandard2.0\Quartz.dll
+
+ ..\packages\Quartz.3.5.0\lib\netstandard2.0\Quartz.dll
..\packages\RestSharp.106.15.0\lib\net452\RestSharp.dll
@@ -579,6 +579,9 @@
+
+
+
diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs
index deab9773..38850782 100644
--- a/SGGL/BLL/Common/Const.cs
+++ b/SGGL/BLL/Common/Const.cs
@@ -3167,8 +3167,23 @@ namespace BLL
/// 合同台账
///
public const string ContractStandingBookMenuId = "0A5DF9F5-B6B5-41B8-8951-C203C5749495";
-
-
+ ///
+ /// 工程量清单菜单id
+ ///
+ public const string TemQuantityListMenuId0= "326AA80C-6B01-4214-ACF2-B29595BA28D5";
+ public const string TemQuantityListMenuId1= "0A679077-6D89-4272-A1B0-CF384DEDC9B8";
+ public const string TemQuantityListMenuId2= "0E04FA16-FFA6-4987-A0A5-A4658F0099F2";
+ public const string TemQuantityListMenuId3= "FAC4F0F7-A7C0-4F66-8BCB-846C082BCA40";
+ public const string TemQuantityListMenuId4= "10586190-0FDD-4DA8-A877-CE4599D6F0DF";
+ public const string TemQuantityListMenuId5= "10586190-0FDD-4DA8-A877-CE4599D6F0DF";
+ public const string TemQuantityListMenuId6= "92101A90-9C22-4B43-B012-9AFF8402F85D";
+ public const string TemQuantityListMenuId7= "33A03E2C-4E00-4722-AA14-F50419468154";
+ public const string TemQuantityListMenuId8= "A5A31FE8-0643-4396-99E3-A4A31A947789";
+ public const string TemQuantityListMenuId9= "481E6B1E-A3D5-4012-B828-FE62EB6BA861";
+ ///
+ /// 招标工程量清单定制
+ ///
+ public const string PHTGL_BidProjectQuantityMenuId = "687991B6-73AC-42FA-9A72-178AF94D1EB4";
#endregion
@@ -3352,6 +3367,10 @@ namespace BLL
/// 进度计划编制模板文件原始虚拟路径
///
public const string JDPlanTemplateUrl = "File\\Excel\\DataOut\\进度计划编制.xls";
+ ///
+ /// 合同工程量导入清单模板
+ ///
+ public const string TemQuantityTemplateUrl = "File\\Excel\\DataIn\\工程量清单模板.xlsx";
#endregion
diff --git a/SGGL/BLL/PHTGL/BillOfQuantities/PhtglBidprojectquantityService .cs b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglBidprojectquantityService .cs
new file mode 100644
index 00000000..f3dd421a
--- /dev/null
+++ b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglBidprojectquantityService .cs
@@ -0,0 +1,219 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using FineUIPro;
+using MiniExcelLibs;
+using Model;
+
+namespace BLL
+{
+ public static class PHTGL_BidProjectQuantityService
+ {
+ public static PHTGL_BidProjectQuantity GetPHTGL_BidProjectQuantityById(string bidProjectQuantityId)
+ {
+ return Funs.DB.PHTGL_BidProjectQuantity.FirstOrDefault(x => x.BidProjectQuantityId == bidProjectQuantityId);
+ }
+
+ public static void AddPHTGL_BidProjectQuantity(PHTGL_BidProjectQuantity newtable)
+ {
+ var table = new PHTGL_BidProjectQuantity
+ {
+ BidProjectQuantityId = newtable.BidProjectQuantityId,
+ LotNumber = newtable.LotNumber,
+ BidProjectCode = newtable.BidProjectCode,
+ IsMainProject = newtable.IsMainProject,
+ ProjectId = newtable.ProjectId,
+ CreatorId = newtable.CreatorId,
+ CreateDate = newtable.CreateDate
+ };
+ Funs.DB.PHTGL_BidProjectQuantity.InsertOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+
+
+ public static void UpdatePHTGL_BidProjectQuantity(PHTGL_BidProjectQuantity newtable)
+ {
+ var table = Funs.DB.PHTGL_BidProjectQuantity.FirstOrDefault(x =>
+ x.BidProjectQuantityId == newtable.BidProjectQuantityId);
+ if (table != null)
+ {
+ table.BidProjectQuantityId = newtable.BidProjectQuantityId;
+ table.LotNumber = newtable.LotNumber;
+ table.BidProjectCode = newtable.BidProjectCode;
+ table.IsMainProject = newtable.IsMainProject;
+ table.ProjectId = newtable.ProjectId;
+ table.CreatorId = newtable.CreatorId;
+ table.CreateDate = newtable.CreateDate;
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ public static void DeletePHTGL_BidProjectQuantityById(string BidProjectQuantityId)
+ {
+ var table = Funs.DB.PHTGL_BidProjectQuantity.FirstOrDefault(x =>
+ x.BidProjectQuantityId == BidProjectQuantityId);
+ if (table != null)
+ {
+ Funs.DB.PHTGL_BidProjectQuantity.DeleteOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ ///
+ /// 导出招标工作量清单
+ ///
+ /// 招标工作量清单主键id
+ public static void ExportById(string bidProjectQuantityId)
+ {
+ var bidProjectQuantity = GetPHTGL_BidProjectQuantityById(bidProjectQuantityId);
+ var sheets = new Dictionary();
+ var mainProjectQuantity = new PHTGL_MainProjectQuantity();
+ mainProjectQuantity.QuantityId = bidProjectQuantityId;
+ var mainProjectList = PHTGL_MainProjectQuantityService.GetPHTGL_MainProjectQuantityByModle(mainProjectQuantity);//获取主项
+ foreach (var item in mainProjectList)
+ {
+ var querytable = new PHTGL_Quantity();
+ querytable.IsTemplate = false;
+ querytable.ParentId = item.MainProjectQuantityId;
+ var tb = PHTGL_QuantityService.GetPHTGL_QuantityByModle(querytable);
+ var exportmodel = (from x in tb
+ select new
+ {
+ 专业= x.Major,
+ 分部工程= x.SubProject,
+ 分项工程= x.SubItemProject,
+ 项目编码= x.ProjectCode,
+ 项目名称=x.ProjectName,
+ 项目特征描述= x.ProjectDescription,
+ 计量单位= x.UnitOfMeasurement,
+ 工程量=x.Quantity,
+ 全费用固定综合单价=x.TotalCostFixedComprehensiveUnitPrice,
+ 主材费=x.MainMaterialCost,
+ 合价=x.TotalPrice,
+ 计算规则=x.CalculationRule,
+ 工作内容=x.WorkContent,
+ 备注=x.Remarks,
+ }).ToList();
+ sheets.Add(item.MainProjectQuantityName,exportmodel);
+ }
+ string path = Funs.RootPath + @"File\Excel\Temp\招标工作清单-"+ bidProjectQuantity.BidProjectCode+ ".xlsx";
+ path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".xlsx");
+ MiniExcel.SaveAs(path, sheets);
+ string fileName = "招标工作清单-" + bidProjectQuantity.BidProjectCode + ".xlsx";
+ FileInfo info = new FileInfo(path);
+ long fileSize = info.Length;
+ System.Web.HttpContext.Current.Response.Clear();
+ System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
+ System.Web.HttpContext.Current.Response.TransmitFile(path, 0, fileSize);
+ System.Web.HttpContext.Current.Response.Flush();
+ System.Web.HttpContext.Current.Response.Close();
+ File.Delete(path);
+ }
+ public static void ExportByMainProjectQuantityId(string mainProjectQuantityId)
+ {
+ var sheets = new Dictionary();
+ var mainProjectList = PHTGL_MainProjectQuantityService.GetPHTGL_MainProjectQuantityById(mainProjectQuantityId);//获取主项
+ if (mainProjectList==null)
+ {
+ return;
+ }
+ var querytable = new PHTGL_Quantity();
+ querytable.IsTemplate = false;
+ querytable.ParentId = mainProjectQuantityId;
+ var tb = PHTGL_QuantityService.GetPHTGL_QuantityByModle(querytable);
+ var exportmodel = (from x in tb
+ select new
+ {
+ 专业 = x.Major,
+ 分部工程 = x.SubProject,
+ 分项工程 = x.SubItemProject,
+ 项目编码 = x.ProjectCode,
+ 项目名称 = x.ProjectName,
+ 项目特征描述 = x.ProjectDescription,
+ 计量单位 = x.UnitOfMeasurement,
+ 工程量 = x.Quantity,
+ 全费用固定综合单价 = x.TotalCostFixedComprehensiveUnitPrice,
+ 主材费 = x.MainMaterialCost,
+ 合价 = x.TotalPrice,
+ 计算规则 = x.CalculationRule,
+ 工作内容 = x.WorkContent,
+ 备注 = x.Remarks,
+ }).ToList();
+ sheets.Add(mainProjectList.MainProjectQuantityName, exportmodel);
+
+ string path = Funs.RootPath + @"File\Excel\Temp\招标工作清单-" + mainProjectList.MainProjectQuantityCode + ".xlsx";
+ path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".xlsx");
+ MiniExcel.SaveAs(path, sheets);
+ string fileName = "招标工作清单-" + mainProjectList.MainProjectQuantityCode + ".xlsx";
+ FileInfo info = new FileInfo(path);
+ long fileSize = info.Length;
+ System.Web.HttpContext.Current.Response.Clear();
+ System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
+ System.Web.HttpContext.Current.Response.TransmitFile(path, 0, fileSize);
+ System.Web.HttpContext.Current.Response.Flush();
+ System.Web.HttpContext.Current.Response.Close();
+ File.Delete(path);
+ }
+
+
+ #region 获取列表
+
+ ///
+ /// 记录数
+ ///
+ public static int count { get; set; }
+
+ public static List GetPHTGL_BidProjectQuantityByModle(PHTGL_BidProjectQuantity table)
+ {
+ var q = from x in Funs.DB.PHTGL_BidProjectQuantity
+ where
+ (string.IsNullOrEmpty(table.BidProjectQuantityId) ||
+ x.BidProjectQuantityId.Contains(table.BidProjectQuantityId)) &&
+ (string.IsNullOrEmpty(table.LotNumber) || x.LotNumber.Contains(table.LotNumber)) &&
+ (string.IsNullOrEmpty(table.BidProjectCode) ||
+ x.BidProjectCode.Contains(table.BidProjectCode)) &&
+ (string.IsNullOrEmpty(table.ProjectId) ||
+ x.ProjectId.Contains(table.ProjectId))
+ &&
+ (string.IsNullOrEmpty(table.CreatorId) ||
+ x.CreatorId.Contains(table.CreatorId))
+ select x
+ ;
+
+ return q.ToList();
+ }
+
+ /// 获取分页列表
+ ///
+ /// 页码
+ /// 每页数量
+ ///
+ public static IEnumerable getListData(PHTGL_BidProjectQuantity table, Grid Grid1)
+ {
+ var q = GetPHTGL_BidProjectQuantityByModle(table);
+ count = q.Count();
+ if (count == 0) return null;
+ q = q.Skip(Grid1.PageSize * Grid1.PageIndex).Take(Grid1.PageSize).ToList();
+ // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
+ return from x in q
+ select new
+ {
+ x.BidProjectQuantityId,
+ x.LotNumber,
+ x.BidProjectCode,
+ x.IsMainProject,
+ x.ProjectId,
+ x.CreatorId,
+ x.CreateDate
+ };
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/BLL/PHTGL/BillOfQuantities/PhtglMainprojectquantityService .cs b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglMainprojectquantityService .cs
new file mode 100644
index 00000000..66ddb486
--- /dev/null
+++ b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglMainprojectquantityService .cs
@@ -0,0 +1,119 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using FineUIPro;
+using Model;
+
+namespace BLL
+{
+ public static class PHTGL_MainProjectQuantityService
+ {
+ public static PHTGL_MainProjectQuantity GetPHTGL_MainProjectQuantityById(string MainProjectQuantityId)
+ {
+ return Funs.DB.PHTGL_MainProjectQuantity.FirstOrDefault(x =>
+ x.MainProjectQuantityId == MainProjectQuantityId);
+ }
+
+
+ public static void AddPHTGL_MainProjectQuantity(PHTGL_MainProjectQuantity newtable)
+ {
+ var table = new PHTGL_MainProjectQuantity
+ {
+ MainProjectQuantityId = newtable.MainProjectQuantityId,
+ MainProjectQuantityCode = newtable.MainProjectQuantityCode,
+ MainProjectQuantityName = newtable.MainProjectQuantityName,
+ QuantityId = newtable.QuantityId
+ };
+ Funs.DB.PHTGL_MainProjectQuantity.InsertOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+
+
+ public static void UpdatePHTGL_MainProjectQuantity(PHTGL_MainProjectQuantity newtable)
+ {
+ var table = Funs.DB.PHTGL_MainProjectQuantity.FirstOrDefault(x =>
+ x.MainProjectQuantityId == newtable.MainProjectQuantityId);
+ if (table != null)
+ {
+ table.MainProjectQuantityId = newtable.MainProjectQuantityId;
+ table.MainProjectQuantityCode = newtable.MainProjectQuantityCode;
+ table.MainProjectQuantityName = newtable.MainProjectQuantityName;
+ table.QuantityId = newtable.QuantityId;
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ public static void DeleteById(string MainProjectQuantityId)
+ {
+ var table = Funs.DB.PHTGL_MainProjectQuantity.FirstOrDefault(x =>
+ x.MainProjectQuantityId == MainProjectQuantityId);
+ if (table != null)
+ {
+ Funs.DB.PHTGL_MainProjectQuantity.DeleteOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ public static void DeleteByBidProjectQuantityId(string bidProjectQuantityId)
+ {
+ var table = Funs.DB.PHTGL_MainProjectQuantity.Where(x =>
+ x.QuantityId == bidProjectQuantityId);
+ if (table.Any())
+ {
+ foreach (var item in table)
+ PHTGL_QuantityService.DeletePHTGL_QuantityByParentId(item.MainProjectQuantityId);
+ Funs.DB.PHTGL_MainProjectQuantity.DeleteAllOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ #region 获取列表
+
+ ///
+ /// 记录数
+ ///
+ public static int count { get; set; }
+
+ public static List GetPHTGL_MainProjectQuantityByModle(
+ PHTGL_MainProjectQuantity table)
+ {
+ var q = from x in Funs.DB.PHTGL_MainProjectQuantity
+ where
+ (string.IsNullOrEmpty(table.MainProjectQuantityId) ||
+ x.MainProjectQuantityId.Contains(table.MainProjectQuantityId)) &&
+ (string.IsNullOrEmpty(table.MainProjectQuantityCode) ||
+ x.MainProjectQuantityCode.Contains(table.MainProjectQuantityCode)) &&
+ (string.IsNullOrEmpty(table.MainProjectQuantityName) ||
+ x.MainProjectQuantityName.Contains(table.MainProjectQuantityName)) &&
+ (string.IsNullOrEmpty(table.QuantityId) || x.QuantityId.Contains(table.QuantityId))
+ select x
+ ;
+
+ return q.ToList();
+ }
+
+ /// 获取分页列表
+ ///
+ /// 页码
+ /// 每页数量
+ ///
+ public static IEnumerable getListData(PHTGL_MainProjectQuantity table, Grid Grid1)
+ {
+ var q = GetPHTGL_MainProjectQuantityByModle(table);
+ count = q.Count();
+ if (count == 0) return null;
+ q = q.Skip(Grid1.PageSize * Grid1.PageIndex).Take(Grid1.PageSize).ToList();
+ // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
+ return from x in q
+ select new
+ {
+ x.MainProjectQuantityId,
+ x.MainProjectQuantityCode,
+ x.MainProjectQuantityName,
+ x.QuantityId
+ };
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/BLL/PHTGL/BillOfQuantities/PhtglQuantityService.cs b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglQuantityService.cs
new file mode 100644
index 00000000..1ca3d30d
--- /dev/null
+++ b/SGGL/BLL/PHTGL/BillOfQuantities/PhtglQuantityService.cs
@@ -0,0 +1,378 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using EmitMapper;
+using FineUIPro;
+using MiniExcelLibs;
+using MiniExcelLibs.Attributes;
+using Model;
+
+namespace BLL
+{
+ public static class PHTGL_QuantityService
+ {
+ public static PHTGL_Quantity GetPHTGL_QuantityById(string Id)
+ {
+ return Funs.DB.PHTGL_Quantity.FirstOrDefault(x => x.Id == Id);
+ }
+
+
+ public static void AddPHTGL_Quantity(PHTGL_Quantity newtable)
+ {
+ var table = new PHTGL_Quantity
+ {
+ Id = newtable.Id,
+ Major = newtable.Major,
+ SubProject = newtable.SubProject,
+ SubItemProject = newtable.SubItemProject,
+ ProjectCode = newtable.ProjectCode,
+ ProjectName = newtable.ProjectName,
+ ProjectDescription = newtable.ProjectDescription,
+ UnitOfMeasurement = newtable.UnitOfMeasurement,
+ Quantity = newtable.Quantity,
+ TotalCostFixedComprehensiveUnitPrice = newtable.TotalCostFixedComprehensiveUnitPrice,
+ MainMaterialCost = newtable.MainMaterialCost,
+ TotalPrice = newtable.TotalPrice,
+ CalculationRule = newtable.CalculationRule,
+ WorkContent = newtable.WorkContent,
+ Remarks = newtable.Remarks,
+ IsTemplate = newtable.IsTemplate,
+ ParentId = newtable.ParentId
+ };
+ Funs.DB.PHTGL_Quantity.InsertOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+ ///
+ /// 通过模板增加实体
+ ///
+ ///
+ ///
+ public static void AddPHTGL_QuantityByTemModel(PHTGL_Quantity newtable, string parentId)
+ {
+ var table = new PHTGL_Quantity
+ {
+ Id = SQLHelper.GetNewID(),
+ Major = newtable.Major,
+ SubProject = newtable.SubProject,
+ SubItemProject = newtable.SubItemProject,
+ ProjectCode = newtable.ProjectCode,
+ ProjectName = newtable.ProjectName,
+ ProjectDescription = newtable.ProjectDescription,
+ UnitOfMeasurement = newtable.UnitOfMeasurement,
+ Quantity = newtable.Quantity,
+ TotalCostFixedComprehensiveUnitPrice = newtable.TotalCostFixedComprehensiveUnitPrice,
+ MainMaterialCost = newtable.MainMaterialCost,
+ TotalPrice = newtable.TotalPrice,
+ CalculationRule = newtable.CalculationRule,
+ WorkContent = newtable.WorkContent,
+ Remarks = newtable.Remarks,
+ IsTemplate = false,
+ ParentId = parentId
+ };
+ Funs.DB.PHTGL_Quantity.InsertOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+
+ public static void UpdatePHTGL_Quantity(PHTGL_Quantity newtable)
+ {
+ var table = Funs.DB.PHTGL_Quantity.FirstOrDefault(x => x.Id == newtable.Id);
+ if (table != null)
+ {
+ table.Id = newtable.Id;
+ table.Major = newtable.Major;
+ table.SubProject = newtable.SubProject;
+ table.SubItemProject = newtable.SubItemProject;
+ table.ProjectCode = newtable.ProjectCode;
+ table.ProjectName = newtable.ProjectName;
+ table.ProjectDescription = newtable.ProjectDescription;
+ table.UnitOfMeasurement = newtable.UnitOfMeasurement;
+ table.Quantity = newtable.Quantity;
+ table.TotalCostFixedComprehensiveUnitPrice = newtable.TotalCostFixedComprehensiveUnitPrice;
+ table.MainMaterialCost = newtable.MainMaterialCost;
+ table.TotalPrice = newtable.TotalPrice;
+ table.CalculationRule = newtable.CalculationRule;
+ table.WorkContent = newtable.WorkContent;
+ table.Remarks = newtable.Remarks;
+ table.IsTemplate = newtable.IsTemplate;
+ table.ParentId = newtable.ParentId;
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ public static void DeletePHTGL_QuantityById(string Id)
+ {
+ var table = Funs.DB.PHTGL_Quantity.FirstOrDefault(x => x.Id == Id);
+ if (table != null)
+ {
+ Funs.DB.PHTGL_Quantity.DeleteOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ public static void DeletePHTGL_QuantityByParentId(string parentId)
+ {
+ var table = Funs.DB.PHTGL_Quantity.Where(x => x.ParentId == parentId);
+ if (table.Any())
+ {
+ Funs.DB.PHTGL_Quantity.DeleteAllOnSubmit(table);
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ ///
+ /// 导入数据
+ ///
+ /// 数据文件地址
+ /// 专业类型
+ ///
+ public static ResponeData ImportData(string path, string majortype)
+ {
+ var responeData = new ResponeData();
+ List rows;
+ try
+ {
+ rows = MiniExcel.Query(path).ToList();
+ }
+ catch (Exception e)
+ {
+ responeData.code = 0;
+ responeData.message = "模板错误";
+ return responeData;
+ }
+
+ var mapper =
+ ObjectMapperManager.DefaultInstance.GetMapper, List>();
+ var modeList = mapper.Map(rows);
+ if (modeList.Count == 0)
+ {
+ responeData.code = 0;
+ responeData.message = "没有数据";
+ return responeData;
+ }
+
+ foreach (var item in modeList)
+ {
+ item.Major = GetMajorItems().Where(x => x.Text == majortype).Select(x => x.Value).FirstOrDefault() ??
+ "";
+ if (string.IsNullOrEmpty(item.Major)) break;
+ var queryPhtglQuantity = new PHTGL_Quantity
+ {
+ Major = item.Major,
+ SubProject = item.SubProject,
+ SubItemProject = item.SubItemProject,
+ ProjectCode = item.ProjectCode,
+ IsTemplate = true
+ };
+ var resultModel = GetPHTGL_QuantityByModle(queryPhtglQuantity);
+ if (resultModel.Any())
+ {
+ item.Id = resultModel[0].Id;
+ UpdatePHTGL_Quantity(item);
+ }
+ else
+ {
+ item.Id = SQLHelper.GetNewID();
+ item.IsTemplate = true;
+ AddPHTGL_Quantity(item);
+ }
+ }
+
+ return responeData;
+ }
+
+ public static ResponeData ImportData(string path, string majortype, string mainProjectQuantityId)
+ {
+ var responeData = new ResponeData();
+ List rows;
+ try
+ {
+ rows = MiniExcel.Query(path).ToList();
+ }
+ catch (Exception e)
+ {
+ responeData.code = 0;
+ responeData.message = "模板错误";
+ return responeData;
+ }
+
+ var mapper =
+ ObjectMapperManager.DefaultInstance.GetMapper, List>();
+ var modeList = mapper.Map(rows);
+ if (modeList.Count == 0)
+ {
+ responeData.code = 0;
+ responeData.message = "没有数据";
+ return responeData;
+ }
+
+ foreach (var item in modeList)
+ {
+ if (!string.IsNullOrEmpty(majortype))
+ {
+ item.Major = GetMajorItems().Where(x => x.Text == majortype).Select(x => x.Value).FirstOrDefault() ??
+ "";
+ }
+ if (string.IsNullOrEmpty(item.Major)) break;
+ var queryPhtglQuantity = new PHTGL_Quantity
+ {
+ Major = item.Major,
+ SubProject = item.SubProject,
+ SubItemProject = item.SubItemProject,
+ ProjectCode = item.ProjectCode,
+ };
+ if (string.IsNullOrEmpty(mainProjectQuantityId))
+ {
+ queryPhtglQuantity.IsTemplate = true;
+ item.IsTemplate = true;
+ }
+ else
+ {
+ queryPhtglQuantity.IsTemplate = false;
+ queryPhtglQuantity.ParentId = mainProjectQuantityId;
+ item.ParentId = mainProjectQuantityId;
+ item.IsTemplate = false;
+ }
+
+ var resultModel = GetPHTGL_QuantityByModle(queryPhtglQuantity);
+ if (resultModel.Any())
+ {
+ item.Id = resultModel[0].Id;
+ UpdatePHTGL_Quantity(item);
+ }
+ else
+ {
+ item.Id = SQLHelper.GetNewID();
+ AddPHTGL_Quantity(item);
+ }
+ }
+
+ return responeData;
+ }
+
+
+ public static ListItem[] GetMajorItems()
+ {
+ var list = new ListItem[10];
+ list[0] = new ListItem("0", "土建工程");
+ list[1] = new ListItem("1", "钢结构预制工程");
+ list[2] = new ListItem("2", "工艺管道安装工程");
+ list[3] = new ListItem("3", "工艺设备安装工程");
+ list[4] = new ListItem("4", "非标设备现场制作安装工程");
+ list[5] = new ListItem("5", "电仪安装工程");
+ list[6] = new ListItem("6", "水暖安装工程");
+ list[7] = new ListItem("7", "防腐绝热工程");
+ list[8] = new ListItem("8", "无损检测工程");
+ list[9] = new ListItem("9", "消防工程");
+
+ return list;
+ }
+
+ #region 获取列表
+
+ ///
+ /// 记录数
+ ///
+ public static int count { get; set; }
+
+ public static List GetPHTGL_QuantityByModle(PHTGL_Quantity table)
+ {
+ var q = from x in Funs.DB.PHTGL_Quantity
+ where
+ (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
+ (string.IsNullOrEmpty(table.Major) || x.Major.Contains(table.Major)) &&
+ (string.IsNullOrEmpty(table.SubProject) || x.SubProject.Contains(table.SubProject)) &&
+ (string.IsNullOrEmpty(table.SubItemProject) ||
+ x.SubItemProject.Contains(table.SubItemProject)) &&
+ (string.IsNullOrEmpty(table.ProjectCode) || x.ProjectCode.Contains(table.ProjectCode)) &&
+ (string.IsNullOrEmpty(table.ProjectName) || x.ProjectName.Contains(table.ProjectName)) &&
+ (string.IsNullOrEmpty(table.ProjectDescription) ||
+ x.ProjectDescription.Contains(table.ProjectDescription)) &&
+ (string.IsNullOrEmpty(table.UnitOfMeasurement) ||
+ x.UnitOfMeasurement.Contains(table.UnitOfMeasurement)) &&
+ (string.IsNullOrEmpty(table.Quantity) || x.Quantity.Contains(table.Quantity)) &&
+ (string.IsNullOrEmpty(table.TotalCostFixedComprehensiveUnitPrice) ||
+ x.TotalCostFixedComprehensiveUnitPrice.Contains(table.TotalCostFixedComprehensiveUnitPrice)) &&
+ (string.IsNullOrEmpty(table.MainMaterialCost) ||
+ x.MainMaterialCost.Contains(table.MainMaterialCost)) &&
+ (string.IsNullOrEmpty(table.TotalPrice) || x.TotalPrice.Contains(table.TotalPrice)) &&
+ (string.IsNullOrEmpty(table.CalculationRule) ||
+ x.CalculationRule.Contains(table.CalculationRule)) &&
+ (string.IsNullOrEmpty(table.WorkContent) || x.WorkContent.Contains(table.WorkContent)) &&
+ (string.IsNullOrEmpty(table.Remarks) || x.Remarks.Contains(table.Remarks)) &&
+ x.IsTemplate == table.IsTemplate &&
+ (string.IsNullOrEmpty(table.ParentId) || x.ParentId.Contains(table.ParentId))
+ select x
+ ;
+
+ return q.ToList();
+ }
+
+ /// 获取分页列表
+ ///
+ /// 页码
+ /// 每页数量
+ ///
+ public static IEnumerable getListData(PHTGL_Quantity table, Grid Grid1)
+ {
+ var q = GetPHTGL_QuantityByModle(table);
+ count = q.Count();
+ if (count == 0) return null;
+ q = q.Skip(Grid1.PageSize * Grid1.PageIndex).Take(Grid1.PageSize).ToList();
+ // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
+ return from x in q
+ select new
+ {
+ x.Id,
+ x.Major,
+ x.SubProject,
+ x.SubItemProject,
+ x.ProjectCode,
+ x.ProjectName,
+ x.ProjectDescription,
+ x.UnitOfMeasurement,
+ x.Quantity,
+ x.TotalCostFixedComprehensiveUnitPrice,
+ x.MainMaterialCost,
+ x.TotalPrice,
+ x.CalculationRule,
+ x.WorkContent,
+ x.Remarks,
+ x.IsTemplate,
+ x.ParentId
+ };
+ }
+
+ #endregion
+ }
+
+ public class PHTGL_QuantityDtoIn
+ {
+ [ExcelColumnIndex("A")] public string Major { get; set; }
+ [ExcelColumnIndex("B")] public string SubProject { get; set; }
+
+ [ExcelColumnIndex("C")] public string SubItemProject { get; set; }
+
+ [ExcelColumnIndex("D")] public string ProjectCode { get; set; }
+
+ [ExcelColumnIndex("E")] public string ProjectName { get; set; }
+
+ [ExcelColumnIndex("F")] public string ProjectDescription { get; set; }
+
+ [ExcelColumnIndex("G")] public string UnitOfMeasurement { get; set; }
+
+ [ExcelColumnIndex("H")] public string Quantity { get; set; }
+
+ [ExcelColumnIndex("I")] public string TotalCostFixedComprehensiveUnitPrice { get; set; }
+
+ [ExcelColumnIndex("J")] public string MainMaterialCost { get; set; }
+
+ [ExcelColumnIndex("K")] public string TotalPrice { get; set; }
+
+ [ExcelColumnIndex("L")] public string CalculationRule { get; set; }
+
+ [ExcelColumnIndex("M")] public string WorkContent { get; set; }
+
+ [ExcelColumnIndex("N")] public string Remarks { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/工程量清单模板.xlsx b/SGGL/FineUIPro.Web/File/Excel/DataIn/工程量清单模板.xlsx
new file mode 100644
index 00000000..abeabc8a
Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/DataIn/工程量清单模板.xlsx differ
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 1f77271b..327095bf 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -107,6 +107,10 @@
..\FineUIPro\Reference BLL\Interop.WIA.dll
+
+ ..\packages\Microsoft.Office.Interop.Excel.15.0.4795.1001\lib\net20\Microsoft.Office.Interop.Excel.dll
+ True
+
False
@@ -1206,6 +1210,13 @@
+
+
+
+
+
+
+
@@ -7666,6 +7677,7 @@
Defect.aspx
+ ASPXCodeBehind
Defect.aspx
@@ -12012,6 +12024,55 @@
SetSubReviewEdit2.aspx
+
+ BidProjectQuantityEdit.aspx
+ ASPXCodeBehind
+
+
+ BidProjectQuantityEdit.aspx
+
+
+ BidProjectQuantityList.aspx
+ ASPXCodeBehind
+
+
+ BidProjectQuantityList.aspx
+
+
+ MainProjectQuantityEdit.aspx
+ ASPXCodeBehind
+
+
+ MainProjectQuantityEdit.aspx
+
+
+ PHTGL_QuantityEdit.aspx
+ ASPXCodeBehind
+
+
+ PHTGL_QuantityEdit.aspx
+
+
+ TemQuantityIn.aspx
+ ASPXCodeBehind
+
+
+ TemQuantityIn.aspx
+
+
+ TemQuantityList.aspx
+ ASPXCodeBehind
+
+
+ TemQuantityList.aspx
+
+
+ TemQuantitySelect.aspx
+ ASPXCodeBehind
+
+
+ TemQuantitySelect.aspx
+
AttachUrl1.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx
new file mode 100644
index 00000000..641b3913
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx
@@ -0,0 +1,120 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BidProjectQuantityEdit.aspx.cs" Inherits="FineUIPro.Web.PHTGL.BillOfQuantities.BidProjectQuantityEdit" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx.cs
new file mode 100644
index 00000000..3c6c6c07
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx.cs
@@ -0,0 +1,192 @@
+using System;
+using System.Linq;
+using BLL;
+using Model;
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+ public partial class BidProjectQuantityEdit : PageBase
+ {
+ #region
+
+ ///
+ /// 主键
+ ///
+ public string BidProjectQuantityId
+ {
+ get => (string)ViewState["BidProjectQuantityId"];
+ set => ViewState["BidProjectQuantityId"] = value;
+ }
+
+ #endregion
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ btnClose.OnClientClick = ActiveWindow.GetHideReference();
+ ////权限按钮方法
+ GetButtonPower();
+ BidProjectQuantityId = Request.Params["BidProjectQuantityId"];
+ if (!string.IsNullOrEmpty(BidProjectQuantityId))
+ {
+ var model = PHTGL_BidProjectQuantityService.GetPHTGL_BidProjectQuantityById(BidProjectQuantityId);
+ if (model != null)
+ {
+ txtLotNumber.Text = model.LotNumber;
+ txtBidProjectCode.Text = model.BidProjectCode;
+ // this.txtIsMainProject.Text = model.IsMainProject;
+ //this.txtMainProjectQuantityId.Text = model.MainProjectQuantityId;
+ }
+
+ // 绑定表格
+ BindGrid();
+ }
+ }
+ }
+
+ private void BindGrid()
+ {
+ var table = new PHTGL_MainProjectQuantity();
+ table.QuantityId = BidProjectQuantityId;
+ var tb = PHTGL_MainProjectQuantityService.GetPHTGL_MainProjectQuantityByModle(table);
+ Grid1.RecordCount = PHTGL_MainProjectQuantityService.count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ Grid1.DataSource = tb;
+ Grid1.DataBind();
+ }
+
+ ///
+ /// 保存按钮
+ ///
+ ///
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ Save();
+ PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
+ }
+
+ #region 获取按钮权限
+
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ var buttonList = CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.PersonId,
+ Const.PHTGL_BidProjectQuantityMenuId);
+ if (buttonList.Count() > 0)
+ if (buttonList.Contains(Const.BtnSave))
+ btnSave.Hidden = false;
+ }
+
+ #endregion
+
+
+ private void Save()
+ {
+ var bidProjectQuantity = new PHTGL_BidProjectQuantity();
+ if (string.IsNullOrEmpty(BidProjectQuantityId))
+ {
+ bidProjectQuantity.BidProjectCode = txtBidProjectCode.Text.Trim();
+ bidProjectQuantity.LotNumber = txtLotNumber.Text.Trim();
+ bidProjectQuantity.BidProjectQuantityId = SQLHelper.GetNewID();
+ bidProjectQuantity.ProjectId = CurrUser.LoginProjectId;
+ bidProjectQuantity.CreatorId = CurrUser.PersonId;
+ bidProjectQuantity.CreateDate = DateTime.Now;
+ BidProjectQuantityId = bidProjectQuantity.BidProjectQuantityId;
+ PHTGL_BidProjectQuantityService.AddPHTGL_BidProjectQuantity(bidProjectQuantity);
+ }
+ else
+ {
+ bidProjectQuantity =
+ PHTGL_BidProjectQuantityService.GetPHTGL_BidProjectQuantityById(BidProjectQuantityId);
+ bidProjectQuantity.BidProjectCode = txtBidProjectCode.Text.Trim();
+ bidProjectQuantity.LotNumber = txtLotNumber.Text.Trim();
+ bidProjectQuantity.ProjectId = CurrUser.LoginProjectId;
+ bidProjectQuantity.CreatorId = CurrUser.PersonId;
+ bidProjectQuantity.CreateDate = DateTime.Now;
+ PHTGL_BidProjectQuantityService.UpdatePHTGL_BidProjectQuantity(bidProjectQuantity);
+ }
+ }
+
+ ///
+ /// 编辑按钮
+ ///
+ ///
+ ///
+ protected void btnEdit_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var ID = Grid1.SelectedRowID;
+ var model = PHTGL_MainProjectQuantityService.GetPHTGL_MainProjectQuantityById(ID);
+ if (model != null)
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference(string.Format(
+ "MainProjectQuantityEdit.aspx?BidProjectQuantityId={0}&MainProjectQuantityId={1}",
+ BidProjectQuantityId, ID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnEdit_Click(null, null);
+ }
+
+ ///
+ /// 批量删除
+ ///
+ ///
+ ///
+ protected void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (var rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ var rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var model = PHTGL_MainProjectQuantityService.GetPHTGL_MainProjectQuantityById(rowID);
+ if (model != null) PHTGL_MainProjectQuantityService.DeleteById(rowID);
+ PHTGL_QuantityService.DeletePHTGL_QuantityByParentId(rowID); //删除主项对于工作量清单
+ }
+
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ #region 关闭弹出窗
+
+ ///
+ /// 关闭弹出窗
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ Save();
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference(string.Format("MainProjectQuantityEdit.aspx?BidProjectQuantityId={0}",
+ BidProjectQuantityId, "编辑 - ")));
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx.designer.cs
new file mode 100644
index 00000000..4fcdfb24
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityEdit.aspx.designer.cs
@@ -0,0 +1,206 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+
+
+ public partial class BidProjectQuantityEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel5 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel5;
+
+ ///
+ /// Form4 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form4;
+
+ ///
+ /// txtLotNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtLotNumber;
+
+ ///
+ /// txtBidProjectCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtBidProjectCode;
+
+ ///
+ /// txtIsMainProject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtIsMainProject;
+
+ ///
+ /// Panel6 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel6;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar3;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// btnEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnEdit;
+
+ ///
+ /// btnDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDelete;
+
+ ///
+ /// lblNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblNumber;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// btnClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnClose;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuEdit;
+
+ ///
+ /// btnMenuDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDelete;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx
new file mode 100644
index 00000000..f80bbd98
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx
@@ -0,0 +1,124 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BidProjectQuantityList.aspx.cs" Inherits="FineUIPro.Web.PHTGL.BillOfQuantities.BidProjectQuantityList" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx.cs
new file mode 100644
index 00000000..9ed04807
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx.cs
@@ -0,0 +1,222 @@
+using System;
+using BLL;
+using Model;
+using AspNet = System.Web.UI.WebControls;
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+ public partial class BidProjectQuantityList : PageBase
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
+ // 绑定表格
+ BindGrid();
+ }
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 绑定数据
+ ///
+ private void BindGrid()
+ {
+ var table = new PHTGL_BidProjectQuantity();
+ var tb = PHTGL_BidProjectQuantityService.getListData(table, Grid1);
+ Grid1.RecordCount = PHTGL_BidProjectQuantityService.count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ Grid1.DataSource = tb;
+ Grid1.DataBind();
+ }
+
+ #endregion
+
+ #region 关闭弹出窗
+
+ ///
+ /// 关闭弹出窗
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 获取权限按钮
+
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ var buttonList = CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.PersonId,
+ Const.PHTGL_BidProjectQuantityMenuId);
+ if (buttonList.Count > 0)
+ {
+ if (buttonList.Contains(Const.BtnAdd)) btnNew.Hidden = false;
+ if (buttonList.Contains(Const.BtnModify))
+ {
+ btnMenuEdit.Hidden = false;
+ btnEdit.Hidden = false;
+ }
+
+ if (buttonList.Contains(Const.BtnDelete))
+ {
+ btnMenuDelete.Hidden = false;
+ btnDelete.Hidden = false;
+ }
+ }
+ }
+
+ #endregion
+
+ #region 导出按钮
+
+ /// 导出按钮
+ ///
+ ///
+ ///
+ protected void btnOut_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var ID = Grid1.SelectedRowID;
+ var model = PHTGL_BidProjectQuantityService.GetPHTGL_BidProjectQuantityById(ID);
+ if (model != null) PHTGL_BidProjectQuantityService.ExportById(ID);
+ }
+
+ #endregion
+
+ #region GV 数据操作
+
+ ///
+ /// 过滤表头
+ ///
+ ///
+ ///
+ //protected void Grid1_FilterChange(object sender, EventArgs e)
+ //{
+ // this.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();
+ }
+
+ #endregion
+
+ #region 数据编辑事件
+
+ ///
+ /// 新增
+ ///
+ ///
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(
+ string.Format("BidProjectQuantityEdit.aspx?BidProjectQuantityId={0}", string.Empty, "增加 - ")));
+ }
+
+ ///
+ /// 编辑按钮
+ ///
+ ///
+ ///
+ protected void btnEdit_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var ID = Grid1.SelectedRowID;
+ var model = PHTGL_BidProjectQuantityService.GetPHTGL_BidProjectQuantityById(ID);
+ if (model != null) ///已上报时不能删除
+ PageContext.RegisterStartupScript(Window1.GetShowReference(
+ string.Format("BidProjectQuantityEdit.aspx?BidProjectQuantityId={0}", ID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnEdit_Click(null, null);
+ }
+
+ ///
+ /// 批量删除
+ ///
+ ///
+ ///
+ protected void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (var rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ var rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var model = PHTGL_BidProjectQuantityService.GetPHTGL_BidProjectQuantityById(rowID);
+ if (model != null)
+ {
+ PHTGL_MainProjectQuantityService.DeleteByBidProjectQuantityId(rowID);
+
+ PHTGL_BidProjectQuantityService.DeletePHTGL_BidProjectQuantityById(rowID);
+ }
+ }
+
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx.designer.cs
new file mode 100644
index 00000000..15310784
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/BidProjectQuantityList.aspx.designer.cs
@@ -0,0 +1,170 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+
+
+ public partial class BidProjectQuantityList
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// btnEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnEdit;
+
+ ///
+ /// btnDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDelete;
+
+ ///
+ /// btnOut 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnOut;
+
+ ///
+ /// lblNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblNumber;
+
+ ///
+ /// 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;
+
+ ///
+ /// btnMenuEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuEdit;
+
+ ///
+ /// btnMenuDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDelete;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx
new file mode 100644
index 00000000..6801ee95
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx
@@ -0,0 +1,163 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MainProjectQuantityEdit.aspx.cs" Inherits="FineUIPro.Web.PHTGL.BillOfQuantities.MainProjectQuantityEdit" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx.cs
new file mode 100644
index 00000000..84270712
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx.cs
@@ -0,0 +1,150 @@
+using System;
+using BLL;
+using Model;
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+ public partial class MainProjectQuantityEdit : PageBase
+ {
+ public string BidProjectQuantityId
+ {
+ get => (string)ViewState["BidProjectQuantityId"];
+ set => ViewState["BidProjectQuantityId"] = value;
+ }
+
+ public string MainProjectQuantityId
+ {
+ get => (string)ViewState["MainProjectQuantityId"];
+ set => ViewState["MainProjectQuantityId"] = value;
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ btnClose.OnClientClick = ActiveWindow.GetHideReference();
+
+ BidProjectQuantityId = Request.Params["BidProjectQuantityId"];
+ MainProjectQuantityId = Request.Params["MainProjectQuantityId"];
+ if (!string.IsNullOrEmpty(MainProjectQuantityId))
+ {
+ var model = PHTGL_MainProjectQuantityService
+ .GetPHTGL_MainProjectQuantityById(MainProjectQuantityId);
+ if (model != null)
+ {
+ txtMainProjectQuantityCode.Text = model.MainProjectQuantityCode;
+ txtMainProjectQuantityName.Text = model.MainProjectQuantityName;
+ }
+
+ // 绑定表格
+ BindGrid();
+ }
+ }
+ }
+
+ private void Save()
+ {
+ var mainProjectQuantity = new PHTGL_MainProjectQuantity();
+ if (string.IsNullOrEmpty(MainProjectQuantityId))
+ {
+ mainProjectQuantity.MainProjectQuantityCode = txtMainProjectQuantityCode.Text.Trim();
+ mainProjectQuantity.MainProjectQuantityName = txtMainProjectQuantityName.Text.Trim();
+ mainProjectQuantity.MainProjectQuantityId = SQLHelper.GetNewID();
+ mainProjectQuantity.QuantityId = BidProjectQuantityId;
+ MainProjectQuantityId = mainProjectQuantity.MainProjectQuantityId;
+ PHTGL_MainProjectQuantityService.AddPHTGL_MainProjectQuantity(mainProjectQuantity);
+ }
+ else
+ {
+ mainProjectQuantity =
+ PHTGL_MainProjectQuantityService.GetPHTGL_MainProjectQuantityById(MainProjectQuantityId);
+ mainProjectQuantity.MainProjectQuantityCode = txtMainProjectQuantityCode.Text.Trim();
+ mainProjectQuantity.MainProjectQuantityName = txtMainProjectQuantityName.Text.Trim();
+ PHTGL_MainProjectQuantityService.UpdatePHTGL_MainProjectQuantity(mainProjectQuantity);
+ }
+ }
+
+ private void BindGrid()
+ {
+ var table = new PHTGL_Quantity();
+ table.IsTemplate = false;
+ table.ParentId = MainProjectQuantityId;
+ var tb = PHTGL_QuantityService.GetPHTGL_QuantityByModle(table);
+ Grid1.RecordCount = PHTGL_QuantityService.count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ Grid1.DataSource = tb;
+ Grid1.DataBind();
+ }
+
+ protected void btnSelect_Click(object sender, EventArgs e)
+ {
+ Save();
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference(string.Format("TemQuantitySelect.aspx?MainProjectQuantityId={0}", MainProjectQuantityId,
+ "编辑 - ")));
+ }
+
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnEdit_Click(null, null);
+ }
+
+ protected void btnEdit_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var ID = Grid1.SelectedRowID;
+ var model = PHTGL_QuantityService.GetPHTGL_QuantityById(ID);
+ if (model != null)
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference(string.Format("PHTGL_QuantityEdit.aspx?Id={0}", ID, "编辑 - ")));
+ }
+
+ protected void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (var rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ var rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var model = PHTGL_QuantityService.GetPHTGL_QuantityById(rowID);
+ if (model != null) PHTGL_QuantityService.DeletePHTGL_QuantityById(rowID);
+ }
+
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ Save();
+ PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
+ }
+
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ protected void btnOut_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(MainProjectQuantityId))
+ {
+ return;
+ }
+ PHTGL_BidProjectQuantityService.ExportByMainProjectQuantityId(MainProjectQuantityId);
+ }
+
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ Save();
+ PageContext.RegisterStartupScript(
+ Window2.GetShowReference(string.Format("TemQuantityIn.aspx?MainProjectQuantityId={0}", MainProjectQuantityId, "导入 - ")));
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx.designer.cs
new file mode 100644
index 00000000..cd80af25
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/MainProjectQuantityEdit.aspx.designer.cs
@@ -0,0 +1,224 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+
+
+ public partial class MainProjectQuantityEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel5 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel5;
+
+ ///
+ /// Form4 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form Form4;
+
+ ///
+ /// txtMainProjectQuantityCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtMainProjectQuantityCode;
+
+ ///
+ /// txtMainProjectQuantityName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtMainProjectQuantityName;
+
+ ///
+ /// Panel6 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel6;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar3;
+
+ ///
+ /// btnSelect 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSelect;
+
+ ///
+ /// btnOut 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnOut;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnEdit;
+
+ ///
+ /// btnDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDelete;
+
+ ///
+ /// lblNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblNumber;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// btnClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnClose;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window2;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuEdit;
+
+ ///
+ /// btnMenuDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDelete;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx
new file mode 100644
index 00000000..ebd6e1ae
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx
@@ -0,0 +1,116 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PHTGL_QuantityEdit.aspx.cs" Inherits="FineUIPro.Web.PHTGL.BillOfQuantities.PHTGL_QuantityEdit" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx.cs
new file mode 100644
index 00000000..89def787
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx.cs
@@ -0,0 +1,126 @@
+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.PHTGL.BillOfQuantities
+{
+ public partial class PHTGL_QuantityEdit : PageBase
+ {
+ #region
+ ///
+ /// 主键
+ ///
+ public string Id
+ {
+ get
+ {
+ return (string)ViewState["Id"];
+ }
+ set
+ {
+ ViewState["Id"] = value;
+ }
+ }
+ public string Type
+ {
+ get { return (string)ViewState["Type"]; }
+ set { ViewState["Type"] = value; }
+ }
+
+ #endregion
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
+ ////权限按钮方法
+ // this.GetButtonPower();
+ this.Id = Request.Params["Id"];
+ this.Type = Request.Params["Type"];
+ if (!string.IsNullOrEmpty(this.Id))
+ {
+ Model.PHTGL_Quantity model = BLL.PHTGL_QuantityService.GetPHTGL_QuantityById(this.Id);
+ if (model != null)
+ {
+ this.txtMajor.Text = model.Major;
+ this.txtSubProject.Text = model.SubProject;
+ this.txtSubItemProject.Text = model.SubItemProject;
+ this.txtProjectCode.Text = model.ProjectCode;
+ this.txtProjectName.Text = model.ProjectName;
+ this.txtProjectDescription.Text = model.ProjectDescription;
+ this.txtUnitOfMeasurement.Text = model.UnitOfMeasurement;
+ this.txtQuantity.Text = model.Quantity;
+ this.txtTotalCostFixedComprehensiveUnitPrice.Text = model.TotalCostFixedComprehensiveUnitPrice;
+ this.txtMainMaterialCost.Text = model.MainMaterialCost;
+ this.txtTotalPrice.Text = model.TotalPrice;
+ this.txtCalculationRule.Text = model.CalculationRule;
+ this.txtWorkContent.Text = model.WorkContent;
+ this.txtRemarks.Text = model.Remarks;
+
+ }
+ }
+ else
+ {
+ this.txtMajor.Text = BLL.PHTGL_QuantityService.GetMajorItems().Where(x => x.Text == Type).Select(x => x.Value).FirstOrDefault() ?? "";
+ }
+ }
+ }
+
+ ///
+ /// 保存按钮
+ ///
+ ///
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+
+ if (string.IsNullOrEmpty(this.Id))
+ {
+ Model.PHTGL_Quantity table = new Model.PHTGL_Quantity();
+ table.Major = this.txtMajor.Text;
+ table.SubProject = this.txtSubProject.Text;
+ table.SubItemProject = this.txtSubItemProject.Text;
+ table.ProjectCode = this.txtProjectCode.Text;
+ table.ProjectName = this.txtProjectName.Text;
+ table.ProjectDescription = this.txtProjectDescription.Text;
+ table.UnitOfMeasurement = this.txtUnitOfMeasurement.Text;
+ table.Quantity = this.txtQuantity.Text;
+ table.TotalCostFixedComprehensiveUnitPrice = this.txtTotalCostFixedComprehensiveUnitPrice.Text;
+ table.MainMaterialCost = this.txtMainMaterialCost.Text;
+ table.TotalPrice = this.txtTotalPrice.Text;
+ table.CalculationRule = this.txtCalculationRule.Text;
+ table.WorkContent = this.txtWorkContent.Text;
+ table.Remarks = this.txtRemarks.Text;
+ table.Id = SQLHelper.GetNewID(typeof(Model.PHTGL_Quantity));
+ table.IsTemplate=true;
+ BLL.PHTGL_QuantityService.AddPHTGL_Quantity(table);
+
+ }
+ else
+ {
+ var table = PHTGL_QuantityService.GetPHTGL_QuantityById(Id);
+ table.Major = this.txtMajor.Text;
+ table.SubProject = this.txtSubProject.Text;
+ table.SubItemProject = this.txtSubItemProject.Text;
+ table.ProjectCode = this.txtProjectCode.Text;
+ table.ProjectName = this.txtProjectName.Text;
+ table.ProjectDescription = this.txtProjectDescription.Text;
+ table.UnitOfMeasurement = this.txtUnitOfMeasurement.Text;
+ table.Quantity = this.txtQuantity.Text;
+ table.TotalCostFixedComprehensiveUnitPrice = this.txtTotalCostFixedComprehensiveUnitPrice.Text;
+ table.MainMaterialCost = this.txtMainMaterialCost.Text;
+ table.TotalPrice = this.txtTotalPrice.Text;
+ table.CalculationRule = this.txtCalculationRule.Text;
+ table.WorkContent = this.txtWorkContent.Text;
+ table.Remarks = this.txtRemarks.Text;
+ BLL.PHTGL_QuantityService.UpdatePHTGL_Quantity(table);
+ }
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx.designer.cs
new file mode 100644
index 00000000..81a34910
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/PHTGL_QuantityEdit.aspx.designer.cs
@@ -0,0 +1,206 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+
+
+ public partial class PHTGL_QuantityEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// txtMajor 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtMajor;
+
+ ///
+ /// txtSubProject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSubProject;
+
+ ///
+ /// txtSubItemProject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSubItemProject;
+
+ ///
+ /// txtProjectCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectCode;
+
+ ///
+ /// txtProjectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectName;
+
+ ///
+ /// txtProjectDescription 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectDescription;
+
+ ///
+ /// txtUnitOfMeasurement 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtUnitOfMeasurement;
+
+ ///
+ /// txtQuantity 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtQuantity;
+
+ ///
+ /// txtTotalCostFixedComprehensiveUnitPrice 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtTotalCostFixedComprehensiveUnitPrice;
+
+ ///
+ /// txtMainMaterialCost 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtMainMaterialCost;
+
+ ///
+ /// txtTotalPrice 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtTotalPrice;
+
+ ///
+ /// txtCalculationRule 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtCalculationRule;
+
+ ///
+ /// txtWorkContent 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtWorkContent;
+
+ ///
+ /// txtRemarks 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtRemarks;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// btnClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnClose;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx
new file mode 100644
index 00000000..883d24a9
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx
@@ -0,0 +1,35 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TemQuantityIn.aspx.cs" Inherits="FineUIPro.Web.PHTGL.BillOfQuantities.TemQuantityIn" %>
+
+
+
+
+
+
+ 导入工程量清单
+
+
+
+
+
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx.cs
new file mode 100644
index 00000000..5651b9b7
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx.cs
@@ -0,0 +1,165 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Web;
+using BLL;
+using MiniExcelLibs;
+using Model;
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+ public partial class TemQuantityIn : PageBase
+ {
+ #region 加载
+
+ public string MainProjectQuantityId {
+ get
+ {
+ return (string)ViewState["MainProjectQuantityId"];
+
+ }
+ set
+ {
+ ViewState["MainProjectQuantityId"]=value;
+ }
+ }
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ MainProjectQuantityId = Request.Params["MainProjectQuantityId"];
+
+ }
+ }
+
+ #endregion
+
+ #region 导入
+
+ ///
+ /// 导入
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ var message = string.Empty;
+ errorInfos = string.Empty;
+ if (fuAttachUrl.HasFile == false)
+ {
+ ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var IsXls = Path.GetExtension(fuAttachUrl.FileName).Trim().ToLower();
+ if (IsXls != ".xlsx")
+ {
+ ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (!string.IsNullOrEmpty(errorInfos)) errorInfos = string.Empty;
+ var rootPath = Server.MapPath("~/");
+ var initFullPath = rootPath + initPath;
+ if (!Directory.Exists(initFullPath)) Directory.CreateDirectory(initFullPath);
+ //指定上传文件名称
+ hdFileName.Text = Funs.GetNewFileName() + IsXls;
+ //上传文件路径
+ var filePath = initFullPath + hdFileName.Text;
+ //文件上传服务器
+ fuAttachUrl.PostedFile.SaveAs(filePath);
+ //文件上传服务器后的名称
+ var fileName = rootPath + initPath + hdFileName.Text;
+
+ ResponeData responeData=new ResponeData() ;
+ if (string.IsNullOrEmpty(MainProjectQuantityId))
+ {
+ responeData = PHTGL_QuantityService.ImportData(fileName, Request.Params["Type"]);
+
+ }
+ else
+ {
+ responeData = PHTGL_QuantityService.ImportData(fileName, "",MainProjectQuantityId);
+
+ }
+
+ if (responeData.code==1)
+ {
+ ShowNotify("数据导入成功!", MessageBoxIcon.Success);
+
+ }
+ else
+ {
+ ShowNotify(responeData.message, MessageBoxIcon.Error);
+
+
+ }
+
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+
+ #endregion
+
+ #region 定义项
+
+ ///
+ /// 上传预设的虚拟路径
+ ///
+ private readonly string initPath = Const.ExcelUrl; //"File\\Excel\\DataIn\\";
+
+ ///
+ /// 错误集合
+ ///
+ public static string errorInfos = string.Empty;
+
+ #endregion
+
+ #region 模板下载
+
+ ///
+ /// 模板下载
+ ///
+ ///
+ ///
+ 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 PageManager1_CustomEvent(object sender, CustomEventArgs e)
+ {
+ if (e.EventArgument == "Confirm_OK")
+ {
+ var rootPath = Server.MapPath("~/");
+ var uploadfilepath = rootPath + Const.TemQuantityTemplateUrl;
+ var filePath = Const.TemQuantityTemplateUrl;
+ var fileName = Path.GetFileName(filePath);
+ var info = new FileInfo(uploadfilepath);
+ var fileSize = info.Length;
+ Response.ClearContent();
+ Response.AddHeader("Content-Disposition",
+ "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8));
+ Response.ContentType = "excel/plain";
+ Response.ContentEncoding = Encoding.UTF8;
+ Response.AddHeader("Content-Length", fileSize.ToString().Trim());
+ Response.TransmitFile(uploadfilepath, 0, fileSize);
+ Response.End();
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx.designer.cs
new file mode 100644
index 00000000..8d313928
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityIn.aspx.designer.cs
@@ -0,0 +1,98 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+
+
+ public partial class TemQuantityIn
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnDownLoad 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnDownLoad;
+
+ ///
+ /// fuAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.FileUpload fuAttachUrl;
+
+ ///
+ /// hdFileName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdFileName;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx
new file mode 100644
index 00000000..3d6a3813
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx
@@ -0,0 +1,165 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TemQuantityList.aspx.cs" Inherits="FineUIPro.Web.PHTGL.BillOfQuantities.TemQuantityList" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx.cs
new file mode 100644
index 00000000..d150dde6
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx.cs
@@ -0,0 +1,300 @@
+using System;
+using System.Linq;
+using System.Text;
+using System.Web;
+using BLL;
+using Model;
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+ public partial class TemQuantityList : PageBase
+ {
+ public string Type
+ {
+ get => (string)ViewState["Type"];
+ set => ViewState["Type"] = value;
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ Type = Request.Params["Type"];
+ GetButtonPower();
+ ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
+ // 绑定表格
+ BindGrid();
+ }
+ }
+
+ #region 绑定数据
+
+ ///
+ /// 绑定数据
+ ///
+ private void BindGrid()
+ {
+ var table = new PHTGL_Quantity();
+ table.Major = BLL.PHTGL_QuantityService.GetMajorItems().Where(x => x.Text == Type).Select(x => x.Value).FirstOrDefault() ?? "";
+ table.SubProject = txtSubProject.Text.Trim() ?? "";
+ table.SubItemProject = txtSubItemProject.Text.Trim() ?? "";
+ table.ProjectCode = txtProjectCode.Text.Trim() ?? "";
+ table.ProjectName = txtProjectName.Text.Trim() ?? "";
+ table.IsTemplate = true;
+ var tb = PHTGL_QuantityService.getListData(table, Grid1);
+ Grid1.RecordCount = PHTGL_QuantityService.count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ Grid1.DataSource = tb;
+ Grid1.DataBind();
+ }
+
+ #endregion
+
+ #region 关闭弹出窗
+
+ ///
+ /// 关闭弹出窗
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+
+ #endregion
+
+ #region 获取权限按钮
+
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ var menuid = "";
+ switch (Type)
+ {
+ case "0":
+ menuid = Const.TemQuantityListMenuId0;
+ break;
+ case "1":
+ menuid = Const.TemQuantityListMenuId1;
+ break;
+ case "2":
+ menuid = Const.TemQuantityListMenuId2;
+ break;
+ case "3":
+ menuid = Const.TemQuantityListMenuId3;
+ break;
+ case "4":
+ menuid = Const.TemQuantityListMenuId4;
+ break;
+ case "5":
+ menuid = Const.TemQuantityListMenuId5;
+ break;
+ case "6":
+ menuid = Const.TemQuantityListMenuId6;
+ break;
+ case "7":
+ menuid = Const.TemQuantityListMenuId7;
+ break;
+ case "8":
+ menuid = Const.TemQuantityListMenuId8;
+ break;
+ case "9":
+ menuid = Const.TemQuantityListMenuId9;
+ break;
+ }
+
+ var buttonList = CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.PersonId, menuid);
+ if (buttonList.Count > 0)
+ {
+ if (buttonList.Contains(Const.BtnAdd)) btnNew.Hidden = false;
+ if (buttonList.Contains(Const.BtnModify)) btnMenuEdit.Hidden = false;
+ if (buttonList.Contains(Const.BtnDelete)) btnMenuDelete.Hidden = false;
+ }
+ }
+
+ #endregion
+
+ #region 导入
+
+ ///
+ /// 导入按钮
+ ///
+ ///
+ ///
+ protected void btnImport_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(
+ Window2.GetShowReference(string.Format("TemQuantityIn.aspx?Type={0}", Type, "导入 - ")));
+ }
+
+ #endregion
+
+ #region GV 数据操作
+
+ ///
+ /// 分页
+ ///
+ ///
+ ///
+ 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();
+ }
+
+ #endregion
+
+ #region 数据编辑事件
+
+ ///
+ /// 新增
+ ///
+ ///
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference(string.Format("PHTGL_QuantityEdit.aspx?Id={0}&Type={1}", string.Empty,Type, "增加 - ")));
+ }
+
+ ///
+ /// 编辑按钮
+ ///
+ ///
+ ///
+ protected void btnEdit_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
+ return;
+ }
+
+ var ID = Grid1.SelectedRowID;
+ var model = PHTGL_QuantityService.GetPHTGL_QuantityById(ID);
+ if (model != null) ///已上报时不能删除
+ PageContext.RegisterStartupScript(
+ Window1.GetShowReference(string.Format("PHTGL_QuantityEdit.aspx?Id={0}", ID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnEdit_Click(null, null);
+ }
+
+ ///
+ /// 批量删除
+ ///
+ ///
+ ///
+ protected void btnDelete_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (var rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ var rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var model = PHTGL_QuantityService.GetPHTGL_QuantityById(rowID);
+ if (model != null) PHTGL_QuantityService.DeletePHTGL_QuantityById(rowID);
+ }
+
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+
+ #endregion
+
+ #region 导出按钮
+
+ /// 导出按钮
+ ///
+ ///
+ ///
+ protected void btnOut_Click(object sender, EventArgs e)
+ {
+ Response.ClearContent();
+ var filename = Funs.GetNewFileName();
+ Response.AddHeader("content-disposition",
+ "attachment; filename=" + HttpUtility.UrlEncode("" + filename, Encoding.UTF8) + ".xls");
+ Response.ContentType = "application/excel";
+ Response.ContentEncoding = Encoding.UTF8;
+ Grid1.PageSize = 500;
+ BindGrid();
+ Response.Write(GetGridTableHtml(Grid1));
+ Response.End();
+ }
+
+ ///
+ /// 导出方法
+ ///
+ ///
+ ///
+ private string GetGridTableHtml(Grid grid)
+ {
+ var sb = new StringBuilder();
+ sb.Append(" ");
+ sb.Append("");
+ sb.Append("");
+ foreach (var column in grid.Columns) sb.AppendFormat("{0} ", column.HeaderText);
+ sb.Append(" ");
+ foreach (var row in grid.Rows)
+ {
+ sb.Append("");
+ foreach (var column in grid.Columns)
+ {
+ var html = row.Values[column.ColumnIndex].ToString();
+ if (column.ColumnID == "tfNumber")
+ html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text;
+ sb.AppendFormat("{0} ", html);
+ }
+
+ sb.Append(" ");
+ }
+
+ sb.Append("
");
+
+ return sb.ToString();
+ }
+
+ #endregion
+
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx.designer.cs
new file mode 100644
index 00000000..c8f54ecf
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantityList.aspx.designer.cs
@@ -0,0 +1,215 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+
+
+ public partial class TemQuantityList
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// txtSubProject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSubProject;
+
+ ///
+ /// txtSubItemProject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSubItemProject;
+
+ ///
+ /// txtProjectCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectCode;
+
+ ///
+ /// txtProjectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// btnImport 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnImport;
+
+ ///
+ /// btnOut 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnOut;
+
+ ///
+ /// lblNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblNumber;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window2;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuEdit 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuEdit;
+
+ ///
+ /// btnMenuDelete 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDelete;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx
new file mode 100644
index 00000000..6a36cc5c
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx
@@ -0,0 +1,141 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TemQuantitySelect.aspx.cs" Inherits="FineUIPro.Web.PHTGL.BillOfQuantities.TemQuantitySelect" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx.cs
new file mode 100644
index 00000000..9f9c6bdc
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx.cs
@@ -0,0 +1,66 @@
+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.PHTGL.BillOfQuantities
+{
+ public partial class TemQuantitySelect : PageBase
+ {
+ public string MainProjectQuantityId
+ {
+ get => (string)ViewState["MainProjectQuantityId"];
+ set => ViewState["MainProjectQuantityId"] = value;
+ }
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.btnClose.OnClientClick = ActiveWindow.GetHidePostBackReference();
+ MainProjectQuantityId = Request.Params["MainProjectQuantityId"];
+ // 绑定表格
+ BindGrid();
+ }
+
+ }
+
+ private void BindGrid()
+ {
+ var table = new PHTGL_Quantity();
+ table.Major = txtMajor.Text.Trim() ?? "";
+ table.SubProject = txtSubProject.Text.Trim() ?? "";
+ table.SubItemProject = txtSubItemProject.Text.Trim() ?? "";
+ table.ProjectCode = txtProjectCode.Text.Trim() ?? "";
+ table.ProjectName = txtProjectName.Text.Trim() ?? "";
+ table.IsTemplate = true;
+ var tb = PHTGL_QuantityService.GetPHTGL_QuantityByModle(table);
+ Grid1.RecordCount = PHTGL_QuantityService.count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ Grid1.DataSource = tb;
+ Grid1.DataBind();
+ }
+
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ var CheckIdList = Grid1.SelectedRowIDArray;
+ if (CheckIdList.Length>0)
+ {
+ foreach (var item in CheckIdList)
+ {
+ var model = BLL.PHTGL_QuantityService.GetPHTGL_QuantityById(item);
+ PHTGL_QuantityService.AddPHTGL_QuantityByTemModel(model, MainProjectQuantityId);
+ }
+ ShowNotify("保存成功",MessageBoxIcon.Success);
+ }
+ }
+
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx.designer.cs b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx.designer.cs
new file mode 100644
index 00000000..ab56127c
--- /dev/null
+++ b/SGGL/FineUIPro.Web/PHTGL/BillOfQuantities/TemQuantitySelect.aspx.designer.cs
@@ -0,0 +1,152 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.PHTGL.BillOfQuantities
+{
+
+
+ public partial class TemQuantitySelect
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// txtMajor 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtMajor;
+
+ ///
+ /// txtSubProject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSubProject;
+
+ ///
+ /// txtSubItemProject 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtSubItemProject;
+
+ ///
+ /// txtProjectCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectCode;
+
+ ///
+ /// txtProjectName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtProjectName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// btnClose 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnClose;
+
+ ///
+ /// lblNumber 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblNumber;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/common/Menu_HTGL.xml b/SGGL/FineUIPro.Web/common/Menu_HTGL.xml
index 2ad048d2..98260439 100644
--- a/SGGL/FineUIPro.Web/common/Menu_HTGL.xml
+++ b/SGGL/FineUIPro.Web/common/Menu_HTGL.xml
@@ -9,4 +9,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/common/Menu_JDGL.xml b/SGGL/FineUIPro.Web/common/Menu_JDGL.xml
index 63dbade9..fedce2a9 100644
--- a/SGGL/FineUIPro.Web/common/Menu_JDGL.xml
+++ b/SGGL/FineUIPro.Web/common/Menu_JDGL.xml
@@ -1,5 +1,9 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml b/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml
index 65bcce82..c8a6ab93 100644
--- a/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml
+++ b/SGGL/FineUIPro.Web/common/Menu_PHTGL.xml
@@ -7,6 +7,7 @@
+
diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs
index c7d92579..ecf1d991 100644
--- a/SGGL/Model/Model.cs
+++ b/SGGL/Model/Model.cs
@@ -1109,6 +1109,9 @@ namespace Model
partial void InsertPHTGL_BidDocumentsStandingBook(PHTGL_BidDocumentsStandingBook instance);
partial void UpdatePHTGL_BidDocumentsStandingBook(PHTGL_BidDocumentsStandingBook instance);
partial void DeletePHTGL_BidDocumentsStandingBook(PHTGL_BidDocumentsStandingBook instance);
+ partial void InsertPHTGL_BidProjectQuantity(PHTGL_BidProjectQuantity instance);
+ partial void UpdatePHTGL_BidProjectQuantity(PHTGL_BidProjectQuantity instance);
+ partial void DeletePHTGL_BidProjectQuantity(PHTGL_BidProjectQuantity instance);
partial void InsertPHTGL_Contract(PHTGL_Contract instance);
partial void UpdatePHTGL_Contract(PHTGL_Contract instance);
partial void DeletePHTGL_Contract(PHTGL_Contract instance);
@@ -1118,6 +1121,12 @@ namespace Model
partial void InsertPHTGL_ContractStandingBook(PHTGL_ContractStandingBook instance);
partial void UpdatePHTGL_ContractStandingBook(PHTGL_ContractStandingBook instance);
partial void DeletePHTGL_ContractStandingBook(PHTGL_ContractStandingBook instance);
+ partial void InsertPHTGL_MainProjectQuantity(PHTGL_MainProjectQuantity instance);
+ partial void UpdatePHTGL_MainProjectQuantity(PHTGL_MainProjectQuantity instance);
+ partial void DeletePHTGL_MainProjectQuantity(PHTGL_MainProjectQuantity instance);
+ partial void InsertPHTGL_Quantity(PHTGL_Quantity instance);
+ partial void UpdatePHTGL_Quantity(PHTGL_Quantity instance);
+ partial void DeletePHTGL_Quantity(PHTGL_Quantity instance);
partial void InsertPHTGL_SetSubReview(PHTGL_SetSubReview instance);
partial void UpdatePHTGL_SetSubReview(PHTGL_SetSubReview instance);
partial void DeletePHTGL_SetSubReview(PHTGL_SetSubReview instance);
@@ -4625,6 +4634,14 @@ namespace Model
}
}
+ public System.Data.Linq.Table PHTGL_BidProjectQuantity
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
public System.Data.Linq.Table PHTGL_Contract
{
get
@@ -4649,6 +4666,22 @@ namespace Model
}
}
+ public System.Data.Linq.Table PHTGL_MainProjectQuantity
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
+ public System.Data.Linq.Table PHTGL_Quantity
+ {
+ get
+ {
+ return this.GetTable();
+ }
+ }
+
public System.Data.Linq.Table PHTGL_SetSubReview
{
get
@@ -176616,6 +176649,212 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PHTGL_BidProjectQuantity")]
+ public partial class PHTGL_BidProjectQuantity : INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
+
+ private string _BidProjectQuantityId;
+
+ private string _ProjectId;
+
+ private string _LotNumber;
+
+ private string _BidProjectCode;
+
+ private System.Nullable _IsMainProject;
+
+ private string _CreatorId;
+
+ private System.Nullable _CreateDate;
+
+ #region 可扩展性方法定义
+ partial void OnLoaded();
+ partial void OnValidate(System.Data.Linq.ChangeAction action);
+ partial void OnCreated();
+ partial void OnBidProjectQuantityIdChanging(string value);
+ partial void OnBidProjectQuantityIdChanged();
+ partial void OnProjectIdChanging(string value);
+ partial void OnProjectIdChanged();
+ partial void OnLotNumberChanging(string value);
+ partial void OnLotNumberChanged();
+ partial void OnBidProjectCodeChanging(string value);
+ partial void OnBidProjectCodeChanged();
+ partial void OnIsMainProjectChanging(System.Nullable value);
+ partial void OnIsMainProjectChanged();
+ partial void OnCreatorIdChanging(string value);
+ partial void OnCreatorIdChanged();
+ partial void OnCreateDateChanging(System.Nullable value);
+ partial void OnCreateDateChanged();
+ #endregion
+
+ public PHTGL_BidProjectQuantity()
+ {
+ OnCreated();
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BidProjectQuantityId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
+ public string BidProjectQuantityId
+ {
+ get
+ {
+ return this._BidProjectQuantityId;
+ }
+ set
+ {
+ if ((this._BidProjectQuantityId != value))
+ {
+ this.OnBidProjectQuantityIdChanging(value);
+ this.SendPropertyChanging();
+ this._BidProjectQuantityId = value;
+ this.SendPropertyChanged("BidProjectQuantityId");
+ this.OnBidProjectQuantityIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
+ public string ProjectId
+ {
+ get
+ {
+ return this._ProjectId;
+ }
+ set
+ {
+ if ((this._ProjectId != value))
+ {
+ this.OnProjectIdChanging(value);
+ this.SendPropertyChanging();
+ this._ProjectId = value;
+ this.SendPropertyChanged("ProjectId");
+ this.OnProjectIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LotNumber", DbType="NVarChar(50)")]
+ public string LotNumber
+ {
+ get
+ {
+ return this._LotNumber;
+ }
+ set
+ {
+ if ((this._LotNumber != value))
+ {
+ this.OnLotNumberChanging(value);
+ this.SendPropertyChanging();
+ this._LotNumber = value;
+ this.SendPropertyChanged("LotNumber");
+ this.OnLotNumberChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_BidProjectCode", DbType="NVarChar(100)")]
+ public string BidProjectCode
+ {
+ get
+ {
+ return this._BidProjectCode;
+ }
+ set
+ {
+ if ((this._BidProjectCode != value))
+ {
+ this.OnBidProjectCodeChanging(value);
+ this.SendPropertyChanging();
+ this._BidProjectCode = value;
+ this.SendPropertyChanged("BidProjectCode");
+ this.OnBidProjectCodeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsMainProject", DbType="Bit")]
+ public System.Nullable IsMainProject
+ {
+ get
+ {
+ return this._IsMainProject;
+ }
+ set
+ {
+ if ((this._IsMainProject != value))
+ {
+ this.OnIsMainProjectChanging(value);
+ this.SendPropertyChanging();
+ this._IsMainProject = value;
+ this.SendPropertyChanged("IsMainProject");
+ this.OnIsMainProjectChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreatorId", DbType="NVarChar(50)")]
+ public string CreatorId
+ {
+ get
+ {
+ return this._CreatorId;
+ }
+ set
+ {
+ if ((this._CreatorId != value))
+ {
+ this.OnCreatorIdChanging(value);
+ this.SendPropertyChanging();
+ this._CreatorId = value;
+ this.SendPropertyChanged("CreatorId");
+ this.OnCreatorIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CreateDate", DbType="DateTime")]
+ public System.Nullable CreateDate
+ {
+ get
+ {
+ return this._CreateDate;
+ }
+ set
+ {
+ if ((this._CreateDate != value))
+ {
+ this.OnCreateDateChanging(value);
+ this.SendPropertyChanging();
+ this._CreateDate = value;
+ this.SendPropertyChanged("CreateDate");
+ this.OnCreateDateChanged();
+ }
+ }
+ }
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void SendPropertyChanging()
+ {
+ if ((this.PropertyChanging != null))
+ {
+ this.PropertyChanging(this, emptyChangingEventArgs);
+ }
+ }
+
+ protected virtual void SendPropertyChanged(String propertyName)
+ {
+ if ((this.PropertyChanged != null))
+ {
+ this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PHTGL_Contract")]
public partial class PHTGL_Contract : INotifyPropertyChanging, INotifyPropertyChanged
{
@@ -180042,6 +180281,586 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PHTGL_MainProjectQuantity")]
+ public partial class PHTGL_MainProjectQuantity : INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
+
+ private string _MainProjectQuantityId;
+
+ private string _MainProjectQuantityCode;
+
+ private string _MainProjectQuantityName;
+
+ private string _QuantityId;
+
+ #region 可扩展性方法定义
+ partial void OnLoaded();
+ partial void OnValidate(System.Data.Linq.ChangeAction action);
+ partial void OnCreated();
+ partial void OnMainProjectQuantityIdChanging(string value);
+ partial void OnMainProjectQuantityIdChanged();
+ partial void OnMainProjectQuantityCodeChanging(string value);
+ partial void OnMainProjectQuantityCodeChanged();
+ partial void OnMainProjectQuantityNameChanging(string value);
+ partial void OnMainProjectQuantityNameChanged();
+ partial void OnQuantityIdChanging(string value);
+ partial void OnQuantityIdChanged();
+ #endregion
+
+ public PHTGL_MainProjectQuantity()
+ {
+ OnCreated();
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MainProjectQuantityId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
+ public string MainProjectQuantityId
+ {
+ get
+ {
+ return this._MainProjectQuantityId;
+ }
+ set
+ {
+ if ((this._MainProjectQuantityId != value))
+ {
+ this.OnMainProjectQuantityIdChanging(value);
+ this.SendPropertyChanging();
+ this._MainProjectQuantityId = value;
+ this.SendPropertyChanged("MainProjectQuantityId");
+ this.OnMainProjectQuantityIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MainProjectQuantityCode", DbType="NVarChar(100)")]
+ public string MainProjectQuantityCode
+ {
+ get
+ {
+ return this._MainProjectQuantityCode;
+ }
+ set
+ {
+ if ((this._MainProjectQuantityCode != value))
+ {
+ this.OnMainProjectQuantityCodeChanging(value);
+ this.SendPropertyChanging();
+ this._MainProjectQuantityCode = value;
+ this.SendPropertyChanged("MainProjectQuantityCode");
+ this.OnMainProjectQuantityCodeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MainProjectQuantityName", DbType="NVarChar(100)")]
+ public string MainProjectQuantityName
+ {
+ get
+ {
+ return this._MainProjectQuantityName;
+ }
+ set
+ {
+ if ((this._MainProjectQuantityName != value))
+ {
+ this.OnMainProjectQuantityNameChanging(value);
+ this.SendPropertyChanging();
+ this._MainProjectQuantityName = value;
+ this.SendPropertyChanged("MainProjectQuantityName");
+ this.OnMainProjectQuantityNameChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QuantityId", DbType="NVarChar(50)")]
+ public string QuantityId
+ {
+ get
+ {
+ return this._QuantityId;
+ }
+ set
+ {
+ if ((this._QuantityId != value))
+ {
+ this.OnQuantityIdChanging(value);
+ this.SendPropertyChanging();
+ this._QuantityId = value;
+ this.SendPropertyChanged("QuantityId");
+ this.OnQuantityIdChanged();
+ }
+ }
+ }
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void SendPropertyChanging()
+ {
+ if ((this.PropertyChanging != null))
+ {
+ this.PropertyChanging(this, emptyChangingEventArgs);
+ }
+ }
+
+ protected virtual void SendPropertyChanged(String propertyName)
+ {
+ if ((this.PropertyChanged != null))
+ {
+ this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PHTGL_Quantity")]
+ public partial class PHTGL_Quantity : INotifyPropertyChanging, INotifyPropertyChanged
+ {
+
+ private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
+
+ private string _Id;
+
+ private string _Major;
+
+ private string _SubProject;
+
+ private string _SubItemProject;
+
+ private string _ProjectCode;
+
+ private string _ProjectName;
+
+ private string _ProjectDescription;
+
+ private string _UnitOfMeasurement;
+
+ private string _Quantity;
+
+ private string _TotalCostFixedComprehensiveUnitPrice;
+
+ private string _MainMaterialCost;
+
+ private string _TotalPrice;
+
+ private string _CalculationRule;
+
+ private string _WorkContent;
+
+ private string _Remarks;
+
+ private System.Nullable _IsTemplate;
+
+ private string _ParentId;
+
+ #region 可扩展性方法定义
+ partial void OnLoaded();
+ partial void OnValidate(System.Data.Linq.ChangeAction action);
+ partial void OnCreated();
+ partial void OnIdChanging(string value);
+ partial void OnIdChanged();
+ partial void OnMajorChanging(string value);
+ partial void OnMajorChanged();
+ partial void OnSubProjectChanging(string value);
+ partial void OnSubProjectChanged();
+ partial void OnSubItemProjectChanging(string value);
+ partial void OnSubItemProjectChanged();
+ partial void OnProjectCodeChanging(string value);
+ partial void OnProjectCodeChanged();
+ partial void OnProjectNameChanging(string value);
+ partial void OnProjectNameChanged();
+ partial void OnProjectDescriptionChanging(string value);
+ partial void OnProjectDescriptionChanged();
+ partial void OnUnitOfMeasurementChanging(string value);
+ partial void OnUnitOfMeasurementChanged();
+ partial void OnQuantityChanging(string value);
+ partial void OnQuantityChanged();
+ partial void OnTotalCostFixedComprehensiveUnitPriceChanging(string value);
+ partial void OnTotalCostFixedComprehensiveUnitPriceChanged();
+ partial void OnMainMaterialCostChanging(string value);
+ partial void OnMainMaterialCostChanged();
+ partial void OnTotalPriceChanging(string value);
+ partial void OnTotalPriceChanged();
+ partial void OnCalculationRuleChanging(string value);
+ partial void OnCalculationRuleChanged();
+ partial void OnWorkContentChanging(string value);
+ partial void OnWorkContentChanged();
+ partial void OnRemarksChanging(string value);
+ partial void OnRemarksChanged();
+ partial void OnIsTemplateChanging(System.Nullable value);
+ partial void OnIsTemplateChanged();
+ partial void OnParentIdChanging(string value);
+ partial void OnParentIdChanged();
+ #endregion
+
+ public PHTGL_Quantity()
+ {
+ OnCreated();
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="VarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
+ public string Id
+ {
+ get
+ {
+ return this._Id;
+ }
+ set
+ {
+ if ((this._Id != value))
+ {
+ this.OnIdChanging(value);
+ this.SendPropertyChanging();
+ this._Id = value;
+ this.SendPropertyChanged("Id");
+ this.OnIdChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Major", DbType="VarChar(50)")]
+ public string Major
+ {
+ get
+ {
+ return this._Major;
+ }
+ set
+ {
+ if ((this._Major != value))
+ {
+ this.OnMajorChanging(value);
+ this.SendPropertyChanging();
+ this._Major = value;
+ this.SendPropertyChanged("Major");
+ this.OnMajorChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubProject", DbType="VarChar(50)")]
+ public string SubProject
+ {
+ get
+ {
+ return this._SubProject;
+ }
+ set
+ {
+ if ((this._SubProject != value))
+ {
+ this.OnSubProjectChanging(value);
+ this.SendPropertyChanging();
+ this._SubProject = value;
+ this.SendPropertyChanged("SubProject");
+ this.OnSubProjectChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SubItemProject", DbType="VarChar(50)")]
+ public string SubItemProject
+ {
+ get
+ {
+ return this._SubItemProject;
+ }
+ set
+ {
+ if ((this._SubItemProject != value))
+ {
+ this.OnSubItemProjectChanging(value);
+ this.SendPropertyChanging();
+ this._SubItemProject = value;
+ this.SendPropertyChanged("SubItemProject");
+ this.OnSubItemProjectChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectCode", DbType="VarChar(255)")]
+ public string ProjectCode
+ {
+ get
+ {
+ return this._ProjectCode;
+ }
+ set
+ {
+ if ((this._ProjectCode != value))
+ {
+ this.OnProjectCodeChanging(value);
+ this.SendPropertyChanging();
+ this._ProjectCode = value;
+ this.SendPropertyChanged("ProjectCode");
+ this.OnProjectCodeChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectName", DbType="VarChar(255)")]
+ public string ProjectName
+ {
+ get
+ {
+ return this._ProjectName;
+ }
+ set
+ {
+ if ((this._ProjectName != value))
+ {
+ this.OnProjectNameChanging(value);
+ this.SendPropertyChanging();
+ this._ProjectName = value;
+ this.SendPropertyChanged("ProjectName");
+ this.OnProjectNameChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectDescription", DbType="VarChar(255)")]
+ public string ProjectDescription
+ {
+ get
+ {
+ return this._ProjectDescription;
+ }
+ set
+ {
+ if ((this._ProjectDescription != value))
+ {
+ this.OnProjectDescriptionChanging(value);
+ this.SendPropertyChanging();
+ this._ProjectDescription = value;
+ this.SendPropertyChanged("ProjectDescription");
+ this.OnProjectDescriptionChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitOfMeasurement", DbType="VarChar(50)")]
+ public string UnitOfMeasurement
+ {
+ get
+ {
+ return this._UnitOfMeasurement;
+ }
+ set
+ {
+ if ((this._UnitOfMeasurement != value))
+ {
+ this.OnUnitOfMeasurementChanging(value);
+ this.SendPropertyChanging();
+ this._UnitOfMeasurement = value;
+ this.SendPropertyChanged("UnitOfMeasurement");
+ this.OnUnitOfMeasurementChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Quantity", DbType="VarChar(50)")]
+ public string Quantity
+ {
+ get
+ {
+ return this._Quantity;
+ }
+ set
+ {
+ if ((this._Quantity != value))
+ {
+ this.OnQuantityChanging(value);
+ this.SendPropertyChanging();
+ this._Quantity = value;
+ this.SendPropertyChanged("Quantity");
+ this.OnQuantityChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalCostFixedComprehensiveUnitPrice", DbType="VarChar(50)")]
+ public string TotalCostFixedComprehensiveUnitPrice
+ {
+ get
+ {
+ return this._TotalCostFixedComprehensiveUnitPrice;
+ }
+ set
+ {
+ if ((this._TotalCostFixedComprehensiveUnitPrice != value))
+ {
+ this.OnTotalCostFixedComprehensiveUnitPriceChanging(value);
+ this.SendPropertyChanging();
+ this._TotalCostFixedComprehensiveUnitPrice = value;
+ this.SendPropertyChanged("TotalCostFixedComprehensiveUnitPrice");
+ this.OnTotalCostFixedComprehensiveUnitPriceChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MainMaterialCost", DbType="VarChar(50)")]
+ public string MainMaterialCost
+ {
+ get
+ {
+ return this._MainMaterialCost;
+ }
+ set
+ {
+ if ((this._MainMaterialCost != value))
+ {
+ this.OnMainMaterialCostChanging(value);
+ this.SendPropertyChanging();
+ this._MainMaterialCost = value;
+ this.SendPropertyChanged("MainMaterialCost");
+ this.OnMainMaterialCostChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalPrice", DbType="VarChar(50)")]
+ public string TotalPrice
+ {
+ get
+ {
+ return this._TotalPrice;
+ }
+ set
+ {
+ if ((this._TotalPrice != value))
+ {
+ this.OnTotalPriceChanging(value);
+ this.SendPropertyChanging();
+ this._TotalPrice = value;
+ this.SendPropertyChanged("TotalPrice");
+ this.OnTotalPriceChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CalculationRule", DbType="VarChar(255)")]
+ public string CalculationRule
+ {
+ get
+ {
+ return this._CalculationRule;
+ }
+ set
+ {
+ if ((this._CalculationRule != value))
+ {
+ this.OnCalculationRuleChanging(value);
+ this.SendPropertyChanging();
+ this._CalculationRule = value;
+ this.SendPropertyChanged("CalculationRule");
+ this.OnCalculationRuleChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkContent", DbType="VarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
+ public string WorkContent
+ {
+ get
+ {
+ return this._WorkContent;
+ }
+ set
+ {
+ if ((this._WorkContent != value))
+ {
+ this.OnWorkContentChanging(value);
+ this.SendPropertyChanging();
+ this._WorkContent = value;
+ this.SendPropertyChanged("WorkContent");
+ this.OnWorkContentChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remarks", DbType="VarChar(MAX)", UpdateCheck=UpdateCheck.Never)]
+ public string Remarks
+ {
+ get
+ {
+ return this._Remarks;
+ }
+ set
+ {
+ if ((this._Remarks != value))
+ {
+ this.OnRemarksChanging(value);
+ this.SendPropertyChanging();
+ this._Remarks = value;
+ this.SendPropertyChanged("Remarks");
+ this.OnRemarksChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsTemplate", DbType="Bit")]
+ public System.Nullable IsTemplate
+ {
+ get
+ {
+ return this._IsTemplate;
+ }
+ set
+ {
+ if ((this._IsTemplate != value))
+ {
+ this.OnIsTemplateChanging(value);
+ this.SendPropertyChanging();
+ this._IsTemplate = value;
+ this.SendPropertyChanged("IsTemplate");
+ this.OnIsTemplateChanged();
+ }
+ }
+ }
+
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentId", DbType="VarChar(50)")]
+ public string ParentId
+ {
+ get
+ {
+ return this._ParentId;
+ }
+ set
+ {
+ if ((this._ParentId != value))
+ {
+ this.OnParentIdChanging(value);
+ this.SendPropertyChanging();
+ this._ParentId = value;
+ this.SendPropertyChanged("ParentId");
+ this.OnParentIdChanged();
+ }
+ }
+ }
+
+ public event PropertyChangingEventHandler PropertyChanging;
+
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ protected virtual void SendPropertyChanging()
+ {
+ if ((this.PropertyChanging != null))
+ {
+ this.PropertyChanging(this, emptyChangingEventArgs);
+ }
+ }
+
+ protected virtual void SendPropertyChanged(String propertyName)
+ {
+ if ((this.PropertyChanged != null))
+ {
+ this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.PHTGL_SetSubReview")]
public partial class PHTGL_SetSubReview : INotifyPropertyChanging, INotifyPropertyChanged
{
diff --git a/SGGL/SGGL.sln b/SGGL/SGGL.sln
index c04800eb..2dcebcae 100644
--- a/SGGL/SGGL.sln
+++ b/SGGL/SGGL.sln
@@ -13,6 +13,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebAPI", "WebAPI\WebAPI.csp
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FineUIPro.Mobile", "FineUIPro.Mobile\FineUIPro.Mobile.csproj", "{6FD4603B-1B6D-48AE-A1BD-7385495F81FD}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BLLTests", "BLLTests\BLLTests.csproj", "{18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -77,6 +79,18 @@ Global
{6FD4603B-1B6D-48AE-A1BD-7385495F81FD}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{6FD4603B-1B6D-48AE-A1BD-7385495F81FD}.Release|x86.ActiveCfg = Release|Any CPU
{6FD4603B-1B6D-48AE-A1BD-7385495F81FD}.Release|x86.Build.0 = Release|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Debug|x86.Build.0 = Debug|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Release|x86.ActiveCfg = Release|Any CPU
+ {18AAB08A-2C8E-4EB8-AC43-725E0CA28C6B}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE