diff --git a/DataBase/版本日志/SGGLDB_WH_2023-07-01.sql b/DataBase/版本日志/SGGLDB_WH_2023-07-01.sql new file mode 100644 index 00000000..1339855e --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2023-07-01.sql @@ -0,0 +1,52 @@ + +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 + +