Files
SGGL_SHJ/DataBase/版本日志/已更新脚本/2020年度/SGGLDB_V2020-09-18-001.sql
T
2022-09-05 16:36:31 +08:00

105 lines
3.9 KiB
Transact-SQL

ALTER VIEW [dbo].[View_HJGL_Batch_PointBatchItem]
AS
/*************点口明细表*************/
SELECT PointBatchItem.PointBatchItemId,
PointBatchItem.PointBatchId,
PointBatch.ProjectId,
PointBatch.UnitId,
PointBatch.DetectionTypeId,
PointBatch.PointBatchCode,
Pipeline.UnitWorkId,
PointBatchItem.WeldJointId,
(CASE PointBatchItem.PointState WHEN '1' THEN '点口' WHEN '2' THEN '扩透' END) AS PointState,
(CASE PointBatchItem.IsBuildTrust WHEN 1 THEN '' ELSE '' END) AS IsBuildTrust,
(CASE WHEN PointBatchItem.IsAudit=1 THEN ''
WHEN (PointBatchItem.IsAudit IS NULL OR PointBatchItem.IsAudit=0) AND PointBatchItem.PointState IS NOT NULL THEN ''
WHEN (PointBatchItem.IsAudit IS NULL OR PointBatchItem.IsAudit=0) AND PointBatchItem.PointState IS NULL THEN '' END) AS PointIsAudit,
PointBatchItem.PointDate,--点口日期
(CASE PointBatchItem.IsWelderFirst WHEN 1 THEN '' ELSE '' END) AS IsWelderFirst,
PointBatchItem.RepairDate,--返修日期
PointBatchItem.RepairRecordId,
PointBatchItem.CutDate,--切除日期
UnitWork.UnitWorkCode,--工区号
WeldJoint.WeldJointCode,--焊口号
WeldJoint.BackingWelderId AS WelderId, --焊工ID
BackingWelder.WelderCode AS BackingWelderCode,
CoverWelder.WelderCode AS CoverWelderCode,
WeldType.WeldTypeCode,
WeldJoint.JointAttribute,
WeldJoint.JointArea,--焊接区域
WeldJoint.Size,--实际寸径
WeldingDaily.WeldingDate,--焊接日期
WeldJoint.PipelineId, --管线ID
WeldJoint.Material1Id AS Mat, --材质
WeldJoint.Specification, --规格
Pipeline.PipelineCode, --管线号
PipingClass.PipingClassName --管道等级
FROM dbo.HJGL_Batch_PointBatchItem AS PointBatchItem
LEFT JOIN dbo.HJGL_Batch_PointBatch AS PointBatch ON PointBatch.PointBatchId=PointBatchItem.PointBatchId
LEFT JOIN dbo.HJGL_WeldJoint AS WeldJoint ON WeldJoint.WeldJointId=PointBatchItem.WeldJointId
LEFT JOIN dbo.HJGL_Pipeline AS Pipeline ON Pipeline.PipelineId=WeldJoint.PipelineId
LEFT JOIN dbo.WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId=Pipeline.UnitWorkId
LEFT JOIN dbo.HJGL_WeldingDaily AS WeldingDaily ON WeldingDaily.WeldingDailyId=WeldJoint.WeldingDailyId
LEFT JOIN dbo.Base_PipingClass AS PipingClass ON PipingClass.PipingClassId=Pipeline.PipingClassId
LEFT JOIN SitePerson_Person AS BackingWelder ON BackingWelder.PersonId=WeldJoint.BackingWelderId
LEFT JOIN SitePerson_Person AS CoverWelder ON CoverWelder.PersonId=WeldJoint.CoverWelderId
LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=WeldJoint.WeldTypeId
GO
CREATE PROCEDURE [dbo].[HJGL_TestPackagePipeList]
(
@unitWorkId nvarchar(50)
)
/***************管道试压包一览表*********************/
AS
create table #SIS(
Number1 INT,
PipelineCode1 nvarchar(50),
TestPackageNo1 nvarchar(50),
Number2 INT,
PipelineCode2 nvarchar(50),
TestPackageNo2 nvarchar(50)
)
BEGIN
DECLARE My_Cursor CURSOR
FOR SELECT ROW_NUMBER() OVER(ORDER BY pipe.PipelineCode,pages.TestPackageNo) AS Number,
pipe.PipelineCode,pages.TestPackageNo
FROM dbo.PTP_PipelineList pp
LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId = pp.PipelineId
LEFT JOIN dbo.PTP_TestPackage pages ON pages.PTP_ID = pp.PTP_ID
WHERE pages.UnitWorkId=@unitWorkId
ORDER BY pipe.PipelineCode,pages.TestPackageNo
OPEN My_Cursor; --打开游标
DECLARE @Number int,@PipelineCode nvarchar(50),@TestPackageNo nvarchar(50)
FETCH NEXT FROM My_Cursor into @Number,@PipelineCode,@TestPackageNo; --读取第一行数据
WHILE @@FETCH_STATUS = 0
BEGIN
IF(@Number%2=1)
BEGIN
INSERT into #SIS values(@Number,@PipelineCode,@TestPackageNo,null,null,null)
END
ELSE
BEGIN
UPDATE #SIS SET Number2=@Number,PipelineCode2=@PipelineCode,TestPackageNo2=@TestPackageNo
WHERE Number1=@Number-1
END
FETCH NEXT FROM My_Cursor into @Number,@PipelineCode,@TestPackageNo; --读取第下一行数据
END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
END
SELECT * from #SIS
DROP TABLE #SIS
GO