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