INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('F3AA42B3-5776-4992-A625-1216C579FEDE','项目进度情况','JDGL/Check/ProgressCompletion.aspx',60,'0','Menu_JDGL',0,1,1) GO INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('8232DE3C-307C-49ED-9A37-6C29A94AABDF','F3AA42B3-5776-4992-A625-1216C579FEDE','增加',1) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('BFF4796D-734B-49C3-BAEA-D15437D72BA4','F3AA42B3-5776-4992-A625-1216C579FEDE','修改',2) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('9884E883-9C71-4F76-A7E0-BBC030911548','F3AA42B3-5776-4992-A625-1216C579FEDE','删除',3) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('08C87DB8-494D-47F3-B271-7548CCE72E7A','F3AA42B3-5776-4992-A625-1216C579FEDE','保存',4) GO CREATE TABLE [dbo].[JDGL_ProgressCompletion]( [ProgressCompletionId] [nvarchar](50) NOT NULL, [ProjectId] [nvarchar](50) NULL, [Months] [datetime] NULL, [PlanNum] [decimal](9, 2) NULL, [RealNum] [decimal](9, 2) NULL, [CompileMan] [nvarchar](50) NULL, [CompileDate] [datetime] NULL, CONSTRAINT [PK_JDGL_ProgressCompletion] PRIMARY KEY CLUSTERED ( [ProgressCompletionId] 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].[JDGL_ProgressCompletion] WITH CHECK ADD CONSTRAINT [FK_JDGL_ProgressCompletion_Base_Project] FOREIGN KEY([ProjectId]) REFERENCES [dbo].[Base_Project] ([ProjectId]) GO ALTER TABLE [dbo].[JDGL_ProgressCompletion] CHECK CONSTRAINT [FK_JDGL_ProgressCompletion_Base_Project] GO ALTER TABLE [dbo].[JDGL_ProgressCompletion] WITH CHECK ADD CONSTRAINT [FK_JDGL_ProgressCompletion_Sys_User] FOREIGN KEY([CompileMan]) REFERENCES [dbo].[Sys_User] ([UserId]) GO ALTER TABLE [dbo].[JDGL_ProgressCompletion] CHECK CONSTRAINT [FK_JDGL_ProgressCompletion_Sys_User] GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_ProgressCompletion', @level2type=N'COLUMN',@level2name=N'ProgressCompletionId' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_ProgressCompletion', @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'JDGL_ProgressCompletion', @level2type=N'COLUMN',@level2name=N'Months' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当月计划值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_ProgressCompletion', @level2type=N'COLUMN',@level2name=N'PlanNum' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当月完成值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_ProgressCompletion', @level2type=N'COLUMN',@level2name=N'RealNum' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_ProgressCompletion', @level2type=N'COLUMN',@level2name=N'CompileMan' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_ProgressCompletion', @level2type=N'COLUMN',@level2name=N'CompileDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目进度情况表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_ProgressCompletion' GO CREATE VIEW [dbo].[View_JDGL_ProgressCompletion] AS select ss.ProgressCompletionId,ss.ProjectId,ss.Months,CONVERT(NVARCHAR(10),Year(ss.Months))+'-'+CONVERT(NVARCHAR(10),Month(ss.Months)) as MonthStr,CONVERT(NVARCHAR(10),CONVERT(FLOAT,ss.PlanNum))+'%' as PlanNumStr,CONVERT(NVARCHAR(10),CONVERT(FLOAT,ss.RealNum))+'%' as RealNumStr, CONVERT(FLOAT,ISNULL(PlanNum,0)) as PlanNum,CONVERT(FLOAT,ISNULL(RealNum,0)) as RealNum, CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_ProgressCompletion where ProjectId=ss.ProjectId and Months<=ss.Months)) as TotalPlanNum, CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_ProgressCompletion where ProjectId=ss.ProjectId and Months<=ss.Months)) as TotalRealNum, CONVERT(NVARCHAR(10),CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_ProgressCompletion where ProjectId=ss.ProjectId and Months<=ss.Months)))+'%' as TotalPlanNumStr, CONVERT(NVARCHAR(10),CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_ProgressCompletion where ProjectId=ss.ProjectId and Months<=ss.Months)))+'%' as TotalRealNumStr from dbo.JDGL_ProgressCompletion ss GO ALTER VIEW [dbo].[View_JDGL_ElectricalCompletion] AS select distinct ss.*,u.UnitName, CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from JDGL_ElectricalCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and Name=ss.Name and EndDate<=getdate())) as TotalThisNum, CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ss.TotalNum,0) WHEN 0 THEN 0 ELSE 100*ISNULL((select sum(ISNULL(ThisNum,0)) from JDGL_ElectricalCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and Name=ss.Name and EndDate<=getdate()),0) / (1.0 *ss.TotalNum) END AS DECIMAL(9,2)))))+'%' AS Rate from dbo.JDGL_ElectricalCompletion ss left join dbo.Base_Unit u on ss.UnitId=u.UnitId where ss.ElectricalCompletionId=(select top 1 ElectricalCompletionId from JDGL_ElectricalCompletion q where q.UnitId=ss.UnitId and q.Name=ss.Name order by q.EndDate desc) GO ALTER VIEW [dbo].[View_JDGL_EquipmentCompletion] AS select distinct ss.*,u.UnitName, CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from JDGL_EquipmentCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and EndDate<=getdate())) as TotalThisNum, CONVERT(FLOAT,ss.ArrivalNum-(select sum(ISNULL(ThisNum,0)) from JDGL_EquipmentCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and EndDate<=getdate())) as TotalLastThisNum, CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ss.TotalNum,0) WHEN 0 THEN 0 ELSE 100*ISNULL((select sum(ISNULL(ThisNum,0)) from JDGL_EquipmentCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and EndDate<=getdate()),0) / (1.0 *ss.TotalNum) END AS DECIMAL(9,2)))))+'%' AS Rate from dbo.JDGL_EquipmentCompletion ss left join dbo.Base_Unit u on ss.UnitId=u.UnitId where ss.EquipmentCompletionId=(select top 1 EquipmentCompletionId from JDGL_EquipmentCompletion q where q.UnitId=ss.UnitId order by q.EndDate desc) GO ALTER VIEW [dbo].[View_JDGL_MeterCompletion] AS select distinct ss.*,u.UnitName, CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from JDGL_MeterCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and Name=ss.Name and EndDate<=getdate())) as TotalThisNum, CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ss.TotalNum,0) WHEN 0 THEN 0 ELSE 100*ISNULL((select sum(ISNULL(ThisNum,0)) from JDGL_MeterCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and Name=ss.Name and EndDate<=getdate()),0) / (1.0 *ss.TotalNum) END AS DECIMAL(9,2)))))+'%' AS Rate from dbo.JDGL_MeterCompletion ss left join dbo.Base_Unit u on ss.UnitId=u.UnitId where ss.MeterCompletionId=(select top 1 MeterCompletionId from JDGL_MeterCompletion q where q.UnitId=ss.UnitId and q.Name=ss.Name order by q.EndDate desc) GO ALTER VIEW [dbo].[View_JDGL_PipelineCompletion] AS select distinct ss.*,u.UnitName, CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from JDGL_PipelineCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and EndDate<=getdate())) as TotalThisNum, CONVERT(FLOAT,ss.TotalNum-(select sum(ISNULL(ThisNum,0)) from JDGL_PipelineCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and EndDate<=getdate())) as TotalLastThisNum, CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ss.TotalNum,0) WHEN 0 THEN 0 ELSE 100*ISNULL((select sum(ISNULL(ThisNum,0)) from JDGL_PipelineCompletion where ProjectId=ss.ProjectId and UnitId=ss.UnitId and EndDate<=getdate()),0) / (1.0 *ss.TotalNum) END AS DECIMAL(9,2)))))+'%' AS Rate from dbo.JDGL_PipelineCompletion ss left join dbo.Base_Unit u on ss.UnitId=u.UnitId where ss.PipelineCompletionId=(select top 1 PipelineCompletionId from JDGL_PipelineCompletion q where q.UnitId=ss.UnitId order by q.EndDate desc) GO ALTER VIEW [dbo].[View_JDGL_QuantityCompletion] AS select qc.*,ql.DesignNum,ql.Name,ql.Unit, CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalPlanNum, CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalRealNum, CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(qc.PlanNum,0) WHEN 0 THEN 0 ELSE 100*ISNULL(qc.RealNum,0) / (1.0 *qc.PlanNum) END AS DECIMAL(9,2)))))+'%' AS Rate, CONVERT(NVARCHAR(10),((CAST(CASE (select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) WHEN 0 THEN 0 ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) END AS DECIMAL(9,2)))))+'%' AS TotalRate, CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ql.DesignNum,0) WHEN 0 THEN 0 ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *ql.DesignNum) END AS DECIMAL(9,2)))))+'%' AS SumRate, CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months