94 lines
5.2 KiB
MySQL
94 lines
5.2 KiB
MySQL
|
|
|||
|
|
|||
|
ALTER PROC [dbo].[sp_rpt_WeldingStatistical]
|
|||
|
@AreaNo nVARCHAR(50) = NULL,
|
|||
|
@installationId nVARCHAR(50) = NULL,
|
|||
|
@startTime datetime = NULL,
|
|||
|
@endTime datetime = NULL,
|
|||
|
@projectId NVARCHAR(50) = NULL,
|
|||
|
@IsStandard NVARCHAR(50) = NULL,
|
|||
|
@teamGroup nvarchar(50) = NULL
|
|||
|
|
|||
|
AS
|
|||
|
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
SELECT WorkArea.WorkAreaId,
|
|||
|
WorkArea.ProjectId,
|
|||
|
WorkArea.WorkAreaCode AS baw_areano,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Unit.UnitCode AS bsu_unitcode,--<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Unit.UnitName AS bsu_unitname, --<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Installation.InstallationCode, --װ<EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Installation.InstallationName, --װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ISNULL(total_jot.total_jot,0) AS total_jot, --<EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CAST(ISNULL(total_jot.total_din,0) AS DECIMAL(19,2)) AS total_din,--<EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TeamGroup.TeamGroupId,
|
|||
|
TeamGroup.TeamGroupName as TeamGroup,
|
|||
|
CAST(ISNULL(finished_total_dia_bq.finished_total_dia_bq ,0) AS DECIMAL(19,2)) AS finished_total_din_bq, --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
(CAST(ISNULL(total_jot.total_din,0)-ISNULL(finished_total_jot_bq.finished_total_din_bq ,0) AS DECIMAL(19,2))) as RemainingDain, --ʣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
getdate() as CurrentDate,--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
WorkArea.CompletionDate, --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
(DATEDIFF(DAY, getdate(), WorkArea.CompletionDate)+1) as RemainingConPeriod,--ʣ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CEILING(case when (DATEDIFF(DAY, getdate(), WorkArea.CompletionDate)+1)>0 then
|
|||
|
(ISNULL(total_jot.total_din,0)-ISNULL(finished_total_jot_bq.finished_total_din_bq ,0))/(DATEDIFF(DAY, getdate(), WorkArea.CompletionDate)+1)
|
|||
|
else '0' end) as AvgDayCompletedDin,--<EFBFBD>վ<EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
(getdate()-1) as CurrentCompleted, --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
(cast(isnull(finished_current_day_din.finished_current_day_din,0) as decimal(19,2))) as finished_current_day_din --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
FROM ProjectData_WorkArea AS WorkArea
|
|||
|
LEFT JOIN Base_Unit AS Unit ON WorkArea.UnitId =Unit.UnitId
|
|||
|
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId = WorkArea.InstallationId
|
|||
|
LEFT JOIN (SELECT COUNT(*) total_jot ,pw_isoinfo.WorkAreaId ,SUM(JOT_Size) AS total_din
|
|||
|
,SUM(JOT_DoneDin) AS finished_total_din
|
|||
|
FROM pw_jointinfo
|
|||
|
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
|||
|
WHERE (pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL)
|
|||
|
GROUP BY pw_isoinfo.WorkAreaId) AS total_jot ON total_jot.WorkAreaId = WorkArea.WorkAreaId
|
|||
|
|
|||
|
LEFT JOIN (SELECT pw_isoinfo.WorkAreaId ,SUM(JOT_DoneDin) AS finished_total_din_bq
|
|||
|
FROM pw_jointinfo
|
|||
|
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
|||
|
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
|||
|
WHERE pw_jointinfo.DReportID is not null
|
|||
|
and (jot_welddate >= @startTime OR @startTime IS NULL) and (jot_welddate <=@endTime OR @endTime IS NULL) AND
|
|||
|
(pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL)
|
|||
|
GROUP BY pw_isoinfo.WorkAreaId) AS finished_total_jot_bq ON finished_total_jot_bq.WorkAreaId = WorkArea.WorkAreaId
|
|||
|
|
|||
|
|
|||
|
--ʩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
left join(select distinct ProjectData_TeamGroup.TeamGroupId,ProjectData_TeamGroup.TeamGroupName,PW_IsoInfo.WorkAreaId from PW_JointInfo
|
|||
|
left join PW_IsoInfo on PW_IsoInfo.ISO_ID = PW_JointInfo.ISO_ID
|
|||
|
left join BS_Welder on BS_Welder.WED_ID = PW_JointInfo.JOT_CellWelder
|
|||
|
left join ProjectData_TeamGroup on ProjectData_TeamGroup.TeamGroupId= BS_Welder.TeamGroupId
|
|||
|
where PW_JointInfo.DReportID is not null and BS_Welder.TeamGroupId is not null) as TeamGroup on TeamGroup.WorkAreaId = WorkArea.WorkAreaId
|
|||
|
|
|||
|
----<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LEFT JOIN (SELECT pw_isoinfo.WorkAreaId,BS_Welder.TeamGroupId,SUM(JOT_DoneDin) AS finished_total_dia_bq
|
|||
|
FROM pw_jointinfo
|
|||
|
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
|||
|
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
|||
|
left join BS_Welder on BS_Welder.WED_ID = PW_JointInfo.JOT_CellWelder
|
|||
|
WHERE pw_jointinfo.DReportID is not null
|
|||
|
and (jot_welddate >= @startTime OR @startTime IS NULL) and (jot_welddate <=@endTime OR @endTime IS NULL) AND
|
|||
|
(pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL)
|
|||
|
GROUP BY pw_isoinfo.WorkAreaId,BS_Welder.TeamGroupId) AS finished_total_dia_bq ON finished_total_dia_bq.WorkAreaId = WorkArea.WorkAreaId and finished_total_dia_bq.TeamGroupId = TeamGroup.TeamGroupId
|
|||
|
|
|||
|
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LEFT JOIN (SELECT pw_isoinfo.WorkAreaId,BS_Welder.TeamGroupId ,SUM(JOT_DoneDin) AS finished_current_day_din
|
|||
|
FROM pw_jointinfo
|
|||
|
LEFT JOIN pw_isoinfo ON pw_jointinfo.ISO_ID = pw_isoinfo.ISO_ID
|
|||
|
LEFT JOIN BO_WeldReportMain ON BO_WeldReportMain.dreportid = pw_jointinfo.dreportid
|
|||
|
left join BS_Welder on BS_Welder.WED_ID = PW_JointInfo.JOT_CellWelder
|
|||
|
WHERE pw_jointinfo.DReportID is not null
|
|||
|
and (CONVERT(varchar(10), jot_welddate, 23) = CONVERT(varchar(10), GETDATE()-1, 23) ) AND
|
|||
|
(pw_isoinfo.Is_Standard=@IsStandard OR @IsStandard IS NULL)
|
|||
|
GROUP BY pw_isoinfo.WorkAreaId,BS_Welder.TeamGroupId) AS finished_current_day_din ON finished_current_day_din.WorkAreaId = WorkArea.WorkAreaId and finished_current_day_din.TeamGroupId = TeamGroup.TeamGroupId
|
|||
|
|
|||
|
WHERE
|
|||
|
(WorkArea.ProjectId=@projectId OR @projectId IS NULL ) AND
|
|||
|
(WorkArea.WorkAreaId=@areano OR @AreaNo IS NULL ) AND
|
|||
|
(WorkArea.InstallationId=@installationId OR @installationId IS NULL) AND
|
|||
|
(TeamGroup.TeamGroupId=@teamGroup OR @teamGroup IS NULL)
|
|||
|
ORDER BY Unit.UnitCode ,Installation.InstallationCode
|
|||
|
|
|||
|
GO
|
|||
|
|
|||
|
|