Basf_TCC7/HJGL/DataBase/版本日志/BSFDB_2019.08.26.sql

461 lines
51 KiB
MySQL
Raw Normal View History

2024-05-08 10:02:08 +08:00
<EFBFBD><EFBFBD>ALTER TABLE dbo.Welder_WelderQualify ADD IsPrintShow bit NULL
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'SbpS/f&T>f:y' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Welder_WelderQualify', @level2type=N'COLUMN',@level2name=N'IsPrintShow'
GO
ALTER VIEW [dbo].[View_Welder_WelderQualify]
AS
/*******
q<EFBFBD>]D<EFBFBD>(<EFBFBD>***********/
SELECT WelderQualify.WelderQualifyId,
WelderQualify.WelderId,
WelderQualify.QualificationItem,
WelderQualify.LimitDate,
WelderQualify.CheckDate,
WelderQualify.WeldingMethodId,
WelderQualify.MaterialId,
WelderQualify.WeldingLocationId,
WelderQualify.ThicknessMin,
WelderQualify.ThicknessMax,
WelderQualify.SizesMin,
WelderQualify.SizesMax,
(CONVERT(NVARCHAR(10),WelderQualify.ThicknessMin)+'-'+(CONVERT(NVARCHAR(10),WelderQualify.ThicknessMax))) AS Thickness,
(CONVERT(NVARCHAR(10),WelderQualify.SizesMin)+'-'+(CONVERT(NVARCHAR(10),WelderQualify.SizesMax))) AS Size,
WelderQualify.Remark,
Welder.WelderCode,
Welder.WelderName,
WeldingMethod.WeldingMethodCode,
WeldingLocation.WeldingLocationCode,
WelderQualify.IsPrintShow,
--Material.SteelType,
(CASE WelderQualify.MaterialId WHEN '1' THEN '<00>x<EFBFBD><78>'
WHEN '2' THEN ' N<08><><EFBFBD>'
WHEN '3' THEN '<><EC94BC><EFBFBD>'
WHEN '4' THEN 'NO<54><D191>'
WHEN '5' THEN 'M<><54><D191>'
WHEN '6' THEN '<00><><54><D191>'
WHEN '7' THEN 'vQ<76>N'
ELSE '' END) AS SteelTypeName
FROM Welder_WelderQualify AS WelderQualify
LEFT JOIN Welder_Welder AS Welder ON Welder.WelderId=WelderQualify.WelderId
LEFT JOIN Base_WeldingMethod AS WeldingMethod ON WeldingMethod.WeldingMethodId=WelderQualify.WeldingMethodId
--LEFT JOIN Base_Material AS Material ON Material.MaterialId = WelderQualify.MaterialId
LEFT JOIN Base_WeldingLocation AS WeldingLocation ON WeldingLocation.WeldingLocationId=WelderQualify.WeldingLocationId
GO
ALTER PROC [dbo].[WeldingQualityWeekMonthReport]
@startDate datetime = NULL,
@endDate datetime = NULL,
@projectType NVARCHAR(50)=NULL,
@NdtType NVARCHAR(50)=NULL
AS
/*
q<EFBFBD>c(<EFBFBD>ϑhTg<EFBFBD>b*/
SELECT
Project.ProjectCode as ProjectNo --y<EFBFBD><EFBFBD>v<EFBFBD>S
,ISNULL(Totalwelds.Totalwelds,0) AS Totalwelds --
q<EFBFBD>S;`pe
,ISNULL(DBTotal.DBTotal,0) as DBTotal --<EFBFBD>[<EFBFBD>S;`pe
,ISNULL(completedwelds.completedwelds,0) AS completedwelds --<EFBFBD>[b
q<EFBFBD>S
,CAST(CASE ISNULL(Totalwelds.Totalwelds,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(completedwelds.completedwelds,0) / (1.0 *Totalwelds.Totalwelds) END AS DECIMAL(19,3))
AS completedrates --<EFBFBD>[b<EFBFBD>s
,ISNULL(CumulativeDB.CumulativeDB,0) as CumulativeDB --<EFBFBD>[b<EFBFBD>[<EFBFBD>Spe
,CAST((ISNULL(DBTotal.DBTotal,0)-ISNULL(CumulativeDB.CumulativeDB,0)) AS DECIMAL(19,3))
AS RemainingDB --iRYO<EFBFBD>[<EFBFBD>Spe
,ISNULL(EntrustTestwelds.EntrustTestwelds,0) AS EntrustTestwelds --<EFBFBD>YXb<EFBFBD>hKm
q<EFBFBD>S
,ISNULL(Testwelds.Testwelds,0) AS Testwelds --<EFBFBD>]<EFBFBD>hKm
q<EFBFBD>S
,CAST(CASE ISNULL(EntrustTestwelds.EntrustTestwelds,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(Testwelds.Testwelds,0) / (1.0 *EntrustTestwelds.EntrustTestwelds) END AS DECIMAL(19,3))
AS Testrates -- <EFBFBD>hKm<EFBFBD>[b<EFBFBD>s
,ISNULL(Rejectwelds.Rejectwelds,0) as Rejectwelds -- NT<h
q<EFBFBD>S
,CAST(CASE ISNULL(Testwelds.Testwelds,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(Rejectwelds.Rejectwelds,0) / (1.0 *Testwelds.Testwelds) END AS DECIMAL(19,3))
AS Rejectrates -- NT<h<EFBFBD>s
,ISNULL(Currentcompletedwelds.Currentcompletedwelds,0) as Currentcompletedwelds --S_g<EFBFBD>[b
q<EFBFBD>S
,ISNULL(CurrentTestwelds.CurrentTestwelds,0) as CurrentTestwelds --S_g<EFBFBD>hKm
q<EFBFBD>S
,ISNULL(CurrentRejectwelds.CurrentRejectwelds,0) as CurrentRejectwelds --S_g NT<h
q<EFBFBD>S
,CAST(CASE ISNULL(CurrentTestwelds.CurrentTestwelds,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(CurrentRejectwelds.CurrentRejectwelds,0) / (1.0 *CurrentTestwelds.CurrentTestwelds) END AS DECIMAL(19,3))
AS CurrentRejectrates -- S_g NT<h<EFBFBD>s
FROM Base_Project AS Project
--
q<EFBFBD>S;`pe
LEFT JOIN (SELECT count(*) as Totalwelds,WeldJoint.ProjectId
FROM Pipeline_WeldJoint AS WeldJoint
GROUP BY WeldJoint.ProjectId) AS Totalwelds ON Totalwelds.ProjectId = Project.ProjectId
----<EFBFBD>[<EFBFBD>S;`pe
LEFT JOIN (SELECT SUM(Size) AS DBTotal,WeldJoint.ProjectId
FROM Pipeline_WeldJoint AS WeldJoint
GROUP BY WeldJoint.ProjectId) AS DBTotal ON DBTotal.ProjectId =Project.ProjectId
--<EFBFBD>[b
q<EFBFBD>S
LEFT JOIN (SELECT count(*) AS completedwelds,WeldJoint.ProjectId
FROM Pipeline_WeldJoint AS WeldJoint
where WeldJoint.WeldingDailyId is not null
GROUP BY WeldJoint.ProjectId) AS completedwelds ON completedwelds.ProjectId =Project.ProjectId
--<EFBFBD>[b<EFBFBD>[<EFBFBD>Spe
LEFT JOIN (SELECT SUM(Size) AS CumulativeDB,WeldJoint.ProjectId
FROM Pipeline_WeldJoint AS WeldJoint
where WeldJoint.WeldingDailyId is not null
GROUP BY WeldJoint.ProjectId) AS CumulativeDB ON CumulativeDB.ProjectId =Project.ProjectId
--<EFBFBD>YXb<EFBFBD>hKm
q<EFBFBD>S
LEFT JOIN (SELECT Count(*) AS EntrustTestwelds,Trust.ProjectId
FROM Batch_BatchTrustItem AS TrustItem
left join Batch_BatchTrust as Trust on TrustItem.TrustBatchId=Trust.TrustBatchId
WHERE Trust.DetectionTypeId=@NdtType OR @NdtType IS NULL
GROUP BY Trust.ProjectId) AS EntrustTestwelds ON EntrustTestwelds.ProjectId =Project.ProjectId
--<EFBFBD>]<EFBFBD>hKm
q<EFBFBD>S
LEFT JOIN (SELECT Count(*) AS Testwelds,NDE.ProjectId
FROM Batch_NDEItem AS NDEItem
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
WHERE NDEItem.DetectionTypeId=@NdtType OR @NdtType IS NULL
GROUP BY NDE.ProjectId) AS Testwelds ON Testwelds.ProjectId =Project.ProjectId
-- NT<h
q<EFBFBD>S
LEFT JOIN (SELECT Count(*) AS Rejectwelds,NDE.ProjectId
FROM Batch_NDEItem AS NDEItem
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
WHERE (NDEItem.DetectionTypeId=@NdtType OR @NdtType IS NULL) AND CheckResult='2'
GROUP BY NDE.ProjectId) AS Rejectwelds ON Rejectwelds.ProjectId =Project.ProjectId
--S_g<EFBFBD>[b
q<EFBFBD>S
LEFT JOIN (SELECT count(*) AS Currentcompletedwelds,WeldJoint.ProjectId
FROM Pipeline_WeldJoint AS WeldJoint
left join dbo.Pipeline_WeldingDaily as WeldingDaily on WeldingDaily.WeldingDailyId=WeldJoint.WeldingDailyId
where WeldJoint.WeldingDailyId is not null
and (@startDate is null or WeldingDate>=@startDate) and (@endDate is null or WeldingDate<=@endDate)
GROUP BY WeldJoint.ProjectId) AS Currentcompletedwelds ON Currentcompletedwelds.ProjectId =Project.ProjectId
--S_g<EFBFBD>hKm
q<EFBFBD>S
LEFT JOIN (SELECT Count(*) AS CurrentTestwelds,NDE.ProjectId
FROM Batch_NDEItem AS NDEItem
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
where (@startDate is null or NDEDate>=@startDate) and (@endDate is null or NDEDate<=@endDate)
AND (NDEItem.DetectionTypeId=@NdtType OR @NdtType IS NULL)
GROUP BY NDE.ProjectId) AS CurrentTestwelds ON CurrentTestwelds.ProjectId =Project.ProjectId
--S_g NT<h
q<EFBFBD>S
LEFT JOIN (SELECT Count(*) AS CurrentRejectwelds,NDE.ProjectId
FROM Batch_NDEItem AS NDEItem
left join Batch_NDE as NDE on NDEItem.NDEID=NDE.NDEID
where CheckResult='2' AND (NDEItem.DetectionTypeId=@NdtType OR @NdtType IS NULL)
and (@startDate is null or NDEDate>=@startDate) and (@endDate is null or NDEDate<=@endDate)
GROUP BY NDE.ProjectId) AS CurrentRejectwelds ON CurrentRejectwelds.ProjectId =Project.ProjectId
WHERE Project.ProjectTypeId=@projectType OR @projectType IS NULL
ORDER BY Project.ProjectCode
GO
ALTER PROC [dbo].[sp_rpt_MediaComprehensive]
@unitId NVARCHAR(50) = NULL,
@workAreaId NVARCHAR(50) = NULL,
@mediumId NVARCHAR(50) = NULL,
@projectId NVARCHAR(50) = NULL
AS
/*<EFBFBD>N(<EFBFBD><EFBFBD>~TR<EFBFBD>g*/
SELECT ROW_NUMBER() OVER(ORDER BY Unit.UnitCode,WorkArea.WorkAreaCode,Medium.MediumCode) AS Number,
V.ProjectId,V.UnitId,V.WorkAreaId,V.MediumId
,Unit.UnitCode --USMO<EFBFBD>Nx
,Unit.UnitName --USMO T<EFBFBD>y
,WorkArea.WorkAreaCode --<EFBFBD>]:S<EFBFBD>N<EFBFBD>S
,Medium.MediumCode --<EFBFBD>N(<EFBFBD><EFBFBD>N<EFBFBD>S
,Medium.MediumName --<EFBFBD>N(<EFBFBD> T<EFBFBD>y
,ISNULL(total_jot.total_jot,0) AS total_jot --;`
q<EFBFBD>Spe
,ISNULL(total_sjot.total_sjot,0) AS total_sjot --<EFBFBD><EFBFBD>6R
q<EFBFBD>Spe
,ISNULL(total_fjot.total_fjot,0) AS total_fjot --<EFBFBD>[ň
q<EFBFBD>Spe
,ISNULL(finished_jot.finished_jot,0) AS finished_jot --<EFBFBD>[b
q<EFBFBD>Spe
,ISNULL(finished_sjot.finished_sjot,0) AS finished_sjot --<EFBFBD><EFBFBD>6R<EFBFBD>[b
q<EFBFBD>Spe
,ISNULL(finished_fjot.finished_fjot,0) AS finished_fjot --<EFBFBD>[ň<EFBFBD>[b
q<EFBFBD>Spe
,ISNULL(cut_jot.cut_jot,0) AS cut_jot --Rd<EFBFBD>
q<EFBFBD>Spe
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(total_jot.total_jot,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(finished_jot.finished_jot,0) /(1.0 * total_jot.total_jot) END AS DECIMAL(19,3)))*100))+'%'
AS finisedrate -- <EFBFBD>[b<EFBFBD>k<EFBFBD>O
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(total_jot.total_jot,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(finished_sjot.finished_sjot,0) /(1.0 * total_jot.total_jot) END AS DECIMAL(19,3)))*100))+'%'
AS finisedrate_s -- <EFBFBD><EFBFBD>6R<EFBFBD>[b<EFBFBD>k<EFBFBD>O
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(total_jot.total_jot,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(finished_fjot.finished_fjot,0) /(1.0 * total_jot.total_jot) END AS DECIMAL(19,3)))*100))+'%'
AS finisedrate_f -- <EFBFBD>[ň<EFBFBD>[b<EFBFBD>k<EFBFBD>O
,CAST(ISNULL(total_jot.total_din,0) AS DECIMAL(19,2)) AS total_din --;`<EFBFBD><EFBFBD><EFBFBD>V
,CAST(ISNULL(total_sjot.total_sdin,0) AS DECIMAL(19,2)) AS total_sdin --<EFBFBD><EFBFBD>6R<EFBFBD><EFBFBD><EFBFBD>V
,CAST(ISNULL(total_fjot.total_fdin,0) AS DECIMAL(19,2)) AS total_fdin --<EFBFBD>[ň<EFBFBD><EFBFBD><EFBFBD>V
,CAST(ISNULL(finished_jot.finished_din,0) AS DECIMAL(19,2)) AS finished_din --<EFBFBD>[b;`<EFBFBD><EFBFBD><EFBFBD>V
,CAST(ISNULL(finished_sjot.finished_sdin,0) AS DECIMAL(19,2)) AS finished_sdin --<EFBFBD><EFBFBD>6R<EFBFBD>[b;`<EFBFBD><EFBFBD><EFBFBD>V
,CAST(ISNULL(finished_fjot.finished_fdin,0) AS DECIMAL(19,2)) AS finished_fdin --<EFBFBD>[ň<EFBFBD>[b;`<EFBFBD><EFBFBD><EFBFBD>V
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(total_jot.total_din,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(finished_jot.finished_din,0) /(1.0 * total_jot.total_din) END AS DECIMAL(19,3)))*100))+'%'
AS finishedrate_din --<EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>[b<EFBFBD>k<EFBFBD>O
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(total_jot.total_din,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(finished_sjot.finished_sdin,0) /(1.0 * total_jot.total_din) END AS DECIMAL(19,3)))*100))+'%'
AS finishedrate_sdin --<EFBFBD><EFBFBD><EFBFBD>V<EFBFBD><EFBFBD>6R<EFBFBD>[b<EFBFBD>k<EFBFBD>O
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(total_jot.total_din,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(finished_fjot.finished_fdin,0) /(1.0 * total_jot.total_din) END AS DECIMAL(19,3)))*100))+'%'
AS finishedrate_fdin --<EFBFBD><EFBFBD><EFBFBD>V<EFBFBD>[ň<EFBFBD>[b<EFBFBD>k<EFBFBD>O
,ISNULL(total_film.total_film,0) AS total_film --;`<EFBFBD>bGrpe
,ISNULL(total_film.pass_film,0) AS pass_film --T<hGrpe
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(total_film.total_film,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(total_film.pass_film,0) /(1.0 * total_film.total_film) END AS DECIMAL(19,3)))*100))+'%'
AS passfilm_rate --T<h<EFBFBD>s
,ISNULL(ext_totalfilm.ext_totalfilm,0) AS ext_totalfilm --ib<EFBFBD>;`pe
,ISNULL(ext_totalfilm.ext_passfilm,0) AS ext_passfilm --ib<EFBFBD>T<h;`pe
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ext_totalfilm.ext_totalfilm,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(ext_totalfilm.ext_passfilm,0) /(1.0 * ext_totalfilm.ext_totalfilm) END AS DECIMAL(19,3)))*100))+'%'
AS ext_passrate --ib<EFBFBD>T<h<EFBFBD>s
,ISNULL(point_totalfilm.point_totalfilm,0) AS point_totalfilm --<EFBFBD>p<EFBFBD>S;`pe
,ISNULL(point_totalfilm.point_passfilm,0) AS point_passfilm --<EFBFBD>p<EFBFBD>ST<h;`pe
,CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(point_totalfilm.point_totalfilm,0) WHEN 0 THEN 0
ELSE 1.0*ISNULL(point_totalfilm.point_passfilm,0) /(1.0 * point_totalfilm.point_totalfilm) END AS DECIMAL(19,3)))*100))+'%'
AS point_passrate --<EFBFBD>p<EFBFBD>ST<h<EFBFBD>s
,ISNULL(cut_totalfilm.cut_totalfilm,0) AS cut_totalfilm --Rd<EFBFBD>;`pe
,ISNULL(cut_totalfilm.cut_passfilm,0) AS cut_passfilm --Rd<EFBFBD>T<h;`pe
,ISNULL(trust_total_jot.trust_total_jot,0) AS trust_total_jot ---<EFBFBD>YXb;`pe
,ISNULL(trust_ext_total_jot.trust_ext_total_jot,0) AS trust_ext_total_jot ---<EFBFBD>YXbib<EFBFBD>;`pe
,(ISNULL(trust_total_jot.trust_total_jot,0) - ISNULL(trust_ext_total_jot.trust_ext_total_jot,0))
AS trust_point_total_jot ---<EFBFBD>YXb<EFBFBD>p<EFBFBD>S;`pe
,(ISNULL(ext_totalfilm.check_point_total_jot1,0) + ISNULL(point_totalfilm.check_point_total_jot2,0))
AS check_point_total_jot --<EFBFBD>]<EFBFBD>c<EFBFBD>Spe
,ISNULL(repair_jot.repair_jot,0) AS repair_jot ---ԏ<EFBFBD>O<EFBFBD>Spe
FROM
(SELECT pipeline.ProjectId
,pipeline.UnitId
,pipeline.WorkAreaId
,pipeline.MediumId
FROM Pipeline_Pipeline AS pipeline
WHERE (pipeline.ProjectId = @projectId OR @projectId IS NULL)
AND (pipeline.UnitId = @unitId OR @unitId IS NULL)
AND (pipeline.WorkAreaId = @workAreaId OR @workAreaId IS NULL)
AND (pipeline.MediumId = @mediumId OR @mediumId IS NULL)
GROUP BY pipeline.ProjectId ,pipeline.UnitId,pipeline.WorkAreaId,pipeline.MediumId) AS V
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS total_jot --;`
q<EFBFBD>Spe
,SUM(size) AS total_din --;`<EFBFBD><EFBFBD><EFBFBD>V
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Pipeline_WeldJoint AS jot
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId ) AS total_jot
ON total_jot.ProjectId = V.ProjectId AND total_jot.UnitId = V.UnitId AND total_jot.WorkAreaId = V.WorkAreaId AND total_jot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS total_sjot --<EFBFBD><EFBFBD>6R
q<EFBFBD>Spe
,SUM(size) AS total_sdin --<EFBFBD><EFBFBD>6R<EFBFBD><EFBFBD><EFBFBD>V
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Pipeline_WeldJoint AS jot
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
where JointArea='S'
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId ) AS total_sjot
ON total_sjot.ProjectId = V.ProjectId AND total_sjot.UnitId = V.UnitId AND total_sjot.WorkAreaId = V.WorkAreaId AND total_sjot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS total_fjot --<EFBFBD>[ň
q<EFBFBD>Spe
,SUM(size) AS total_fdin --<EFBFBD>[ň<EFBFBD><EFBFBD><EFBFBD>V
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Pipeline_WeldJoint AS jot
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
where JointArea='F'
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId ) AS total_fjot
ON total_fjot.ProjectId = V.ProjectId AND total_fjot.UnitId = V.UnitId AND total_fjot.WorkAreaId = V.WorkAreaId AND total_fjot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS finished_jot --<EFBFBD>[b
q<EFBFBD>Spe
,SUM(DoneDin) AS finished_din --<EFBFBD>[b;`<EFBFBD><EFBFBD><EFBFBD>V
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Pipeline_WeldJoint AS jot
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
where WeldingDailyId IS NOT NULL
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId ) AS finished_jot
ON finished_jot.ProjectId = V.ProjectId AND finished_jot.UnitId = V.UnitId AND finished_jot.WorkAreaId = V.WorkAreaId AND finished_jot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS finished_sjot --<EFBFBD><EFBFBD>6R<EFBFBD>[b
q<EFBFBD>Spe
, SUM(donedin) AS finished_sdin --<EFBFBD><EFBFBD>6R<EFBFBD>[b;`<EFBFBD><EFBFBD><EFBFBD>V
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Pipeline_WeldJoint AS jot
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
where WeldingDailyId IS NOT NULL and JointArea='S'
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId ) AS finished_sjot
ON finished_sjot.ProjectId = V.ProjectId AND finished_sjot.UnitId = V.UnitId AND finished_sjot.WorkAreaId = V.WorkAreaId AND finished_sjot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS finished_fjot --<EFBFBD>[ň<EFBFBD>[b
q<EFBFBD>Spe
,SUM(donedin) AS finished_fdin --<EFBFBD>[ň<EFBFBD>[b;`<EFBFBD><EFBFBD><EFBFBD>V
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Pipeline_WeldJoint AS jot
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
where WeldingDailyId IS NOT NULL and JointArea='F'
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId ) AS finished_fjot
ON finished_fjot.ProjectId = V.ProjectId AND finished_fjot.UnitId = V.UnitId AND finished_fjot.WorkAreaId = V.WorkAreaId AND finished_fjot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS cut_jot --Rd<EFBFBD><EFBFBD>Spe
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Batch_PointBatchItem
LEFT JOIN Pipeline_WeldJoint jot ON Batch_PointBatchItem.WeldJointId =jot.WeldJointId
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
WHERE Batch_PointBatchItem.CutDate IS NOT NULL
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId) AS cut_jot
ON cut_jot.ProjectId = V.ProjectId AND cut_jot.UnitId = V.UnitId AND cut_jot.WorkAreaId = V.WorkAreaId AND cut_jot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, SUM(TotalFilm) AS total_film --;`<EFBFBD>bGrpe
,SUM(PassFilm) AS pass_film --T<hGrpe
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Pipeline_WeldJoint AS jot
LEFT JOIN Batch_PointBatchItem ON Batch_PointBatchItem.WeldJointId = jot.WeldJointId
LEFT JOIN Batch_BatchTrustItem ON Batch_BatchTrustItem.PointBatchItemId = Batch_PointBatchItem.PointBatchItemId
LEFT JOIN Batch_NDEItem ON Batch_NDEItem.TrustBatchItemId = Batch_BatchTrustItem.TrustBatchItemId
LEFT JOIN Batch_NDE ON Batch_NDE.NDEID = Batch_NDEItem.NDEID
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
WHERE Batch_NDEItem.NDEItemID IS NOT NULL
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId ) AS total_film
ON total_film.ProjectId = V.ProjectId AND total_film.UnitId = V.UnitId AND total_film.WorkAreaId = V.WorkAreaId AND total_film.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, SUM(TotalFilm) AS ext_totalfilm
,SUM(PassFilm) AS ext_passfilm --ib<EFBFBD>T<hGrpe
,COUNT(*) AS check_point_total_jot1 --;`<EFBFBD>]<EFBFBD>cpe1
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Batch_NDEItem
LEFT JOIN Batch_BatchTrustItem ON Batch_NDEItem.TrustBatchItemId =Batch_BatchTrustItem.TrustBatchItemId
LEFT JOIN Batch_PointBatchItem ON Batch_PointBatchItem.PointBatchItemId =Batch_BatchTrustItem.PointBatchItemId
LEFT JOIN Pipeline_WeldJoint jot ON jot.WeldJointId=Batch_PointBatchItem.WeldJointId
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
WHERE Batch_PointBatchItem.PointState='2' AND Batch_PointBatchItem.PointDate IS NOT NULL
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId) AS ext_totalfilm
ON ext_totalfilm.ProjectId = V.ProjectId AND ext_totalfilm.UnitId = V.UnitId AND ext_totalfilm.WorkAreaId = V.WorkAreaId AND ext_totalfilm.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, SUM(TotalFilm) AS point_totalfilm --<EFBFBD>p<EFBFBD>S;`pe
,SUM(PassFilm) AS point_passfilm --<EFBFBD>p<EFBFBD>ST<h;`pe
,COUNT(*) AS check_point_total_jot2 --<EFBFBD>]<EFBFBD>c<EFBFBD>Spe
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Batch_NDEItem
LEFT JOIN Batch_BatchTrustItem ON Batch_NDEItem.TrustBatchItemId =Batch_BatchTrustItem.TrustBatchItemId
LEFT JOIN Batch_PointBatchItem ON Batch_PointBatchItem.PointBatchItemId =Batch_BatchTrustItem.PointBatchItemId
LEFT JOIN Pipeline_WeldJoint jot ON jot.WeldJointId=Batch_PointBatchItem.WeldJointId
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
WHERE Batch_PointBatchItem.PointState='1' AND Batch_PointBatchItem.PointDate IS NOT NULL
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId) AS point_totalfilm
ON point_totalfilm.ProjectId = V.ProjectId AND point_totalfilm.UnitId = V.UnitId AND point_totalfilm.WorkAreaId = V.WorkAreaId AND point_totalfilm.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, SUM(TotalFilm) AS cut_totalfilm --Rd<EFBFBD>;`pe
,SUM(PassFilm) AS cut_passfilm --Rd<EFBFBD>T<h;`pe
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM (SELECT WeldJointId FROM Batch_PointBatchItem
WHERE Batch_PointBatchItem.CutDate IS NOT NULL) AS PointBatchItem
LEFT JOIN Pipeline_WeldJoint jot ON jot.WeldJointId=PointBatchItem.WeldJointId
LEFT JOIN Batch_NDEItem ON PointBatchItem.WeldJointId = jot.WeldJointId
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId) AS cut_totalfilm
ON cut_totalfilm.ProjectId = V.ProjectId AND cut_totalfilm.UnitId = V.WorkAreaId AND cut_totalfilm.WorkAreaId = V.WorkAreaId AND cut_totalfilm.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS trust_total_jot ---<EFBFBD>YXb<EFBFBD>Spe
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM (SELECT Batch_PointBatchItem.WeldJointId FROM Batch_BatchTrustItem
LEFT JOIN Batch_PointBatchItem ON Batch_BatchTrustItem.PointBatchItemId =Batch_PointBatchItem.PointBatchItemId) AS TrustBatchItem
LEFT JOIN Pipeline_WeldJoint jot ON jot.WeldJointId= TrustBatchItem.WeldJointId
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId) AS trust_total_jot
ON trust_total_jot.ProjectId = V.ProjectId AND trust_total_jot.UnitId = V.UnitId AND trust_total_jot.WorkAreaId = V.WorkAreaId AND trust_total_jot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS trust_ext_total_jot ---<EFBFBD>YXbib<EFBFBD>;`pe
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Batch_BatchTrustItem AS TrustBatchItem
LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.PointBatchItemId = TrustBatchItem.PointBatchItemId
LEFT JOIN Pipeline_WeldJoint AS jot ON PointBatchItem.WeldJointId = jot.WeldJointId
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
WHERE PointBatchItem.PointState ='2' AND PointBatchItem.PointDate IS NOT NULL
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId) AS trust_ext_total_jot
ON trust_ext_total_jot.ProjectId = V.ProjectId AND trust_ext_total_jot.UnitId = V.UnitId AND trust_ext_total_jot.WorkAreaId = V.WorkAreaId AND trust_ext_total_jot.MediumId = V.MediumId
LEFT JOIN (SELECT jot.ProjectId, COUNT(*) AS repair_jot --ԏ<EFBFBD>O<EFBFBD>Spe
,iso.UnitId,iso.WorkAreaId,iso.MediumId
FROM Batch_BatchTrustItem AS TrustBatchItem
LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.PointBatchItemId = TrustBatchItem.PointBatchItemId
LEFT JOIN Pipeline_WeldJoint AS jot ON PointBatchItem.WeldJointId = jot.WeldJointId
LEFT JOIN Pipeline_Pipeline AS iso ON jot.PipelineId=iso.PipelineId
WHERE PointBatchItem.RepairDate IS NOT NULL
GROUP BY jot.ProjectId, iso.UnitId,iso.WorkAreaId,iso.MediumId) AS repair_jot
ON repair_jot.ProjectId = V.ProjectId AND repair_jot.UnitId = V.UnitId AND repair_jot.WorkAreaId = V.WorkAreaId AND repair_jot.MediumId = V.MediumId
LEFT JOIN Base_Medium AS Medium ON Medium.MediumId = v.MediumId
LEFT JOIN Project_WorkArea AS WorkArea ON WorkArea.WorkAreaId = v.WorkAreaId
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = v.UnitId
GO
ALTER VIEW [dbo].[View_GenerateTrust]
AS
-------ck8^<EFBFBD>p<EFBFBD>Sub<EFBFBD>YXb-----------
SELECT point.ProjectId,point.InstallationId,pipe.WorkAreaId ,point.UnitId,point.DetectionTypeId,
jot.PipelineId,'1' AS PointState,CAST(0 AS BIT) AS IsCheckRepair, NULL AS TrustBatchCode
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_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
WHERE pointItem.PointState ='1' AND point.EndDate IS NOT NULL AND pointItem.CutDate IS NULL
AND (pointItem.IsBuildTrust IS NULL OR pointItem.IsBuildTrust=0)
AND (point.IsTrust=0 OR trustItem.TrustBatchItemId IS NULL)
AND pointItem.IsCheckRepair=0
GROUP BY point.ProjectId,point.InstallationId,pipe.WorkAreaId,point.UnitId,point.DetectionTypeId,
jot.PipelineId
UNION ALL
-------ib<EFBFBD>ub<EFBFBD>YXb-----------
SELECT point.ProjectId,point.InstallationId,pipe.WorkAreaId ,point.UnitId,point.DetectionTypeId,
jot.PipelineId,'2' AS PointState,CAST(0 AS BIT) AS IsCheckRepair, trust.TrustBatchCode
FROM dbo.Batch_PointBatchItem pointItem
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId=pointItem.ToPointBatchItemId
LEFT JOIN dbo.Batch_BatchTrust trust ON trust.TrustBatchId = trustItem.TrustBatchId
WHERE pointItem.PointState ='2' AND point.EndDate IS NOT NULL
AND pointItem.CutDate IS NULL AND (pointItem.IsBuildTrust IS NULL OR pointItem.IsBuildTrust=0)
AND (point.IsTrust=0 OR trustItem.TrustBatchItemId IS NULL)
GROUP BY point.ProjectId,point.InstallationId,pipe.WorkAreaId,point.UnitId,point.DetectionTypeId,
jot.PipelineId,trust.TrustBatchCode
UNION ALL
-------ԏ<EFBFBD>Oub<EFBFBD>YXb-----------
SELECT point.ProjectId,point.InstallationId,pipe.WorkAreaId ,point.UnitId,point.DetectionTypeId,
jot.PipelineId,'1' AS PointState,CAST(1 AS BIT) AS IsCheckRepair, trust.TrustBatchCode
FROM dbo.Batch_PointBatchItem pointItem
LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
LEFT JOIN dbo.Pipeline_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId=pointItem.PointBatchItemId
LEFT JOIN dbo.Batch_BatchTrust trust ON trust.TrustBatchId = trustItem.TrustBatchId
WHERE pointItem.PointState ='1' AND pointItem.IsCheckRepair=1 AND point.EndDate IS NOT NULL
AND pointItem.CutDate IS NULL AND (pointItem.IsBuildTrust IS NULL OR pointItem.IsBuildTrust=0) AND point.IsTrust=0
GROUP BY point.ProjectId,point.InstallationId,pipe.WorkAreaId,point.UnitId,point.DetectionTypeId,
jot.PipelineId,trust.TrustBatchCode
GO