xinjiang/DataBase/版本日志/SGGLDB_V2024-09-14-001_bwj.sql

71 lines
3.0 KiB
Transact-SQL

ALTER PROCEDURE [dbo].[sp_rpt_RepairStatistics]
@projectId nvarchar(50)=NULL,
@unitId nvarchar(50)=NULL,
@workAreaId nvarchar(50)=NULL,
@ndtMethod nvarchar(50)=NULL,
@startDate datetime=null,
@endDate datetime = null
AS
/*******返修统计台账*********/
SELECT jointInfo.JOT_ID,
jointInfo.ProjectId,
jointInfo.ISO_ID,
isoInfo.UnitId,
unit.UnitName,
isoInfo.WorkAreaId,
workArea.WorkAreaCode,
isoInfo.ISO_IsoNo,
jointInfo.JOT_JointNo,
jointInfo.JOT_JointDesc,
trust.CH_TrustCode,
detectionType.DetectionTypeCode,
--RepairCheck.CHT_RepairLocation AS RepairPartNum,--返修片位号
(select top 1 CHT_RepairLocation from CH_CheckItem
left join CH_Check on CH_Check.CHT_CheckID = CH_CheckItem.CHT_CheckID
where CH_CheckItem.JOT_ID =jointInfo.JOT_ID and CH_CheckItem.CHT_CheckResult='不合格') as RepairPartNum,--返修片位号
repairFilm.RepairFilm,--返修片数
trust.CH_TrustDate AS RepairTrustDate,--返修日期
--RepairCheck.CHT_CheckDate,
(select top 1 CHT_CheckDate from CH_CheckItem
left join CH_Check on CH_Check.CHT_CheckID = CH_CheckItem.CHT_CheckID
where CH_CheckItem.JOT_ID = jointInfo.JOT_ID and CH_CheckItem.CHT_CheckResult='不合格'
order by CHT_CheckDate) as CHT_CheckDate,--第一次检测日期
--checks.CHT_CheckDate AS RepairCheckDate,
(select top 1 CHT_CheckDate from CH_CheckItem
left join CH_Check on CH_Check.CHT_CheckID = CH_CheckItem.CHT_CheckID
where CH_CheckItem.JOT_ID = jointInfo.JOT_ID and CH_CheckItem.CHT_CheckResult='不合格'
and CH_CheckItem.CH_TrustItemID is null
order by CHT_CheckDate desc) as RepairCheckDate,--返修检测日期
checkUnit.UnitName AS CheckUnitName,--检测单位
NULL AS ConUnitNoPoint, --施工单位未点口
NULL AS Scaffold,--脚手架
NULL AS RepairWeldsNum,--返修焊口数(道)
jointInfo.JOT_Remark
FROM PW_JointInfo AS jointInfo
LEFT JOIN PW_IsoInfo AS isoInfo ON isoInfo.ISO_ID = jointInfo.ISO_ID
LEFT JOIN Base_Unit AS unit ON unit.UnitId = isoInfo.UnitId
LEFT JOIN ProjectData_WorkArea AS workArea ON workArea.WorkAreaId = isoInfo.WorkAreaId
LEFT JOIN CH_TrustItem AS trustItem ON trustItem.JOT_ID = jointInfo.JOT_ID
LEFT JOIN CH_Trust AS trust ON trust.CH_TrustID = trustItem.CH_TrustID
LEFT JOIN Base_DetectionType AS detectionType ON detectionType.DetectionTypeId = trust.CH_NDTMethod
LEFT JOIN CH_CheckItem AS checkItem ON checkItem.CH_TrustItemID =trustItem.CH_TrustItemID
LEFT JOIN CH_Check AS checks ON checks.CHT_CheckID = checkItem.CHT_CheckID
LEFT JOIN Base_Unit AS checkUnit ON checkUnit.UnitId = checks.ContractualUnits
LEFT JOIN (SELECT SUM(CHT_TotalFilm) AS RepairFilm,JOT_ID FROM CH_CheckItem
WHERE CH_CheckItem.CHT_CheckResult='不合格'
GROUP BY JOT_ID) AS repairFilm ON repairFilm.JOT_ID = jointInfo.JOT_ID
WHERE trust.CH_TrustType='2'
and trustItem.CH_TrustItemID not in (select CH_TrustItemID from CH_CheckItem)
AND (jointInfo.ProjectId=@projectId OR @projectId IS NULL)
AND (isoInfo.UnitId=@unitId OR @unitId IS NULL)
AND (isoInfo.WorkAreaId=@workAreaId OR @workAreaId IS NULL)
AND (trust.CH_NDTMethod=@ndtMethod OR @ndtMethod IS NULL)
AND (trust.CH_TrustDate>=@startDate OR @startDate IS NULL)
AND (trust.CH_TrustDate<=@endDate OR @endDate IS NULL)
GO