xinjiang/DataBase/sp_rpt_UnitWorkAreaQuality2...

368 lines
45 KiB
Transact-SQL
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.


/****** Object: StoredProcedure [dbo].[sp_rpt_UnitWorkAreaQuality] Script Date: 2021/9/6 19:15:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[sp_rpt_UnitWorkAreaQuality]
@unitNo nVARCHAR(400) = NULL,
@areaNo nVARCHAR(50) = NULL,
@installationId nVARCHAR(50) = NULL,
@date1 datetime = NULL,
@date2 datetime = NULL,
@ste_steeltype nvarchar(50) = NULL,
@projectId NVARCHAR(50) = NULL,
@supervisorUnitId NVARCHAR(50) = NULL,
@IsStandard NVARCHAR(50) = NULL
AS
/*单位工区质量分析*/
SELECT
WorkArea.ProjectId
,Unit.UnitCode AS bsu_unitcode --单位代码
,Unit.UnitName AS bsu_unitname --单位名称
,Installation.InstallationCode AS devicecode --装置代号
,Installation.InstallationName AS devicename --装置名称
,WorkArea.WorkAreaCode AS baw_areano --工区代号
,ISNULL(total_jot.total_jot,0) AS total_jot --总焊口
,ISNULL(total_sjot.total_sjot,0) AS total_sjot --预制总焊口数
,ISNULL(total_fjot.total_fjot,0) AS total_fjot --安装总焊口数
,ISNULL(finished_total_jot.finished_total_jot ,0) AS finished_total_jot --完成总焊口
,ISNULL(finished_total_sjot.finished_total_sjot,0) AS finished_total_sjot --完成预制总焊口数
,ISNULL(finished_total_fjot.finished_total_fjot,0) AS finished_total_fjot --完成安装总焊口数
,ISNULL(current_total_film.current_total_film ,0) AS current_total_film --本期总拍片数
,ISNULL(current_total_film.current_pass_film,0) AS current_pass_film --本期合格片数
,CAST((CASE ISNULL(current_total_film.current_total_film,0)
WHEN 0 THEN 0
ELSE 1.0 * ISNULL(current_total_film.current_pass_film,0) /(1.0 * current_total_film.current_total_film)
END ) AS DECIMAL(19,3)) AS current_passreate --本期合格率
,ISNULL(current_point_total_film.current_point_total_film ,0) AS current_point_total_film -- 本期点口片数
,ISNULL(current_point_total_film.current_point_pass_film ,0) AS current_point_pass_film --本期点口合格片数
,CAST((CASE ISNULL(current_point_total_film.current_point_total_film,0)
WHEN 0 THEN 0
ELSE 1.0 * ISNULL(current_point_total_film.current_point_pass_film,0) /(1.0 * current_point_total_film.current_point_total_film)
END ) AS DECIMAL(19,3)) AS cuurent_point_passreate --本期点口合格率
,ISNULL(current_ext_total_film.current_ext_total_film,0) AS current_ext_total_film --本期扩透总片数
,ISNULL(current_ext_total_film.current_ext_pass_film,0) AS current_ext_pass_film --本期扩透合格片数
,CAST((CASE ISNULL(current_ext_total_film.current_ext_total_film,0)
WHEN 0 THEN 0
ELSE 1.0 * ISNULL(current_ext_total_film.current_ext_pass_film,0) /(1.0 * current_ext_total_film.current_ext_total_film)
END ) AS DECIMAL(19,3)) AS current_ext_passreate --本期扩透合格率
,ISNULL(current_trust_count_total.current_trust_count_total,0) AS current_trust_count_total --本期总委托数
,ISNULL(current_check_count_total.current_check_count_total,0) AS current_check_count_total --本期总检测数
,ISNULL(current_check_count_total.total_film ,0) AS total_film --总拍片数
,ISNULL(current_check_count_total.pass_film ,0) AS pass_film --合格片数
,CAST((CASE ISNULL(current_check_count_total.total_film,0)
WHEN 0 THEN 0
ELSE 1.0 * ISNULL(current_check_count_total.pass_film,0) /(1.0 * current_check_count_total.total_film)
END ) AS DECIMAL(19,3)) AS passreate --合格率
,ISNULL(point_total_film.point_total_film ,0) AS point_total_film -- 点口总片数
,ISNULL(point_total_film.point_pass_film ,0) AS point_pass_film --点口合格片数
,CAST((CASE ISNULL(point_total_film.point_total_film,0)
WHEN 0 THEN 0
ELSE 1.0 * ISNULL(point_total_film.point_pass_film,0) /(1.0 * point_total_film.point_total_film)
END ) AS DECIMAL(19,3)) AS point_passreate --点口合格率
,ISNULL(ext_total_film.ext_total_film ,0) AS ext_total_film --扩透总片数
,ISNULL(ext_total_film.ext_pass_film ,0) AS ext_pass_film --扩透合格片数
,CAST((CASE ISNULL(ext_total_film.ext_total_film,0)
WHEN 0 THEN 0
ELSE 1.0 * ISNULL(ext_total_film.ext_pass_film,0) /(1.0 * ext_total_film.ext_total_film)
END ) AS DECIMAL(19,3)) AS ext_passreate --扩透合格率
,ISNULL(trust_count_total.trust_count_total ,0) AS trust_count_total --委托总数
,ISNULL(point_count_total ,0) AS point_count_total ----点口总焊口数
,ISNULL(extend_count_total ,0) AS extend_count_total ----扩透总焊口数
,ISNULL(repair_count_total ,0) AS repair_count_total --返修焊口数
,ISNULL(trust_check_total.trust_check_total ,0) AS trust_check_total --检测口数
FROM (select WorkAreaCode,WorkAreaId,UnitId,InstallationId,ProjectId,SupervisorUnitId
from ProjectData_WorkArea where (WorkAreaId = @areaNo or @areaNo is null)
and (SupervisorUnitId=@supervisorUnitId OR @supervisorUnitId IS NULL)) AS WorkArea
LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId =Unit.UnitId
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = WorkArea.InstallationId
--总焊口
LEFT JOIN (SELECT COUNT(*) total_jot ,isoinfo.WorkAreaId
FROM (select JOT_ID,ISO_ID,MaterialId from pw_jointinfo
where ProjectId = @projectId ) as jointinfo
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
GROUP BY isoinfo.WorkAreaId) AS total_jot ON total_jot.WorkAreaId = WorkArea.WorkAreaId
--预制总焊口数
LEFT JOIN (SELECT COUNT(*) total_sjot ,isoinfo.WorkAreaId
FROM (select JOT_ID,ISO_ID,MaterialId,WLO_Code from pw_jointinfo
where ProjectId = @projectId ) as jointinfo
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null) AND WLO_Code='S'
GROUP BY isoinfo.WorkAreaId) AS total_sjot ON total_sjot.WorkAreaId = WorkArea.WorkAreaId
--安装总焊口数
LEFT JOIN (SELECT COUNT(*) total_fjot ,isoinfo.WorkAreaId
FROM (select JOT_ID,ISO_ID,MaterialId,WLO_Code from pw_jointinfo
where ProjectId = @projectId ) as jointinfo
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null) AND WLO_Code='F'
GROUP BY isoinfo.WorkAreaId) AS total_fjot ON total_fjot.WorkAreaId = WorkArea.WorkAreaId
--完成总焊口
LEFT JOIN (SELECT COUNT(*) finished_total_jot ,isoinfo.WorkAreaId
FROM (select JOT_ID,ISO_ID,MaterialId,DReportID from pw_jointinfo
where ProjectId = @projectId ) as jointinfo
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null) AND DReportID is not null
GROUP BY isoinfo.WorkAreaId) AS finished_total_jot ON finished_total_jot.WorkAreaId = WorkArea.WorkAreaId
--完成预制总焊口数
LEFT JOIN (SELECT COUNT(*) finished_total_sjot ,isoinfo.WorkAreaId
FROM (select JOT_ID,ISO_ID,MaterialId,DReportID,WLO_Code from pw_jointinfo
where ProjectId = @projectId ) as jointinfo
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where(pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null) AND DReportID is not null AND WLO_Code='S'
GROUP BY isoinfo.WorkAreaId) AS finished_total_sjot ON finished_total_sjot.WorkAreaId = WorkArea.WorkAreaId
--完成安装总焊口数
LEFT JOIN (SELECT COUNT(*) finished_total_fjot ,isoinfo.WorkAreaId
FROM (select JOT_ID,ISO_ID,MaterialId,DReportID,WLO_Code from pw_jointinfo
where ProjectId = @projectId ) as jointinfo
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null) AND DReportID is not null AND WLO_Code='F'
GROUP BY isoinfo.WorkAreaId) AS finished_total_fjot ON finished_total_fjot.WorkAreaId = WorkArea.WorkAreaId
--本期总拍片数
LEFT JOIN (SELECT SUM(cht_totalfilm) AS current_total_film
,SUM(cht_passfilm) AS current_pass_film
,isoinfo.WorkAreaId
FROM (select CHT_CheckID from CH_Check
where ProjectId = @projectId
and (InstallationId=@installationId OR @installationId IS NULL)
and (UnitId=@unitNo OR @unitNo IS NULL)
AND (cht_checkdate >= @date1 OR @date1 IS NULL) and (cht_checkdate <= @date2 OR @date2 IS NULL))as Checks
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.CHT_CheckID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
GROUP BY isoinfo.WorkAreaId) AS current_total_film ON current_total_film.WorkAreaId = WorkArea.WorkAreaId
--本期点口片数 --本期点口合格片数
LEFT JOIN (SELECT SUM(cht_totalfilm) AS current_point_total_film
,SUM(cht_passfilm) AS current_point_pass_film
,isoinfo.WorkAreaId
FROM (select CHT_CheckID from CH_Check
where ProjectId = @projectId
and (InstallationId=@installationId OR @installationId IS NULL)
and (UnitId=@unitNo OR @unitNo IS NULL)
AND (cht_checkdate >= @date1 OR @date1 IS NULL) and (cht_checkdate <= @date2 OR @date2 IS NULL))as Checks
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.CHT_CheckID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
AND JOT_JointStatus='101'
GROUP BY isoinfo.WorkAreaId) AS current_point_total_film ON current_point_total_film.WorkAreaId = WorkArea.WorkAreaId
--本期扩透片数 --本期扩透合格片数
LEFT JOIN (SELECT SUM(cht_totalfilm) AS current_ext_total_film
,SUM(cht_passfilm) AS current_ext_pass_film
,isoinfo.WorkAreaId
FROM (select CHT_CheckID from CH_Check
where ProjectId = @projectId
and (InstallationId=@installationId OR @installationId IS NULL)
and (UnitId=@unitNo OR @unitNo IS NULL)
AND (cht_checkdate >= @date1 OR @date1 IS NULL) and (cht_checkdate <= @date2 OR @date2 IS NULL))as Checks
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.CHT_CheckID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = jointinfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
AND JOT_JointStatus='102'
GROUP BY isoinfo.WorkAreaId) AS current_ext_total_film ON current_ext_total_film.WorkAreaId = WorkArea.WorkAreaId
--本期总委托数
LEFT JOIN (SELECT COUNT(*) AS current_trust_count_total
,isoinfo.WorkAreaId
FROM (select CH_TrustID from CH_Trust
where ProjectId =@projectId AND (ch_trustdate >= @date1 OR @date1 IS NULL)
and (ch_trustdate <= @date2 OR @date2 IS NULL)
and (CH_TrustUnit = @unitNo OR @unitNo IS NULL)) as ch_trust
LEFT JOIN CH_TrustItem ON ch_trust.ch_trustid = ch_trustitem.ch_trustid
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_trustitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND(WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
GROUP BY isoinfo.WorkAreaId) AS current_trust_count_total ON current_trust_count_total.WorkAreaId = WorkArea.WorkAreaId
--本期总检测数
LEFT JOIN (SELECT COUNT(*) AS current_check_count_total
,SUM(cht_totalfilm) AS total_film
,SUM(cht_passfilm) AS pass_film
,isoinfo.WorkAreaId
FROM (select CHT_CheckID from CH_Check
where ProjectId = @projectId
and (InstallationId=@installationId OR @installationId IS NULL)
and (UnitId=@unitNo OR @unitNo IS NULL)
AND (cht_checkdate >= @date1 OR @date1 IS NULL) and (cht_checkdate <= @date2 OR @date2 IS NULL))as Checks
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
GROUP BY isoinfo.WorkAreaId) AS current_check_count_total ON current_check_count_total.WorkAreaId = WorkArea.WorkAreaId
--点口总片数 --点口合格片数 -- 点口合格率
LEFT JOIN (SELECT SUM(cht_totalfilm) AS point_total_film
,SUM(cht_passfilm) AS point_pass_film
,isoinfo.WorkAreaId
FROM (select CHT_CheckID from CH_Check
where ProjectId = @projectId
and (InstallationId=@installationId OR @installationId IS NULL)
and (UnitId=@unitNo OR @unitNo IS NULL)
AND (cht_checkdate >= @date1 OR @date1 IS NULL) and (cht_checkdate <= @date2 OR @date2 IS NULL))as Checks
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
AND JOT_JointStatus='101'
GROUP BY isoinfo.WorkAreaId) AS point_total_film ON point_total_film.WorkAreaId = WorkArea.WorkAreaId
--扩透总片数 --扩透合格片数 --扩透合格率
LEFT JOIN (SELECT SUM(cht_totalfilm) AS ext_total_film
,SUM(cht_passfilm) AS ext_pass_film
,isoinfo.WorkAreaId
FROM (select CHT_CheckID from CH_Check
where ProjectId = @projectId
and (InstallationId=@installationId OR @installationId IS NULL)
and (UnitId=@unitNo OR @unitNo IS NULL)
AND (cht_checkdate >= @date1 OR @date1 IS NULL) and (cht_checkdate <= @date2 OR @date2 IS NULL))as Checks
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
AND JOT_JointStatus='102'
GROUP BY isoinfo.WorkAreaId) AS ext_total_film ON ext_total_film.WorkAreaId = WorkArea.WorkAreaId
--委托总数
LEFT JOIN (SELECT COUNT(*) AS trust_count_total
,isoinfo.WorkAreaId
FROM (select CH_TrustID from CH_Trust
where ProjectId =@projectId AND (ch_trustdate >= @date1 OR @date1 IS NULL)
and (ch_trustdate <= @date2 OR @date2 IS NULL)
and (CH_TrustUnit = @unitNo OR @unitNo IS NULL)) as ch_trust
LEFT JOIN CH_TrustItem ON ch_trust.ch_trustid = ch_trustitem.ch_trustid
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_trustitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
GROUP BY isoinfo.WorkAreaId) AS trust_count_total ON trust_count_total.WorkAreaId = WorkArea.WorkAreaId
----点口总焊口数
LEFT JOIN (SELECT COUNT(*) point_count_total ,isoinfo.WorkAreaId
FROM (select CH_TrustID from CH_Trust
where ProjectId =@projectId AND (ch_trustdate >= @date1 OR @date1 IS NULL)
and (ch_trustdate <= @date2 OR @date2 IS NULL)
and (CH_TrustUnit = @unitNo OR @unitNo IS NULL)) as ch_trust
LEFT JOIN CH_TrustItem ON ch_trust.ch_trustid = ch_trustitem.ch_trustid
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_trustitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
AND JOT_JointStatus='101'
GROUP BY isoinfo.WorkAreaId) AS point_count_total ON point_count_total.WorkAreaId = WorkArea.WorkAreaId
----扩透总焊口数
LEFT JOIN (SELECT COUNT(*) extend_count_total ,isoinfo.WorkAreaId
FROM (select CH_TrustID from CH_Trust
where ProjectId =@projectId AND (ch_trustdate >= @date1 OR @date1 IS NULL)
and (ch_trustdate <= @date2 OR @date2 IS NULL)
and (CH_TrustUnit = @unitNo OR @unitNo IS NULL)) as ch_trust
LEFT JOIN CH_TrustItem ON ch_trust.ch_trustid = ch_trustitem.ch_trustid
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_trustitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
AND JOT_JointStatus='102'
GROUP BY isoinfo.WorkAreaId) AS extend_count_total ON extend_count_total.WorkAreaId = WorkArea.WorkAreaId
--返修焊口数
LEFT JOIN (SELECT COUNT(*) AS repair_count_total --返修口数
,isoinfo.WorkAreaId
FROM (select CH_TrustID,CH_TrustType from CH_Trust
where ProjectId =@projectId AND (ch_trustdate >= @date1 OR @date1 IS NULL)
and (ch_trustdate <= @date2 OR @date2 IS NULL)
and (CH_TrustUnit = @unitNo OR @unitNo IS NULL)) as Trust
LEFT JOIN CH_TrustItem ON Trust.ch_trustid = ch_trustitem.ch_trustid
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_trustitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND(WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
AND Trust.CH_TrustType='2' and JOT_JointStatus !='102'
GROUP BY isoinfo.WorkAreaId) AS repair_count_total ON repair_count_total.WorkAreaId = WorkArea.WorkAreaId
--检测口数
LEFT JOIN (SELECT COUNT(*) AS trust_check_total
,isoinfo.WorkAreaId
FROM (select CHT_CheckID from CH_Check
where ProjectId = @projectId
and (InstallationId=@installationId OR @installationId IS NULL)
and (UnitId=@unitNo OR @unitNo IS NULL)
AND (cht_checkdate >= @date1 OR @date1 IS NULL) and (cht_checkdate <= @date2 OR @date2 IS NULL))as Checks
LEFT JOIN CH_CheckItem ON ch_checkitem.CHT_CheckID = Checks.CHT_CheckID
LEFT JOIN PW_JointInfo as JointInfo ON JointInfo.JOT_ID = ch_checkitem.JOT_ID
LEFT JOIN (select iso_id,WorkAreaId from pw_isoinfo
where (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL) AND (WorkAreaId = @areaNo or @areaNo is null) and ProjectId = @projectId ) as isoinfo ON jointinfo.ISO_ID = isoinfo.ISO_ID
LEFT JOIN Base_Material ON Base_Material.MaterialId = JointInfo.MaterialId
WHERE (Base_Material.SteelType =@ste_steeltype or @ste_steeltype is null)
GROUP BY isoinfo.WorkAreaId) AS trust_check_total ON trust_check_total.WorkAreaId = WorkArea.WorkAreaId
WHERE (WorkArea.ProjectId = @projectId ) AND
(WorkArea.WorkAreaId=@areano OR @AreaNo IS NULL ) AND
(WorkArea.UnitId=@unitno OR @UnitNo IS NULL) AND
(WorkArea.InstallationId=@installationId OR @installationId IS NULL) and
(WorkArea.SupervisorUnitId=@supervisorUnitId OR @supervisorUnitId IS NULL)
ORDER BY Unit.UnitCode ,Installation.InstallationCode