ALTER VIEW [dbo].[View_HJGL_NoWeldJointFind] AS --未焊焊口查找 SELECT jot.WeldJointId, jot.WeldJointCode, cast((case when charindex('/',jot.WeldJointCode)>0 then (case when ISNUMERIC(RIGHT(jot.WeldJointCode,CHARINDEX('/',REVERSE(jot.WeldJointCode))-1))=1 then RIGHT(jot.WeldJointCode,CHARINDEX('/',REVERSE(jot.WeldJointCode))-1) else '1000' end) else '1000' end) as int) as WeldJointNum, (case when charindex('/',jot.WeldJointCode)>0 then RIGHT(jot.WeldJointCode,CHARINDEX('/',REVERSE(jot.WeldJointCode))-1) else jot.WeldJointCode end) as WeldJointNumStr, jot.PipelineId, jot.WeldingDailyId, jot.JointAttribute, jot.Dia, jot.DNDia, jot.Size, jot.Thickness, jot.Remark, WeldType.WeldTypeCode, method.WeldingMethodCode, rod.ConsumablesCode AS WeldingRodCode, wire.ConsumablesCode AS WeldingWireCode, mat1.MaterialCode AS Material1Code , weldTask.WeldTaskId, mat2.MaterialCode AS Material2Code FROM dbo.HJGL_WeldJoint jot LEFT JOIN dbo.HJGL_WeldTask weldTask ON weldTask.WeldJointId = jot.WeldJointId LEFT JOIN dbo.HJGL_PreWeldingDaily pre ON pre.WeldJointId = jot.WeldJointId LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=jot.WeldTypeId LEFT JOIN Base_WeldingMethod AS method ON method.WeldingMethodId=jot.WeldingMethodId LEFT JOIN Base_Material AS mat1 ON mat1.MaterialId = jot.Material1Id LEFT JOIN Base_Material AS mat2 ON mat2.MaterialId = jot.Material2Id LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod WHERE pre.PreWeldingDailyId IS NULL and jot.WeldJointId not in (select WeldJointId from HJGL_WeldJoint where IsTwoJoint = 1 and (AuditDate is null or AuditDate='')) GO ALTER VIEW [dbo].[View_HJGL_WeldJoint] AS SELECT jot.[ProjectId] --项目Id ,pipe.[UnitWorkId] --单位工程Id ,uw.UnitWorkName --单位工程 ,pipe.[UnitId] --单位Id ,unit.UnitName --单位 ,jot.[PipelineCode] --管线号 ,pipe.[SingleNumber] --单线图号 ,pipe.[SingleName] --图纸名称 ,pipe.[MediumId] --介质Id ,medium.MediumCode ,medium.MediumName --介质名称 ,pipe.[PipingClassId] --管道等级Id ,pipingClass.PipingClassCode --管道等级 ,pipe.[DetectionRateId] --探伤比例Id ,dr.DetectionRateCode --探伤比例(例如5,10,20) ,pipe.DetectionType --探伤类型Id(可能多个,中间用|分隔) ,STUFF((SELECT ',' + DetectionTypeCode FROM Base_DetectionType WHERE CHARINDEX('|'+LTRIM(DetectionTypeId)+'|','|'+ pipe.DetectionType + '|') > 0 FOR XML PATH('') ), 1, 1, '') AS DetectionTypeStr --探伤类型(可能多个,中间用,分隔) ,pipe.DesignTemperature --设计温度℃ ,pipe.DesignPress --设计压力Mpa(g) ,pipe.TestMedium --压力试验介质Id ,tm.MediumName AS TestMediumName --压力试验介质 ,pipe.TestPressure --压力试验压力Mpa(g) ,pipe.PressurePipingClassId --压力管道级别Id ,ppc.PressurePipingClassCode --压力管道级别 ,pipe.PipeLenth --管线长度(m) ,pipe.LeakMedium --泄露性试验介质Id ,tm2.MediumName AS LeakMediumName --泄露性试验介质 ,pipe.LeakPressure --泄露性试验压力Mpa(g) ,pipe.PCMedium --吹洗要求Id ,pm.PurgeMethodCode --吹洗要求 ,pipe.VacuumPressure --真空试验压力Kpa(a) ,pipe.MaterialId --材质Id ,mat.MaterialCode AS PipeMaterialCode --材质 ,pipe.Remark AS PipeRemark --备注 ,pipe.FlowingSection as FlowingSection --流水段 ,jot.[WeldJointId] --焊口Id ,jot.[WeldJointCode] --焊口号 ,jot.[Material1Id] --材质1Id ,mat1.MaterialCode AS Material1Code --材质1 ,jot.[Material2Id] --材质2Id ,mat2.MaterialCode AS Material2Code --材质2 ,jot.[Dia] --外径 ,jot.DNDia --DN公称直径 ,jot.[Size] --达因 ,jot.[Thickness] --壁厚 ,jot.[Specification] --规格 ,jot.[WeldTypeId] --焊缝类型Id ,WeldType.WeldTypeCode --焊缝类型 ,jot.[DetectionTypeId] --检测类型Id ,ndt.DetectionTypeCode --检测类型 ,jot.[Components1Id] --组件1号Id ,com1.ComponentsCode AS ComponentsCode1 --组件1号 ,jot.[Components2Id] --组件2号Id ,com2.ComponentsCode AS ComponentsCode2 --组件2号 ,jot.DesignIsHotProess --是否热处理 ,CASE jot.DesignIsHotProess WHEN 1 THEN '是' ELSE '否' END AS DesignIsHotProessStr --是否热处理 ,jot.[WeldingMethodId] --焊接方法Id ,WeldingMethod.WeldingMethodCode --焊接方法 ,jot.WPQId --WPS的Id ,wps.WPQCode --WPS编号 ,jot.MatchableWPQ --可匹配WPQ ,jot.[GrooveTypeId] --坡口类型Id ,GrooveType.GrooveTypeCode --坡口类型 ,jot.[WeldingRod] --焊条Id ,rod.ConsumablesCode AS WeldingRodCode --焊条 ,jot.[WeldingWire] --焊丝Id ,wire.ConsumablesCode AS WeldingWireCode --焊丝 ,jot.PreTemperature --预热温度 ,jot.[JointAttribute] --焊口属性 ,jot.TwoJointType --二次焊口新增类型 ,pipe.PipeArea --工厂预制/现场安装 ,daily.WeldingDate as WeldingDateD ,CONVERT(VARCHAR(100), daily.WeldingDate, 23) AS WeldingDate --焊接日期 ,BackingWelder.WelderCode AS BackingWelderCode --打底焊工 ,CoverWelder.WelderCode AS CoverWelderCode --盖面焊工 ,(CASE (SELECT COUNT(*) FROM [dbo].[HJGL_HotProess_TrustItem] hpti WHERE hpti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 ISNULL(ReportNo,'') FROM [dbo].[HJGL_HotProess_Trust] hpt LEFT JOIN [dbo].[HJGL_HotProess_TrustItem] hpti ON hpti.HotProessTrustId=hpt.HotProessTrustId WHERE hpti.WeldJointId=jot.WeldJointId) END) AS HotProessReportNo --热处理报告编号 ,(CASE (SELECT TOP 1 IsCompleted FROM [dbo].[HJGL_HotProess_TrustItem] hpti WHERE hpti.WeldJointId=jot.WeldJointId) WHEN 1 THEN '完成' WHEN 0 THEN '未完成' ELSE '未热处理' END) AS HotProessResult --热处理检测结果 ,(CASE (SELECT COUNT(*) FROM [dbo].HJGL_Hard_TrustItem hti WHERE hti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 ISNULL(InspectionNum,'') FROM [dbo].HJGL_Hard_Trust ht LEFT JOIN [dbo].HJGL_Hard_TrustItem hti ON hti.HardTrustID=ht.HardTrustID WHERE hti.WeldJointId=jot.WeldJointId) END) AS HardReportNo --硬度报告编号 ,(CASE (SELECT TOP 1 IsPass FROM [dbo].HJGL_Hard_TrustItem hti WHERE hti.WeldJointId=jot.WeldJointId) WHEN 1 THEN '合格' WHEN 0 THEN '不合格' ELSE '待检测' END) AS HardResult --硬度检测结果 ,(CASE (SELECT COUNT(*) FROM [dbo].HJGL_Batch_BatchTrustItem bti WHERE bti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 TrustBatchCode FROM [dbo].HJGL_Batch_BatchTrust bt LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchId=bt.TrustBatchId WHERE bti.WeldJointId=jot.WeldJointId) END) AS TrustBatchCode --委托单编号 ,(CASE (SELECT COUNT(*) FROM [dbo].HJGL_Batch_NDEItem ndei LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchItemId=ndei.TrustBatchItemId WHERE bti.WeldJointId=jot.WeldJointId) WHEN 0 THEN '' ELSE (SELECT TOP 1 ISNULL(NDECode,'') FROM [dbo].HJGL_Batch_NDE nde LEFT JOIN [dbo].HJGL_Batch_NDEItem ndei ON ndei.NDEID=nde.NDEID LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchItemId=ndei.TrustBatchItemId WHERE bti.WeldJointId=jot.WeldJointId) END) AS NDECode --检测单编号 ,(CASE (SELECT TOP 1 CheckResult FROM [dbo].HJGL_Batch_NDEItem ndei LEFT JOIN [dbo].HJGL_Batch_BatchTrustItem bti ON bti.TrustBatchItemId=ndei.TrustBatchItemId WHERE bti.WeldJointId=jot.WeldJointId) WHEN '1' THEN '合格' WHEN '2' THEN '不合格' ELSE '' END) AS CheckResult --检测结果 ,jot.PipelineId ,jot.[JointArea] ,jot.[WeldingLocationId] ,jot.[HeartNo1] ,jot.[HeartNo2] ,jot.[IsHotProess] ,jot.[WeldingDailyId] ,jot.[BackingWelderId] ,jot.[CoverWelderId] ,jot.WeldingMode ,jot.Remark ,jot.IsTwoJoint ,jot.SubmitMan ,jot.AuditMan ,jot.AuditMan2 ,jot.AuditDate ,jot.AuditDate2 ,WeldingLocation.WeldingLocationCode ,CASE WHEN jot.WeldingDailyId IS NULL THEN '否' ELSE '是' END AS IsWelding ,CASE WHEN jot.WeldingDailyId IS NULL THEN '未完成' ELSE '已完成' END AS IsWeldOK ,CASE WHEN jot.IsHotProess=1 THEN '是' ELSE '否' END AS IsHotProessStr, BackingWelder.PersonName AS BackingWelderName, CoverWelder.PersonName AS CoverWelderName, (CASE WHEN CoverWelder.WelderCode IS NOT NULL AND BackingWelder.WelderCode IS NOT NULL THEN CoverWelder.WelderCode + '/' + BackingWelder.WelderCode ELSE (ISNULL(CoverWelder.WelderCode,'') + ISNULL(BackingWelder.WelderCode,'')) END) AS WelderCode, --焊工 (CASE WHEN mat1.MaterialCode IS NOT NULL AND mat2.MaterialCode IS NOT NULL THEN mat1.MaterialCode + '/' + mat2.MaterialCode ELSE (ISNULL(mat1.MaterialCode,'') + ISNULL(mat2.MaterialCode,'')) END) AS MaterialCode, --材质 daily.WeldingDailyCode, pointItem.PointBatchId, point.PointBatchCode, (CASE WHEN pointItem.PointState='1' THEN '已点口' WHEN pointItem.PointState='2' THEN '已扩透' ELSE '' END) AS IsPoint FROM [dbo].[HJGL_WeldJoint] jot LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId=jot.PipelineId LEFT JOIN dbo.WBS_UnitWork uw ON uw.UnitWorkId=pipe.UnitWorkId LEFT JOIN dbo.HJGL_WeldingDaily AS daily ON daily.WeldingDailyId=jot.WeldingDailyId LEFT JOIN dbo.Base_Unit unit ON unit.UnitId=daily.UnitId LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=jot.WeldTypeId LEFT JOIN dbo.Base_DetectionRate dr ON dr.DetectionRateId = pipe.DetectionRateId LEFT JOIN Base_TestMedium tm ON tm.TestMediumId=pipe.TestMedium LEFT JOIN Base_TestMedium tm2 ON tm2.TestMediumId=pipe.LeakMedium LEFT JOIN Base_PurgeMethod pm ON pm.PurgeMethodId=pipe.PCMedium LEFT JOIN Base_PressurePipingClass ppc ON ppc.PressurePipingClassId=pipe.PressurePipingClassId LEFT JOIN Base_Material AS mat ON mat.MaterialId = pipe.MaterialId LEFT JOIN Base_Material AS mat1 ON mat1.MaterialId = jot.Material1Id LEFT JOIN Base_Material AS mat2 ON mat2.MaterialId = jot.Material2Id LEFT JOIN Base_WeldingMethod AS WeldingMethod ON WeldingMethod.WeldingMethodId=jot.WeldingMethodId LEFT JOIN Base_WeldingLocation AS WeldingLocation ON WeldingLocation.WeldingLocationId=jot.WeldingLocationId LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod LEFT JOIN Base_GrooveType AS GrooveType ON GrooveType.GrooveTypeId=jot.GrooveTypeId LEFT JOIN Base_Components AS com1 ON com1.ComponentsId = jot.Components1Id LEFT JOIN Base_Components AS com2 ON com2.ComponentsId = jot.Components2Id LEFT JOIN SitePerson_Person AS BackingWelder ON BackingWelder.PersonId=jot.BackingWelderId and BackingWelder.ProjectId=jot.ProjectId LEFT JOIN SitePerson_Person AS CoverWelder ON CoverWelder.PersonId=jot.CoverWelderId and CoverWelder.ProjectId=jot.ProjectId LEFT JOIN Base_PipingClass AS pipingClass ON pipingClass.PipingClassId=pipe.PipingClassId LEFT JOIN dbo.Base_Medium medium ON medium.MediumId = pipe.MediumId LEFT JOIN dbo.Base_DetectionType ndt ON ndt.DetectionTypeId = jot.DetectionTypeId LEFT JOIN dbo.WPQ_WPQList wps ON wps.WPQId = jot.WPQId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.WeldJointId = jot.WeldJointId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId GO