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/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index 913c7dd6..75575442 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -753,6 +753,9 @@
+
+
+
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/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index b9a971a9..0100c1b3 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1761,6 +1761,9 @@
+
+
+
@@ -15905,6 +15908,27 @@
MonthReportEdit.aspx
+
+ MonthReportPush.aspx
+ ASPXCodeBehind
+
+
+ MonthReportPush.aspx
+
+
+ MonthReportPushView.aspx
+ ASPXCodeBehind
+
+
+ MonthReportPushView.aspx
+
+
+ MonthReportView.aspx
+ ASPXCodeBehind
+
+
+ MonthReportView.aspx
+
PropertyReport.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx
index dcae9ce4..6a74db1b 100644
--- a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx
@@ -20,7 +20,7 @@
-
+ <%----%>
@@ -38,24 +38,24 @@
-
+ --%>
+
-
-
+ FieldType="Date" Renderer="Date" HeaderText="编制日期" HeaderTextAlign="Center" Width="110px">
-
-
+ --%>
diff --git a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.cs b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.cs
index 3969424c..48ade239 100644
--- a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.cs
+++ b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.cs
@@ -17,7 +17,7 @@ namespace FineUIPro.Web.TestRun.DriverReport
GetButtonPower();
BindGrid();
btnNew.OnClientClick = Window1.GetShowReference("DriverRunCompleteEdit.aspx") + "return false;";
- BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
+ //BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
}
}
#endregion
@@ -44,11 +44,11 @@ namespace FineUIPro.Web.TestRun.DriverReport
+ @" WHERE report.ProjectId=@projectId AND report.ReportType='6'";
List listStr = new List();
listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId));
- if (!string.IsNullOrEmpty(this.drpUnitWorkId.SelectedValue) && this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
- {
- strSql += " AND report.UnitWorkId=@unitWorkId";
- listStr.Add(new SqlParameter("@unitWorkId", this.drpUnitWorkId.SelectedValue));
- }
+ //if (!string.IsNullOrEmpty(this.drpUnitWorkId.SelectedValue) && this.drpUnitWorkId.SelectedValue != BLL.Const._Null)
+ //{
+ // strSql += " AND report.UnitWorkId=@unitWorkId";
+ // listStr.Add(new SqlParameter("@unitWorkId", this.drpUnitWorkId.SelectedValue));
+ //}
if (!string.IsNullOrEmpty(this.txtDriverReporName.Text.Trim()))
{
strSql += " AND report.DriverReporName LIKE @DriverReporName";
diff --git a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.designer.cs b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.designer.cs
index 94e5f912..0a88ffa2 100644
--- a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.designer.cs
+++ b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunComplete.aspx.designer.cs
@@ -57,15 +57,6 @@ namespace FineUIPro.Web.TestRun.DriverReport {
///
protected global::FineUIPro.Toolbar ToolSearch;
- ///
- /// drpUnitWorkId 控件。
- ///
- ///
- /// 自动生成的字段。
- /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
- ///
- protected global::FineUIPro.DropDownList drpUnitWorkId;
-
///
/// txtDriverReporName 控件。
///
diff --git a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunCompleteEdit.aspx b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunCompleteEdit.aspx
index d1e2fa6f..d0ba34b9 100644
--- a/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunCompleteEdit.aspx
+++ b/SGGL/FineUIPro.Web/TestRun/DriverReport/DriverRunCompleteEdit.aspx
@@ -34,20 +34,20 @@
-
+ <%--
-
+ --%>
-
+
-
+
@@ -59,15 +59,15 @@
-
+
-
+ <%--
-
+ --%>
-
+
-
+ <%--
-
+ --%>
-
+
-
+ <%--
-
+ --%>