diff --git a/DataBase/版本日志/HJGLDB_DS_2026-01-23_gf.sql b/DataBase/版本日志/HJGLDB_DS_2026-01-23_gf.sql new file mode 100644 index 0000000..c39069d --- /dev/null +++ b/DataBase/版本日志/HJGLDB_DS_2026-01-23_gf.sql @@ -0,0 +1,225 @@ + +ALTER VIEW [dbo].[View_UnitPerformance] +AS +SELECT + NEWID() AS Id, + --total.ProjectId, + --project.ProjectCode,--Ê©¹¤ºÅ + '' as ProjectCode, + total.WED_Unit, + un.UnitCode,-- µ¥Î»´úÂë + un.UnitName,--µ¥Î»Ãû³Æ + -------------±¾ÆÚstart + CAST(ISNULL(total.totalSize,0) AS DECIMAL(19,2)) AS totalSize, --×Ü´ç¾¶ + ISNULL(total.totalJoint,0) AS totalJoint, --×ܺ¸¿Ú + ISNULL(JointNum1.JointNum1,0) AS JointNum1, --Ò»´ÎÅÄÆ¬º¸¿ÚÊý + + ISNULL(JointNum1.JointNum1,0)-ISNULL(JointNoPassNum1.JointNoPassNum1,0) AS JointPassNum1, --Ò»´ÎÅÄÆ¬ºÏ¸ñº¸¿ÚÊý + ISNULL(JointNoPassNum1.JointNoPassNum1,0) AS RepairJoint1, --Ò»´Î·µÐÞº¸¿ÚÊý + ISNULL(RepairJoint2.RepairJoint2,0) AS RepairJoint2, --¶þ´Î·µÐÞº¸¿ÚÊý + ISNULL(RepairJoint3.RepairJoint3,0) AS RepairJoint3, --Èý´Î·µÐÞº¸¿ÚÊý + + CAST((CASE ISNULL((ISNULL(JointNum1.JointNum1,0)-ISNULL(JointNoPassNum1.JointNoPassNum1,0)),0) WHEN 0 THEN 0 + ELSE (CASE(ISNULL(JointNum1.JointNum1,0)) WHEN 0 THEN 0 + ELSE 1.0 * ISNULL((ISNULL(JointNum1.JointNum1,0)-ISNULL(JointNoPassNum1.JointNoPassNum1,0)),0)/(1.0 * JointNum1.JointNum1)*100 + END)END) AS DECIMAL(19,3)) AS JointPassRate , ---Ò»´ÎÅÄÆ¬º¸¿ÚºÏ¸ñÂÊ + + ISNULL(JointNum1.totalfilm,0) AS totalfilm, --Ò»´ÎÅÄÆ¬Êý + (ISNULL(JointNum1.totalfilm,0)- ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0)) AS totalPassfilm, --Ò»´ÎÅÄÆ¬ºÏ¸ñÊý + ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0) AS repairFilm1, --Ò»´Î·µÐÞÆ¬×ÓÊý + + ISNULL(RepairJoint2.repairFilm2,0) AS repairFilm2, --¶þ´Î·µÐÞÆ¬×ÓÊý + ISNULL(RepairJoint3.repairFilm3,0) AS repairFilm3, --Èý´Î·µÐÞÆ¬×ÓÊý + + CAST((CASE (ISNULL(JointNum1.totalfilm,0)- ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0)) WHEN 0 THEN 0 + ELSE (CASE(ISNULL(JointNum1.totalfilm,0)) WHEN 0 THEN 0 + ELSE 1.0 * (ISNULL(JointNum1.totalfilm,0)- ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0))/(1.0 * JointNum1.totalfilm)*100 + END) END) AS DECIMAL(19,3)) AS JointFilmPassRate ---Ò»´ÎÅÄÆ¬ºÏ¸ñÂÊ + +FROM + --×Ü´ïÒòÖµ --×ܺ¸¿Ú + (SELECT SUM(joint.JOT_Size) AS totalSize,COUNT(*) AS totalJoint + ,joint.WED_Unit + FROM View_JointWelder joint + LEFT JOIN HJGL_BO_WeldReportMain report ON joint.DReportID = report.DReportID + WHERE joint.DReportID IS NOT NULL and report.JOT_WeldDate >= '2026-01-01' + GROUP BY joint.WED_Unit) AS total + + +--Ò»´ÎÅÄÆ¬º¸¿ÚÊý , Ò»´ÎÅÄÆ¬×ÜÊý,Ò»´ÎÅÄÆ¬ºÏ¸ñ×ÜÊý + LEFT JOIN (SELECT COUNT(joint.JOT_ID) AS JointNum1, SUM(joint.RT_FilmNum) AS totalfilm, + joint.WED_Unit + FROM dbo.View_JointWelder joint + WHERE joint.PointType='µã¿Ú' AND joint.RT_FilmNum IS NOT NULL and joint.RT_FilmNum>0 and (select COUNT(*) from dbo.HJGL_BO_QualityRating a +left join HJGL_CH_TrustItem b on a.CH_TrustItemID=b.CH_TrustItemID +left join HJGL_CH_Trust c on b.CH_TrustID=c.CH_TrustID where a.JOT_ID=joint.JOT_ID and FilmNum is not null and c.CH_NDTMethod='20d2cbca-8b3d-434b-b1c1-181796986fa5')>0 + AND joint.dreportid IS NOT NULL + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_BO_QualityRating WHERE JOT_ID=joint.JOT_ID)>= '2026-01-01' + GROUP BY joint.WED_Unit) AS JointNum1 + ON JointNum1.WED_Unit = total.WED_Unit + + --Ò»´ÎÅÄÆ¬²»ºÏ¸ñº¸¿ÚÊý + LEFT JOIN (SELECT COUNT(distinct joint.JOT_ID) AS JointNoPassNum1, + joint.WED_Unit + FROM dbo.HJGL_CH_RepairItemRecord rr + left join dbo.View_JointWelder joint on rr.JOT_ID=joint.JOT_ID + WHERE joint.PointType='µã¿Ú' and rr.NDT_ID='20d2cbca-8b3d-434b-b1c1-181796986fa5' + --AND (joint.RT1_RepairFilm IS NOT NULL or (select top 1 CH_TrustItemID from dbo.HJGL_CH_TrustItem ti where ti.JOT_ID=joint.JOT_ID and ti.States='4') is not null) + AND joint.dreportid IS NOT NULL and rr.RepairMark='R1' + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R1')>= '2026-01-01' + GROUP BY joint.WED_Unit) AS JointNoPassNum1 + ON JointNoPassNum1.WED_Unit = total.WED_Unit + --Ò»´ÎÅÄÆ¬²»ºÏ¸ñÅÄÆ¬Êý + LEFT JOIN (SELECT count(rr.RepairItemRecordId) as JointNoPassFilmNum2, + joint.WED_Unit + FROM dbo.HJGL_CH_RepairItemRecord rr + left join dbo.View_JointWelder joint on rr.JOT_ID=joint.JOT_ID + WHERE joint.PointType='µã¿Ú' and rr.NDT_ID='20d2cbca-8b3d-434b-b1c1-181796986fa5' + --AND (joint.RT1_RepairFilm IS NOT NULL or (select top 1 CH_TrustItemID from dbo.HJGL_CH_TrustItem ti where ti.JOT_ID=joint.JOT_ID and ti.States='4') is not null) + AND joint.dreportid IS NOT NULL and rr.RepairMark='R1' + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R1')>= '2026-01-01' + GROUP BY joint.WED_Unit) AS JointNoPassNum2 + ON JointNoPassNum2.WED_Unit = total.WED_Unit + --¶þ´Î·µÐÞÅÄÆ¬º¸¿ÚÊý,¶þ´Î·µÐÞÅÄÆ¬×ÜÊý + LEFT JOIN (SELECT COUNT(joint.JOT_ID) AS RepairJoint2, SUM(ISNULL(joint.RT2_RepairFilmNum,0)) AS RepairFilm2, + joint.WED_Unit + FROM dbo.View_JointWelder joint + WHERE joint.PointType='µã¿Ú' AND joint.RT2_RepairFilm IS NOT NULL + AND joint.dreportid IS NOT NULL + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R2')>= '2026-01-01' + GROUP BY joint.WED_Unit) AS RepairJoint2 + ON RepairJoint2.WED_Unit = total.WED_Unit + + + + --Èý´Î·µÐÞÅÄÆ¬º¸¿ÚÊý,Èý´Î·µÐÞÅÄÆ¬×ÜÊý + LEFT JOIN (SELECT COUNT(joint.JOT_ID) AS RepairJoint3, SUM(ISNULL(joint.RT3_RepairFilmNum,0)) AS RepairFilm3, + joint.WED_Unit + FROM dbo.View_JointWelder joint + WHERE joint.PointType='µã¿Ú' AND joint.RT3_RepairFilm IS NOT NULL + AND joint.dreportid IS NOT NULL + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R3')>= '2026-01-01' + GROUP BY joint.WED_Unit) AS RepairJoint3 + ON RepairJoint3.WED_Unit = total.WED_Unit + +--LEFT JOIN Base_Project project ON total.ProjectId=project.ProjectId +LEFT JOIN dbo.Base_Unit un ON un.UnitId=total.WED_Unit + +GO + + + +ALTER VIEW [dbo].[View_WelderPerformance] +AS +select v.* from +(SELECT + NEWID() AS Id, + --total.ProjectId, + --project.ProjectCode,--Ê©¹¤ºÅ + '' as ProjectCode, + total.Welder, + wld.wed_code,-- º¸¹¤´úÂë + wld.wed_name,--º¸¹¤Ãû³Æ + unit.UnitName as DepartName, --²¿ÃÅ + wld.WED_Sex, --ÐÔ±ð + -------------±¾ÆÚstart + CAST(ISNULL(total.totalSize,0) AS DECIMAL(19,2)) AS totalSize, --×Ü´ç¾¶ + ISNULL(total.totalJoint,0) AS totalJoint, --×ܺ¸¿Ú + ISNULL(JointNum1.JointNum1,0) AS JointNum1, --Ò»´ÎÅÄÆ¬º¸¿ÚÊý + + ISNULL(JointNum1.JointNum1,0)-ISNULL(JointNoPassNum1.JointNoPassNum1,0) AS JointPassNum1, --Ò»´ÎÅÄÆ¬ºÏ¸ñº¸¿ÚÊý + ISNULL(JointNoPassNum1.JointNoPassNum1,0) AS RepairJoint1, --Ò»´Î·µÐÞº¸¿ÚÊý + ISNULL(RepairJoint2.RepairJoint2,0) AS RepairJoint2, --¶þ´Î·µÐÞº¸¿ÚÊý + ISNULL(RepairJoint3.RepairJoint3,0) AS RepairJoint3, --Èý´Î·µÐÞº¸¿ÚÊý + + CAST((CASE ISNULL((ISNULL(JointNum1.JointNum1,0)-ISNULL(JointNoPassNum1.JointNoPassNum1,0)),0) WHEN 0 THEN 0 + ELSE (CASE(ISNULL(JointNum1.JointNum1,0)) WHEN 0 THEN 0 + ELSE 1.0 * ISNULL((ISNULL(JointNum1.JointNum1,0)-ISNULL(JointNoPassNum1.JointNoPassNum1,0)),0)/(1.0 * JointNum1.JointNum1) + END)END) AS DECIMAL(19,3)) AS JointPassRate , ---Ò»´ÎÅÄÆ¬º¸¿ÚºÏ¸ñÂÊ + + ISNULL(JointNum1.totalfilm,0) AS totalfilm, --Ò»´ÎÅÄÆ¬Êý + (ISNULL(JointNum1.totalfilm,0)- ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0)) AS totalPassfilm, --Ò»´ÎÅÄÆ¬ºÏ¸ñÊý + ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0) AS repairFilm1, --Ò»´Î·µÐÞÆ¬×ÓÊý + + ISNULL(RepairJoint2.repairFilm2,0) AS repairFilm2, --¶þ´Î·µÐÞÆ¬×ÓÊý + ISNULL(RepairJoint3.repairFilm3,0) AS repairFilm3, --Èý´Î·µÐÞÆ¬×ÓÊý + + CAST((CASE (ISNULL(JointNum1.totalfilm,0)- ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0)) WHEN 0 THEN 0 + ELSE (CASE(ISNULL(JointNum1.totalfilm,0)) WHEN 0 THEN 0 + ELSE 1.0 * (ISNULL(JointNum1.totalfilm,0)- ISNULL(JointNoPassNum2.JointNoPassFilmNum2,0))/(1.0 * JointNum1.totalfilm) + END) END) AS DECIMAL(19,3)) AS JointFilmPassRate ---Ò»´ÎÅÄÆ¬ºÏ¸ñÂÊ + +FROM + --×Ü´ïÒòÖµ --×ܺ¸¿Ú + (SELECT SUM(joint.JOT_Size) AS totalSize,COUNT(*) AS totalJoint + ,joint.Welder + FROM View_JointWelder joint + LEFT JOIN HJGL_BO_WeldReportMain report ON joint.DReportID = report.DReportID + WHERE joint.DReportID IS NOT NULL and report.JOT_WeldDate >= '2026-01-01' + GROUP BY joint.Welder) AS total + + +--Ò»´ÎÅÄÆ¬º¸¿ÚÊý , Ò»´ÎÅÄÆ¬×ÜÊý,Ò»´ÎÅÄÆ¬ºÏ¸ñ×ÜÊý + LEFT JOIN (SELECT COUNT(joint.JOT_ID) AS JointNum1, SUM(joint.RT_FilmNum) AS totalfilm, + joint.Welder + FROM dbo.View_JointWelder joint + WHERE joint.PointType='µã¿Ú' AND joint.RT_FilmNum IS NOT NULL and joint.RT_FilmNum>0 and (select COUNT(*) from dbo.HJGL_BO_QualityRating a +left join HJGL_CH_TrustItem b on a.CH_TrustItemID=b.CH_TrustItemID +left join HJGL_CH_Trust c on b.CH_TrustID=c.CH_TrustID where a.JOT_ID=joint.JOT_ID and FilmNum is not null and c.CH_NDTMethod='20d2cbca-8b3d-434b-b1c1-181796986fa5')>0 + AND joint.dreportid IS NOT NULL + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_BO_QualityRating WHERE JOT_ID=joint.JOT_ID)>= '2026-01-01' + GROUP BY joint.Welder) AS JointNum1 + ON JointNum1.Welder = total.Welder + + --Ò»´ÎÅÄÆ¬²»ºÏ¸ñº¸¿ÚÊý + LEFT JOIN (SELECT COUNT(distinct joint.JOT_ID) AS JointNoPassNum1, + joint.Welder + FROM dbo.HJGL_CH_RepairItemRecord rr + left join dbo.View_JointWelder joint on rr.JOT_ID=joint.JOT_ID + WHERE joint.PointType='µã¿Ú' and rr.NDT_ID='20d2cbca-8b3d-434b-b1c1-181796986fa5' + --AND (joint.RT1_RepairFilm IS NOT NULL or (select top 1 CH_TrustItemID from dbo.HJGL_CH_TrustItem ti where ti.JOT_ID=joint.JOT_ID and ti.States='4') is not null) + AND joint.dreportid IS NOT NULL and rr.RepairMark='R1' + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R1')>= '2026-01-01' + GROUP BY joint.Welder) AS JointNoPassNum1 + ON JointNoPassNum1.Welder = total.Welder + --Ò»´ÎÅÄÆ¬²»ºÏ¸ñÅÄÆ¬Êý + LEFT JOIN (SELECT count(rr.RepairItemRecordId) as JointNoPassFilmNum2, + joint.Welder + FROM dbo.HJGL_CH_RepairItemRecord rr + left join dbo.View_JointWelder joint on rr.JOT_ID=joint.JOT_ID + WHERE joint.PointType='µã¿Ú' and rr.NDT_ID='20d2cbca-8b3d-434b-b1c1-181796986fa5' + --AND (joint.RT1_RepairFilm IS NOT NULL or (select top 1 CH_TrustItemID from dbo.HJGL_CH_TrustItem ti where ti.JOT_ID=joint.JOT_ID and ti.States='4') is not null) + AND joint.dreportid IS NOT NULL and rr.RepairMark='R1' + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R1')>= '2026-01-01' + GROUP BY joint.Welder) AS JointNoPassNum2 + ON JointNoPassNum2.Welder = total.Welder + --¶þ´Î·µÐÞÅÄÆ¬º¸¿ÚÊý,¶þ´Î·µÐÞÅÄÆ¬×ÜÊý + LEFT JOIN (SELECT COUNT(joint.JOT_ID) AS RepairJoint2, SUM(ISNULL(joint.RT2_RepairFilmNum,0)) AS RepairFilm2, + joint.Welder + FROM dbo.View_JointWelder joint + WHERE joint.PointType='µã¿Ú' AND joint.RT2_RepairFilm IS NOT NULL + AND joint.dreportid IS NOT NULL + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R2')>= '2026-01-01' + GROUP BY joint.Welder) AS RepairJoint2 + ON RepairJoint2.Welder = total.Welder + + + + --Èý´Î·µÐÞÅÄÆ¬º¸¿ÚÊý,Èý´Î·µÐÞÅÄÆ¬×ÜÊý + LEFT JOIN (SELECT COUNT(joint.JOT_ID) AS RepairJoint3, SUM(ISNULL(joint.RT3_RepairFilmNum,0)) AS RepairFilm3, + joint.Welder + FROM dbo.View_JointWelder joint + WHERE joint.PointType='µã¿Ú' AND joint.RT3_RepairFilm IS NOT NULL + AND joint.dreportid IS NOT NULL + AND (SELECT TOP 1 SignDate FROM dbo.HJGL_CH_RepairItemRecord WHERE JOT_ID=joint.JOT_ID AND RepairMark='R3')>= '2026-01-01' + GROUP BY joint.Welder) AS RepairJoint3 + ON RepairJoint3.Welder = total.Welder +LEFT JOIN dbo.HJGL_BS_Welder wld ON wld.WED_ID=total.Welder +LEFT JOIN dbo.Base_Unit unit on unit.UnitId=wld.WED_Unit) v +where v.JointFilmPassRate>0 and v.JointFilmPassRate<0.965 + + + +GO + +