20230904 wbs维度数据仓库实现

This commit is contained in:
2023-09-04 17:13:55 +08:00
parent e1e1d5394a
commit 78871bae92
21 changed files with 950 additions and 223 deletions
@@ -0,0 +1,60 @@
ALTER TABLE WBS_ControlItemAndCycle ADD WorkPackageIds NVARCHAR(2000) NULL
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'WBS所有父级节点字符串ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_ControlItemAndCycle', @level2type=N'COLUMN',@level2name=N'WorkPackageIds'
GO
ALTER VIEW [dbo].[View_WBS_WorkPackageDetail]
AS
/********控制项明细********/
SELECT detail.WorkPackageDetailId,
detail.WorkPackageId,
detail.Months,
c.InitWorkPackageCode,
c.WorkPackageCode,
c.PackageContent,
c.ProjectId,
c.Unit, --单位
c.PlanProjectQuantity, --概算工作量
c.RealProjectQuantity, --实际工程量
c.PlanCost, --节点计划总费用
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_WorkPackageDetail
where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalPlanNum, --累计计划完成量
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_WorkPackageDetail
where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalThisNum, --累计完成量
CONVERT(FLOAT,(select sum(ISNULL(PlanValue,0)) from WBS_WorkPackageDetail
where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalPlanValue, --累计概算费用
CONVERT(FLOAT,(select sum(ISNULL(ThisValue,0)) from WBS_WorkPackageDetail
where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalThisValue, --累计实际费用
CONVERT(FLOAT,ISNULL(detail.PlanNum,0)) as PlanNum, --本月计划完成量
CONVERT(FLOAT,ISNULL(detail.ThisNum,0)) as ThisNum, --本月完成量
CONVERT(FLOAT,ISNULL(detail.PlanValue,0)) as PlanValue, --本月概算费用
CONVERT(FLOAT,ISNULL(detail.ThisValue,0)) as ThisValue --本月实际费用
FROM dbo.WBS_WorkPackageDetail AS detail
LEFT JOIN WBS_WorkPackage AS c ON c.WorkPackageId=detail.WorkPackageId
GO
ALTER VIEW [dbo].[View_WBS_WorkPackageParentDetail]
AS
/********控制项父级明细********/
SELECT detail.WorkPackageParentDetailId,
detail.ParentId,
detail.ProjectId,
detail.Months,
c.InitWorkPackageCode,
c.PlanCost, --节点计划总费用
CONVERT(FLOAT,ISNULL(detail.PlanNum,0)) as PlanNum, --本月计划完成量
CONVERT(FLOAT,ISNULL(detail.ThisNum,0)) as ThisNum, --本月实际完成量
CONVERT(FLOAT,ISNULL(detail.PlanValue,0)) as PlanValue, --本月概算费用
CONVERT(FLOAT,ISNULL(detail.ThisValue,0)) as ThisValue, --本月实际费用
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_WorkPackageParentDetail
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalPlanNum, --累计计划完成量
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_WorkPackageParentDetail
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalThisNum, --累计完成量
CONVERT(FLOAT,(select sum(ISNULL(PlanValue,0)) from WBS_WorkPackageParentDetail
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalPlanValue, --累计概算费用
CONVERT(FLOAT,(select sum(ISNULL(ThisValue,0)) from WBS_WorkPackageParentDetail
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalThisValue --累计实际费用
FROM dbo.WBS_WorkPackageParentDetail AS detail
LEFT JOIN WBS_WorkPackage AS c ON c.WorkPackageId=detail.ParentId
GO