213 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
			
		
		
	
	
			213 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
ALTER TABLE dbo.Pipeline_WeldJoint ADD PageNum NVARCHAR(10)
 | 
						||
ALTER TABLE dbo.Pipeline_WeldJoint ADD ANSISCH NVARCHAR(10)
 | 
						||
GO
 | 
						||
 | 
						||
ALTER TABLE dbo.Base_DNCompare  ALTER COLUMN PipeSize DECIMAL(9,2) NULL
 | 
						||
ALTER TABLE dbo.Base_DNCompare ADD DN INT NULL
 | 
						||
ALTER TABLE dbo.Base_DNCompare ADD SCH5 DECIMAL(9,2) NULL
 | 
						||
ALTER TABLE dbo.Base_DNCompare ADD SCH5S DECIMAL(9,2) NULL
 | 
						||
ALTER TABLE dbo.Base_DNCompare ADD SCH10S DECIMAL(9,2) NULL
 | 
						||
ALTER TABLE dbo.Base_DNCompare ADD SCH40S DECIMAL(9,2) NULL
 | 
						||
ALTER TABLE dbo.Base_DNCompare ADD SCH80S DECIMAL(9,2) NULL
 | 
						||
GO
 | 
						||
 | 
						||
ALTER PROC [dbo].[sp_rpt_JointComprehensive]
 | 
						||
            @projectId NVARCHAR(50),
 | 
						||
			@workAreaId NVARCHAR(50), 
 | 
						||
 			@pipelineIds NVARCHAR(MAX) = NULL
 | 
						||
 			
 | 
						||
AS 
 | 
						||
/**********焊口综合信息**********/
 | 
						||
SELECT 
 | 
						||
    weldJoint.WeldJointId,
 | 
						||
	weldJoint.ProjectId,
 | 
						||
	WorkArea.WorkAreaId,
 | 
						||
	WorkArea.WorkAreaCode,
 | 
						||
	weldJoint.SystemNumber,
 | 
						||
	weldJoint.TestPackageNo,
 | 
						||
	pipeline.SingleNumber,
 | 
						||
	pipeline.PipelineCode,
 | 
						||
	weldJoint.PipeSegment,--所属管段
 | 
						||
	(CASE WHEN weldJoint.JointAttribute='固定F' THEN 'F'+weldJoint.WeldJointCode ELSE 'S'+weldJoint.WeldJointCode END) AS WeldJointCode,
 | 
						||
	weldType.WeldTypeCode,
 | 
						||
	weldJoint.JointAttribute,
 | 
						||
	weldJoint.Dia,
 | 
						||
	weldJoint.Thickness,--壁厚
 | 
						||
	weldJoint.HeartNo1,
 | 
						||
	weldJoint.HeartNo2,
 | 
						||
	com1.ComponentsName AS PipeAssembly1,
 | 
						||
	com2.ComponentsName AS PipeAssembly2,
 | 
						||
	material.MaterialCode,
 | 
						||
	cw.WelderCode AS CoverWelderCode,
 | 
						||
	fw.WelderCode AS BackingWelderCode,
 | 
						||
	WeldMethod.WeldingMethodName,	
 | 
						||
	medium.MediumName,
 | 
						||
	weldingDaily.WeldingDate,
 | 
						||
	weldingDaily.WeldingDailyCode,
 | 
						||
	trust.TrustBatchCode,
 | 
						||
	--TrustBatchCode.DetectionRateCode,
 | 
						||
	--TrustBatchCode.AcceptLevel,
 | 
						||
	(CASE WHEN weldJoint.IsHotProess=1 THEN '是' ELSE '否' END) AS IsHotProess,
 | 
						||
	 null as TrustBatchCode,
 | 
						||
	 null as DetectionRateCode,
 | 
						||
	null as AcceptLevel,
 | 
						||
	nde.NDEDate AS CHT_CHECKDATE,
 | 
						||
	ndeItem.NDEReportNo,
 | 
						||
	CAST(ISNULL(weldJoint.Size,0) AS DECIMAL(19,2)) AS JOT_Size,
 | 
						||
	WeldMaterialMat.ConsumablesCode  AS WMT_MatCode,
 | 
						||
	WeldMaterialMat.ConsumablesName AS WMT_Matname,
 | 
						||
	WeldMaterialSilk.ConsumablesCode AS hsCode,
 | 
						||
	WeldMaterialSilk.ConsumablesName AS hsname,
 | 
						||
	weldJoint.Specification,
 | 
						||
	wps.WPQCode,ndttype.DetectionTypeCode,NULL AS HotReportCode,
 | 
						||
	
 | 
						||
	(CASE WHEN (PointBatchItem.PointState='1' OR PointBatchItem.PointState='2') then '是' ELSE  '否' END) AS if_dk
 | 
						||
FROM Pipeline_WeldJoint AS weldJoint
 | 
						||
	LEFT JOIN Pipeline_Pipeline AS pipeline ON pipeline.PipelineId = weldJoint.PipelineId	
 | 
						||
	LEFT JOIN Project_WorkArea AS WorkArea ON WorkArea.WorkAreaId = pipeline.WorkAreaId
 | 
						||
	LEFT JOIN Base_Material AS material ON material.MaterialId = weldJoint.Material1Id
 | 
						||
	LEFT JOIN Base_WeldingMethod AS WeldMethod ON WeldMethod.WeldingMethodId = weldJoint.WeldingMethodId	
 | 
						||
	LEFT JOIN dbo.Base_WeldType weldType ON weldType.WeldTypeId = weldJoint.WeldTypeId
 | 
						||
	LEFT JOIN Base_Medium AS medium ON medium.MediumId = pipeline.MediumId
 | 
						||
	LEFT JOIN Base_Components com1 ON com1.ComponentsId=weldJoint.PipeAssembly1Id
 | 
						||
	LEFT JOIN Base_Components com2 ON com2.ComponentsId=weldJoint.PipeAssembly2Id
 | 
						||
	LEFT JOIN Pipeline_WeldingDaily AS weldingDaily ON weldingDaily.WeldingDailyId = weldJoint.WeldingDailyId
 | 
						||
	LEFT JOIN dbo.WPQ_WPQList wps ON wps.WPQId = weldJoint.WPQId
 | 
						||
	left join Welder_Welder AS fw on weldJoint.BackingWelderId = fw.WelderId
 | 
						||
	left join Welder_Welder AS cw on weldJoint.CoverWelderId = cw.WelderId
 | 
						||
	LEFT JOIN Base_Consumables AS WeldMaterialMat ON WeldMaterialMat.ConsumablesId =weldJoint.WeldMatId
 | 
						||
	LEFT JOIN Base_Consumables AS WeldMaterialSilk ON WeldMaterialSilk.ConsumablesId =weldJoint.WeldSilkId
 | 
						||
	LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.WeldJointId =weldJoint.WeldJointId
 | 
						||
	LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = PointBatchItem.PointBatchId
 | 
						||
	LEFT JOIN dbo.Base_DetectionType ndttype ON ndttype.DetectionTypeId = point.DetectionTypeId	
 | 
						||
	LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId = PointBatchItem.PointBatchItemId
 | 
						||
	LEFT JOIN dbo.Batch_BatchTrust trust ON trust.TrustBatchId = trustItem.TrustBatchId
 | 
						||
	LEFT JOIN dbo.Batch_NDEItem ndeItem ON ndeItem.TrustBatchItemId = trustItem.TrustBatchItemId
 | 
						||
	LEFT JOIN dbo.Batch_NDE nde ON nde.NDEID = ndeItem.NDEID
 | 
						||
 | 
						||
	--LEFT JOIN (SELECT PointBatchItem.WeldJointId,PointBatchItem.AcceptLevel, TrustBatchCode,rate.DetectionRateCode FROM Batch_BatchTrustItem AS TrustBatchItem
 | 
						||
	--		LEFT JOIN Batch_BatchTrust AS TrustBatch ON TrustBatchItem.TrustBatchId = TrustBatch.TrustBatchId
 | 
						||
	--		LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON TrustBatchItem.PointBatchItemId =PointBatchItem.PointBatchItemId
 | 
						||
	--		LEFT JOIN Batch_PointBatch AS point ON point.PointBatchId =PointBatchItem.PointBatchId
 | 
						||
	--		LEFT JOIN Base_DetectionRate rate  ON rate.DetectionRateId =point.DetectionRateId) 
 | 
						||
	--		AS TrustBatchCode ON TrustBatchCode.WeldJointId = weldJoint.WeldJointId
 | 
						||
	--LEFT JOIN  (SELECT PointBatchItem.WeldJointId,NDEDate 
 | 
						||
	--			FROM Batch_NDEItem AS NDEItem
 | 
						||
	--			LEFT JOIN Batch_BatchTrustItem AS TrustBatchItem ON NDEItem.TrustBatchItemId = TrustBatchItem.TrustBatchItemId
 | 
						||
	--			LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.PointBatchItemId = TrustBatchItem.PointBatchItemId
 | 
						||
	--		    LEFT JOIN Batch_NDE AS Checks ON NDEItem.NDEID = Checks.NDEID)
 | 
						||
	--			 AS CheckDate ON CheckDate.WeldJointId = weldJoint.WeldJointId
 | 
						||
 WHERE weldJoint.ProjectId=@projectId
 | 
						||
  AND(pipeline.WorkAreaId=@workAreaId OR @workAreaId IS NULL)
 | 
						||
  AND (CHARINDEX(weldJoint.PipelineId,@pipelineIds)>0 or @pipelineIds IS NULl)
 | 
						||
 --AND(pipeline.PipelineCode=@pipelineCode OR @pipelineCode IS NULl)
 | 
						||
 | 
						||
 GO
 | 
						||
 | 
						||
 
 | 
						||
ALTER VIEW [dbo].[View_Pipeline_WeldJoint]
 | 
						||
AS
 | 
						||
/************焊口信息视图*****************/
 | 
						||
SELECT WeldJoint.WeldJointId, 
 | 
						||
WeldJoint.ProjectId, 
 | 
						||
WeldJoint.PipelineId, 
 | 
						||
WeldJoint.WeldJointCode, 
 | 
						||
dbo.Fun_GetParseInt(WeldJoint.WeldJointCode) AS ConvertWeldJoint,
 | 
						||
WeldJoint.WeldTypeId, 
 | 
						||
WeldJoint.Material1Id, 
 | 
						||
WeldJoint.Material2Id, 
 | 
						||
WeldJoint.ANSISCH,
 | 
						||
WeldJoint.Thickness, 
 | 
						||
WeldJoint.Dia, 
 | 
						||
WeldJoint.Size, 
 | 
						||
WeldJoint.JointAttribute,
 | 
						||
WeldJoint.JointArea, 
 | 
						||
WeldJoint.WeldingMethodId, 
 | 
						||
WeldJoint.IsHotProess, 
 | 
						||
WeldJoint.WeldingLocationId, 
 | 
						||
WeldJoint.WeldMatId, 
 | 
						||
WeldJoint.WeldSilkId,
 | 
						||
WeldJoint.GrooveTypeId, 
 | 
						||
WeldJoint.PipeSegment, 
 | 
						||
WeldJoint.PipeAssembly1Id, 
 | 
						||
WeldJoint.PipeAssembly2Id, 
 | 
						||
WeldJoint.PipeAssemblyCount, 
 | 
						||
WeldJoint.HeartNo1, 
 | 
						||
WeldJoint.HeartNo2, 
 | 
						||
WeldJoint.LastTemp, 
 | 
						||
WeldJoint.CellTemp, 
 | 
						||
WeldJoint.PrepareTemp, 
 | 
						||
WeldJoint.Electricity, 
 | 
						||
WeldJoint.SystemNumber, 
 | 
						||
WeldJoint.Remark, 
 | 
						||
WeldJoint.DoneDin,
 | 
						||
WeldJoint.Voltage, 
 | 
						||
WeldJoint.TestPackageNo, 
 | 
						||
WeldJoint.WeldingDailyCode, 
 | 
						||
WeldJoint.WeldingDailyId,
 | 
						||
WeldJoint.BackingWelderId, 
 | 
						||
WeldJoint.CoverWelderId,
 | 
						||
WeldJoint.PipingClassId,
 | 
						||
WeldJoint.Specification,
 | 
						||
WeldJoint.CancelResult,
 | 
						||
Project.ProjectCode,
 | 
						||
Project.ProjectName,
 | 
						||
Pipeline.PipelineCode,
 | 
						||
Pipeline.InstallationId,
 | 
						||
Pipeline.UnitId,
 | 
						||
Pipeline.SingleNumber,
 | 
						||
Pipeline.WorkAreaId,
 | 
						||
WeldType.WeldTypeCode,
 | 
						||
Material1.MaterialCode AS Material1Code,
 | 
						||
Material2.MaterialCode AS Material2Code,
 | 
						||
WeldingMethod.WeldingMethodCode,
 | 
						||
WeldingLocation.WeldingLocationCode,
 | 
						||
WeldMat.ConsumablesCode AS WeldMatCode,
 | 
						||
WeldSilk.ConsumablesCode AS WeldSilkCode,
 | 
						||
GrooveType.GrooveTypeCode,
 | 
						||
CASE WHEN WeldJoint.WeldingDailyId IS NULL THEN '否' ELSE '是' END AS Is_hjName,
 | 
						||
CASE WHEN WeldJoint.IsHotProess=1 THEN '是' ELSE '否' END AS IsHotProessStr,
 | 
						||
Components1.ComponentsCode AS ComponentsCode1,
 | 
						||
Components2.ComponentsCode AS ComponentsCode2,
 | 
						||
BackingWelder.WelderCode AS BackingWelderCode,
 | 
						||
BackingWelder.WelderName AS BackingWelderName,
 | 
						||
CoverWelder.WelderCode AS CoverWelderCode,
 | 
						||
CoverWelder.WelderName 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 Material1.MaterialCode IS NOT NULL AND Material2.MaterialCode IS NOT NULL
 | 
						||
			THEN Material1.MaterialCode + '/' + Material2.MaterialCode
 | 
						||
			ELSE (ISNULL(Material1.MaterialCode,'') + ISNULL(Material2.MaterialCode,'')) END) AS MaterialCode, --材质
 | 
						||
pipingClass.PipingClassCode,
 | 
						||
CONVERT(VARCHAR(100), WeldingDaily.WeldingDate, 23) AS WeldingDate,
 | 
						||
WeldJoint.IsCancel,
 | 
						||
WeldJoint.IsGoldJoint,
 | 
						||
WeldJoint.WPQId,wps.WPQCode,
 | 
						||
WeldJoint.DetectionType,
 | 
						||
WeldJoint.PageNum
 | 
						||
FROM Pipeline_WeldJoint AS WeldJoint
 | 
						||
LEFT JOIN Base_Project AS Project ON Project.ProjectId=WeldJoint.ProjectId
 | 
						||
LEFT JOIN Pipeline_Pipeline AS Pipeline ON Pipeline.PipelineId = WeldJoint.PipelineId
 | 
						||
LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=WeldJoint.WeldTypeId
 | 
						||
LEFT JOIN Base_Material AS Material1 ON Material1.MaterialId = WeldJoint.Material1Id
 | 
						||
LEFT JOIN Base_Material AS Material2 ON Material2.MaterialId = WeldJoint.Material2Id
 | 
						||
LEFT JOIN Base_WeldingMethod AS WeldingMethod ON WeldingMethod.WeldingMethodId=WeldJoint.WeldingMethodId
 | 
						||
LEFT JOIN Base_WeldingLocation AS WeldingLocation ON WeldingLocation.WeldingLocationId=WeldJoint.WeldingLocationId
 | 
						||
LEFT JOIN Base_Consumables AS WeldMat ON WeldMat.ConsumablesId=WeldJoint.WeldMatId
 | 
						||
LEFT JOIN Base_Consumables AS WeldSilk ON WeldSilk.ConsumablesId=WeldJoint.WeldSilkId
 | 
						||
LEFT JOIN Base_GrooveType AS GrooveType ON GrooveType.GrooveTypeId=WeldJoint.GrooveTypeId
 | 
						||
LEFT JOIN Base_Components AS Components1 ON Components1.ComponentsId = WeldJoint.PipeAssembly1Id
 | 
						||
LEFT JOIN Base_Components AS Components2 ON Components2.ComponentsId = WeldJoint.PipeAssembly2Id
 | 
						||
LEFT JOIN Welder_Welder AS BackingWelder ON BackingWelder.WelderId=WeldJoint.BackingWelderId
 | 
						||
LEFT JOIN Welder_Welder AS CoverWelder ON CoverWelder.WelderId=WeldJoint.CoverWelderId
 | 
						||
LEFT JOIN Pipeline_WeldingDaily AS WeldingDaily ON WeldingDaily.WeldingDailyId=WeldJoint.WeldingDailyId
 | 
						||
LEFT JOIN Base_PipingClass AS pipingClass ON pipingClass.PipingClassId=WeldJoint.PipingClassId
 | 
						||
LEFT JOIN dbo.WPQ_WPQList wps ON wps.WPQId=WeldJoint.WPQId
 | 
						||
 | 
						||
GO
 | 
						||
 | 
						||
 | 
						||
 | 
						||
 |