Basf_EProject/DataBase/版本日志/EProjectDB_2024-04-03.sql

232 lines
13 KiB
Transact-SQL

ALTER TABLE dbo.Editor_EProject ADD PM_Planning_Approval DATETIME NULL
ALTER TABLE dbo.Editor_EProject ADD PM_Pre_Approval DATETIME NULL
GO
ALTER PROCEDURE [dbo].[ProjectSchedule]
@EProjectId VARCHAR(50)
AS
/*********首页Schedule第一部分**********/
SELECT 1 AS id,
'Job Receive' AS MileSones,
'N.A' AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10),PM_MA_JobReveive, 23) IS NOT NULL THEN CONVERT(VARCHAR(10),PM_MA_JobReveive, 23) ELSE 'N.A' END) AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 2 AS id,
'Planning Cost Approval' AS MileSones,
'N.A' AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10),PM_Planning_Approval, 23) IS NOT NULL THEN CONVERT(VARCHAR(10),PM_Planning_Approval, 23) ELSE 'N.A' END) AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
--(CASE WHEN CONVERT(VARCHAR(10),eProject.ProjectControl_MS_ResourcePlanReceived,23) IS NOT NULL
--THEN CONVERT(VARCHAR(10),eProject.ProjectControl_MS_ResourcePlanReceived,23) ELSE 'N.A' END) AS Actual
--FROM dbo.Editor_EProject AS eProject
--WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 3 AS id,
'Pre-approval' AS MileSones,
'N.A' AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10),PM_Pre_Approval, 23) IS NOT NULL THEN CONVERT(VARCHAR(10),PM_Pre_Approval, 23) ELSE 'N.A' END) AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 4 AS id,
'Kick-off Meeting' AS MileSones,
'N.A' AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10), PM_MA_KickOffMeeting, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), PM_MA_KickOffMeeting, 23) ELSE 'N.A' END) AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 5 AS id,
'SR1/2' AS MileSones,
(CASE WHEN CONVERT(VARCHAR(10), ProjectControl_MS_SR, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), ProjectControl_MS_SR, 23) ELSE 'N.A' END) AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10), PM_MA_SR, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), PM_MA_SR, 23) ELSE 'N.A' END) AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 6 AS id,
'Final Approval' AS MileSones,
(CASE WHEN CONVERT(VARCHAR(10), ProjectControl_MS_Approval, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), ProjectControl_MS_Approval, 23) ELSE 'N.A' END) AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10), PM_MA_ProjectApproval, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), PM_MA_ProjectApproval, 23) ELSE 'N.A' END) AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 7 AS id,
'MC' AS MileSones,
(CASE WHEN CONVERT(VARCHAR(10), ProjectControl_Revised_MC_Date, 23) IS NOT NULL AND ProjectControl_Revised_MC_Date=ProjectControl_MS_MC
THEN CONVERT(VARCHAR(10), ProjectControl_Revised_MC_Date, 23)
ELSE CASE WHEN CONVERT(VARCHAR(10), ProjectControl_Revised_MC_Date, 23) IS NOT NULL AND ProjectControl_Revised_MC_Date!=ProjectControl_MS_MC
THEN CONVERT(VARCHAR(10), ProjectControl_Revised_MC_Date, 23)+'*'
ELSE 'N.A' END END) AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10), CM_MA_MC, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), CM_MA_MC, 23)ELSE 'N.A' END)AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 8 AS id,
'Close' AS MileSones,
(CASE WHEN CONVERT(VARCHAR(10), ProjectControl_MS_Close, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), ProjectControl_MS_Close, 23) ELSE 'N.A' END) AS Schedule,
(CASE WHEN CONVERT(VARCHAR(10), ProjectControl_ClosedDate, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), ProjectControl_ClosedDate, 23) ELSE 'N.A' END)as Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
UNION
SELECT 9 AS id,
'Cancel' AS MileSones,
(CASE WHEN CONVERT(VARCHAR(10), ProjectControl_PC_CancelDate, 23) IS NOT NULL THEN CONVERT(VARCHAR(10), ProjectControl_PC_CancelDate, 23) ELSE 'N.A' END) AS Schedule,
'N.A' AS Actual
FROM dbo.Editor_EProject AS eProject
WHERE eProject.EProjectId=@EProjectId
GO
ALTER VIEW [dbo].[View_ProjectListReport]
AS
/*********报表:项目列表 佘春生修改于2023.03.01*********/
SELECT eproject.EProjectId,
eproject.ProjectControl_BUCode,--BU.
eproject.ProjectControl_JobNo,--Job No
eproject.ProjectControl_JobType,--Job Type
eproject.ProjectControl_LeadByName,--Lead By
eproject.ProjectControl_JobTitle,--Job Title
ISNULL(eproject.ProjectControl_OrginalBudget,0) AS OrginalBudget,--Org. Budget
eproject.ProjectControl_ChangedBudget AS ChangedBudget,
eproject.PM_General_CostToComplete AS CostToComplete,
(ISNULL(eproject.ProjectControl_Actual,0)+ISNULL(eproject.ProjectControl_CommittedPRPO,0)+
ISNULL(eproject.ProjectControl_CommittedSSRs,0)+ISNULL(eproject.PM_General_CostToComplete,0)) AS FinalCost,
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.ChangedBudget,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.ChangedBudget,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END) AS ChangedBudget,--Chd. Budget
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END) AS CostToComplete,--Cost.Comp
--((CASE WHEN (SELECT TOP 1 ISNULL(cost.ActualCost,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.ActualCost,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)+
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CommittedPRPO,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CommittedPRPO,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)+
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CommittedSSRs,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CommittedSSRs,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)+
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)) AS FinalCost,--Final Cost
eproject.ProjectControl_ProjectManager,--Proj. Manager
eproject.ProjectControl_ConstManager,--Const. Manager
eproject.ProjectControl_EMManager,
CONVERT(NVARCHAR(10),eproject.PM_MA_JobReveive,23) AS RECEIVES,--RECEIVE
CONVERT(NVARCHAR(10),eproject.ProjectControl_MS_Approval,23) AS ProjectControl_MS_Approval,--Appr Date(Sch)
CONVERT(NVARCHAR(10),eproject.PM_MA_ProjectApproval,23) AS PM_MA_ProjectApproval,--Appr Date(Act)
CONVERT(NVARCHAR(10),eproject.ProjectControl_MS_MC,23) AS ProjectControl_MS_MC,--MC (Plan)
CONVERT(NVARCHAR(10),eproject.CM_MA_MC,23) AS CM_MA_MC,--MC (Act)
CONVERT(NVARCHAR(10),eproject.ProjectControl_MS_Close,23) AS ProjectControl_MS_Close,--CLOSE(Sch)
CONVERT(NVARCHAR(10),eproject.ProjectControl_ClosedDate,23) AS CloseAct,--CLOSE(Act) 代码中处理
CONVERT(NVARCHAR(10),eproject.ProjectControl_PC_CancelDate,23) AS ProjectControl_PC_CancelDate,--Cancel Date
CONVERT(NVARCHAR(10),eproject.ProjectControl_BC_CloseDate,23) AS ProjectControl_BC_CloseDate,--B. Close
eproject.PM_General_Priority,--Priority
eproject.ProjectControl_JobStatus,--Job Status
eproject.PM_Critical,
(SELECT TOP 1 ConstText FROM dbo.Sys_Const WHERE ConstValue=eproject.PM_ReasonForCritical AND GroupId='ReasonForCritical') AS PM_ReasonForCritical,
(CASE WHEN DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd)>0
THEN (CASE WHEN (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))>0.1 THEN 'C'
WHEN (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))<=0.1 AND (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))>0.05 THEN 'B'
WHEN (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))<=0.05 THEN 'A'
ELSE '' END)
ELSE ''END) AS Schedule,--Sche.
(CASE WHEN (SELECT TOP 1 OrginalBudget+ ChangedBudget FROM dbo.Editor_CostReport WHERE EProjectId= eproject.EProjectId ORDER BY Monthly DESC)>0
THEN (CASE WHEN (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)>0.1 THEN 'C'
WHEN (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)>0.05 AND (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)<=0.1 THEN 'B'
WHEN (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)<=0.05 THEN 'A' ELSE '' END)
ELSE '' END) AS Cost,--Cost
(CASE WHEN eproject.PM_SC_PendingQty>0 THEN 'C'
WHEN (eproject.PM_SC_PendingQty=0 OR eproject.PM_SC_PendingQty IS NULL) AND PM_SC_ApprovedQty>0 THEN 'B'
WHEN (eproject.PM_SC_ApprovedQty=0 OR eproject.PM_SC_ApprovedQty IS NULL) AND (eproject.PM_SC_PendingQty=0 OR eproject.PM_SC_PendingQty IS NULL) THEN 'A'
ELSE '' END) AS Scope,--Scope
eproject.ProjectControl_MOCFormNo,--MOC No.
eproject.ProjectControl_Account,--Account
ISNULL(eproject.ProjectControl_PVIPrediction,0) AS ProjectControl_PVIPrediction,--PVI Pre.
eproject.ProjectControl_CostEffectvitity,--Cost Eff.
eproject.ProjectControl_OperationRep,--Oper. Rep.
eproject.ProjectControl_CI_ProcessName,--Process Eng.
eproject.ProjectControl_CI_EquipmentName,--Equip. Eng.
eproject.ProjectControl_CI_InstrumentName,--Instr. Eng.
eproject.ProjectControl_CI_ElectricalName,--Elec. Eng.
eproject.ProjectControl_CI_CivilName,--Civil Eng.
eproject.PM_General_Category,--CATEGORY
eproject.PM_General_CDI,--PROJECT_CDI
CONVERT(NVARCHAR(10),(SELECT TOP 1 ReceiveHC FROM dbo.Editor_TDC WHERE [Type]='D01_IFC' AND Disc='00_ALL' AND EProjectId = eproject.EProjectId),23) AS IFC_Received,--IFC Received
CONVERT(NVARCHAR(10),(SELECT TOP 1 InputDate FROM dbo.Editor_TDC WHERE [Type]='D11_MC' AND Disc='00_ALL' AND EProjectId = eproject.EProjectId),23) AS MC_ReceivedDate,--MC Received Date
s.Detail_Eng_Civil_Sch_Start,--PROJ_DE_CIVIL_SCH_START_DATE
s.Detail_Eng_Civil_Sch_End,--PROJ_DE_CIVIL_SCH_END_DATE
s.PROJ_DE_CIVIL_ACU_START_DATE,--PROJ_DE_CIVIL_ACU_START_DATE
s.PROJ_DE_CIVIL_ACU_END_DATE,--PROJ_DE_CIVIL_ACU_END_DATE
s.Detail_Eng_Mech_EI_Sch_Start,--PROJ_DE_ME_SCH_START_DATE
s.PROJ_DE_ME_SCH_END_DATE,--PROJ_DE_ME_SCH_END_DATE
s.Detail_Eng_Mech_EI_Sch_End,--PROJ_DE_ME_ACU_START_DATE
s.PROJ_DE_ME_ACU_END_DATE, --PROJ_DE_ME_ACU_END_DATE
s.ProjectControl_LP_SchStart,--PROJ_DE_LLI_SCH_START_DATE
s.ProjectControl_LP_SchEnd,--PROJ_DE_LLI_SCH_END_DATE
s.PM_LLEP_RevisedStart,--PROJ_DE_LLI_ACU_START_DATE
s.PM_LLEP_RevisedEnd,--PROJ_DE_LLI_ACU_END_DATE
s.ProjectControl_CC_SchStart,--PROJ_CN_CIVIL_SCH_START_DATE
s.ProjectControl_CC_SchEnd,--PROJ_CN_CIVIL_SCH_END_DATE
s.CM_CC_RevisedStart,--PROJ_CN_CIVIL_ACU_START_DATE
s.CM_CC_RevisedEnd,--PROJ_CN_CIVIL_ACU_END_DATE
s.ProjectControl_CM_SchStart,--PROJ_CN_ME_SCH_START_DATE
s.ProjectControl_CM_SchEnd,--PROJ_CN_ME_SCH_END_DATE
s.CM_CM_RevisedStart,--PROJ_CN_ME_ACU_START_DATE
s.CM_CM_RevisedEnd,--PROJ_CN_ME_ACU_END_DATE
CONVERT(VARCHAR(10),eproject.CM_KickOffMetting,23) AS CM_KickOffMetting,
eproject.ProjectControl_Revised_MC_Date,--Revised MC Date
eproject.ProjectControl_Remarks, --Remarks
eproject.OutSourceType,
eproject.CM_Date_of_Registration,
eproject.CM_Punch_CKilledDate,
eproject.StudyWo,
eproject.CTEInvolved,
eproject.CAPEXPlanNo,
ISNULL(eproject.PM_SC_ApprovedQty,0) AS PM_SC_ApprovedQty,
ISNULL(eproject.PM_SC_ApprovedCost,0) AS PM_SC_ApprovedCost,
CONVERT(VARCHAR(10),eproject.PM_Planning_Approval,23) AS PM_Planning_Approval,
CONVERT(VARCHAR(10),eproject.PM_Pre_Approval,23) AS PM_Pre_Approval
FROM dbo.Editor_EProject AS eproject
LEFT JOIN dbo.View_ScheduleDate s ON s.EProjectId = eproject.EProjectId
GO