diff --git a/DataBase/版本日志/HJGLDB_DS_2026-03-09_bwj.sql b/DataBase/版本日志/HJGLDB_DS_2026-03-09_bwj.sql
new file mode 100644
index 0000000..35d69ba
--- /dev/null
+++ b/DataBase/版本日志/HJGLDB_DS_2026-03-09_bwj.sql
@@ -0,0 +1,108 @@
+
+ALTER PROC [dbo].[HJGL_sp_rpt_iso_analyze]
+ @unitNo VARCHAR(400) = NULL,
+ @isono VARCHAR(100) = NULL,
+ @steel varchar(50) = NULL,
+ @projectId NVARCHAR(50) = NULL,
+ @StartDate datetime =null,
+ @EndDate datetime =null
+AS
+/*ӹͳ ܴ2020.03.06*/
+SELECT iso.ProjectId,iso.ISO_IsoNo,iso.PressureTestPackageNo,Unit.UnitCode AS bsu_unitcode, --λ
+ Unit.UnitName AS bsu_unitname, --λ
+ Project.ProjectCode as projectCode, --ʩ
+ Project.ProjectName as projectName, --Ŀ
+ ''+cast(cast(ISO_Dia as FLOAT) as nvarchar(50))+''+cast(cast(ISO_Sch as FLOAT) as nvarchar(50)) as IsoDesc, --
+ v.ISO_ID,v.total_jot,v.total_din,
+ ISNULL(v1.finished_total_jot,0) AS finished_total_jot,
+ ISNULL(v1.finished_total_din,0) AS finished_total_din,v1.maxdate,
+ ISNULL(v1.total_film,0) AS total_film,
+ ISNULL(v1.pass_film,0) AS pass_film,
+ CAST(CASE ISNULL(v1.total_film ,0) WHEN 0 THEN 0
+ ELSE 1.0*ISNULL(v1.pass_film,0) / (1.0 * v1.total_film) END AS DECIMAL(19,3))
+ AS passrate, --ںϸ
+ ISNULL(v2.point_jot,0) AS point_jot,
+ ISNULL(v2.point_total_film,0) AS point_total_film,
+ ISNULL(v2.point_pass_film,0) AS point_pass_film,
+ CAST(CASE ISNULL(v2.point_total_film ,0) WHEN 0 THEN 0
+ ELSE 1.0*ISNULL(v2.point_pass_film,0) / (1.0 * v2.point_total_film) END AS DECIMAL(19,3))
+ AS point_passrate, --ںϸ
+
+ ISNULL(v3.ext_jot,0) AS ext_jot,
+ ISNULL(v3.ext_total_film,0) AS ext_total_film,
+ ISNULL(v3.ext_pass_film,0) AS ext_pass_film,
+ CAST(CASE ISNULL(v3.ext_total_film ,0) WHEN 0 THEN 0
+ ELSE 1.0*ISNULL(v3.ext_pass_film,0) / (1.0 * v3.ext_total_film) END AS DECIMAL(19,3))
+ AS point_passrate, --ϸ
+ (ISNULL(v2.point_jot,0)+ISNULL(v3.ext_jot,0)) AS check_total_jot,
+ ISNULL(v4.total_repairjot,0) AS total_repairjot,
+ ISNULL(v5.trust_total_jot,0) AS trust_total_jot,
+ CAST(CASE ISNULL(v.total_jot,0) WHEN 0 THEN 0
+ ELSE 1.0*ISNULL(v2.point_jot,0) / (1.0 * v.total_jot) END AS DECIMAL(19,3))
+ AS trustrate, --ίб
+ CAST(CASE ISNULL(v.total_jot,0) WHEN 0 THEN 0
+ ELSE 1.0*(ISNULL(v3.ext_jot,0) + ISNULL(v2.point_jot,0)) / (1.0 * v.total_jot)
+ END AS DECIMAL(19,3))
+ AS checkrate --̽
+FROM
+ (SELECT ISO_ID, COUNT(JOT_ID) AS total_jot,SUM(ISNULL(JOT_Size,0)) AS total_din
+ FROM dbo.HJGL_PW_JointInfo
+ GROUP BY ISO_ID) v
+ LEFT JOIN
+ (SELECT ISO_ID, COUNT(JOT_ID) AS finished_total_jot,SUM(ISNULL(JOT_Size,0)) AS finished_total_din,
+ max(weldreport.JOT_WeldDate) AS maxdate, SUM(ISNULL(jot.RT_FilmNum,0)) AS total_film,
+ SUM(ISNULL(jot.RT_FilmNum,0)-ISNULL(jot.RT1_RepairFilmNum,0)) AS pass_film
+ FROM dbo.HJGL_PW_JointInfo jot
+ LEFT join HJGL_BO_WeldReportMain AS weldreport on weldreport.DReportID=jot.DReportID
+ WHERE (weldreport.JOT_WeldDate>=@StartDate or @StartDate is null) and (weldreport.JOT_WeldDate<=@EndDate or @EndDate is null)
+ AND jot.DReportID is not null
+ GROUP BY ISO_ID) v1 ON v1.ISO_ID=v.ISO_ID
+ LEFT JOIN
+ (SELECT ISO_ID, COUNT(jot.JOT_ID) AS point_jot,SUM(ISNULL(jot.RT_FilmNum,0)) AS point_total_film,
+ SUM(ISNULL(jot.RT_FilmNum,0)-ISNULL(jot.RT1_RepairFilmNum,0)) AS point_pass_film
+ FROM dbo.HJGL_PW_JointInfo jot
+ LEFT join HJGL_BO_WeldReportMain AS weldreport on weldreport.DReportID=jot.DReportID
+ WHERE (weldreport.JOT_WeldDate>=@StartDate or @StartDate is null) and (weldreport.JOT_WeldDate<=@EndDate or @EndDate is null)
+ AND jot.DReportID is not NULL AND jot.PointType='' or ((select top 1 CH_TrustItemID from HJGL_CH_TrustItem ti where ti.JOT_ID=jot.JOT_ID) is not null and jot.PointType is null)
+ GROUP BY ISO_ID) v2 ON v2.ISO_ID=v.ISO_ID
+ LEFT JOIN
+ (SELECT ISO_ID, COUNT(jot.JOT_ID) AS ext_jot,SUM(ISNULL(jot.RT_FilmNum,0)) AS ext_total_film,
+ SUM(ISNULL(jot.RT_FilmNum,0)-ISNULL(jot.RT1_RepairFilmNum,0)) AS ext_pass_film
+ FROM dbo.HJGL_PW_JointInfo jot
+ LEFT join HJGL_BO_WeldReportMain AS weldreport on weldreport.DReportID=jot.DReportID
+ WHERE (weldreport.JOT_WeldDate>=@StartDate or @StartDate is null) and (weldreport.JOT_WeldDate<=@EndDate or @EndDate is null)
+ AND jot.DReportID is not NULL AND jot.PointType=''
+ GROUP BY ISO_ID) v3 ON v3.ISO_ID=v.ISO_ID
+ LEFT JOIN
+ (SELECT jot.ISO_ID, COUNT(distinct trust.JOT_ID) AS trust_total_jot --trust.CH_TrustItemID
+ FROM dbo.HJGL_CH_TrustItem trust
+ LEFT join dbo.HJGL_PW_JointInfo AS jot on jot.JOT_ID=trust.JOT_ID
+ LEFT join HJGL_BO_WeldReportMain AS weldreport on weldreport.DReportID=jot.DReportID
+ WHERE (weldreport.JOT_WeldDate>=@StartDate or @StartDate is null) and (weldreport.JOT_WeldDate<=@EndDate or @EndDate is null)
+ AND jot.DReportID is not NULL
+ GROUP BY jot.ISO_ID) v5 ON v5.ISO_ID=v.ISO_ID
+ LEFT JOIN
+ (SELECT ISO_ID,COUNT(DISTINCT(jot.JOT_ID)) AS total_repairjot
+ FROM dbo.HJGL_PW_JointInfo jot
+ LEFT join HJGL_BO_WeldReportMain AS weldreport on weldreport.DReportID=jot.DReportID
+ WHERE (weldreport.JOT_WeldDate>=@StartDate or @StartDate is null) and (weldreport.JOT_WeldDate<=@EndDate or @EndDate is null)
+ AND jot.DReportID is not NULL
+ AND(jot.RT1_RepairFilmNum IS NOT NULL OR jot.PTIsRepair1=1 OR jot.MTIsRepair1=1 OR jot.UTIsRepair1=1)
+ GROUP BY ISO_ID) v4 ON v4.ISO_ID=v.ISO_ID
+
+ LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = v.ISO_ID
+ LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = iso.BSU_ID
+ LEFT JOIN Base_Project AS Project ON Project.ProjectId = iso.ProjectId
+ WHERE (iso.ProjectId = @projectId OR @projectId IS NULL)
+ AND (iso.BSU_ID=@unitno OR @unitno IS NULL)
+ AND (iso.STE_ID=@steel OR @steel IS NULL)
+ AND (iso.ISO_IsoNo = @isono OR @isono IS NULL)
+
+
+
+
+
+
+GO
+
+
diff --git a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/IsoCmprehensive.aspx b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/IsoCmprehensive.aspx
index d9e3b76..6996051 100644
--- a/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/IsoCmprehensive.aspx
+++ b/HJGL_DS/FineUIPro.Web/HJGL/WeldingReport/IsoCmprehensive.aspx
@@ -80,10 +80,13 @@
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="90px">
+ FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
+ FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
+
+