ALTER PROC [dbo].[HJGL_sp_rpt_IsoCheckStatistics] @Iso_IsoNo varchar(50) = NULL, @projectId NVARCHAR(50) = NULL AS /*焊工焊接检测统计表*/ SELECT iso.ProjectId, project.ProjectCode,--施工号 iso.ISO_ID, iso.ISO_IsoNo, --管线号 '1-'+IsoClass.ISC_IsoName+'-'+Ser.SER_Code+'-'+Steel.STE_Code AS PipeCode, (SELECT TOP 1 r.NDTR_Name FROM dbo.HJGL_BS_WeldControl c LEFT JOIN dbo.HJGL_PW_IsoInfo i ON i.ISO_Executive=c.ExecStandardId LEFT JOIN dbo.HJGL_BS_NDTRate r ON r.NDTR_ID = c.Joty_Rate WHERE i.ISO_ID=iso.ISO_ID AND i.ISC_ID=c.ISC_ID) AS ToCheckRate, --对应检测比例 ISNULL(totalJoint.totalJoint,0) AS totalJoint, --已焊焊缝数 ISNULL(TrustJointNum.TrustJointNum,0) AS TrustJointNum, --已委托焊缝数 CAST((CASE ISNULL(TrustJointNum.TrustJointNum,0) WHEN 0 THEN 0 ELSE 1.0 * ISNULL(TrustJointNum.TrustJointNum,0)/(1.0 * totalJoint.totalJoint) END) AS DECIMAL(19,3)) AS OneCheckRate , ---委托比例 ISNULL(totalFixedJoint.totalFixedJoint,0) AS totalFixedJoint, --预计固定口数 ISNULL(FixedJoint.FixedJoint,0) AS FixedJoint, --已焊固定口数 ISNULL(TrustFixedJoint.TrustFixedJoint,0) as TrustFixedJoint, --已委托固定口数 CAST((CASE ISNULL(TrustButtJoint.TrustButtJoint,0) WHEN 0 THEN 0 ELSE 1.0 * ISNULL(TrustFixedJoint.TrustFixedJoint,0)/(1.0 * TrustButtJoint.TrustButtJoint) END) AS DECIMAL(19,3)) AS FixedJointCheckRate , ---固定口检测比例 totalButtJoint.totalButtJoint, --预计对接焊口数 ButtJoint.ButtJoint, --已焊对接焊缝数 TrustButtJoint.TrustButtJoint, --已委托对接焊缝数 CAST((CASE ISNULL(TrustButtJoint.TrustButtJoint,0) WHEN 0 THEN 0 ELSE 1.0 * ISNULL(TrustButtJoint.TrustButtJoint,0)/(1.0 * totalButtJoint.totalButtJoint) END) AS DECIMAL(19,3)) AS ButtJointCheckRate , ---对接焊缝检测比例 totalFilletJoint.totalFilletJoint, --预计角焊缝数 FilletJoint.FilletJoint, --已焊角焊缝数 TrustFilletJoint.TrustFilletJoint, --已委托角焊缝数 CAST((CASE ISNULL(TrustFilletJoint.TrustFilletJoint,0) WHEN 0 THEN 0 ELSE 1.0 * ISNULL(TrustFilletJoint.TrustFilletJoint,0)/(1.0 * totalFilletJoint.totalFilletJoint) END) AS DECIMAL(19,3)) AS FilletJointCheckRate, totalConnJoint.totalConnJoint, --预计支管连接焊缝数 ConnJoint.ConnJoint, --已焊支管连接焊缝数 TrustConnJoint.TrustConnJoint, --已委托支管连接焊缝数 CAST((CASE ISNULL(TrustConnJoint.TrustConnJoint,0) WHEN 0 THEN 0 ELSE 1.0 * ISNULL(TrustConnJoint.TrustConnJoint,0)/(1.0 * totalConnJoint.totalConnJoint) END) AS DECIMAL(19,3)) AS ConnJointCheckRate, ISNULL(TrustSpecialJoint.TrustSpecialJoint,0) AS TrustSpecialJoint FROM dbo.HJGL_PW_IsoInfo AS iso LEFT JOIN Base_Project project on iso.ProjectId=project.ProjectId LEFT JOIN HJGL_BS_IsoClass AS IsoClass ON IsoClass.ISC_ID =iso.ISC_ID LEFT JOIN HJGL_BS_Service AS Ser ON Ser.SER_ID = iso.SER_ID LEFT JOIN HJGL_BS_Steel AS Steel ON Steel.STE_ID=iso.STE_ID --已焊焊口数 LEFT JOIN (SELECT COUNT(*) AS totalJoint,HJGL_pw_jointinfo.ISO_ID FROM HJGL_PW_JointInfo WHERE HJGL_pw_jointinfo.DReportID is not null GROUP BY ISO_ID) AS totalJoint ON totalJoint.ISO_ID = iso.ISO_ID --已委托焊口数 LEFT JOIN (SELECT COUNT(*) AS TrustJointNum,batchDetail.ISO_ID FROM dbo.HJGL_BO_BatchDetail batchDetail LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='') --batchDetail.NDT='20d2cbca-8b3d-434b-b1c1-181796986fa5' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2' GROUP BY batchDetail.ISO_ID) AS TrustJointNum ON TrustJointNum.ISO_ID = iso.ISO_ID --预计固定焊口数 LEFT JOIN (SELECT COUNT(*) AS totalFixedJoint,ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE JOT_JointAttribute='固定' and jointType.JOTY_Group='1' GROUP BY ISO_ID) AS totalFixedJoint ON totalFixedJoint.ISO_ID = iso.ISO_ID --已焊固定口数 LEFT JOIN (SELECT COUNT(*) AS FixedJoint,ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE DReportID is not null AND JOT_JointAttribute='固定' and jointType.JOTY_Group='1' GROUP BY ISO_ID) AS FixedJoint ON FixedJoint.ISO_ID = iso.ISO_ID --已委托固定口数 LEFT JOIN (SELECT COUNT(*) AS TrustFixedJoint,batchDetail.ISO_ID FROM dbo.HJGL_BO_BatchDetail batchDetail LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='') and jointType.JOTY_Group='1' --batchDetail.NDT='20d2cbca-8b3d-434b-b1c1-181796986fa5' AND joint.JOT_JointAttribute='固定' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2' GROUP BY batchDetail.ISO_ID) AS TrustFixedJoint ON TrustFixedJoint.ISO_ID = iso.ISO_ID --预计对接焊口数 LEFT JOIN (SELECT COUNT(*) AS totalButtJoint,joint.ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE jointType.JOTY_Group='1' GROUP BY joint.ISO_ID) AS totalButtJoint ON totalButtJoint.ISO_ID = iso.ISO_ID --已焊对接焊缝数 LEFT JOIN (SELECT COUNT(*) AS ButtJoint,joint.ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE DReportID is not null AND jointType.JOTY_Group='1' GROUP BY joint.ISO_ID) AS ButtJoint ON ButtJoint.ISO_ID = iso.ISO_ID --已委托对接焊缝数 LEFT JOIN (SELECT COUNT(*) AS TrustButtJoint,batchDetail.ISO_ID FROM dbo.HJGL_BO_BatchDetail batchDetail LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE --(batchDetail.NDT is not null OR batchDetail.NDT!='') batchDetail.NDT like '%20d2cbca-8b3d-434b-b1c1-181796986fa5%' AND jointType.JOTY_Group='1' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2' GROUP BY batchDetail.ISO_ID) AS TrustButtJoint ON TrustButtJoint.ISO_ID = iso.ISO_ID --预计角焊口数 LEFT JOIN (SELECT COUNT(*) AS totalFilletJoint,joint.ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE jointType.JOTY_Group='2' GROUP BY joint.ISO_ID) AS totalFilletJoint ON totalFilletJoint.ISO_ID = iso.ISO_ID --已焊角焊缝数 LEFT JOIN (SELECT COUNT(*) AS FilletJoint,joint.ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE DReportID is not null AND jointType.JOTY_Group='2' GROUP BY joint.ISO_ID) AS FilletJoint ON FilletJoint.ISO_ID = iso.ISO_ID --已委托角焊缝数 LEFT JOIN (SELECT COUNT(*) AS TrustFilletJoint,batchDetail.ISO_ID FROM dbo.HJGL_BO_BatchDetail batchDetail LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='') --batchDetail.NDT='20d2cbca-8b3d-434b-b1c1-181796986fa5' AND jointType.JOTY_Group='2' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2' GROUP BY batchDetail.ISO_ID) AS TrustFilletJoint ON TrustFilletJoint.ISO_ID = iso.ISO_ID --预计支管连接焊口数 LEFT JOIN (SELECT COUNT(*) AS totalConnJoint,joint.ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE jointType.JOTY_Group='3' GROUP BY joint.ISO_ID) AS totalConnJoint ON totalConnJoint.ISO_ID = iso.ISO_ID --已焊支管连接焊缝数 LEFT JOIN (SELECT COUNT(*) AS ConnJoint,joint.ISO_ID FROM HJGL_PW_JointInfo joint LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE DReportID is not null AND jointType.JOTY_Group='3' GROUP BY joint.ISO_ID) AS ConnJoint ON ConnJoint.ISO_ID = iso.ISO_ID --已委托支管连接焊缝数 LEFT JOIN (SELECT COUNT(*) AS TrustConnJoint,batchDetail.ISO_ID FROM dbo.HJGL_BO_BatchDetail batchDetail LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='') --batchDetail.NDT='20d2cbca-8b3d-434b-b1c1-181796986fa5' AND jointType.JOTY_Group='3' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2' GROUP BY batchDetail.ISO_ID) AS TrustConnJoint ON TrustConnJoint.ISO_ID = iso.ISO_ID --已委托对接特殊焊缝数 LEFT JOIN (SELECT COUNT(*) AS TrustSpecialJoint,batchDetail.ISO_ID FROM dbo.HJGL_BO_BatchDetail batchDetail LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='') and jointType.JOTY_Group='1' AND joint.IsSpecial=1 and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2' GROUP BY batchDetail.ISO_ID) AS TrustSpecialJoint ON TrustSpecialJoint.ISO_ID = iso.ISO_ID WHERE (iso.ProjectId = @projectId OR @projectId IS NULL) AND (iso.ISO_IsoNo=@Iso_IsoNo OR @Iso_IsoNo is null) order BY iso.ISO_IsoNo GO