USE [HJGLDB_DS] GO /****** Object: StoredProcedure [dbo].[HJGL_spJointWorkRecordNew] Script Date: 2024/12/31 11:12:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[HJGL_spJointWorkRecordNew] ( @IsoId varchar(50), @Flag CHAR(1) ) AS /*管道焊接工作记录查询(新) 存储过程 */ IF(@Flag='1') BEGIN SELECT v.* FROM (SELECT ROW_NUMBER() OVER(ORDER BY convert(int,dbo.Fun_GetParseInt(j.JOT_JointNo))) AS Number, (CASE WHEN j.JOT_CellWelder!=j.JOT_FloorWelder THEN FloorWelder.WED_Code+'/'+CellWelder.WED_Code ELSE FloorWelder.WED_Code END) AS WED_Code,--焊工号 isoInfo.ISO_IsoNo ,j.JOT_JointNo ,convert(int,dbo.Fun_GetParseInt(j.JOT_JointNo)) AS ConvertJointNo ,j.JOT_JointDesc ,(CASE WHEN Steel.STE_Code IS NOT NULL AND Steel2.STE_Code IS NOT NULL and Steel.STE_Code!=Steel2.STE_Code THEN Steel.STE_Code + '/' + Steel2.STE_Code WHEN Steel.STE_Code IS NOT NULL THEN Steel.STE_Code ELSE ISNULL(Steel2.STE_Code,'') END) AS STE_Code --材质 ,isoInfo.ISO_IsoNo AS ISO_IsoNumber ,j.JOT_Location as weldLocal ,weldMethod.WME_Name, CASE WHEN weldMaterial.WMT_MatCode IS NULL THEN ISNULL(weldMaterial1.WMT_MatCode,'') ELSE (CASE WHEN weldMaterial1.WMT_MatCode IS NULL THEN ISNULL(weldMaterial.WMT_MatCode,'') ELSE (ISNULL(weldMaterial1.WMT_MatCode,'') +'/'+ ISNULL(weldMaterial.WMT_MatCode,'')) END) END AS WMT_MatName ,(CASE WHEN j.JOT_PrepareTemp IS NOT NULL THEN CONVERT(NVARCHAR(10),CONVERT(FLOAT,j.JOT_PrepareTemp)) ELSE '/' END) AS JOT_PrepareTemp ,CONVERT(FLOAT,j.JOT_LastTemp) as JOT_LastTemp ,(CASE WHEN j.Jot_WeldingDate IS NOT NULL THEN CONVERT(varchar(100), j.Jot_WeldingDate, 23) ELSE CONVERT(varchar(100), reportDay.JOT_WeldDate, 23) END) AS WeldDate ,'' as NDTT_CheckCode --,(select top 1 CHT_CheckCode from dbo.HJGL_CH_Check where CHT_CheckID in(select CHT_CheckID from dbo.HJGL_CH_CheckItem where dbo.HJGL_CH_CheckItem.JOT_ID=j.JOT_ID)) as NDTT_CheckCode ,(select top 1 RecordChartNo from dbo.HJGL_HotProessItem HotProessItem where HotProessItem.JOT_ID=j.JOT_ID) as JOT_HotRpt ,j.ISO_ID ,jointType.JOTY_Group,j.Sort1,j.Sort2,j.Sort3,j.Sort4,j.Sort5 from dbo.HJGL_pw_jointinfo j LEFT JOIN dbo.HJGL_BS_Welder AS CellWelder ON CellWelder.WED_ID=j.JOT_CellWelder LEFT JOIN dbo.HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=j.JOT_FloorWelder left join dbo.HJGL_PW_IsoInfo isoInfo on isoInfo.ISO_ID=j.ISO_ID left join dbo.HJGL_BS_Steel steel on steel.STE_ID=j.STE_ID LEFT JOIN dbo.HJGL_BS_Steel AS Steel2 ON Steel2.STE_ID=j.STE_ID2 left join dbo.HJGL_BS_WeldMethod weldMethod on weldMethod.WME_ID=j.WME_ID left join dbo.HJGL_BS_WeldMaterial weldMaterial on weldMaterial.WMT_ID=j.JOT_WeldMat left join dbo.HJGL_BS_WeldMaterial weldMaterial1 on weldMaterial1.WMT_ID=j.JOT_WeldSilk left join dbo.HJGL_BO_WeldReportMain reportDay on reportDay.DReportID=j.DReportID left join HJGL_BS_JointType jointType on jointType.JOTY_ID = j.JOTY_ID where (j.DReportID is not null and j.DReportID !='') and j.ISO_ID=@IsoId) v WHERE v.Number<=11 END else IF(@Flag='2') BEGIN SELECT v.* FROM (SELECT ROW_NUMBER() OVER(ORDER BY convert(int,dbo.Fun_GetParseInt(j.JOT_JointNo))) AS Number, (CASE WHEN j.JOT_CellWelder!=j.JOT_FloorWelder THEN FloorWelder.WED_Code+'/'+CellWelder.WED_Code ELSE FloorWelder.WED_Code END) AS WED_Code,--焊工号 isoInfo.ISO_IsoNo ,j.JOT_JointNo ,convert(int,dbo.Fun_GetParseInt(j.JOT_JointNo)) AS ConvertJointNo ,j.JOT_JointDesc ,(CASE WHEN Steel.STE_Code IS NOT NULL AND Steel2.STE_Code IS NOT NULL and Steel.STE_Code!=Steel2.STE_Code THEN Steel.STE_Code + '/' + Steel2.STE_Code WHEN Steel.STE_Code IS NOT NULL THEN Steel.STE_Code ELSE ISNULL(Steel2.STE_Code,'') END) AS STE_Code --材质 ,isoInfo.ISO_IsoNo AS ISO_IsoNumber ,j.JOT_Location as weldLocal ,weldMethod.WME_Name, CASE WHEN weldMaterial.WMT_MatCode IS NULL THEN ISNULL(weldMaterial1.WMT_MatCode,'') ELSE (CASE WHEN weldMaterial1.WMT_MatCode IS NULL THEN ISNULL(weldMaterial.WMT_MatCode,'') ELSE (ISNULL(weldMaterial1.WMT_MatCode,'') +'/'+ ISNULL(weldMaterial.WMT_MatCode,'')) END) END AS WMT_MatName ,(CASE WHEN j.JOT_PrepareTemp IS NOT NULL THEN CONVERT(NVARCHAR(10),CONVERT(FLOAT,j.JOT_PrepareTemp)) ELSE '/' END) AS JOT_PrepareTemp ,CONVERT(FLOAT,j.JOT_LastTemp) as JOT_LastTemp ,(CASE WHEN j.Jot_WeldingDate IS NOT NULL THEN CONVERT(varchar(100), j.Jot_WeldingDate, 23) ELSE CONVERT(varchar(100), reportDay.JOT_WeldDate, 23) END) AS WeldDate ,'' as NDTT_CheckCode --,(select top 1 CHT_CheckCode from dbo.HJGL_CH_Check where CHT_CheckID in(select CHT_CheckID from dbo.HJGL_CH_CheckItem where dbo.HJGL_CH_CheckItem.JOT_ID=j.JOT_ID)) as NDTT_CheckCode ,(select top 1 RecordChartNo from dbo.HJGL_HotProessItem HotProessItem where HotProessItem.JOT_ID=j.JOT_ID) as JOT_HotRpt ,j.ISO_ID ,jointType.JOTY_Group,j.Sort1,j.Sort2,j.Sort3,j.Sort4,j.Sort5 from dbo.HJGL_pw_jointinfo j LEFT JOIN dbo.HJGL_BS_Welder AS CellWelder ON CellWelder.WED_ID=j.JOT_CellWelder LEFT JOIN dbo.HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=j.JOT_FloorWelder left join dbo.HJGL_PW_IsoInfo isoInfo on isoInfo.ISO_ID=j.ISO_ID left join dbo.HJGL_BS_Steel steel on steel.STE_ID=j.STE_ID LEFT JOIN dbo.HJGL_BS_Steel AS Steel2 ON Steel2.STE_ID=j.STE_ID2 left join dbo.HJGL_BS_WeldMethod weldMethod on weldMethod.WME_ID=j.WME_ID left join dbo.HJGL_BS_WeldMaterial weldMaterial on weldMaterial.WMT_ID=j.JOT_WeldMat left join dbo.HJGL_BS_WeldMaterial weldMaterial1 on weldMaterial1.WMT_ID=j.JOT_WeldSilk left join dbo.HJGL_BO_WeldReportMain reportDay on reportDay.DReportID=j.DReportID left join HJGL_BS_JointType jointType on jointType.JOTY_ID = j.JOTY_ID where (j.DReportID is not null and j.DReportID !='') and j.ISO_ID=@IsoId) v WHERE v.Number>11 END ELSE BEGIN SELECT v.* FROM (SELECT ROW_NUMBER() OVER(ORDER BY convert(int,dbo.Fun_GetParseInt(j.JOT_JointNo))) AS Number, (CASE WHEN j.JOT_CellWelder!=j.JOT_FloorWelder THEN FloorWelder.WED_Code+'/'+CellWelder.WED_Code ELSE FloorWelder.WED_Code END) AS WED_Code,--焊工号 isoInfo.ISO_IsoNo ,j.JOT_JointNo ,convert(int,dbo.Fun_GetParseInt(j.JOT_JointNo)) AS ConvertJointNo ,j.JOT_JointDesc ,(CASE WHEN Steel.STE_Code IS NOT NULL AND Steel2.STE_Code IS NOT NULL and Steel.STE_Code!=Steel2.STE_Code THEN Steel.STE_Code + '/' + Steel2.STE_Code WHEN Steel.STE_Code IS NOT NULL THEN Steel.STE_Code ELSE ISNULL(Steel2.STE_Code,'') END) AS STE_Code --材质 ,isoInfo.ISO_IsoNo AS ISO_IsoNumber ,j.JOT_Location as weldLocal ,weldMethod.WME_Name, CASE WHEN weldMaterial.WMT_MatCode IS NULL THEN ISNULL(weldMaterial1.WMT_MatCode,'') ELSE (CASE WHEN weldMaterial1.WMT_MatCode IS NULL THEN ISNULL(weldMaterial.WMT_MatCode,'') ELSE (ISNULL(weldMaterial1.WMT_MatCode,'') +'/'+ ISNULL(weldMaterial.WMT_MatCode,'')) END) END AS WMT_MatName ,(CASE WHEN j.JOT_PrepareTemp IS NOT NULL THEN CONVERT(NVARCHAR(10),CONVERT(FLOAT,j.JOT_PrepareTemp)) ELSE '/' END) AS JOT_PrepareTemp ,CONVERT(FLOAT,j.JOT_LastTemp) as JOT_LastTemp ,(CASE WHEN j.Jot_WeldingDate IS NOT NULL THEN CONVERT(varchar(100), j.Jot_WeldingDate, 23) ELSE CONVERT(varchar(100), reportDay.JOT_WeldDate, 23) END) AS WeldDate ,'' as NDTT_CheckCode --,(select top 1 CHT_CheckCode from dbo.HJGL_CH_Check where CHT_CheckID in(select CHT_CheckID from dbo.HJGL_CH_CheckItem where dbo.HJGL_CH_CheckItem.JOT_ID=j.JOT_ID)) as NDTT_CheckCode ,(select top 1 RecordChartNo from dbo.HJGL_HotProessItem HotProessItem where HotProessItem.JOT_ID=j.JOT_ID) as JOT_HotRpt ,j.ISO_ID ,jointType.JOTY_Group,j.Sort1,j.Sort2,j.Sort3,j.Sort4,j.Sort5 from dbo.HJGL_pw_jointinfo j LEFT JOIN dbo.HJGL_BS_Welder AS CellWelder ON CellWelder.WED_ID=j.JOT_CellWelder LEFT JOIN dbo.HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=j.JOT_FloorWelder left join dbo.HJGL_PW_IsoInfo isoInfo on isoInfo.ISO_ID=j.ISO_ID left join dbo.HJGL_BS_Steel steel on steel.STE_ID=j.STE_ID LEFT JOIN dbo.HJGL_BS_Steel AS Steel2 ON Steel2.STE_ID=j.STE_ID2 left join dbo.HJGL_BS_WeldMethod weldMethod on weldMethod.WME_ID=j.WME_ID left join dbo.HJGL_BS_WeldMaterial weldMaterial on weldMaterial.WMT_ID=j.JOT_WeldMat left join dbo.HJGL_BS_WeldMaterial weldMaterial1 on weldMaterial1.WMT_ID=j.JOT_WeldSilk left join dbo.HJGL_BO_WeldReportMain reportDay on reportDay.DReportID=j.DReportID left join HJGL_BS_JointType jointType on jointType.JOTY_ID = j.JOTY_ID where (j.DReportID is not null and j.DReportID !='') and j.ISO_ID=@IsoId) v order by v.JOTY_Group,v.Sort1,v.Sort2,v.Sort3,v.Sort4,v.Sort5 END GO ALTER VIEW [dbo].[HJGL_View_JointInfo] AS /*管线焊口信息视图*/ SELECT JointInfo.JOT_ID, JointInfo.ProjectId, JOT_JointNo, JOT_DailyReportNo, --日报告号 (CASE WHEN JointInfo.Jot_WeldingDate IS NOT NULL THEN JointInfo.Jot_WeldingDate ELSE WeldReportMain.JOT_WeldDate END) AS JOT_WeldDate, --焊接日期 JointInfo.ISO_ID, ISO_IsoNo, --管线号 Unit.UnitCode, Unit.UnitName, Steel.STE_Code AS STE_Name1,--材质1 Steel1.STE_Code AS STE_Name2,--材质2 Welder.WED_Code AS WED_Code1, --盖面焊工代号 Welder.WED_Name AS WED_Name1, --盖面焊工名称 FloorWelder.WED_Code AS WED_Code2, --打底焊工代号 FloorWelder.WED_Name AS WED_Name2, --打底焊工名称 JointInfo.WLO_Code, (CASE WHEN JointInfo.WLO_Code='F' THEN '现场安装' ELSE '预制' END) AS WLO_Name,--焊接区域 JOT_DoneDin, IS_Compute, com1.Com_Name AS Component1,--组件1号 com1.COM_Code AS COM_Code1,--组件1号 com2.COM_Name AS Component2,--组件2号 com2.COM_Code AS COM_Code2,--组件1号 m1.WMT_MatCode AS WeldMat,--焊条 WeldMaterial.WMT_MatCode AS WeldSilk,--焊丝 batchDetail.PointType AS JointStatus,---焊口状态 JOT_Dia, JOT_Size, JOT_Sch, JOT_FactSch, JOT_JointFlag, JOT_TrustFlag, ProessTypes, JOT_JointDesc, JointInfo.JOTY_ID, JointType.JOTY_Name,--焊缝类型 JointType.JOTY_Code,--焊缝类型 JointInfo.WME_ID, WeldMethod.WME_Name AS WME_Name,--焊接方法 WeldMethod.WME_Code,--焊接方法代码 SlopeType.JST_Name, --坡口类型 SlopeType.JST_Code, --坡口类型代码 IS_Proess, (CASE WHEN IS_Proess=1 THEN '是' ELSE '否' END) AS IS_ProessName, JOT_PrepareTemp, JOT_CellTemp, JOT_LastTemp, JOT_JointAttribute, JOT_Location, batch.BatchCode AS BatchCode,--批次号 batchDetail.PointDate AS PointDate,--点口日期 NULL AS CH_TrustCode, NULL AS CH_TrustDate, --NDTType.NDT_Name as NDT_Name,--探伤类型 JointInfo.JOT_Remark, JointInfo.RT_States, JointInfo.UT_States, JointInfo.MT_States, JointInfo.PT_States, JointInfo.PAUT_States, (case when (select top 1 IsOK from HJGL_CH_HotProessResult hr where hr.JOT_ID=JointInfo.JOT_ID)=1 then '合格' else '' end) as HotProessResult, Servicess.SER_Code,--介质代号 --NDTRate.NDTR_Name as NDTR_Name, --探伤比例 --NDTRate.NDTR_Code, --探伤比例 isoInfo.ISO_TestPress,--试验压力 isoInfo.ISO_DesignPress,--设计压力 isoInfo.ISO_DesignTemperature,--设计温度 IsoClass.ISC_IsoCode,--管线等级 is_hj= CAST((CASE WHEN JointInfo.DReportID IS NULL THEN '0' ELSE '1' END ) AS BIT), --是否焊接 if_dk=CAST((CASE WHEN batchDetail.NDT IS NULL THEN '0' ELSE '1' END) AS BIT), --是否点口 JointInfo.InstallationId, JointInfo.NDTR_ID, JointInfo.IsSpecial, JointInfo.IsSpecial AS IsSpecialName, --是否特殊 Installation.InstallationName,--装置 NDTRate.NDTR_Name, JointInfo.Sort1,JointInfo.Sort2,JointInfo.Sort3,JointInfo.Sort4,JointInfo.Sort5 ,JointType.JOTY_Group FROM HJGL_PW_JointInfo AS JointInfo LEFT JOIN HJGL_PW_IsoInfo AS IsoInfo ON IsoInfo.ISO_ID=JointInfo.ISO_ID LEFT JOIN HJGL_BO_WeldReportMain AS WeldReportMain ON WeldReportMain.DReportID=JointInfo.DReportID LEFT JOIN HJGL_BS_Steel AS Steel ON Steel.STE_ID=JointInfo.STE_ID LEFT JOIN HJGL_BS_Steel AS Steel1 ON Steel1.STE_ID=JointInfo.STE_ID2 LEFT JOIN HJGL_BS_Welder AS Welder ON Welder.WED_ID= JointInfo.JOT_CellWelder LEFT JOIN HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=JointInfo.JOT_FloorWelder --LEFT JOIN HJGL_BS_WeldLocation AS WeldLocation ON WeldLocation.WLO_Code =JointInfo.WLO_Code LEFT JOIN HJGL_BS_Component AS com1 ON com1.COM_ID=JointInfo.JOT_Component1 LEFT JOIN HJGL_BS_Component AS com2 ON com2.COM_ID=JointInfo.JOT_Component2 LEFT JOIN HJGL_BS_WeldMaterial m1 ON m1.WMT_ID=JointInfo.JOT_WeldMat LEFT JOIN HJGL_BS_WeldMaterial AS WeldMaterial ON WeldMaterial.WMT_ID=JointInfo.JOT_WeldSilk LEFT JOIN HJGL_BS_JointType AS JointType ON JointType.JOTY_ID=JointInfo.JOTY_ID LEFT JOIN HJGL_BS_WeldMethod AS WeldMethod ON WeldMethod .WME_ID=JointInfo.WME_ID LEFT JOIN HJGL_BS_SlopeType AS SlopeType ON SlopeType.JST_ID=JointInfo.JST_ID LEFT JOIN dbo.HJGL_BO_BatchDetail AS batchDetail ON batchDetail.JOT_ID = JointInfo.JOT_ID LEFT JOIN dbo.HJGL_BO_Batch AS batch ON batch.BatchId = batchDetail.BatchId LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=IsoInfo.BSU_ID --left join HJGL_BS_NDTRate AS NDTRate on NDTRate.NDTR_ID=IsoInfo.NDTR_ID LEFT JOIN HJGL_BS_Service AS Servicess ON Servicess.SER_ID=IsoInfo.SER_ID LEFT JOIN HJGL_BS_IsoClass AS IsoClass ON IsoClass.ISC_ID=IsoInfo.ISC_ID LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId =JointInfo.InstallationId LEFT JOIN HJGL_BS_NDTRate AS NDTRate ON NDTRate.NDTR_ID =JointInfo.NDTR_ID GO