SGGL_SHJ/DataBase/版本日志/SGGLDB_V2023-11-22.sql

173 lines
9.2 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 --探伤比例例如51020
,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.[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.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.Base_Unit unit ON unit.UnitId=pipe.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 dbo.HJGL_WeldingDaily AS daily ON daily.WeldingDailyId=jot.WeldingDailyId
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