HJGL_DS/DataBase/版本日志/HJGLDB_DS_2025-08-12_bwj.sql

111 lines
4.5 KiB
Transact-SQL

ALTER VIEW [dbo].[HJGL_View_CH_HotProessTrustItem]
/*热处理委托明细表查询列表*/
AS
SELECT TrustItem.HotProessTrustItemId, --热处理委托明细id
TrustItem.HotProessTrustId, -- 热处理委托id
JointInfo.JOT_ID, --焊口id
ROW_NUMBER() OVER(ORDER BY JointInfo.Sort1,JointInfo.Sort2,JointInfo.Sort3,JointInfo.Sort4,JointInfo.Sort5) as Number,
TrustItem.TrustDate,
'' as NewJotId,
IsoInfo.ISO_IsoNo,
JointInfo.ISO_ID,
(CASE WHEN record.RepairMark IS NOT NULL THEN (JointInfo.JOT_JointNo+record.RepairMark)
ELSE JointInfo.JOT_JointNo END )+ISNULL(TrustItem.HardRepairMark,'') AS JOT_JointNo,
JointInfo.DReportID,
report.JOT_WeldDate,
TrustItem.Remark,
TrustItem.TrustItemID,
TrustItem.HardTestResultId,
TrustItem.HardRepairMark,
TrustItem.IsComplete,
CASE Result.IsOK WHEN 1 THEN ''
WHEN 0 THEN ''
ELSE '' END AS IsOKStr,
CASE Result.IsOK WHEN 1 THEN '已完成'
WHEN 0 THEN '未完成'
ELSE '' END AS IsOKStr2,
TrustItem.ProessTypes, --热处理类型
JointInfo.JOT_JointDesc, --规格
JointInfo.ProjectId,
WeldMethod.WME_Code, --焊接方法
--(CASE WHEN Welder1.WED_Code!=Welder2.WED_Code THEN (Welder1.WED_Code+'/'+Welder2.WED_Code) ELSE Welder1.WED_Code END) AS WED_Code, --焊工代号
(CASE WHEN JointInfo.JOT_CellWelder!=JointInfo.JOT_FloorWelder THEN (Welder1.WED_Code+'/'+Welder2.WED_Code) ELSE Welder1.WED_Code END) AS WED_Code, --焊工代号
(CASE WHEN JointInfo.STE_ID<>JointInfo.STE_ID2 THEN Steel1.STE_Code+'/'+Steel2.STE_Code
ELSE Steel1.STE_Code END) AS STE_Code, --材质
Result.IsOK --是否完成
FROM dbo.HJGL_PW_JointInfo AS JointInfo
LEFT JOIN dbo.HJGL_BS_WeldMethod WeldMethod ON WeldMethod.WME_ID=JointInfo.WME_ID
LEFT JOIN HJGL_BS_Welder AS Welder1 ON Welder1.WED_ID = JointInfo.JOT_CellWelder
LEFT JOIN HJGL_BS_Welder AS Welder2 ON Welder2.WED_ID = JointInfo.JOT_FloorWelder
LEFT JOIN dbo.HJGL_BO_WeldReportMain report ON report.DReportID = JointInfo.DReportID
LEFT JOIN dbo.HJGL_CH_HotProessTrustItem AS TrustItem ON JointInfo.JOT_ID = TrustItem.JOT_ID
LEFT JOIN dbo.HJGL_CH_HotProessTrust AS Trust ON Trust.HotProessTrustId=TrustItem.HotProessTrustId
LEFT JOIN dbo.HJGL_CH_RepairItemRecord AS record ON record.RepairItemRecordId=TrustItem.TrustItemID
LEFT JOIN dbo.HJGL_PW_IsoInfo AS IsoInfo ON JointInfo.ISO_ID = IsoInfo.ISO_ID
LEFT JOIN dbo.HJGL_BS_Steel AS Steel1 ON JointInfo.STE_ID = Steel1.STE_ID
LEFT JOIN dbo.HJGL_BS_Steel AS Steel2 ON JointInfo.STE_ID2 = Steel2.STE_ID
LEFT JOIN dbo.HJGL_CH_HotProessResult AS Result ON Result.HotProessTrustId=TrustItem.HotProessTrustId AND Result.JOT_ID=TrustItem.JOT_ID AND TrustItem.ProessTypes=Result.ProessTypes
GO
ALTER PROCEDURE [dbo].[HJGL_spCH_HotProessTrustItem]
(
@HotProessTrustId nvarchar(50)
)
AS
--通过检测id获取委托单信息
BEGIN
select *,
ProessTypes1+
(case when ProessTypes1<>'' and ProessTypes2<>'' then ','+ ProessTypes2 else ProessTypes2 end)
+(case when (ProessTypes1<>'' or ProessTypes2<>'') and ProessTypes3<>'' then ','+ ProessTypes3 else ProessTypes3 end)
+(case when (ProessTypes1<>'' or ProessTypes2<>'' or ProessTypes3<>'') and ProessTypes4<>'' then ','+ ProessTypes4 else ProessTypes4 end)
+(case when (ProessTypes1<>'' or ProessTypes2<>'' or ProessTypes3<>'' or ProessTypes4<>'') and ProessTypes5<>'' then ','+ ProessTypes5 else ProessTypes5 end) as ProessTypes
from
(
select --ROW_NUMBER() OVER(ORDER BY JOT_JointNo) as Sort,
--ROW_NUMBER() OVER(ORDER BY JOT_JointNo) as Number,
c.Number,
c.HotProessTrustItemId, --热处理委托明细id
c.HotProessTrustId, -- 热处理委托id
c.JOT_ID, --焊口id
c.TrustDate,
c.ISO_IsoNo,
c.JOT_JointNo,
c.Remark,
ProessTypes1 =case when ProessTypes like '%1%' then '预热'
else '' end,
ProessTypes2 =case when ProessTypes like '%2%' then '消氢'
else '' end,
ProessTypes3 =case when ProessTypes like '%3%' then '后热'
else '' end,
ProessTypes4 =case when ProessTypes like '%4%' then '消应力热处理'
else '' end,
ProessTypes5 =case when ProessTypes like '%5%' then '稳定化处理'
else '' end,
c.JOT_JointDesc, --规格
c.ProjectId,
c.STE_Code, --材质
c.WME_Code, --焊接方法
c.WED_Code --焊工代号
from dbo.HJGL_View_CH_HotProessTrustItem c
where c.HotProessTrustId = @HotProessTrustId
) as t
--order by t.ISO_IsoNo,t.JOT_JointNo
union
select 99999999 as Number,null,null,null,null,'以下空白' AS ISO_IsoNo,null,null,null,null,null,null,null,null,null,null,null,null,null
order by Number
END
GO