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
 | |
| 
 | |
| 
 |