SGGL_SHJ/DataBase/版本日志/已更新脚本/SGGLDB_V2022-09-16.sql

37 lines
1.4 KiB
Transact-SQL

INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('854C79DF-A1C0-4E3C-BCB4-7D5CD044F72B','焊工功效分析','HJGL/WeldingReport/WelderEfficacy.aspx',90,'F3B157B7-9BEE-4150-80CB-087828F1C51D','Menu_HJGL',0,1,1)
GO
INSERT INTO Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('47A49DB1-4689-421A-A93E-DCBD7C34D917','854C79DF-A1C0-4E3C-BCB4-7D5CD044F72B','查看',1)
GO
CREATE PROC [dbo].[sp_rpt_WelderEfficacy]
@unitcode NVARCHAR(50) = NULL, --单位名称
@projectId NVARCHAR(50) = NULL,
@JointAttribute NVARCHAR(50) = NULL
AS
/*焊工功效分析*/
select
Welder.PersonId,
Welder.WelderCode,
Welder.PersonName,
cast( SUM(ISNULL(jot.Size,0))AS DECIMAL(8,0) ) as TotalDin,
count(distinct daily.WeldingDailyId) as worktime,
cast(cast( SUM(ISNULL(jot.Size,0))AS DECIMAL(8,3) ) /count(distinct daily.WeldingDailyId) as DECIMAL(8,0)) as Effect
from SitePerson_Person Welder
left join HJGL_WeldJoint jot on jot.CoverWelderId=Welder.PersonId
left join HJGL_WeldingDaily daily on jot.WeldingDailyId=daily.WeldingDailyId
where Welder.WorkPostId='19B8F2A9-28D3-4F20-867A-1B2237C2E228'
AND (welder.ProjectId = @projectId OR @projectId IS NULL)
AND (welder.UnitId=@unitcode OR @unitcode IS NULL)
And (jot.JointAttribute=@JointAttribute OR @JointAttribute IS NULL)
group by Welder.PersonName,Welder.PersonId,Welder.WelderCode
having count(distinct daily.WeldingDailyId) !=0
GO