229 lines
26 KiB
Transact-SQL
229 lines
26 KiB
Transact-SQL
--SELECT * FROM dbo.Pipeline_WeldJoint WHERE PipelineId='8223e254-7bcb-4443-9321-61f1ee6dc395'
|
||
|
||
|
||
INSERT INTO Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,ButtonEnName,SortIndex) VALUES('94F17203-0D8D-483B-91F4-3C7192629E34','0CA58EC2-7934-49B3-A2C3-327FAD27C541','保存','Save',1)
|
||
GO
|
||
ALTER TABLE dbo.Batch_BatchTrust ADD NDEUuit NVARCHAR(50)
|
||
GO
|
||
|
||
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检测单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Batch_BatchTrust', @level2type=N'COLUMN',@level2name=N'NDEUuit'
|
||
GO
|
||
ALTER TABLE [dbo].[Batch_BatchTrust] WITH CHECK ADD CONSTRAINT [FK_Batch_BatchTrust_Base_Unit1] FOREIGN KEY([NDEUuit])
|
||
REFERENCES [dbo].[Base_Unit] ([UnitId])
|
||
GO
|
||
ALTER TABLE [dbo].[Batch_BatchTrust] CHECK CONSTRAINT [FK_Batch_BatchTrust_Base_Unit1]
|
||
GO
|
||
|
||
DELETE FROM dbo.Pipeline_WeldJoint WHERE ProjectId='8ddc0c0f-0cf4-4cc5-bc1e-b640668de2ae'
|
||
DELETE FROM dbo.Pipeline_PipelineDetectionType WHERE PipelineId
|
||
IN (SELECT PipelineId FROM dbo.Pipeline_Pipeline WHERE ProjectId='8ddc0c0f-0cf4-4cc5-bc1e-b640668de2ae')
|
||
DELETE FROM dbo.Pipeline_Pipeline WHERE ProjectId='8ddc0c0f-0cf4-4cc5-bc1e-b640668de2ae'
|
||
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,
|
||
BatchTrust.DetectionTypeId,
|
||
BatchTrust.IsCheck,
|
||
BatchTrust.TopointBatch,
|
||
Unit.UnitCode,
|
||
Unit.UnitName,
|
||
Installation.InstallationName,
|
||
DetectionType.DetectionTypeCode,
|
||
ndtCheck.TrustBatchId AS CheckTrustBatchId
|
||
FROM Batch_BatchTrust AS BatchTrust
|
||
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=BatchTrust.UnitId
|
||
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId=BatchTrust.InstallationId
|
||
LEFT JOIN Base_DetectionType AS DetectionType ON DetectionType.DetectionTypeId=BatchTrust.DetectionTypeId
|
||
LEFT JOIN dbo.Base_Project project ON project.ProjectId = BatchTrust.ProjectId
|
||
LEFT JOIN dbo.Batch_NDE ndtCheck ON ndtCheck.TrustBatchId = BatchTrust.TrustBatchId
|
||
|
||
|
||
GO
|
||
|
||
|
||
ALTER PROC [dbo].[WelderRanking]
|
||
@startDate datetime = NULL,
|
||
@endDate datetime = NULL,
|
||
@projectTypeId nvarchar(50)
|
||
AS
|
||
/*焊工名次*/
|
||
SELECT
|
||
--ROW_NUMBER() over(order by ) as No --名次
|
||
Welder.WelderId,
|
||
Welder.WelderName --焊工姓名
|
||
,Welder.WelderCode as StampNo --焊工号
|
||
,Unit.UnitName as WorkFor --工作单位
|
||
,ISNULL(Totalwelds.Totalwelds,0) AS Totalwelds --总焊口数
|
||
,ISNULL(TesetedJoints.TesetedJoints,0) AS TesetedJoints --RT检测数
|
||
,ISNULL(RejectedJoints.RejectedJoints,0) AS RejectedJoints --不合格数
|
||
,CAST(CASE ISNULL(TesetedJoints.TesetedJoints,0) WHEN 0 THEN 0
|
||
ELSE 1.0*ISNULL(RejectedJoints.RejectedJoints,0) / (1.0 *TesetedJoints.TesetedJoints) END AS DECIMAL(19,3))
|
||
AS Rejectrates -- 不合格率
|
||
FROM Welder_Welder AS Welder
|
||
LEFT JOIN dbo.Base_Unit as Unit on Unit.UnitId=Welder.UnitId
|
||
--总焊口数
|
||
LEFT JOIN (SELECT count(*) as Totalwelds,WeldJoint.BackingWelderId
|
||
FROM Pipeline_WeldJoint AS WeldJoint
|
||
left join dbo.Base_Project as Project on Project.ProjectId=WeldJoint.ProjectId
|
||
left join dbo.Pipeline_WeldingDaily as WeldingDaily on WeldingDaily.WeldingDailyId=WeldJoint.WeldingDailyId
|
||
where WeldJoint.WeldingDailyId is not null and Project.ProjectTypeId=@projectTypeId
|
||
and (@startDate is null or @startDate<=WeldingDate) and (@endDate is null or @endDate>=WeldingDate)
|
||
GROUP BY WeldJoint.BackingWelderId) AS Totalwelds ON Totalwelds.BackingWelderId = Welder.WelderId
|
||
--RT检测数
|
||
LEFT JOIN (SELECT Count(*) AS TesetedJoints,WeldJoint.BackingWelderId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
where Project.ProjectTypeId=@projectTypeId
|
||
and (@startDate is null or @startDate<=NDEDate) and (@endDate is null or @endDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY WeldJoint.BackingWelderId) AS TesetedJoints ON TesetedJoints.BackingWelderId =Welder.WelderId
|
||
--不合格数
|
||
LEFT JOIN (SELECT Count(*) AS RejectedJoints,WeldJoint.BackingWelderId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
where CheckResult='2' and Project.ProjectTypeId=@projectTypeId
|
||
and (@startDate is null or @startDate<=NDEDate) and (@endDate is null or @endDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY WeldJoint.BackingWelderId) AS RejectedJoints ON RejectedJoints.BackingWelderId =Welder.WelderId
|
||
WHERE Welder.ProjectTypeId=@projectTypeId
|
||
ORDER BY CAST(CASE ISNULL(TesetedJoints.TesetedJoints,0) WHEN 0 THEN 0
|
||
ELSE 1.0*ISNULL(RejectedJoints.RejectedJoints,0) / (1.0 *TesetedJoints.TesetedJoints) END AS DECIMAL(19,3)),WelderCode
|
||
|
||
|
||
GO
|
||
|
||
|
||
ALTER PROC [dbo].[UnitReport]
|
||
@startDate datetime = NULL,
|
||
@endDate datetime = NULL,
|
||
@projectTypeId nvarchar(50)=NULL
|
||
AS
|
||
/*承包商报表*/
|
||
SELECT
|
||
v.UnitId
|
||
,Unit.UnitName as Party --施焊单位
|
||
,ISNULL(TestedWelds.TestedWelds,0) as TestedWelds --拍片焊口数
|
||
,ISNULL(RejectedWelds.RejectedWelds,0) as RejectedWelds --不合格焊口数
|
||
,CAST(CASE ISNULL(TestedWelds.TestedWelds,0) WHEN 0 THEN 0
|
||
ELSE 1.0*ISNULL(RejectedWelds.RejectedWelds,0) / (1.0 *TestedWelds.TestedWelds) END AS DECIMAL(19,3))
|
||
AS RejectedRate -- 不合格率
|
||
,CAST(CASE ISNULL(StartDateTestedWelds.StartDateTestedWelds,0) WHEN 0 THEN 0
|
||
ELSE 1.0*ISNULL(StartDateRejectedWelds.StartDateRejectedWelds,0) / (1.0 *StartDateTestedWelds.StartDateTestedWelds) END AS DECIMAL(19,3))
|
||
AS StartDateRejectedRate -- 截至开始日期不合格率
|
||
,CAST(CASE ISNULL(EndDateTestedWelds.EndDateTestedWelds,0) WHEN 0 THEN 0
|
||
ELSE 1.0*ISNULL(EndDateRejectedWelds.EndDateRejectedWelds,0) / (1.0 *EndDateTestedWelds.EndDateTestedWelds) END AS DECIMAL(19,3))
|
||
AS StartDateRejectedRate -- 截至结束日期不合格率
|
||
FROM
|
||
(SELECT UnitId FROM dbo.Project_Unit
|
||
LEFT JOIN dbo.Base_Project p ON p.ProjectId = Project_Unit.ProjectId
|
||
WHERE p.ProjectTypeId=@projectTypeId
|
||
GROUP BY unitid) v
|
||
LEFT JOIN dbo.Base_Unit Unit ON Unit.UnitId = v.UnitId
|
||
|
||
--拍片焊口数
|
||
LEFT JOIN (SELECT Count(*) AS TestedWelds,Pipeline.UnitId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
left join Pipeline_Pipeline as Pipeline on Pipeline.PipelineId=WeldJoint.PipelineId
|
||
where (@projectTypeId is null or Project.ProjectTypeId=@projectTypeId)
|
||
and (@startDate is null or @startDate<=NDEDate) and (@endDate is null or @endDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY Pipeline.UnitId) AS TestedWelds ON TestedWelds.UnitId =v.UnitId
|
||
--不合格焊口数
|
||
LEFT JOIN (SELECT Count(*) AS RejectedWelds,Pipeline.UnitId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
left join Pipeline_Pipeline as Pipeline on Pipeline.PipelineId=WeldJoint.PipelineId
|
||
where CheckResult='2' and (@projectTypeId is null or Project.ProjectTypeId=@projectTypeId)
|
||
and (@startDate is null or @startDate<=NDEDate) and (@endDate is null or @endDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY Pipeline.UnitId) AS RejectedWelds ON RejectedWelds.UnitId =v.UnitId
|
||
--截至开始日期拍片焊口数
|
||
LEFT JOIN (SELECT Count(*) AS StartDateTestedWelds,Pipeline.UnitId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
left join Pipeline_Pipeline as Pipeline on Pipeline.PipelineId=WeldJoint.PipelineId
|
||
where (@projectTypeId is null or Project.ProjectTypeId=@projectTypeId)
|
||
and (@startDate is null or @startDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY Pipeline.UnitId) AS StartDateTestedWelds ON StartDateTestedWelds.UnitId =v.UnitId
|
||
--截至开始日期不合格焊口数
|
||
LEFT JOIN (SELECT Count(*) AS StartDateRejectedWelds,Pipeline.UnitId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
left join Pipeline_Pipeline as Pipeline on Pipeline.PipelineId=WeldJoint.PipelineId
|
||
where CheckResult='2' and (@projectTypeId is null or Project.ProjectTypeId=@projectTypeId)
|
||
and (@startDate is null or @startDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY Pipeline.UnitId) AS StartDateRejectedWelds ON StartDateRejectedWelds.UnitId =v.UnitId
|
||
--截至结束日期拍片焊口数
|
||
LEFT JOIN (SELECT Count(*) AS EndDateTestedWelds,Pipeline.UnitId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
left join Pipeline_Pipeline as Pipeline on Pipeline.PipelineId=WeldJoint.PipelineId
|
||
where (@projectTypeId is null or Project.ProjectTypeId=@projectTypeId)
|
||
and (@endDate is null or @endDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY Pipeline.UnitId) AS EndDateTestedWelds ON EndDateTestedWelds.UnitId =v.UnitId
|
||
--截至结束日期不合格焊口数
|
||
LEFT JOIN (SELECT Count(*) AS EndDateRejectedWelds,Pipeline.UnitId
|
||
FROM Batch_NDEItem AS NDEItem
|
||
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
|
||
left join dbo.Base_Project as Project on Project.ProjectId=NDE.ProjectId
|
||
left join Batch_BatchTrustItem as BatchTrustItem on BatchTrustItem.TrustBatchItemId=NDEItem.TrustBatchItemId
|
||
left join Base_DetectionType as DetectionType on DetectionType.DetectionTypeId=NDEItem.DetectionTypeId
|
||
left join Pipeline_WeldJoint as WeldJoint on WeldJoint.WeldJointId=BatchTrustItem.WeldJointId
|
||
left join Pipeline_Pipeline as Pipeline on Pipeline.PipelineId=WeldJoint.PipelineId
|
||
where CheckResult='2' and (@projectTypeId is null or Project.ProjectTypeId=@projectTypeId)
|
||
and (@endDate is null or @endDate>=NDEDate)
|
||
and DetectionType.SysType='射线检测'
|
||
GROUP BY Pipeline.UnitId) AS EndDateRejectedWelds ON EndDateRejectedWelds.UnitId =v.UnitId
|
||
WHERE Unit.UnitTypeId='5'
|
||
ORDER BY Unit.UnitCode
|
||
|
||
|
||
GO
|
||
|