CNCEC_SUBQHSE_WUHUAN/DataBase/版本日志/已更新脚本/2021年度/SGGLDB_V2021-04-24-001.sql

61 lines
2.8 KiB
Transact-SQL

ALTER PROCEDURE [dbo].[SpCheckDayStatistic]
@ProjectId NVARCHAR(50),
@StartTime NVARCHAR(15)=NULL,
@EndTime NVARCHAR(15)=NULL,
@States CHAR(1)=NULL,
@UnitName NVARCHAR(200)=NULL,
@WorkAreaName NVARCHAR(200)=NULL
AS
/*日常巡检检查*/
BEGIN
SELECT CheckDayDetail.CheckDayDetailId
,CheckDay.CheckDayId
,CheckDay.CheckDayId+','+ISNULL(CheckDayDetail.CheckDayDetailId,'') AS NewChcekId
,CodeRecords.Code AS CheckDayCode
,ISNULL(Checks.CheckCount,0) AS CheckCount
,CheckDayDetail.WorkArea
,Unit.UnitName
,CheckDayDetail.CompleteStatus
,(CASE WHEN CheckDayDetail.CompleteStatus=1 THEN '已完成' ELSE '' END) AS CompleteStatusName
,CONVERT(VARCHAR(100), CheckDayDetail.LimitedDate, 23) AS LimitedDate
,CheckDayDetail.CompletedDate
,CheckDay.CheckPerson
,CONVERT(VARCHAR(100), CheckDay.CheckTime, 23) AS CheckTime
--,CheckDay.CheckTime
,CheckDayDetail.CheckItemType
,CheckDayDetail.CheckItem
,CheckDayDetail.HandleStep
,CheckDayDetail.Unqualified
,(CASE WHEN CheckDay.States='0' OR CheckDay.States IS NULL THEN '待['+ISNULL(OperateUser.UserName,Users.UserName)+']提交' WHEN CheckDay.States='2' THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName
,CheckPersonUsers.UserName AS CheckPersonName
,person.PersonName
,CheckDayDetail.HiddenDangerType
,CheckDayDetail.HiddenDangerLevel
,checkDayDetail.Suggestions
FROM Check_CheckDay AS CheckDay
LEFT JOIN Sys_CodeRecords AS CodeRecords ON CheckDay.CheckDayId=CodeRecords.DataId
LEFT JOIN Check_CheckDayDetail AS CheckDayDetail ON CheckDayDetail.CheckDayId = CheckDay.CheckDayId AND CheckDayDetail.CheckDayDetailId IS NOT NULL
--LEFT JOIN ProjectData_WorkArea AS WorkArea on WorkArea.WorkAreaId=CheckDayDetail.CheckArea
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=CheckDayDetail.UnitId
LEFT JOIN (SELECT COUNT(*) AS CheckCount, CheckDayId
FROM Check_CheckDayDetail GROUP BY CheckDayId) AS Checks ON Checks.CheckDayId = CheckDay.CheckDayId
LEFT JOIN Sys_FlowOperate AS FlowOperate ON CheckDay.CheckDayId=FlowOperate.DataId AND FlowOperate.IsClosed <> 1
LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId
LEFT JOIN Sys_User AS Users ON CheckDay.CompileMan=Users.UserId
LEFT JOIN Sys_User AS CheckPersonUsers ON CheckDay.CheckPerson=CheckPersonUsers.UserId
LEFT JOIN dbo.SitePerson_Person AS person ON person.PersonId = CheckDayDetail.PersonId
WHERE (@StartTime IS NULL OR CheckDay.CheckTime>=@StartTime)
AND (@EndTime IS NULL OR CheckDay.CheckTime <=@EndTime )
AND CheckDay.ProjectId=@ProjectId
AND (@States IS NULL OR CheckDay.States=@States)
AND (@UnitName IS NULL OR Unit.UnitName LIKE '%'+@UnitName+'%' )
AND (@WorkAreaName IS NULL OR CheckDayDetail.WorkArea LIKE '%'+@WorkAreaName+'%' )
ORDER BY CheckDayCode DESC
END
GO