119 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
 | 
						|
ALTER VIEW [dbo].[View_WBS_CostControlDetail]
 | 
						|
AS
 | 
						|
/********控制项明细********/
 | 
						|
SELECT detail.CostControlDetailId, 
 | 
						|
detail.CostControlId, 
 | 
						|
detail.Months, 
 | 
						|
detail.StartDate,
 | 
						|
detail.EndDate,
 | 
						|
c.CostControlCode, 
 | 
						|
c.CostControlName,
 | 
						|
c.WbsSetId, 
 | 
						|
c.ProjectId,
 | 
						|
c.Unit,   --单位
 | 
						|
c.TotalNum,   --合同工作量
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_CostControlDetail where CostControlId=detail.CostControlId and Months<=detail.Months and StartDate is null)) as TotalPlanNum,  --累计计划完成量
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_CostControlDetail where CostControlId=detail.CostControlId and ((Months<detail.Months and StartDate is null) or (Months=detail.Months and StartDate<=detail.StartDate)))) as TotalWeekPlanNum,  --累计周计划完成量
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_CostControlDetail where CostControlId=detail.CostControlId and Months<=detail.Months)) as TotalThisNum,  --累计完成量
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_CostControlDetail where CostControlId=detail.CostControlId and Months<=detail.Months and StartDate<=detail.StartDate)) as TotalWeekThisNum,  --累计周完成量
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.PlanNum,0)) from WBS_CostControlDetail d
 | 
						|
 where d.CostControlId=detail.CostControlId and Months=detail.Months and StartDate is null)) as PlanNum,  --本月计划完成量
 | 
						|
 CONVERT(FLOAT,ISNULL(detail.PlanNum,0)) as PlanWeekNum,  --本周计划完成量
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisNum,0)) from WBS_CostControlDetail d
 | 
						|
 where d.CostControlId=detail.CostControlId and Months=detail.Months)) as ThisNum,  --本月完成量
 | 
						|
 CONVERT(FLOAT,ISNULL(detail.ThisNum,0)) as ThisWeekNum,  --本周完成量
 | 
						|
c.RealPrice,    --成本单价
 | 
						|
c.PlanPrice,   --控制预算单价
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.PlanNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
 where d.CostControlId=detail.CostControlId and Months=detail.Months and StartDate is null)) as ThisPlanValue,  --本月计划完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.PlanNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
 where d.CostControlId=detail.CostControlId and Months=detail.Months and StartDate=detail.StartDate)) as ThisWeekPlanValue,  --本周计划完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisNum,0)*ISNULL(c1.RealPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
 where d.CostControlId=detail.CostControlId and Months=detail.Months)) as ThisRealCost,  --本月实际成本
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisNum,0)*ISNULL(c1.RealPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
 where d.CostControlId=detail.CostControlId and Months=detail.Months and StartDate=detail.StartDate)) as ThisWeekRealCost,  --本周实际成本
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and Months=detail.Months)) as ThisPlanCost,  --本月完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and Months=detail.Months and StartDate=detail.StartDate)) as ThisWeekPlanCost,  --本周完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.PlanNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and Months<=detail.Months and StartDate is null)) as TotalPlanValue,  --累计计划完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.PlanNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and ((Months<detail.Months and StartDate is null) or (Months=detail.Months and StartDate<=detail.StartDate)))) as TotalWeekPlanValue,  --累计周计划完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisNum,0)*ISNULL(c1.RealPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and Months<=detail.Months)) as TotalRealCost,  --累计完成成本
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisNum,0)*ISNULL(c1.RealPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and Months<=detail.Months and (StartDate<=detail.StartDate or StartDate is null))) as TotalWeekRealCost,  --累计周完成成本
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and Months<=detail.Months)) as TotalPlanCost,  --累计完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)*ISNULL(c1.PlanPrice,0)) from WBS_CostControlDetail d
 | 
						|
LEFT JOIN WBS_CostControl AS c1 ON c1.CostControlId=d.CostControlId
 | 
						|
where d.CostControlId=detail.CostControlId and Months<=detail.Months and (StartDate<=detail.StartDate or StartDate is null))) as TotalWeekPlanCost  --累计周完成预算
 | 
						|
FROM dbo.WBS_CostControlDetail AS detail
 | 
						|
LEFT JOIN WBS_CostControl AS c ON c.CostControlId=detail.CostControlId
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
 | 
						|
 | 
						|
ALTER VIEW [dbo].[View_WBS_CostControlParentDetail]
 | 
						|
AS
 | 
						|
/********控制项父级明细********/
 | 
						|
SELECT detail.CostControlParentDetailId, 
 | 
						|
detail.ParentId, 
 | 
						|
detail.Months, 
 | 
						|
detail.StartDate,
 | 
						|
detail.EndDate,
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisPlanValue,0)) from WBS_CostControlParentDetail 
 | 
						|
where ParentId=detail.ParentId and Months=detail.Months)) as ThisPlanValue,    --本月计划完成预算
 | 
						|
CONVERT(FLOAT,ISNULL(ThisPlanValue,0)) as ThisWeekPlanValue,    --本周计划完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisRealCost,0)) from WBS_CostControlParentDetail d
 | 
						|
where d.ParentId=detail.ParentId and Months=detail.Months)) as ThisRealCost,  --本月实际成本 
 | 
						|
CONVERT(FLOAT,ISNULL(ThisRealCost,0)) as ThisWeekRealCost,  --本周实际成本 
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisPlanCost,0)) from WBS_CostControlParentDetail 
 | 
						|
where ParentId=detail.ParentId and Months=detail.Months)) as ThisPlanCost,  --本月完成预算
 | 
						|
CONVERT(FLOAT,ISNULL(ThisPlanCost,0)) as ThisWeekPlanCost,  --本周完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisPlanValue,0)) from WBS_CostControlParentDetail 
 | 
						|
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalPlanValue,  --累计计划完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisPlanValue,0)) from WBS_CostControlParentDetail 
 | 
						|
where ParentId=detail.ParentId and Months<=detail.Months and (StartDate<=detail.StartDate or StartDate is null))) as TotalWeekPlanValue,  --累计周计划完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisRealCost,0)) from WBS_CostControlParentDetail d
 | 
						|
where d.ParentId=detail.ParentId and Months<=detail.Months)) as TotalRealCost,  --累计完成成本
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(d.ThisRealCost,0)) from WBS_CostControlParentDetail d
 | 
						|
where d.ParentId=detail.ParentId and Months<=detail.Months and (StartDate<=detail.StartDate or StartDate is null))) as TotalWeekRealCost,  --累计周完成成本
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisPlanCost,0)) from WBS_CostControlParentDetail 
 | 
						|
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalPlanCost,  --累计完成预算
 | 
						|
CONVERT(FLOAT,(select sum(ISNULL(ThisPlanCost,0)) from WBS_CostControlParentDetail 
 | 
						|
where ParentId=detail.ParentId and Months<=detail.Months and (StartDate<=detail.StartDate or StartDate is null))) as TotalWeekPlanCost  --累计周完成预算
 | 
						|
FROM dbo.WBS_CostControlParentDetail AS detail
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
 |