53 lines
4.3 KiB
Transact-SQL
53 lines
4.3 KiB
Transact-SQL
|
|
ALTER VIEW [dbo].[View_WBS_CostControlDetailStatistics]
|
|
AS
|
|
select InstallationId as Id,null as SupId ,InstallationCode as Code, InstallationName as Name,'Installation' as WBSType,null as OldCnProfessionId,null as OldUnitProjectCode,null as OldWbsSetCode,
|
|
ProjectId,'' as EquipmentMaterialTypeName from dbo.Project_Installation where SuperInstallationId is null
|
|
Union
|
|
select InstallationId as Id,SuperInstallationId as SupId ,InstallationCode as Code, '['+InstallationCode+']'+InstallationName as Name,'Installation' as WBSType,null as OldCnProfessionId,null as OldUnitProjectCode,null as OldWbsSetCode,
|
|
ProjectId,'' as EquipmentMaterialTypeName from dbo.Project_Installation where SuperInstallationId is not null
|
|
Union
|
|
select CnProfessionId as Id , InstallationId as SupId,CnProfessionCode as Code, CnProfessionName as Name,'CnProfession' as WBSType,OldId as OldCnProfessionId,null as OldUnitProjectCode,null as OldWbsSetCode,
|
|
ProjectId,'' as EquipmentMaterialTypeName from dbo.WBS_CnProfession where IsApprove=1
|
|
Union all
|
|
select UnitProjectId as Id, isnull(CnProfessionId,InstallationId) as SupId,UnitProjectCode as Code,UnitProjectName as Name,'UnitProject' as WBSType,
|
|
(case when u.CnProfessionId is null then (select top 1 CnProfessionId from WBS_CnProfessionInit where CnProfessionName like (select '%'+substring(InstallationName,0,2)+'%' from Project_Installation where InstallationId=u.InstallationId)) else (select OldId from WBS_CnProfession c where c.CnProfessionId=u.CnProfessionId) end) as OldCnProfessionId,UnitProjectCode as OldUnitProjectCode,null as OldWbsSetCode,
|
|
ProjectId,'' as EquipmentMaterialTypeName from dbo.Wbs_UnitProject u where IsApprove=1
|
|
Union all
|
|
select WbsSetId as id,UnitProjectId as SupId,WbsSetCode as Code, WbsSetName as Name,'WbsSet' as WBSType,
|
|
(case when w.CnProfessionId is null then (select top 1 CnProfessionId from WBS_CnProfessionInit where CnProfessionName like (select '%'+substring(InstallationName,0,2)+'%' from Project_Installation where InstallationId=w.InstallationId)) else (select OldId from WBS_CnProfession c where c.CnProfessionId=w.CnProfessionId) end) as OldCnProfessionId,(select UnitProjectCode from Wbs_UnitProject c where c.UnitProjectId=w.UnitProjectId) as OldUnitProjectCode,
|
|
WbsSetCode as OldWbsSetCode,
|
|
ProjectId,'' as EquipmentMaterialTypeName from dbo.Wbs_WbsSet w where IsApprove=1 and SuperWbsSetId is null
|
|
Union all
|
|
select WbsSetId as id,SuperWbsSetId as SupId,WbsSetCode as Code, WbsSetName as Name,'WbsSet' as WBSType,
|
|
(case when w.CnProfessionId is null then (select top 1 CnProfessionId from WBS_CnProfessionInit where CnProfessionName like (select '%'+substring(InstallationName,0,2)+'%' from Project_Installation where InstallationId=w.InstallationId)) else (select OldId from WBS_CnProfession c where c.CnProfessionId=w.CnProfessionId) end) as OldCnProfessionId,(select UnitProjectCode from Wbs_UnitProject c where c.UnitProjectId=w.UnitProjectId) as OldUnitProjectCode,
|
|
(select WbsSetCode from Wbs_WbsSet ws where ws.WbsSetId=w.SuperWbsSetId) as OldWbsSetCode,
|
|
ProjectId,'' as EquipmentMaterialTypeName from dbo.Wbs_WbsSet w where IsApprove=1 and SuperWbsSetId is not null
|
|
Union all
|
|
select c.CostControlId as id,c.WbsSetId as SupId,CostControlCode as Code,c.CostControlName as Name,'CostControl' as WBSType,
|
|
(case when ws.CnProfessionId is null then (select top 1 CnProfessionId from WBS_CnProfessionInit where CnProfessionName like (select '%'+substring(InstallationName,0,2)+'%' from Project_Installation where InstallationId=ws.InstallationId)) else (select OldId from WBS_CnProfession cn where cn.CnProfessionId=(select top 1 CnProfessionId from Wbs_WbsSet w where w.WbsSetId=c.WbsSetId)) end) as OldCnProfessionId,
|
|
(select UnitProjectCode from Wbs_UnitProject u where u.UnitProjectId=(select top 1 UnitProjectId from Wbs_WbsSet w where w.WbsSetId=c.WbsSetId)) as OldUnitProjectCode,
|
|
(select WbsSetCode from Wbs_WbsSet u where u.WbsSetId=(select top 1 w.SuperWbsSetId from Wbs_WbsSet w where w.WbsSetId=c.WbsSetId)) as OldWbsSetCode,
|
|
c.ProjectId,case when emt.EquipmentMaterialTypeName is not null then emt.EquipmentMaterialTypeName else '' end as EquipmentMaterialTypeName from dbo.WBS_CostControl c
|
|
left join dbo.WBS_EquipmentMaterialType emt on emt.EquipmentMaterialTypeId=c.EquipmentMaterialTypeId
|
|
left join dbo.Wbs_WbsSet ws on ws.WbsSetId=c.WbsSetId
|
|
where c.IsSelected=1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GO
|
|
|
|
|