Basf_TCC7/DataBase/版本日志/已完成/HJGLDB_2024.01.22.sql

184 lines
8.9 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.

INSERT INTO dbo.Base_UnitType(UnitTypeId, UnitTypeName)
VALUES ( '6','管理公司' )
GO
ALTER PROCEDURE [dbo].[sp_TrustReport]
(
@TrustBatchId NVARCHAR(50)
)
AS
SELECT
('工程名称:'+pro.ProjectName) AS ProjectName,pro.EnProjectName,trust.TrustDate,
('单元名称:'+area.WorkAreaName) AS WorkAreaName, area.EnWorkAreaName,
(SELECT unit.UnitName FROM dbo.Project_Unit punit LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = punit.UnitId WHERE ProjectId= trust.ProjectId AND punit.UnitType='1') AS TrustUnit,
trust.TrustBatchCode,nde.DetectionTypeCode,trust.SurfaceState,nde.TestStandard,rate.DetectionRateCode, nde.TechLevel,
(CASE WHEN trust.NDEUuit IS NOT NULL THEN unit.UnitName ELSE (SELECT UnitName FROM dbo.Base_Unit WHERE UnitId=(SELECT TOP 1 UnitId FROM dbo.Project_Unit WHERE ProjectId= trust.ProjectId AND UnitType='4')) END) AS NDEUnit,
mat.WeldingMethodCode,groove.GrooveTypeCode,pipe.PipelineCode,trust.DetectionTiming,
(CASE WHEN nde.SysType='渗透检测' THEN '' ELSE (CASE WHEN nde.SysType='超声波检测' THEN '' ELSE (CASE WHEN rate.DetectionRateCode='5%' OR rate.DetectionRateCode='10%' THEN '' ELSE '' END) END)END) AS QueClass,
trust.QuaCertFile,--质量证明文件编号
trust.AcceptStandard--制造/验收标准
FROM dbo.Batch_BatchTrust trust
LEFT JOIN dbo.Base_Project pro ON pro.ProjectId = trust.ProjectId
--LEFT JOIN dbo.Project_Installation ins ON ins.InstallationId = trust.InstallationId
LEFT JOIN dbo.Project_WorkArea area ON area.WorkAreaId = trust.WorkAreaId
LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = trust.NDEUuit
LEFT JOIN dbo.Base_Unit cunit ON cunit.UnitId = trust.UnitId
--LEFT JOIN dbo.Base_Unit tunit ON tunit.UnitId = ins.SupervisorUnitId
LEFT JOIN dbo.Base_DetectionType nde ON nde.DetectionTypeId = trust.DetectionTypeId
LEFT JOIN dbo.Base_WeldingMethod mat ON mat.WeldingMethodId = trust.WeldingMethodId
LEFT JOIN dbo.Base_GrooveType groove ON groove.GrooveTypeId = trust.GrooveTypeId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = trust.PipelineId
LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId = pipe.DetectionRateId
WHERE trust.TrustBatchId=@TrustBatchId
GO
ALTER PROCEDURE [dbo].[TrustItemReport]
(
@TrustBatchId NVARCHAR(50)
)
AS
/******焊缝检测委托单明细表*******/
SELECT ROW_NUMBER() OVER(ORDER BY jot.WeldJointCode) AS Number,
BatchTrustItem.TrustBatchItemId,
BatchTrustItem.TrustBatchId,
pipe.PipelineCode, --管线号
pipe.SingleNumber, --单线号
(CASE WHEN PointBatchItem.PointState='2' then (CASE WHEN jot.JointAttribute='固定F' THEN 'F'+jot.WeldJointCode ELSE 'S'+jot.WeldJointCode END)+'K'
ELSE (CASE WHEN jot.JointAttribute='固定F' THEN 'F'+jot.WeldJointCode ELSE 'S'+jot.WeldJointCode END) END) AS WeldJointCode, --焊口号
jot.Specification, --焊缝规格
(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, --材质
(CASE WHEN jot.BackingWelderId!=jot.CoverWelderId THEN backingWelder.WelderCode+'/'+coverWelder.WelderCode ELSE backingWelder.WelderCode END) AS WelderCode,--焊工号
rate.DetectionRateCode AS DetectionRateCode,--检测比例
PointBatchItem.AcceptLevel AS AcceptLevel, --验收等级
(case when PointBatchItem.IsWelderFirst=1 then '首三件' else '' end) as Remark,
jot.HeartNo1,--炉批1号
jot.HeartNo2,--炉批2号
(case jot.IsHotProess when 1 then '' else '' end) as IsHotProessName--是否热处理
FROM dbo.Batch_BatchTrustItem AS BatchTrustItem
LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.PointBatchItemId=BatchTrustItem.PointBatchItemId
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = PointBatchItem.PointBatchId
LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId = point.DetectionRateId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = BatchTrustItem.WeldJointId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
LEFT JOIN dbo.Welder_Welder backingWelder ON backingWelder.WelderId = jot.BackingWelderId
LEFT JOIN dbo.Welder_Welder coverWelder ON coverWelder.WelderId = jot.CoverWelderId
LEFT JOIN Base_Material AS mat1 ON mat1.MaterialId = jot.Material1Id
LEFT JOIN Base_Material AS mat2 ON mat2.MaterialId = jot.Material2Id
WHERE BatchTrustItem.TrustBatchId=@TrustBatchId and BatchTrustItem.IsCancelTrust is null
GO
------------------------------------已下已更新---------------------------------------------
ALTER TABLE dbo.Batch_BatchTrust ADD GrooveTypeId NVARCHAR(50) NULL
ALTER TABLE dbo.Batch_BatchTrust ADD WeldingMethodId NVARCHAR(50) NULL
ALTER TABLE dbo.Batch_BatchTrust ADD IsWelderFirst BIT NULL
GO
ALTER VIEW [dbo].[View_GenerateTrust_FJ]
AS
-------正常点口生成委托-----------
SELECT point.ProjectId,point.InstallationId,pipe.WorkAreaId ,point.UnitId,pointItem.PointBatchId,
point.DetectionTypeId,point.PipelineId,jot.WeldingMethodId,jot.GrooveTypeId,
(CASE WHEN pointItem.IsWelderFirst=1 THEN 1 ELSE 0 END) AS IsWelderFirst
FROM dbo.Batch_PointBatchItem pointItem
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId = pointItem.PointBatchItemId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = point.PipelineId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
WHERE pointItem.CutDate IS NULL AND pointItem.PointDate IS NOT NULL
AND trustItem.TrustBatchItemId IS NULL
AND pointItem.PointState='1'
AND pointItem.JLAudit<>'' AND pointItem.JLAudit IS NOT NULL
AND pointItem.GLGSAudit<>'' AND pointItem.GLGSAudit IS NOT NULL
GROUP BY point.ProjectId,point.InstallationId,pipe.WorkAreaId,point.UnitId,pointItem.PointBatchId,point.DetectionTypeId,
point.PipelineId,jot.WeldingMethodId,jot.GrooveTypeId,CASE WHEN pointItem.IsWelderFirst=1 THEN 1 ELSE 0 END
GO
ALTER VIEW [dbo].[View_GenerateTrustItem_FJ]
AS
SELECT point.ProjectId,point.InstallationId,pipe.WorkAreaId ,point.UnitId,point.DetectionTypeId,
point.PipelineId,jot.WeldingMethodId,jot.GrooveTypeId,
(CASE WHEN pointItem.IsWelderFirst=1 THEN 1 ELSE 0 END) AS IsWelderFirst,
--上面是条件
rate.DetectionRateValue,pointItem.PointBatchItemId,pointItem.PointBatchId,pointItem.WeldJointId,jot.Dia
FROM dbo.Batch_PointBatchItem pointItem
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId = pointItem.PointBatchItemId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = point.PipelineId
LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId = point.DetectionRateId
WHERE pointItem.CutDate IS NULL AND pointItem.PointDate IS NOT NULL
AND pointItem.PointState='1'
AND trustItem.TrustBatchItemId IS NULL
AND pointItem.JLAudit<>'' AND pointItem.JLAudit IS NOT NULL
AND pointItem.GLGSAudit<>'' AND pointItem.GLGSAudit IS NOT NULL
GO
ALTER VIEW [dbo].[View_Batch_BatchTrust]
AS
/********无损委托********/
SELECT BatchTrust.TrustBatchId,
BatchTrust.TrustBatchCode,
(CASE WHEN BatchTrust.TrustType='1' THEN BatchTrust.TrustBatchCode
WHEN BatchTrust.TrustType='2' THEN BatchTrust.TrustBatchCode+'K1'
WHEN BatchTrust.TrustType='3' THEN BatchTrust.TrustBatchCode+'R1' END) AS NewTrustBatchCode,
BatchTrust.TrustDate,
BatchTrust.NDEUuit,
BatchTrust.ProjectId,
project.ProjectCode,
BatchTrust.UnitId,
BatchTrust.InstallationId,
BatchTrust.PipelineId,
pipe.PipelineCode,
BatchTrust.DetectionTypeId,
BatchTrust.IsCheck,
BatchTrust.TopointBatch,
BatchTrust.SurfaceState,
BatchTrust.DetectionTiming,
BatchTrust.QuaCertFile,
BatchTrust.AcceptStandard,
Unit.UnitCode,
Unit.UnitName,
Installation.InstallationName,
Installation.InstallationCode,
DetectionType.DetectionTypeCode,
ndtCheck.TrustBatchId AS CheckTrustBatchId,
DetectionType.TestStandard,
DetectionType.TechLevel,
rate.DetectionRateCode,
groove.GrooveTypeCode,
'巴斯夫一体化基地(广东)有限公司' AS TrustUnit,
mat.WeldingMethodCode
FROM Batch_BatchTrust AS BatchTrust
LEFT JOIN dbo.Base_Project project ON project.ProjectId = BatchTrust.ProjectId
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=BatchTrust.UnitId
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId=BatchTrust.InstallationId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = BatchTrust.PipelineId
LEFT JOIN Base_DetectionType AS DetectionType ON DetectionType.DetectionTypeId=BatchTrust.DetectionTypeId
LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId=pipe.DetectionRateId
LEFT JOIN dbo.Base_WeldingMethod mat ON mat.WeldingMethodId = BatchTrust.WeldingMethodId
LEFT JOIN dbo.Base_GrooveType groove ON groove.GrooveTypeId = BatchTrust.GrooveTypeId
LEFT JOIN dbo.Batch_NDE ndtCheck ON ndtCheck.TrustBatchId = BatchTrust.TrustBatchId
WHERE (SELECT COUNT(TrustBatchItemId) FROM Batch_BatchTrustItem WHERE IsCancelTrust IS NULL AND TrustBatchId=BatchTrust.TrustBatchId)>0
GO