CNCEC_SUBQHSE_WUHUAN/DataBase/版本日志/SUBQHSE_V2025-11-04-xiaj.sql

79 lines
3.8 KiB
Transact-SQL

--质量管理-质量检查-质量巡检:补充字段原因分析
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Check_CheckControl' AND COLUMN_NAME = 'ReasonAnalysis')
BEGIN
ALTER TABLE Check_CheckControl ADD ReasonAnalysis nvarchar(1000);
END
GO
--质量管理-质量检查-质量专项检查:补充字段原因分析
IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Check_JointCheckDetail' AND COLUMN_NAME = 'ReasonAnalysis')
BEGIN
ALTER TABLE Check_JointCheckDetail ADD ReasonAnalysis nvarchar(1000);
END
GO
ALTER VIEW [dbo].[View_Check_JointCheckDetail]
AS
SELECT d.JointCheckDetailId,d.JointCheckId, d.UnitWorkId, d.CNProfessionalCode, d.QuestionDef, d.QuestionType,d.CheckSite,
d.Standard,d.ReasonAnalysis,d.RectifyOpinion,d.LimitDate,d.AttachUrl,d.HandleWay,d.RectifyDate,d.ReAttachUrl,d.Feedback,d.IsOK,
c.ProjectId,c.CheckType,c.UnitId,u.UnitName,c.CheckDate,d.State,d.CreateDate,d.HandleMan,SaveHandleMan,
case d.State when '6' then 1
else 0 end as OK,
case c.CheckType when '1' then '周检查'
when '2' then '月检查'
when '3' then '不定期检查'
when '4' then '专业检查'
else '' end as CheckTypeStr,
--case d.QuestionType when '1' then '质量不合格'
-- when '2' then '质量缺陷'
-- else '' end as QuestionTypeStr,
qqt.QualityQuestionType as QuestionTypeStr,
pu.UnitName as ProposeUnitName,
ppu.UnitType as ProposeUnitType,
(select top 1 ApproveDate from dbo.Check_JointCheckApprove jca where jca.JointCheckDetailId=d.JointCheckDetailId
order by ApproveDate desc) as OKDate,
uw.UnitWorkName,cn.ProfessionalName
FROM dbo.Check_JointCheckDetail AS d
LEFT JOIN dbo.Check_JointCheck AS c ON c.JointCheckId = d.JointCheckId
LEFT JOIN dbo.Base_Unit AS u ON u.UnitId = c.UnitId
LEFT JOIN dbo.WBS_UnitWork as uw on uw.UnitWorkId=d.UnitWorkId
LEFT JOIN dbo.Base_CNProfessional as cn on cn.CNProfessionalId=d.CNProfessionalCode
LEFT JOIN dbo.Base_Unit AS pu ON pu.UnitId = c.ProposeUnitId
LEFT JOIN dbo.Project_ProjectUnit AS ppu ON ppu.UnitId = c.ProposeUnitId and ppu.ProjectId=c.ProjectId
LEFT JOIN dbo.Base_QualityQuestionType AS qqt ON qqt.QualityQuestionTypeId = d.QuestionType
union
(SELECT d.CheckControlCode,'', d.UnitWorkId, d.CNProfessionalCode, d.QuestionDef, d.QuestionType,d.CheckSite,
'',d.ReasonAnalysis,d.RectifyOpinion,d.LimitDate,d.AttachUrl,d.HandleWay,d.RectifyDate,d.ReAttachUrl,null,null,
d.ProjectId,'5',d.UnitId,u.UnitName,d.CheckDate,d.State,d.CheckDate,'','',
case d.State when '7' then 1
else 0 end as OK,
'质量巡检' as CheckTypeStr,
--case d.QuestionType when '1' then '质量不合格'
-- when '2' then '质量缺陷'
-- else '' end as QuestionTypeStr,
qqt.QualityQuestionType as QuestionTypeStr,
pu.UnitName as ProposeUnitName,
ppu.UnitType as ProposeUnitType,
(select top 1 ApproveDate from dbo.Check_CheckControlApprove cca where cca.CheckControlCode=d.CheckControlCode
order by ApproveDate desc) as OKDate,
uw.UnitWorkName,cn.ProfessionalName
FROM dbo.Check_CheckControl AS d
LEFT JOIN dbo.Base_Unit AS u ON u.UnitId = d.UnitId
LEFT JOIN dbo.WBS_UnitWork as uw on uw.UnitWorkId=d.UnitWorkId
LEFT JOIN dbo.Base_CNProfessional as cn on cn.CNProfessionalId=d.CNProfessionalCode
LEFT JOIN dbo.Base_Unit AS pu ON pu.UnitId = d.ProposeUnitId
LEFT JOIN dbo.Project_ProjectUnit AS ppu ON ppu.UnitId = d.ProposeUnitId and ppu.ProjectId=d.ProjectId
LEFT JOIN dbo.Base_QualityQuestionType AS qqt ON qqt.QualityQuestionTypeId = d.QuestionType
)
GO