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
 | |
| 
 | |
| 
 |