61 lines
2.8 KiB
Transact-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
|
|
|
|
|