20220922 1、焊工业绩存储过程修改。2、人员库是否在岗空时报错。3、合同流程审批页选择框人员加载问题。4、小程序订阅推送检查。

This commit is contained in:
2022-09-22 14:28:47 +08:00
parent 8474675b90
commit 87582b0fa5
11 changed files with 131 additions and 164 deletions
@@ -0,0 +1,116 @@
--焊工业绩
ALTER PROC [dbo].[sp_rpt_WelderPerformance]
@unitcode NVARCHAR(50) = NULL,
@UnitWorkId NVARCHAR(50) = NULL,
@steel NVARCHAR(50) = NULL,
@wloName NVARCHAR(50) = NULL,
@date1 DATETIME = NULL,
@date2 DATETIME = NULL,
@projectId NVARCHAR(50) = NULL
AS
/*焊工业绩分析*/
SELECT
welder.ProjectId,
welder.WelderCode,-- 焊工代码
welder.PersonName,--焊工名称
(CASE WHEN Persons.Sex ='2' THEN '' ELSE '' END) AS Sex, --性别
-------------本期start
CAST(ISNULL(nowtotal_din.nowtotal_din,0) AS DECIMAL(19,2)) AS nowtotal_din, --本期总达因值
ISNULL(nowtotal_din.nowtotal_jot,0) AS nowtotal_jot, --本期总焊口
ISNULL(nowtotal_Rt.Rt_JotNum,0) AS rt_total_Jot, -- 本期已RT焊口数
ISNULL(nowtotal_repairjot.nowtotal_repairjot,0) AS nowtotal_repairjot, -- 本期RT返修焊口数
CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(nowtotal_Rt.Rt_JotNum,0) WHEN 0 THEN 0
ELSE 100.0 * ISNULL(nowtotal_repairjot.nowtotal_repairjot,0)/(1.0 * nowtotal_Rt.Rt_JotNum) END) AS DECIMAL(8,1))))+'%' AS nowrepairrate, -- 本期RT返修率(焊口)
ISNULL(nowtotalfilm.nowtotalfilm,0) AS nowtotalfilm, --本期RT拍片总数
ISNULL(nowtotalfilm.nopassfilm,0) AS nopassfilm, --本期RT不合格拍片数
CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(nowtotalfilm.nowtotalfilm,0) WHEN 0 THEN 0
ELSE 100.0 * ISNULL(nowtotalfilm.nopassfilm,0)/(1.0 * nowtotalfilm.nowtotalfilm) END) AS DECIMAL(8,1))))+'%'
AS nopassfilmrate , ---本期RT返修率(片数)
teamGroup.TeamGroupName AS education, --所在班组
welder.States
FROM SitePerson_Person AS welder
LEFT JOIN Person_Persons AS Persons ON welder.PersonId =Persons.PersonId
left join ProjectData_TeamGroup as teamGroup on teamGroup.TeamGroupId=welder.TeamGroupId
--本期总达因值 --本期总焊口
LEFT JOIN (SELECT SUM(jot.Size) AS nowtotal_din
,COUNT(*) AS nowtotal_jot
,jot.CoverWelderId
FROM dbo.HJGL_WeldJoint jot
LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
LEFT JOIN WBS_UnitWork UnitWork ON UnitWork.UnitWorkId = pipe.UnitWorkId
WHERE jot.WeldingDailyId IS NOT NULL
AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL)
AND (pipe.UnitWorkId =@UnitWorkId OR @UnitWorkId IS NULL)
AND (jot.Material1Id=@steel OR @steel IS NULL)
GROUP BY jot.CoverWelderId) AS nowtotal_din ON nowtotal_din.CoverWelderId = welder.PersonId
--本期已Rt焊口数
LEFT JOIN (SELECT COUNT(pointItem.PointBatchItemId) AS Rt_JotNum --RT焊口数
,jot.CoverWelderId
FROM dbo.HJGL_Batch_PointBatchItem pointItem
LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
LEFT JOIN Base_DetectionType ndeType ON ndeType.DetectionTypeId = point.DetectionTypeId
LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
WHERE pointItem.PointDate IS NOT NULL
AND ndeType.DetectionTypeCode='RT' --表示RT类型
AND (daily.WeldingDate >= @date1 OR @date1 IS NULL)
AND (daily.WeldingDate <= @date2 OR @date2 IS NULL)
AND (pipe.UnitWorkId =@UnitWorkId OR @UnitWorkId IS NULL)
AND (jot.Material1Id=@steel OR @steel IS NULL)
GROUP BY jot.CoverWelderId) AS nowtotal_Rt ON nowtotal_Rt.CoverWelderId = welder.PersonId
-- 本期RT返口数
LEFT JOIN (SELECT COUNT(pointItem.PointBatchItemId) AS nowtotal_repairjot --返修口数
,jot.CoverWelderId
FROM dbo.HJGL_Batch_PointBatchItem pointItem
LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
LEFT JOIN Base_DetectionType ndeType ON ndeType.DetectionTypeId = point.DetectionTypeId
LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId = pointItem.PointBatchItemId
LEFT JOIN dbo.HJGL_Batch_NDEItem ndeItem ON ndeItem.TrustBatchItemId = trustItem.TrustBatchItemId
WHERE pointItem.PointDate IS NOT NULL
AND ndeType.DetectionTypeCode='RT' --表示RT类型
AND ndeItem.CheckResult='2'
AND (daily.WeldingDate >= @date1 OR @date1 IS NULL)
AND (daily.WeldingDate <= @date2 OR @date2 IS NULL)
AND (pipe.UnitWorkId =@UnitWorkId OR @UnitWorkId IS NULL)
AND (jot.Material1Id=@steel OR @steel IS NULL)
GROUP BY jot.CoverWelderId) AS nowtotal_repairjot ON nowtotal_repairjot.CoverWelderId = welder.PersonId
--本期RT总片数
LEFT JOIN (SELECT SUM(ndeItem.TotalFilm) AS nowtotalfilm
,SUM(ndeItem.PassFilm) AS nowpassfilm
,SUM(ndeItem.TotalFilm-ndeItem.PassFilm) AS nopassfilm,
jot.CoverWelderId
FROM dbo.HJGL_Batch_NDEItem ndeItem
LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId
LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId
LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId
LEFT JOIN Base_DetectionType ndeType ON ndeType.DetectionTypeId = point.DetectionTypeId
LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = pointItem.WeldJointId
LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId
WHERE ndeType.DetectionTypeCode='RT'
AND ndeItem.CheckResult IS NOT NULL --表示有检测结果
AND jot.WeldingDailyId IS NOT NULL
AND (point.UnitWorkId=@UnitWorkId OR @UnitWorkId IS NULL)
AND (jot.Material1Id=@steel OR @steel IS NULL)
AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL)
GROUP BY jot.CoverWelderId) AS nowtotalfilm ON nowtotalfilm.CoverWelderId = welder.PersonId
WHERE (welder.WelderCode IS NOT NULL AND welder.WelderCode!='') AND
(welder.ProjectId = @projectId OR @projectId IS NULL)
AND (welder.UnitId=@unitcode OR @unitcode IS NULL)
AND (welder.WorkPostId='19B8F2A9-28D3-4F20-867A-1B2237C2E228')
AND (welder.PersonId=@wloName OR @wloname IS NULL)
ORDER BY welder.WelderCode
GO
@@ -0,0 +1,10 @@
--ADD BY YangHongwei 2022-09-22
1、焊工业绩存储过程修改。
2、人员库是否在岗空时报错。
3、合同流程审批页选择框人员加载问题。
4、小程序订阅推送检查。
--END