61 lines
2.8 KiB
MySQL
61 lines
2.8 KiB
MySQL
|
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
|
|||
|
/*<EFBFBD>ճ<EFBFBD>Ѳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|||
|
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 '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' 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 '<EFBFBD><EFBFBD>['+ISNULL(OperateUser.UserName,Users.UserName)+']<5D>ύ' WHEN CheckDay.States='2' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE '<EFBFBD><EFBFBD>['+OperateUser.UserName+']<5D><><EFBFBD><EFBFBD>' 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
|
|||
|
|
|||
|
|