34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			MySQL
		
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			MySQL
		
	
	
	
| 
								 | 
							
								ALTER PROC [dbo].[spInOutManHoursReport]
							 | 
						|||
| 
								 | 
							
								          @projectId NVARCHAR(50),
							 | 
						|||
| 
								 | 
							
										  @unitId NVARCHAR(max)= NULL,
							 | 
						|||
| 
								 | 
							
										  @postId NVARCHAR(max)= NULL,
							 | 
						|||
| 
								 | 
							
										  @startTime DATETIME = NULL,
							 | 
						|||
| 
								 | 
							
								          @endTime DATETIME = NULL    
							 | 
						|||
| 
								 | 
							
								AS
							 | 
						|||
| 
								 | 
							
								/*****************<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>****************/
							 | 
						|||
| 
								 | 
							
								SELECT CAST(NEWID() AS NVARCHAR(100)) AS ID
							 | 
						|||
| 
								 | 
							
								,ProjectId
							 | 
						|||
| 
								 | 
							
								,UnitId
							 | 
						|||
| 
								 | 
							
								,ISNULL((case when UnitName=''then null else UnitName end),'δ֪') AS UnitName
							 | 
						|||
| 
								 | 
							
								,PostId
							 | 
						|||
| 
								 | 
							
								,ISNULL((case when PostName=''then null else PostName end),'δ֪') AS PostName
							 | 
						|||
| 
								 | 
							
								,SUM(ISNULL(ManHours,0)) AS ManHoursSum
							 | 
						|||
| 
								 | 
							
								,COUNT(IDCardNo) AS ManCountSum 
							 | 
						|||
| 
								 | 
							
								,(SELECT COUNT(PersonId) FROM SitePerson_Person 
							 | 
						|||
| 
								 | 
							
									WHERE  ProjectId = T.ProjectId AND T.UnitId=UnitId AND T.PostId=WorkPostId
							 | 
						|||
| 
								 | 
							
									group by ProjectId,UnitId,WorkPostId) AS PersonCountSum
							 | 
						|||
| 
								 | 
							
								FROM dbo.t_d_EmployInOutRecord AS T
							 | 
						|||
| 
								 | 
							
								WHERE  ProjectId = @ProjectId	
							 | 
						|||
| 
								 | 
							
								AND (RecordDate >= @startTime OR @startTime IS NULL) 
							 | 
						|||
| 
								 | 
							
								AND (RecordDate <= @endTime OR @endTime IS NULL) 
							 | 
						|||
| 
								 | 
							
								AND (@unitId like '%'+UnitId+'%' OR @unitId IS NULL)	
							 | 
						|||
| 
								 | 
							
								AND (@postId like '%'+PostId+'%' OR @postId IS NULL)	
							 | 
						|||
| 
								 | 
							
								GROUP BY ProjectId,UnitId,UnitName,PostId,PostName
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								GO
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 |