diff --git a/DataBase/版本日志/SGGLDB_WH_2024-03-18-bwj.sql b/DataBase/版本日志/SGGLDB_WH_2024-03-18-bwj.sql
new file mode 100644
index 00000000..af75d37e
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2024-03-18-bwj.sql
@@ -0,0 +1,257 @@
+
+delete from Sys_Menu where MenuId='E4DD3689-0A72-43A5-8058-34C14D1FA4B0'
+delete from Sys_ButtonToMenu where MenuId='E4DD3689-0A72-43A5-8058-34C14D1FA4B0'
+go
+
+
+CREATE TABLE [dbo].[TestRun_MonthReport](
+ [MonthReportId] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [MonthReportCode] [nvarchar](50) NULL,
+ [MonthReportDate] [datetime] NULL,
+ [ProjectOverview] [nvarchar](1000) NULL,
+ [ProjectBaseInfo] [nvarchar](2000) NULL,
+ [EngineeringPlant] [nvarchar](2000) NULL,
+ [ProjectContract] [nvarchar](2000) NULL,
+ [Milestone] [nvarchar](1000) NULL,
+ [CompleteWork] [nvarchar](1000) NULL,
+ [ProblemSituation] [nvarchar](1000) NULL,
+ [Budget] [decimal](18, 2) NULL,
+ [BudgetTotal] [decimal](18, 2) NULL,
+ [ActualCost] [decimal](18, 2) NULL,
+ [ActualCostTotal] [decimal](18, 2) NULL,
+ [PublicationStatus] [nvarchar](500) NULL,
+ [ImplementationStatus] [nvarchar](500) NULL,
+ [HSEManageSituation] [nvarchar](500) NULL,
+ [NextMonthMilestone] [nvarchar](1000) NULL,
+ [NextMonthCompleteWork] [nvarchar](1000) NULL,
+ [NextMonthSchedule] [nvarchar](1000) NULL,
+ [NextMonthDrivingCost] [nvarchar](1000) NULL,
+ [ProblemsMeasures] [nvarchar](2000) NULL,
+ [SolvedProblems] [nvarchar](2000) NULL,
+ [PushPerson] [nvarchar](1000) NULL,
+ CONSTRAINT [PK_TestRun_MonthReport] PRIMARY KEY CLUSTERED
+(
+ [MonthReportId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[TestRun_MonthReport] WITH CHECK ADD CONSTRAINT [FK_TestRun_MonthReport_Base_Project] FOREIGN KEY([ProjectId])
+REFERENCES [dbo].[Base_Project] ([ProjectId])
+GO
+
+ALTER TABLE [dbo].[TestRun_MonthReport] CHECK CONSTRAINT [FK_TestRun_MonthReport_Base_Project]
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'±' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'MonthReportId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ProjectId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'MonthReportCode'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'MonthReportDate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿơĿơûơĿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ProjectOverview'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ŀ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ProjectBaseInfo'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'װ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'EngineeringPlant'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ŀͬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ProjectContract'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿ﵽҪƵ̱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'Milestone'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɵĿҪ/' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'CompleteWork'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'´ĽԼչ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ProblemSituation'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿Ԥֵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'Budget'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ۼƿԤֵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'BudgetTotal'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿ʵֵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ActualCost'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ۼƿʵֵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ActualCostTotal'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿ڲⲿ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'PublicationStatus'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿ڲⲿʵʩ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ImplementationStatus'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'HSE' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'HSEManageSituation'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¿ӦﵽҪƵ̱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'NextMonthMilestone'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ӦɵĿҪ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'NextMonthCompleteWork'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'µĻȼƻ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'NextMonthSchedule'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ҫÿƻ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'NextMonthDrivingCost'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿǰڵҪ⼰Ľʩ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'ProblemsMeasures'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ҪĿĿܡزԼû' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'SolvedProblems'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ա' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport', @level2type=N'COLUMN',@level2name=N'PushPerson'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'±' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReport'
+GO
+
+CREATE TABLE [dbo].[TestRun_MonthReportItem](
+ [MonthReportItemId] [nvarchar](50) NOT NULL,
+ [MonthReportId] [nvarchar](50) NULL,
+ [SortIndex] [nchar](10) NULL,
+ [WorkPackageType] [nvarchar](50) NULL,
+ [Unit] [nchar](10) NULL,
+ [DesignCount] [int] NULL,
+ [MonthPlan] [int] NULL,
+ [MonthActual] [nvarchar](50) NULL,
+ [TotalPlan] [int] NULL,
+ [TatalActual] [int] NULL,
+ [CompletionRate] [nvarchar](50) NULL,
+ CONSTRAINT [PK_TestRun_MonthReportItem] PRIMARY KEY CLUSTERED
+(
+ [MonthReportItemId] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[TestRun_MonthReportItem] WITH CHECK ADD CONSTRAINT [FK_TestRun_MonthReportItem_TestRun_MonthReport] FOREIGN KEY([MonthReportId])
+REFERENCES [dbo].[TestRun_MonthReport] ([MonthReportId])
+GO
+
+ALTER TABLE [dbo].[TestRun_MonthReportItem] CHECK CONSTRAINT [FK_TestRun_MonthReportItem_TestRun_MonthReport]
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'MonthReportItemId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'±Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'MonthReportId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'SortIndex'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'WorkPackageType'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'λ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'Unit'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'DesignCount'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¼ƻ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'MonthPlan'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'MonthActual'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ۼƼƻ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'TotalPlan'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ۼʵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'TatalActual'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem', @level2type=N'COLUMN',@level2name=N'CompletionRate'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ͳƱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem'
+GO
+
+
+
+
+CREATE TABLE [dbo].[TestRun_MonthReportItem2](
+ [MonthReportItem2Id] [nvarchar](50) NOT NULL,
+ [MonthReportId] [nvarchar](50) NULL,
+ [ReportType] [nvarchar](50) NULL,
+ [TypeName] [nvarchar](50) NULL,
+ [PV] [nvarchar](50) NULL,
+ [EV] [nvarchar](50) NULL,
+ [AC] [nvarchar](50) NULL,
+ [CV] [nvarchar](50) NULL,
+ [SV] [nvarchar](50) NULL,
+ [CPI] [nvarchar](50) NULL,
+ [SPI] [nvarchar](50) NULL,
+ [SortIndex] [int] NULL,
+ CONSTRAINT [PK_MonthReportItem2] PRIMARY KEY CLUSTERED
+(
+ [MonthReportItem2Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[TestRun_MonthReportItem2] WITH CHECK ADD CONSTRAINT [FK_TestRun_MonthReportItem2_TestRun_MonthReport] FOREIGN KEY([MonthReportId])
+REFERENCES [dbo].[TestRun_MonthReport] ([MonthReportId])
+GO
+
+ALTER TABLE [dbo].[TestRun_MonthReportItem2] CHECK CONSTRAINT [FK_TestRun_MonthReportItem2_TestRun_MonthReport]
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'MonthReportItem2Id'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'±id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'MonthReportId'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ͣ1-£2-ۼƣ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'ReportType'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'TypeName'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƻֵPVҲΪƻԤɱBCWS' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'PV'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ӮֵEV(ҲΪֵɹԤɱBCWP)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'EV'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʵʳɱAC(ҲΪɹʵʳɱACWP)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'AC'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɱƫ(CV=EV-AC)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'CV'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƫSV (SV=EV-PV)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'SV'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ɱЧָCPI (CPI=EV/AC)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'CPI'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ȼЧָ SPI (SPI = EV/PV)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2', @level2type=N'COLUMN',@level2name=N'SPI'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Чݱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'TestRun_MonthReportItem2'
+GO
+
+
+
+
+
+
diff --git a/DataBase/版本日志/SGGLDB_WH_2024-03-18-phf.sql b/DataBase/版本日志/SGGLDB_WH_2024-03-18-phf.sql
new file mode 100644
index 00000000..dd699a98
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2024-03-18-phf.sql
@@ -0,0 +1,90 @@
+CREATE TABLE [dbo].[Inspection_Test_Plan](
+ [Id] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [UnitId] [nvarchar](50) NULL,
+ [CNProfessionalId] [nvarchar](50) NULL,
+ [PlanCode] [nvarchar](50) NULL,
+ [PlanName] [nvarchar](50) NULL,
+ [ApprovalDate] [datetime] NULL,
+ [AuditMan] [nvarchar](50) NULL,
+ [ApprovalMan] [nvarchar](50) NULL,
+ [Remarks] [nvarchar](50) NULL,
+ [CreateMan] [nvarchar](50) NULL,
+ [CreateDate] [datetime] NULL,
+ CONSTRAINT [PK_Inspection_Test_Plan] PRIMARY KEY CLUSTERED
+(
+ [Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+
+CREATE TABLE [dbo].[Report_Construction_Plan](
+ [Id] [nvarchar](50) NOT NULL,
+ [ReportId] [nvarchar](50) NULL,
+ ReType nvarchar(20) NULL,
+ [UnitOrMajor] [nvarchar](200) NULL,
+ [Quantity1] [int] NULL,
+ [Quantity2] [int] NULL,
+ [Quantity3] [int] NULL,
+ [Remarks] [nvarchar](200) NULL,
+ CONSTRAINT [PK_Report_Construction_Plan] PRIMARY KEY CLUSTERED
+(
+ [Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('A70EA41D-0B45-4753-AC77-BF28DA066402','ƻ','CQMS/Comprehensive/InspectionTestPlan.aspx',76,'4a0e62cb-ee50-4a14-80b7-377602e9902c','Menu_CQMS',0,1,1)
+go
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('0D2A8A6E-C04F-4701-9FAF-ADA6788249E0','A70EA41D-0B45-4753-AC77-BF28DA066402','',1)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('FA0CADFD-9A24-4443-A769-F817F6237BA0','A70EA41D-0B45-4753-AC77-BF28DA066402','',2)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('99AD6093-6E22-4AA0-A836-95E54ECCA87E','A70EA41D-0B45-4753-AC77-BF28DA066402','ɾ',3)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('4F627543-A7DD-462A-94C0-520AD0024A8E','A70EA41D-0B45-4753-AC77-BF28DA066402','',4)
+go
+
+--һģΣʩ רԱ
+ALTER TABLE Comprehensive_MajorPlanApproval
+add ExpertReviewMan NVARCHAR(200) NULL;
+
+--ͼֽ¼
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('856D53B3-C5FB-443F-917B-39E83BE685DB','ͼֽ','CQMS/Comprehensive/ReviewDrawings.aspx',111,
+'4a0e62cb-ee50-4a14-80b7-377602e9902c','Menu_CQMS',0,1,1)
+go
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('A8BDAFCC-1AAF-45DC-88C3-D526688A9818','856D53B3-C5FB-443F-917B-39E83BE685DB','',1)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('546B393D-3C81-4A1F-9290-15C64B5459D6','856D53B3-C5FB-443F-917B-39E83BE685DB','',2)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('EB3AB16E-CD99-47CF-884F-3647EB0860AD','856D53B3-C5FB-443F-917B-39E83BE685DB','ɾ',3)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('4050BDBD-AA20-4D38-813A-6DA4FFD528D5','856D53B3-C5FB-443F-917B-39E83BE685DB','',4)
+go
+
+--ͼֽ
+CREATE TABLE [dbo].[Comprehensive_ReviewDrawings](
+ [Id] [nvarchar](50) NOT NULL,
+ ProjectId nvarchar(50) not null,
+ DraCode nvarchar(50) not null,
+ [CNProfessionalId] [nvarchar](50) NULL,
+ [ReviewDate] [datetime] NULL,
+ [UnitWorkId] [nvarchar](500) NULL,
+ [ReceiveUnits] [nvarchar](800) NULL,
+ [Status] [nvarchar](2) NULL,
+ [Remarks] [nvarchar](500) NULL,
+ [CreateMan] [nvarchar](50) NULL,
+ [CreateDate] [datetime] NULL,
+ CONSTRAINT [PK_Comprehensive_ReviewDrawings] PRIMARY KEY CLUSTERED
+(
+ [Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
\ No newline at end of file
diff --git a/DataBase/版本日志/SGGLDB_WH_2024-03-19-phf.sql b/DataBase/版本日志/SGGLDB_WH_2024-03-19-phf.sql
new file mode 100644
index 00000000..bc880423
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_WH_2024-03-19-phf.sql
@@ -0,0 +1,48 @@
+--
+update sys_menu set IsUsed=0 where menuid='ec1d25f6-fc6d-4b76-877d-d545669b21c9'
+
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('9CB732E5-21D3-4B5D-ABF9-1DADB1CA3A88','','CQMS/ProcessControl/NondestructiveTest_New.aspx',25,'149f1f1c-a925-412b-970e-e9b79d54e03f','Menu_CQMS',0,1,1)
+go
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('BC7C9DE9-24C2-4FA7-B03B-4B47C2E49627','9CB732E5-21D3-4B5D-ABF9-1DADB1CA3A88','',1)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('51C295E7-2129-448D-92C9-D095E96869A8','9CB732E5-21D3-4B5D-ABF9-1DADB1CA3A88','',2)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('0047CA81-925C-4D1B-B8DC-5484AB35859D','9CB732E5-21D3-4B5D-ABF9-1DADB1CA3A88','ɾ',3)
+insert into Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
+values('7F728497-368C-46FB-B67A-B7A3233C98D0','9CB732E5-21D3-4B5D-ABF9-1DADB1CA3A88','',4)
+go
+
+--µ
+CREATE TABLE [dbo].[ProcessControl_NondestructiveTest_New](
+ [Id] [nvarchar](50) NOT NULL,
+ [ProjectId] [nvarchar](50) NULL,
+ [UnitId] [nvarchar](50) NULL,
+ [ProfessionalName] [nvarchar](50) NULL,
+ [MonthQuantity] [int] NULL,
+ [TotalQuantity] [int] NULL,
+ [MonthRate] [nvarchar](50) NULL,
+ [TotalRate] [nvarchar](50) NULL,
+ [CreateDate] [datetime] NULL,
+ [CreateMan] [nvarchar](50) NULL,
+ CONSTRAINT [PK_ProcessControl_NondestructiveTest_New] PRIMARY KEY CLUSTERED
+(
+ [Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
+) ON [PRIMARY]
+
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'רҵ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProcessControl_NondestructiveTest_New', @level2type=N'COLUMN',@level2name=N'ProfessionalName'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ƭ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProcessControl_NondestructiveTest_New', @level2type=N'COLUMN',@level2name=N'MonthQuantity'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ۼƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ProcessControl_NondestructiveTest_New', @level2type=N'COLUMN',@level2name=N'TotalQuantity'
+GO
+
+--Ӻϸֶ
+ALTER TABLE Report_Construction_Plan
+ADD QuaRate nvarchar(50) NULL;
\ No newline at end of file
diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index 19f431f1..91cf52e0 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -207,6 +207,7 @@
+
@@ -217,6 +218,7 @@
+
@@ -257,6 +259,7 @@
+
@@ -267,6 +270,7 @@
+
@@ -750,6 +754,9 @@
+
+
+
diff --git a/SGGL/BLL/CQMS/Comprehensive/InspectionTestPlanService.cs b/SGGL/BLL/CQMS/Comprehensive/InspectionTestPlanService.cs
new file mode 100644
index 00000000..85df874f
--- /dev/null
+++ b/SGGL/BLL/CQMS/Comprehensive/InspectionTestPlanService.cs
@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Linq;
+
+namespace BLL
+{
+ ///
+ /// 检验试验计划管理
+ ///
+ public class InspectionTestPlanService
+ {
+ public static bool Insert(Model.Inspection_Test_Plan model)
+ {
+ try
+ {
+ Funs.DB.Inspection_Test_Plan.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"插入数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Update(Model.Inspection_Test_Plan model)
+ {
+ try
+ {
+ var result = Funs.DB.Inspection_Test_Plan.FirstOrDefault(a => a.Id == model.Id);
+ if (result != null)
+ {
+ result.UnitId = model.UnitId;
+ result.CNProfessionalId = model.CNProfessionalId;
+ result.PlanCode = model.PlanCode;
+ result.PlanName = model.PlanName;
+ result.ApprovalDate = model.ApprovalDate;
+ result.AuditMan = model.AuditMan;
+ result.ApprovalMan = model.ApprovalMan;
+ result.Remarks = model.Remarks;
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"更新表数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(List newId)
+ {
+ try
+ {
+ var result = Funs.DB.Inspection_Test_Plan.Where(a => newId.Contains(a.Id)).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.Inspection_Test_Plan.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(string newId)
+ {
+ try
+ {
+ var result = Funs.DB.Inspection_Test_Plan.Where(a => a.Id == newId).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.Inspection_Test_Plan.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static Model.Inspection_Test_Plan Detail(string newId)
+ {
+ var result = Funs.DB.Inspection_Test_Plan.FirstOrDefault(a => a.Id == newId);
+ return result;
+ }
+ }
+}
diff --git a/SGGL/BLL/CQMS/Comprehensive/MajorPlanApprovalService.cs b/SGGL/BLL/CQMS/Comprehensive/MajorPlanApprovalService.cs
index 95c6f940..0e46e050 100644
--- a/SGGL/BLL/CQMS/Comprehensive/MajorPlanApprovalService.cs
+++ b/SGGL/BLL/CQMS/Comprehensive/MajorPlanApprovalService.cs
@@ -118,6 +118,7 @@ namespace BLL
newMajorPlanApproval.CompileMan = majorPlanApproval.CompileMan;
newMajorPlanApproval.CompileDate = majorPlanApproval.CompileDate;
newMajorPlanApproval.UnitWorkId = majorPlanApproval.UnitWorkId;
+ newMajorPlanApproval.ExpertReviewMan = majorPlanApproval.ExpertReviewMan;
db.Comprehensive_MajorPlanApproval.InsertOnSubmit(newMajorPlanApproval);
db.SubmitChanges();
}
@@ -144,6 +145,7 @@ namespace BLL
newMajorPlanApproval.ImplementationDeviation = majorPlanApproval.ImplementationDeviation;
newMajorPlanApproval.AttachUrl = majorPlanApproval.AttachUrl;
newMajorPlanApproval.UnitWorkId = majorPlanApproval.UnitWorkId;
+ newMajorPlanApproval.ExpertReviewMan = majorPlanApproval.ExpertReviewMan;
db.SubmitChanges();
}
}
diff --git a/SGGL/BLL/CQMS/Comprehensive/ReviewDrawingsService.cs b/SGGL/BLL/CQMS/Comprehensive/ReviewDrawingsService.cs
new file mode 100644
index 00000000..33213111
--- /dev/null
+++ b/SGGL/BLL/CQMS/Comprehensive/ReviewDrawingsService.cs
@@ -0,0 +1,95 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Collections;
+
+namespace BLL
+{
+ public class ReviewDrawingsService
+ {
+ public static bool Insert(Model.Comprehensive_ReviewDrawings model)
+ {
+ try
+ {
+ Funs.DB.Comprehensive_ReviewDrawings.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"插入数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Update(Model.Comprehensive_ReviewDrawings model)
+ {
+ try
+ {
+ var result = Funs.DB.Comprehensive_ReviewDrawings.FirstOrDefault(a => a.Id == model.Id);
+ if (result != null)
+ {
+ result.CNProfessionalId = model.CNProfessionalId;
+ result.DraCode = model.DraCode;
+ result.ReviewDate = model.ReviewDate;
+ result.UnitWorkId = model.UnitWorkId;
+ result.ReceiveUnits = model.ReceiveUnits;
+ result.Status = model.Status;
+ result.Remarks = model.Remarks;
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"更新表数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(List newId)
+ {
+ try
+ {
+ var result = Funs.DB.Comprehensive_ReviewDrawings.Where(a => newId.Contains(a.Id)).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.Comprehensive_ReviewDrawings.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(string newId)
+ {
+ try
+ {
+ var result = Funs.DB.Comprehensive_ReviewDrawings.Where(a => a.Id == newId).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.Comprehensive_ReviewDrawings.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static Model.Comprehensive_ReviewDrawings Detail(string newId)
+ {
+ var result = Funs.DB.Comprehensive_ReviewDrawings.FirstOrDefault(a => a.Id == newId);
+ return result;
+ }
+ }
+}
diff --git a/SGGL/BLL/CQMS/ManageReport/ReportNew/ConstructionPlanService.cs b/SGGL/BLL/CQMS/ManageReport/ReportNew/ConstructionPlanService.cs
new file mode 100644
index 00000000..48a573b3
--- /dev/null
+++ b/SGGL/BLL/CQMS/ManageReport/ReportNew/ConstructionPlanService.cs
@@ -0,0 +1,92 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BLL.CQMS.ManageReport.ReportNew
+{
+ ///
+ /// 质量施工月报施工方案及检验试验计划审批情况
+ ///
+ public class ConstructionPlanService
+ {
+ public static bool Insert(Model.Report_Construction_Plan model)
+ {
+ try
+ {
+ Funs.DB.Report_Construction_Plan.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"插入数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Update(Model.Report_Construction_Plan model)
+ {
+ try
+ {
+ var result = Funs.DB.Report_Construction_Plan.FirstOrDefault(a => a.Id == model.Id);
+ if (result != null)
+ {
+ result.Remarks = model.Remarks;
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"更新表数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(List newId)
+ {
+ try
+ {
+ var result = Funs.DB.Report_Construction_Plan.Where(a => newId.Contains(a.Id)).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.Report_Construction_Plan.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(string newId)
+ {
+ try
+ {
+ var result = Funs.DB.Report_Construction_Plan.Where(a => a.ReportId == newId).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.Report_Construction_Plan.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static Model.Report_Construction_Plan Detail(string newId)
+ {
+ var result = Funs.DB.Report_Construction_Plan.FirstOrDefault(a => a.Id == newId);
+ return result;
+ }
+ }
+}
diff --git a/SGGL/BLL/CQMS/ProcessControl/NondestructiveTestNewService.cs b/SGGL/BLL/CQMS/ProcessControl/NondestructiveTestNewService.cs
new file mode 100644
index 00000000..f099fb2a
--- /dev/null
+++ b/SGGL/BLL/CQMS/ProcessControl/NondestructiveTestNewService.cs
@@ -0,0 +1,94 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Collections;
+
+namespace BLL
+{
+ public class NondestructiveTestNewService
+ {
+ public static bool Insert(Model.ProcessControl_NondestructiveTest_New model)
+ {
+ try
+ {
+ Funs.DB.ProcessControl_NondestructiveTest_New.InsertOnSubmit(model);
+ Funs.DB.SubmitChanges();
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"插入数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Update(Model.ProcessControl_NondestructiveTest_New model)
+ {
+ try
+ {
+ var result = Funs.DB.ProcessControl_NondestructiveTest_New.FirstOrDefault(a => a.Id == model.Id);
+ if (result != null)
+ {
+ result.UnitId = model.UnitId;
+ result.ProfessionalName = model.ProfessionalName;
+ result.MonthQuantity = model.MonthQuantity;
+ result.TotalQuantity = model.TotalQuantity;
+ result.MonthRate = model.MonthRate;
+ result.TotalRate = model.TotalRate;
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"更新表数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(List newId)
+ {
+ try
+ {
+ var result = Funs.DB.ProcessControl_NondestructiveTest_New.Where(a => newId.Contains(a.Id)).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.ProcessControl_NondestructiveTest_New.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static bool Delete(string newId)
+ {
+ try
+ {
+ var result = Funs.DB.ProcessControl_NondestructiveTest_New.Where(a => a.Id == newId).ToList();
+ if (result.Count > 0)
+ {
+ Funs.DB.ProcessControl_NondestructiveTest_New.DeleteAllOnSubmit(result);
+ Funs.DB.SubmitChanges();
+ }
+ return true;
+ }
+ catch (Exception ex)
+ {
+ ErrLogInfo.WriteLog($"删除数据失败,原因:{ex.Message}");
+ return false;
+ }
+ }
+
+ public static Model.ProcessControl_NondestructiveTest_New Detail(string newId)
+ {
+ var result = Funs.DB.ProcessControl_NondestructiveTest_New.FirstOrDefault(a => a.Id == newId);
+ return result;
+ }
+ }
+}
diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs
index 25c7f405..162cf96f 100644
--- a/SGGL/BLL/Common/Const.cs
+++ b/SGGL/BLL/Common/Const.cs
@@ -3691,6 +3691,10 @@ namespace BLL
///
public const string ProjectControlPointMenuId = "5AA08233-9E04-4808-AC43-DD411C5F9D31";
+ ///
+ /// 无损检测管理(新)
+ ///
+ public const string NondestructiveTestNewMenuId = "9CB732E5-21D3-4B5D-ABF9-1DADB1CA3A88";
#region 国外项目
#region 资料库
///
@@ -3781,6 +3785,11 @@ namespace BLL
///
public const string MajorPlanApprovalMenuId = "fd116c94-714b-4b92-a3c9-cc83d358e2b3";
+ ///
+ /// 检验试验计划管理
+ ///
+ public const string Inspection_Test_PlanMenuId = "A70EA41D-0B45-4753-AC77-BF28DA066402";
+
///
/// NCR管理
///
@@ -3816,6 +3825,11 @@ namespace BLL
///
public const string DesignDrawingsMenuId = "d8de4143-b680-44cf-9a78-acd3d49a8d00";
+ ///
+ /// 图纸会审管理
+ ///
+ public const string ReviewDrawingsMenuId = "856D53B3-C5FB-443F-917B-39E83BE685DB";
+
///
/// 工序质量控制点维护
///
diff --git a/SGGL/BLL/SysManage/UnitService.cs b/SGGL/BLL/SysManage/UnitService.cs
index 647c8449..4e193bbb 100644
--- a/SGGL/BLL/SysManage/UnitService.cs
+++ b/SGGL/BLL/SysManage/UnitService.cs
@@ -777,5 +777,18 @@ namespace BLL
}
return name;
}
+
+ //获取下拉单位,value和text都是中文
+ public static void InitUnitDownListByText(FineUIPro.DropDownList dropName, string projectId, bool isShowPlease)
+ {
+ dropName.DataValueField = "Text";
+ dropName.DataTextField = "Text";
+ dropName.DataSource = drpMainOrSubUnitList(projectId);
+ dropName.DataBind();
+ if (isShowPlease)
+ {
+ Funs.FineUIPleaseSelect(dropName);
+ }
+ }
}
}
diff --git a/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportItem2Service.cs b/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportItem2Service.cs
new file mode 100644
index 00000000..2fef4e56
--- /dev/null
+++ b/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportItem2Service.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BLL
+{
+ ///
+ /// 开车绩效测量数据
+ ///
+ public class TestRun_MonthReportItem2Service
+ {
+ ///
+ /// 根据月报告id获取开车绩效测量数据
+ ///
+ ///
+ ///
+ public static List GetMonthReportItem2ByReportId(string monthReportId, string reportType)
+ {
+ return (from x in Funs.DB.TestRun_MonthReportItem2 where x.MonthReportId == monthReportId && x.ReportType == reportType orderby x.SortIndex select x).ToList();
+ }
+
+ ///
+ /// 添加开车绩效测量数据
+ ///
+ ///
+ public static void AddMonthReportItem2(Model.TestRun_MonthReportItem2 item)
+ {
+ Model.TestRun_MonthReportItem2 newItem = new Model.TestRun_MonthReportItem2
+ {
+ MonthReportItem2Id = item.MonthReportItem2Id,
+ MonthReportId = item.MonthReportId,
+ ReportType = item.ReportType,
+ TypeName = item.TypeName,
+ PV = item.PV,
+ EV = item.EV,
+ AC = item.AC,
+ CV = item.CV,
+ SV = item.SV,
+ CPI = item.CPI,
+ SPI = item.SPI,
+ SortIndex=item.SortIndex,
+ };
+ Funs.DB.TestRun_MonthReportItem2.InsertOnSubmit(newItem);
+ Funs.DB.SubmitChanges();
+ }
+
+ ///
+ /// 根据月报告id删除开车绩效测量数据
+ ///
+ ///
+ public static void DeleteMonthReportItem2ByReportId(string reportId)
+ {
+ var q = (from x in Funs.DB.TestRun_MonthReportItem2 where x.MonthReportId == reportId select x).ToList();
+ if (q.Count > 0)
+ {
+ Funs.DB.TestRun_MonthReportItem2.DeleteAllOnSubmit(q);
+ Funs.DB.SubmitChanges();
+ }
+ }
+ }
+}
diff --git a/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportItemService.cs b/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportItemService.cs
new file mode 100644
index 00000000..a1ecfc78
--- /dev/null
+++ b/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportItemService.cs
@@ -0,0 +1,59 @@
+using System.Collections.Generic;
+using System.Linq;
+
+namespace BLL
+{
+ ///
+ /// 工作包完成情况统计
+ ///
+ public class TestRun_MonthReportItemService
+ {
+ ///
+ /// 根据月报id获取工作包完成情况
+ ///
+ ///
+ ///
+ public static List GetMonthReportItemByReportId(string monthReportId)
+ {
+ return (from x in Funs.DB.TestRun_MonthReportItem where x.MonthReportId == monthReportId orderby x.SortIndex select x).ToList();
+ }
+
+ ///
+ /// 添加工作包完成情况
+ ///
+ ///
+ public static void AddMonthReportItem(Model.TestRun_MonthReportItem item)
+ {
+ Model.TestRun_MonthReportItem newItem = new Model.TestRun_MonthReportItem
+ {
+ MonthReportItemId = item.MonthReportItemId,
+ MonthReportId = item.MonthReportId,
+ SortIndex = item.SortIndex,
+ WorkPackageType = item.WorkPackageType,
+ Unit = item.Unit,
+ DesignCount = item.DesignCount,
+ MonthPlan = item.MonthPlan,
+ MonthActual = item.MonthActual,
+ TotalPlan = item.TotalPlan,
+ TatalActual = item.TatalActual,
+ CompletionRate = item.CompletionRate
+ };
+ Funs.DB.TestRun_MonthReportItem.InsertOnSubmit(newItem);
+ Funs.DB.SubmitChanges();
+ }
+
+ ///
+ /// 根据月报告id删除工作包完成情况
+ ///
+ ///
+ public static void DeleteMonthReportItemByMonthReportId(string monthReportId)
+ {
+ var q = (from x in Funs.DB.TestRun_MonthReportItem where x.MonthReportId == monthReportId select x).ToList();
+ if (q.Count > 0)
+ {
+ Funs.DB.TestRun_MonthReportItem.DeleteAllOnSubmit(q);
+ Funs.DB.SubmitChanges();
+ }
+ }
+ }
+}
diff --git a/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportService.cs b/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportService.cs
new file mode 100644
index 00000000..d4a6386f
--- /dev/null
+++ b/SGGL/BLL/TestRun/DriverReport/TestRun_MonthReportService.cs
@@ -0,0 +1,117 @@
+using System;
+using System.Linq;
+
+namespace BLL
+{
+ ///
+ /// 开车月报告
+ ///
+ public class TestRun_MonthReportService
+ {
+ ///
+ /// 根据主键获取开车月报告
+ ///
+ ///
+ ///
+ public static Model.TestRun_MonthReport GetMonthReportById(string monthReportId)
+ {
+ return Funs.DB.TestRun_MonthReport.FirstOrDefault(e => e.MonthReportId == monthReportId);
+ }
+
+ ///
+ /// 根据月份获取开车月报告
+ ///
+ ///
+ ///
+ public static Model.TestRun_MonthReport GetMonthReportByMonth(string month)
+ {
+ return Funs.DB.TestRun_MonthReport.FirstOrDefault(e => e.MonthReportDate == Convert.ToDateTime(month));
+ }
+
+ ///
+ /// 添加开车月报告
+ ///
+ ///
+ public static void AddMonthReport(Model.TestRun_MonthReport monthReport)
+ {
+ Model.TestRun_MonthReport newMonthReport = new Model.TestRun_MonthReport
+ {
+ MonthReportId = monthReport.MonthReportId,
+ ProjectId = monthReport.ProjectId,
+ MonthReportCode = monthReport.MonthReportCode,
+ MonthReportDate = monthReport.MonthReportDate,
+ ProjectOverview = monthReport.ProjectOverview,
+ ProjectBaseInfo = monthReport.ProjectBaseInfo,
+ EngineeringPlant = monthReport.EngineeringPlant,
+ ProjectContract = monthReport.ProjectContract,
+ Milestone = monthReport.Milestone,
+ CompleteWork = monthReport.CompleteWork,
+ ProblemSituation = monthReport.ProblemSituation,
+ Budget = monthReport.Budget,
+ BudgetTotal = monthReport.BudgetTotal,
+ ActualCost = monthReport.ActualCost,
+ ActualCostTotal = monthReport.ActualCostTotal,
+ PublicationStatus = monthReport.PublicationStatus,
+ ImplementationStatus = monthReport.ImplementationStatus,
+ HSEManageSituation = monthReport.HSEManageSituation,
+ NextMonthMilestone = monthReport.NextMonthMilestone,
+ NextMonthCompleteWork = monthReport.NextMonthCompleteWork,
+ NextMonthSchedule = monthReport.NextMonthSchedule,
+ NextMonthDrivingCost = monthReport.NextMonthDrivingCost,
+ ProblemsMeasures = monthReport.ProblemsMeasures,
+ SolvedProblems = monthReport.SolvedProblems,
+ };
+ Funs.DB.TestRun_MonthReport.InsertOnSubmit(newMonthReport);
+ Funs.DB.SubmitChanges();
+ }
+
+ ///
+ /// 修改开车月报告
+ ///
+ ///
+ public static void UpdateMonthReport(Model.TestRun_MonthReport monthReport)
+ {
+ Model.TestRun_MonthReport newMonthReport = Funs.DB.TestRun_MonthReport.FirstOrDefault(e => e.MonthReportId == monthReport.MonthReportId);
+ if (newMonthReport != null)
+ {
+ newMonthReport.MonthReportCode = monthReport.MonthReportCode;
+ newMonthReport.MonthReportDate = monthReport.MonthReportDate;
+ newMonthReport.ProjectOverview = monthReport.ProjectOverview;
+ newMonthReport.ProjectBaseInfo = monthReport.ProjectBaseInfo;
+ newMonthReport.EngineeringPlant = monthReport.EngineeringPlant;
+ newMonthReport.ProjectContract = monthReport.ProjectContract;
+ newMonthReport.Milestone = monthReport.Milestone;
+ newMonthReport.CompleteWork = monthReport.CompleteWork;
+ newMonthReport.ProblemSituation = monthReport.ProblemSituation;
+ newMonthReport.Budget = monthReport.Budget;
+ newMonthReport.BudgetTotal = monthReport.BudgetTotal;
+ newMonthReport.ActualCost = monthReport.ActualCost;
+ newMonthReport.ActualCostTotal = monthReport.ActualCostTotal;
+ newMonthReport.PublicationStatus = monthReport.PublicationStatus;
+ newMonthReport.ImplementationStatus = monthReport.ImplementationStatus;
+ newMonthReport.HSEManageSituation = monthReport.HSEManageSituation;
+ newMonthReport.NextMonthMilestone = monthReport.NextMonthMilestone;
+ newMonthReport.NextMonthCompleteWork = monthReport.NextMonthCompleteWork;
+ newMonthReport.NextMonthSchedule = monthReport.NextMonthSchedule;
+ newMonthReport.NextMonthDrivingCost = monthReport.NextMonthDrivingCost;
+ newMonthReport.ProblemsMeasures = monthReport.ProblemsMeasures;
+ newMonthReport.SolvedProblems = monthReport.SolvedProblems;
+ Funs.DB.SubmitChanges();
+ }
+ }
+
+ ///
+ /// 根据主键删除开车月报告
+ ///
+ ///
+ public static void DeleteMonthReportById(string monthReportId)
+ {
+ Model.TestRun_MonthReport newMonthReport = Funs.DB.TestRun_MonthReport.FirstOrDefault(e => e.MonthReportId == monthReportId);
+ if (newMonthReport != null)
+ {
+ Funs.DB.TestRun_MonthReport.DeleteOnSubmit(newMonthReport);
+ Funs.DB.SubmitChanges();
+ }
+ }
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx
new file mode 100644
index 00000000..9792a0bd
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx
@@ -0,0 +1,120 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectionTestPlan.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.InspectionTestPlan" %>
+
+
+
+
+
+
+ 检验试验计划
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx.cs
new file mode 100644
index 00000000..d106e26f
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx.cs
@@ -0,0 +1,227 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+
+namespace FineUIPro.Web.CQMS.Comprehensive
+{
+ public partial class InspectionTestPlan : PageBase
+ {
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ BLL.UnitService.InitUnitDownList(this.sdrpUnitId, this.CurrUser.LoginProjectId, true);
+ BLL.CNProfessionalService.InitCNProfessionalDownList(this.drpCNPr, true);
+ BindGrid();
+ }
+ }
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"select C.*,CN.ProfessionalName,C.CNProfessionalId,C.UnitId,u.UnitName
+ from Inspection_Test_Plan C
+ left join Base_CNProfessional CN on C.CNProfessionalId=CN.CNProfessionalId
+ left join Base_Unit as u on u.UnitId = C.UnitId
+ where C.ProjectId = @ProjectId";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ if (sdrpUnitId.SelectedValue != BLL.Const._Null)
+ {
+ strSql += " AND C.UnitId=@UnitId";
+ listStr.Add(new SqlParameter("@UnitId", sdrpUnitId.SelectedValue));
+ }
+ if (drpCNPr.SelectedValue != BLL.Const._Null)
+ {
+ strSql += " AND C.CNProfessionalId=@CNProfessionalId";
+ listStr.Add(new SqlParameter("@CNProfessionalId", drpCNPr.SelectedValue));
+ }
+ if (!string.IsNullOrEmpty(this.txtPlanName.Text.Trim()))
+ {
+ strSql += " AND C.PlanName like @PlanName";
+ listStr.Add(new SqlParameter("@PlanName", "%" + txtPlanName.Text.Trim() + "%"));
+ }
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == BLL.Const._Null)
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.Inspection_Test_PlanMenuId);
+ if (buttonList.Count() > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnAdd))
+ {
+ this.btnNew.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnModify))
+ {
+ this.btnMenuModify.Hidden = false;
+ this.Grid1.EnableRowDoubleClickEvent = true;
+ }
+ else
+ {
+ this.Grid1.EnableRowDoubleClickEvent = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnDelete))
+ {
+ this.btnMenuDel.Hidden = false;
+ }
+ }
+ }
+ #endregion
+
+ #region 分页、排序
+ ///
+ /// 分页下拉
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 分页索引事件
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+ #endregion
+
+ #region 查询
+ ///
+ /// 查询按钮
+ ///
+ ///
+ ///
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 关闭弹出窗口
+ ///
+ /// 关闭弹出窗口
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 增加
+ ///
+ /// 新增按钮事件
+ ///
+ ///
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectionTestPlanEdit.aspx", "编辑 - ")));
+ }
+ #endregion
+
+ #region 编辑
+ ///
+ /// 右键编辑
+ ///
+ ///
+ ///
+ protected void btnMenuModify_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("InspectionTestPlanEdit.aspx?Id={0}", Grid1.SelectedRowID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ btnMenuModify_Click(sender, e);
+ }
+ #endregion
+
+ #region 删除
+ ///
+ /// 右键删除
+ ///
+ ///
+ ///
+ protected void btnMenuDel_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (int rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ string rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var InspectionPerson = BLL.InspectionTestPlanService.Detail(rowID);
+ if (InspectionPerson != null)
+ {
+ BLL.InspectionTestPlanService.Delete(rowID);
+ }
+ }
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+ #endregion
+
+
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx.designer.cs
new file mode 100644
index 00000000..67589076
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlan.aspx.designer.cs
@@ -0,0 +1,179 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.Comprehensive
+{
+
+
+ public partial class InspectionTestPlan
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// ToolSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar ToolSearch;
+
+ ///
+ /// sdrpUnitId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList sdrpUnitId;
+
+ ///
+ /// drpCNPr 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpCNPr;
+
+ ///
+ /// txtPlanName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtPlanName;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+
+ ///
+ /// lbtnFileUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuModify;
+
+ ///
+ /// btnMenuDel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDel;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx
new file mode 100644
index 00000000..4e550250
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx
@@ -0,0 +1,82 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InspectionTestPlanEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.InspectionTestPlanEdit" %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx.cs
new file mode 100644
index 00000000..956c07f0
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx.cs
@@ -0,0 +1,177 @@
+using BLL;
+using System;
+using System.Linq;
+
+namespace FineUIPro.Web.CQMS.Comprehensive
+{
+ public partial class InspectionTestPlanEdit : PageBase
+ {
+ #region 定义变量
+ ///
+ /// 主键
+ ///
+ public string Id
+ {
+ get
+ {
+ return (string)ViewState["Id"];
+ }
+ set
+ {
+ ViewState["Id"] = value;
+ }
+ }
+ #endregion
+
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+
+ BLL.CNProfessionalService.InitCNProfessionalDownList(this.drpCNProfessionalId, true);
+ BLL.UnitService.InitUnitDownList(this.drpUnitId, this.CurrUser.LoginProjectId, true);
+ this.Id = Request.Params["Id"];
+ var model = BLL.InspectionTestPlanService.Detail(this.Id);
+ if (model != null)
+ {
+
+ this.hdAttachUrl.Text = this.Id;
+ if (!string.IsNullOrEmpty(model.UnitId))
+ {
+ this.drpUnitId.SelectedValue = model.UnitId;
+ }
+ if (!string.IsNullOrEmpty(model.CNProfessionalId))
+ {
+ this.drpCNProfessionalId.SelectedValue = model.CNProfessionalId;
+ }
+ this.txtPlanCode.Text = model.PlanCode;
+ this.txtPlanName.Text = model.PlanName;
+
+ if (model.ApprovalDate != null)
+ {
+ this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", model.ApprovalDate);
+ }
+ this.txtAuditMan.Text = model.AuditMan;
+ this.txtApprovalMan.Text = model.ApprovalMan;
+ this.txtRemarks.Text = model.Remarks;
+ }
+ else
+ {
+ this.txtApprovalDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
+ }
+ }
+ }
+ #endregion
+
+ #region 附件上传
+ ///
+ /// 附件上传
+ ///
+ ///
+ ///
+ protected void btnAttach_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(this.hdAttachUrl.Text)) //新增记录
+ {
+ this.hdAttachUrl.Text = SQLHelper.GetNewID(typeof(Model.Comprehensive_MajorPlanApproval));
+ }
+ PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/InsTestPlan&menuId={1}", this.hdAttachUrl.Text, BLL.Const.Inspection_Test_PlanMenuId)));
+ }
+ #endregion
+
+ #region 保存
+ ///
+ /// 保存按钮
+ ///
+ ///
+ ///
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ if (drpUnitId.SelectedValue == BLL.Const._Null)
+ {
+ Alert.ShowInTop("请选择报批单位!", MessageBoxIcon.Warning);
+ return;
+ }
+ if (drpCNProfessionalId.SelectedValue == BLL.Const._Null)
+ {
+ Alert.ShowInTop("请选择专业!", MessageBoxIcon.Warning);
+ return;
+ }
+ var majorPlanApproval = new Model.Inspection_Test_Plan();
+ majorPlanApproval.ProjectId = this.CurrUser.LoginProjectId;
+ if (this.drpUnitId.SelectedValue != BLL.Const._Null)
+ {
+ majorPlanApproval.UnitId = this.drpUnitId.SelectedValue;
+ }
+ if (this.drpCNProfessionalId.SelectedValue != BLL.Const._Null)
+ {
+ majorPlanApproval.CNProfessionalId = this.drpCNProfessionalId.SelectedValue;
+ }
+ majorPlanApproval.PlanCode = this.txtPlanCode.Text.Trim();
+ majorPlanApproval.PlanName = this.txtPlanName.Text.Trim();
+
+ if (!string.IsNullOrEmpty(this.txtApprovalDate.Text))
+ {
+ majorPlanApproval.ApprovalDate = Convert.ToDateTime(this.txtApprovalDate.Text);
+ }
+ majorPlanApproval.AuditMan = this.txtAuditMan.Text.Trim();
+ majorPlanApproval.ApprovalMan = this.txtApprovalMan.Text.Trim();
+ majorPlanApproval.Remarks = this.txtRemarks.Text.Trim();
+
+
+ if (string.IsNullOrEmpty(this.Id))
+ {
+ if (!string.IsNullOrEmpty(this.hdAttachUrl.Text))
+ {
+ majorPlanApproval.Id = this.hdAttachUrl.Text;
+ }
+ else
+ {
+ majorPlanApproval.Id = SQLHelper.GetNewID(typeof(Model.Comprehensive_MajorPlanApproval));
+ this.hdAttachUrl.Text = majorPlanApproval.Id;
+ }
+ majorPlanApproval.CreateMan = this.CurrUser.UserId;
+ majorPlanApproval.CreateDate = DateTime.Now;
+ BLL.InspectionTestPlanService.Insert(majorPlanApproval);
+ }
+ else
+ {
+ majorPlanApproval.Id = this.Id;
+ BLL.InspectionTestPlanService.Update(majorPlanApproval);
+ }
+ ShowNotify("保存成功!", MessageBoxIcon.Success);
+ PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == BLL.Const._Null)
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.Inspection_Test_PlanMenuId);
+ if (buttonList.Count() > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ this.btnSave.Hidden = false;
+ }
+ }
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx.designer.cs
new file mode 100644
index 00000000..006a5798
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionTestPlanEdit.aspx.designer.cs
@@ -0,0 +1,188 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.Comprehensive
+{
+
+
+ public partial class InspectionTestPlanEdit
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// SimpleForm1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Form SimpleForm1;
+
+ ///
+ /// drpUnitId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpUnitId;
+
+ ///
+ /// drpCNProfessionalId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpCNProfessionalId;
+
+ ///
+ /// txtPlanCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtPlanCode;
+
+ ///
+ /// txtPlanName 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtPlanName;
+
+ ///
+ /// txtApprovalDate 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DatePicker txtApprovalDate;
+
+ ///
+ /// txtAuditMan 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtAuditMan;
+
+ ///
+ /// txtApprovalMan 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtApprovalMan;
+
+ ///
+ /// Label13 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label Label13;
+
+ ///
+ /// txtRemarks 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextArea txtRemarks;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// Label1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Label Label1;
+
+ ///
+ /// btnAttach 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnAttach;
+
+ ///
+ /// Toolbar1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar1;
+
+ ///
+ /// hdAttachUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdAttachUrl;
+
+ ///
+ /// btnSave 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSave;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx
index 693e1215..290fa6ba 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx
@@ -43,7 +43,7 @@
-
+
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.cs
index 089581da..678db0d6 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.cs
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.cs
@@ -65,6 +65,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
this.txtAuditMan.Text = majorPlanApproval.AuditMan;
this.txtApprovalMan.Text = majorPlanApproval.ApprovalMan;
this.txtImplementationDeviation.Text = majorPlanApproval.ImplementationDeviation;
+ this.txtExpertReviewMan.Text = majorPlanApproval.ExpertReviewMan;
}
else
{
@@ -100,6 +101,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive
majorPlanApproval.PlanCode = this.txtPlanCode.Text.Trim();
majorPlanApproval.PlanName = this.txtPlanName.Text.Trim();
majorPlanApproval.ReviewMan = this.txtReviewMan.Text.Trim();
+ majorPlanApproval.ExpertReviewMan = this.txtExpertReviewMan.Text.Trim();
if (!string.IsNullOrEmpty(this.txtApprovalDate.Text))
{
majorPlanApproval.ApprovalDate = Convert.ToDateTime(this.txtApprovalDate.Text);
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.designer.cs
index 28996232..e0027020 100644
--- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApprovalEdit.aspx.designer.cs
@@ -7,11 +7,13 @@
// 自动生成>
//------------------------------------------------------------------------------
-namespace FineUIPro.Web.CQMS.Comprehensive {
-
-
- public partial class MajorPlanApprovalEdit {
-
+namespace FineUIPro.Web.CQMS.Comprehensive
+{
+
+
+ public partial class MajorPlanApprovalEdit
+ {
+
///
/// form1 控件。
///
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
-
+
///
/// PageManager1 控件。
///
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.PageManager PageManager1;
-
+
///
/// SimpleForm1 控件。
///
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Form SimpleForm1;
-
+
///
/// drpUnitId 控件。
///
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DropDownList drpUnitId;
-
+
///
/// drpCNProfessionalId 控件。
///
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DropDownList drpCNProfessionalId;
-
+
///
/// drpUnitWorkIds 控件。
///
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DropDownList drpUnitWorkIds;
-
+
///
/// txtPlanCode 控件。
///
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtPlanCode;
-
+
///
/// txtPlanName 控件。
///
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtPlanName;
-
+
///
/// txtReviewMan 控件。
///
@@ -92,7 +94,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtReviewMan;
-
+
///
/// txtApprovalDate 控件。
///
@@ -101,7 +103,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.DatePicker txtApprovalDate;
-
+
///
/// txtAuditMan 控件。
///
@@ -110,7 +112,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtAuditMan;
-
+
///
/// txtApprovalMan 控件。
///
@@ -119,16 +121,16 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextBox txtApprovalMan;
-
+
///
- /// Label13 控件。
+ /// txtExpertReviewMan 控件。
///
///
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
- protected global::FineUIPro.Label Label13;
-
+ protected global::FineUIPro.TextBox txtExpertReviewMan;
+
///
/// txtImplementationDeviation 控件。
///
@@ -137,7 +139,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.TextArea txtImplementationDeviation;
-
+
///
/// Panel2 控件。
///
@@ -146,7 +148,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Panel Panel2;
-
+
///
/// Label1 控件。
///
@@ -155,7 +157,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Label Label1;
-
+
///
/// btnAttach 控件。
///
@@ -164,7 +166,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnAttach;
-
+
///
/// Toolbar1 控件。
///
@@ -173,7 +175,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Toolbar Toolbar1;
-
+
///
/// hdAttachUrl 控件。
///
@@ -182,7 +184,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.HiddenField hdAttachUrl;
-
+
///
/// btnSave 控件。
///
@@ -191,7 +193,7 @@ namespace FineUIPro.Web.CQMS.Comprehensive {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
///
protected global::FineUIPro.Button btnSave;
-
+
///
/// WindowAtt 控件。
///
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx
new file mode 100644
index 00000000..b7a3c06b
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx
@@ -0,0 +1,131 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReviewDrawings.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.ReviewDrawings" %>
+
+
+
+
+
+
+ 图纸会审管理
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.cs
new file mode 100644
index 00000000..30c1fbc6
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.cs
@@ -0,0 +1,315 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+
+namespace FineUIPro.Web.CQMS.Comprehensive
+{
+ public partial class ReviewDrawings : PageBase
+ {
+ #region 加载
+ ///
+ /// 加载页面
+ ///
+ ///
+ ///
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ GetButtonPower();
+ BLL.CNProfessionalService.InitCNProfessionalDownList(this.sdrpCNProfessionalId, true);
+ BindGrid();
+ }
+ }
+
+ ///
+ /// 数据绑定
+ ///
+ public void BindGrid()
+ {
+ string strSql = @"SELECT C.*,CN.ProfessionalName"
+ + @" FROM Comprehensive_ReviewDrawings C "
+ + @" LEFT JOIN Base_CNProfessional CN ON C.CNProfessionalId=CN.CNProfessionalId"
+ + @" WHERE C.ProjectId = @ProjectId";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+
+ if (sdrpCNProfessionalId.SelectedValue != BLL.Const._Null)
+ {
+ strSql += " AND C.CNProfessionalId=@CNProfessionalId";
+ listStr.Add(new SqlParameter("@CNProfessionalId", sdrpCNProfessionalId.SelectedValue));
+ }
+ if (!string.IsNullOrEmpty(this.txtDraCode.Text.Trim()))
+ {
+ strSql += " AND C.DraCode='" + txtDraCode.Text.Trim() + "'";
+
+ }
+
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ Grid1.RecordCount = tb.Rows.Count;
+ //tb = GetFilteredTable(Grid1.FilteredData, tb);
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+ #endregion
+
+ #region 获取按钮权限
+ ///
+ /// 获取按钮权限
+ ///
+ ///
+ ///
+ private void GetButtonPower()
+ {
+ if (Request.Params["value"] == BLL.Const._Null)
+ {
+ return;
+ }
+ var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ReviewDrawingsMenuId);
+ if (buttonList.Count() > 0)
+ {
+ if (buttonList.Contains(BLL.Const.BtnAdd))
+ {
+ this.btnNew.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnModify))
+ {
+ this.btnMenuModify.Hidden = false;
+ this.Grid1.EnableRowDoubleClickEvent = true;
+ }
+ else
+ {
+ this.Grid1.EnableRowDoubleClickEvent = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnDelete))
+ {
+ this.btnMenuDel.Hidden = false;
+ }
+ if (buttonList.Contains(BLL.Const.BtnSave))
+ {
+ //this.btnImport.Hidden = false;
+ }
+ }
+ }
+ #endregion
+
+ #region 查询
+ ///
+ /// 查询
+ ///
+ ///
+ ///
+ protected void btnSearch_Click(object sender, EventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 分页、排序
+ ///
+ /// 分页下拉
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ Grid1.SortDirection = e.SortDirection;
+ Grid1.SortField = e.SortField;
+ BindGrid();
+ }
+
+ ///
+ /// 分页
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 新增
+ ///
+ /// 新增按钮事件
+ ///
+ ///
+ ///
+ protected void btnNew_Click(object sender, EventArgs e)
+ {
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ReviewDrawingsEdit.aspx", "编辑 - ")));
+ }
+ #endregion
+
+ #region 编辑
+ ///
+ /// 右键修改
+ ///
+ ///
+ ///
+ protected void btnMenuModify_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length == 0)
+ {
+ Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
+ return;
+ }
+ PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ReviewDrawingsEdit.aspx?Id={0}", Grid1.SelectedRowID, "编辑 - ")));
+ }
+
+ ///
+ /// Grid行双击事件
+ ///
+ ///
+ ///
+ protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
+ {
+ this.btnMenuModify_Click(sender, e);
+ }
+ #endregion
+
+ #region 删除
+ ///
+ /// 右键删除
+ ///
+ ///
+ ///
+ protected void btnMenuDel_Click(object sender, EventArgs e)
+ {
+ if (Grid1.SelectedRowIndexArray.Length > 0)
+ {
+ foreach (int rowIndex in Grid1.SelectedRowIndexArray)
+ {
+ string rowID = Grid1.DataKeys[rowIndex][0].ToString();
+ var InspectionPerson = BLL.ReviewDrawingsService.Detail(rowID);
+ if (InspectionPerson != null)
+ {
+ BLL.ReviewDrawingsService.Delete(rowID);
+ }
+ }
+ BindGrid();
+ ShowNotify("删除数据成功!", MessageBoxIcon.Success);
+ }
+ }
+ #endregion
+
+ #region 关闭弹出窗口
+ ///
+ /// 关闭弹出窗口
+ ///
+ ///
+ ///
+ protected void Window1_Close(object sender, WindowCloseEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 格式化字符串
+ ///
+ /// 获取单位工程名称
+ ///
+ ///
+ ///
+ protected string ConvertUnitWork(object CarryUnitWorks)
+ {
+ string CarryUnitWorkName = string.Empty;
+ if (CarryUnitWorks != null)
+ {
+ string[] Ids = CarryUnitWorks.ToString().Split(',');
+ foreach (string t in Ids)
+ {
+ var UnitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(t);
+ if (UnitWork != null)
+ {
+ CarryUnitWorkName += UnitWork.UnitWorkName + ",";
+ }
+ }
+ }
+ if (CarryUnitWorkName != string.Empty)
+ {
+ return CarryUnitWorkName.Substring(0, CarryUnitWorkName.Length - 1);
+ }
+ else
+ {
+ return "";
+ }
+ }
+
+ ///
+ /// 获取单位名称
+ ///
+ ///
+ ///
+ protected string ConvertCarryUnit(object CarryUnitIds)
+ {
+ string CarryUnitName = string.Empty;
+ if (CarryUnitIds != null)
+ {
+ string[] Ids = CarryUnitIds.ToString().Split(',');
+ foreach (string t in Ids)
+ {
+ var type = BLL.UnitService.GetUnitByUnitId(t);
+ if (type != null)
+ {
+ CarryUnitName += type.UnitName + ",";
+ }
+ }
+ }
+ if (CarryUnitName != string.Empty)
+ {
+ return CarryUnitName.Substring(0, CarryUnitName.Length - 1);
+ }
+ else
+ {
+ return "";
+ }
+ }
+ #endregion
+
+ public static string ConvertState(object Status)
+ {
+ if (Status != null)
+ {
+ if (Status.ToString().Trim() == BLL.Const.Comprehensive_ReCompile)
+ {
+ return "重报";
+ }
+ else if (Status.ToString().Trim() == BLL.Const.Comprehensive_ReJect)
+ {
+ return "驳回";
+ }
+ else if (Status.ToString().Trim() == BLL.Const.Comprehensive_Compile)
+ {
+ return "编制";
+ }
+ else if (Status.ToString().Trim() == BLL.Const.Comprehensive_Audit)
+ {
+ return "待审批";
+ }
+ else if (Status.ToString().Trim() == BLL.Const.Comprehensive_Complete)
+ {
+ return "审批完成";
+ }
+ }
+
+ return "编制";
+ }
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.designer.cs
new file mode 100644
index 00000000..27acdd82
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawings.aspx.designer.cs
@@ -0,0 +1,215 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.CQMS.Comprehensive
+{
+
+
+ public partial class ReviewDrawings
+ {
+
+ ///
+ /// 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;
+
+ ///
+ /// ToolSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar ToolSearch;
+
+ ///
+ /// sdrpCNProfessionalId 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList sdrpCNProfessionalId;
+
+ ///
+ /// txtDraCode 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.TextBox txtDraCode;
+
+ ///
+ /// btnSearch 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnSearch;
+
+ ///
+ /// btnNew 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnNew;
+
+ ///
+ /// lblPageIndex 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPageIndex;
+
+ ///
+ /// Label2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label2;
+
+ ///
+ /// Label3 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label Label3;
+
+ ///
+ /// txtStatus 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.Label txtStatus;
+
+ ///
+ /// lbtnFileUrl 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.WebControls.LinkButton lbtnFileUrl;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+
+ ///
+ /// Window1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window1;
+
+ ///
+ /// Window2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window Window2;
+
+ ///
+ /// WindowAtt 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Window WindowAtt;
+
+ ///
+ /// Menu1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Menu Menu1;
+
+ ///
+ /// btnMenuModify 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuModify;
+
+ ///
+ /// btnMenuDel 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.MenuButton btnMenuDel;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsEdit.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsEdit.aspx
new file mode 100644
index 00000000..ae1e621e
--- /dev/null
+++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/ReviewDrawingsEdit.aspx
@@ -0,0 +1,107 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReviewDrawingsEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.Comprehensive.ReviewDrawingsEdit" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+