92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			MySQL
		
	
	
	
		
		
			
		
	
	
			92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			MySQL
		
	
	
	
| 
								 | 
							
								CREATE PROC [dbo].[SP_InOutList]
							 | 
						|||
| 
								 | 
							
										@projectId NVARCHAR(50) = NULL,	
							 | 
						|||
| 
								 | 
							
										@unitId NVARCHAR(50) = NULL,	
							 | 
						|||
| 
								 | 
							
										@name NVARCHAR(50) = NULL,	
							 | 
						|||
| 
								 | 
							
										@type NVARCHAR(10)=NULL,	 
							 | 
						|||
| 
								 | 
							
										@startTime DATETIME = NULL,
							 | 
						|||
| 
								 | 
							
								        @endTime DATETIME = NULL			
							 | 
						|||
| 
								 | 
							
								AS
							 | 
						|||
| 
								 | 
							
								/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼*/
							 | 
						|||
| 
								 | 
							
								BEGIN
							 | 
						|||
| 
								 | 
							
								IF(@type='1')
							 | 
						|||
| 
								 | 
							
									BEGIN
							 | 
						|||
| 
								 | 
							
										SELECT NEWID
							 | 
						|||
| 
								 | 
							
											,ValidEventID AS ID
							 | 
						|||
| 
								 | 
							
											,V.ProjectId
							 | 
						|||
| 
								 | 
							
											,EmployName
							 | 
						|||
| 
								 | 
							
											,DepartmentID
							 | 
						|||
| 
								 | 
							
											,DepartmentName AS DepartName
							 | 
						|||
| 
								 | 
							
											,AreaID,AreaName
							 | 
						|||
| 
								 | 
							
											,EmployNO
							 | 
						|||
| 
								 | 
							
											,CAST(V.CardNO AS nvarchar(20)) AS CardID
							 | 
						|||
| 
								 | 
							
											,RecordDateTime AS DateTimeRecord
							 | 
						|||
| 
								 | 
							
											,RecordAll AS RecordDes
							 | 
						|||
| 
								 | 
							
											,(CASE WHEN InOrOut=2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' ELSE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' END) AS InOrOut
							 | 
						|||
| 
								 | 
							
											,P.UnitId
							 | 
						|||
| 
								 | 
							
											,P.TeamGroupId
							 | 
						|||
| 
								 | 
							
										FROM t_d_validcardevent V
							 | 
						|||
| 
								 | 
							
										LEFT JOIN SitePerson_Person AS P ON V.IDCardNo=P.IdentityCard AND V.ProjectId=P.ProjectId
							 | 
						|||
| 
								 | 
							
										WHERE V.ProjectId = @ProjectId 
							 | 
						|||
| 
								 | 
							
										AND (RecordDateTime >= @startTime OR @startTime IS NULL) 
							 | 
						|||
| 
								 | 
							
										AND (RecordDateTime <= @endTime OR @endTime IS NULL)
							 | 
						|||
| 
								 | 
							
										AND (P.UnitId = @unitId OR @unitId IS NULL)
							 | 
						|||
| 
								 | 
							
										AND (EmployName like ('%'+@name+'%') OR @name IS NULL)
							 | 
						|||
| 
								 | 
							
										ORDER BY RecordDateTime DESC
							 | 
						|||
| 
								 | 
							
									END
							 | 
						|||
| 
								 | 
							
								ELSE IF(@type='2')
							 | 
						|||
| 
								 | 
							
									BEGIN
							 | 
						|||
| 
								 | 
							
									SELECT NewID
							 | 
						|||
| 
								 | 
							
											,ID
							 | 
						|||
| 
								 | 
							
											,V.ProjectId
							 | 
						|||
| 
								 | 
							
											,EmployName
							 | 
						|||
| 
								 | 
							
											,DepartmentID
							 | 
						|||
| 
								 | 
							
											,DepartName
							 | 
						|||
| 
								 | 
							
											,AreaID
							 | 
						|||
| 
								 | 
							
											,AreaName
							 | 
						|||
| 
								 | 
							
											,EmployNO
							 | 
						|||
| 
								 | 
							
											,CAST(V.CardID AS nvarchar(20)) AS CardID
							 | 
						|||
| 
								 | 
							
											,RoleID
							 | 
						|||
| 
								 | 
							
											,DateTimeRecord
							 | 
						|||
| 
								 | 
							
											,RecordDes
							 | 
						|||
| 
								 | 
							
											,InOrOut  
							 | 
						|||
| 
								 | 
							
											,P.UnitId,P.TeamGroupId
							 | 
						|||
| 
								 | 
							
										FROM t_d_facerecord V
							 | 
						|||
| 
								 | 
							
										LEFT JOIN SitePerson_Person AS P ON V.EmployNO=P.IdentityCard AND V.ProjectId=P.ProjectId
							 | 
						|||
| 
								 | 
							
										WHERE V.ProjectId = @ProjectId AND V.RoleID = '<EFBFBD>Ŷ<EFBFBD>'
							 | 
						|||
| 
								 | 
							
										AND (DateTimeRecord >= @startTime OR @startTime IS NULL) 
							 | 
						|||
| 
								 | 
							
										AND (DateTimeRecord <= @endTime OR @endTime IS NULL)
							 | 
						|||
| 
								 | 
							
										AND (P.UnitId = @unitId OR @unitId IS NULL)
							 | 
						|||
| 
								 | 
							
										AND (EmployName like ('%'+@name+'%') OR @name IS NULL)
							 | 
						|||
| 
								 | 
							
										ORDER BY DateTimeRecord DESC
							 | 
						|||
| 
								 | 
							
									END
							 | 
						|||
| 
								 | 
							
								ELSE 
							 | 
						|||
| 
								 | 
							
									BEGIN
							 | 
						|||
| 
								 | 
							
										SELECT NewID
							 | 
						|||
| 
								 | 
							
											,ID
							 | 
						|||
| 
								 | 
							
											,V.ProjectId
							 | 
						|||
| 
								 | 
							
											,EmployName
							 | 
						|||
| 
								 | 
							
											,DepartmentID
							 | 
						|||
| 
								 | 
							
											,DepartName
							 | 
						|||
| 
								 | 
							
											,AreaID
							 | 
						|||
| 
								 | 
							
											,AreaName
							 | 
						|||
| 
								 | 
							
											,EmployNO
							 | 
						|||
| 
								 | 
							
											,CAST(V.CardID AS nvarchar(20)) AS CardID
							 | 
						|||
| 
								 | 
							
											,RoleID
							 | 
						|||
| 
								 | 
							
											,DateTimeRecord
							 | 
						|||
| 
								 | 
							
											,RecordDes
							 | 
						|||
| 
								 | 
							
											,InOrOut  
							 | 
						|||
| 
								 | 
							
											,P.UnitId,P.TeamGroupId
							 | 
						|||
| 
								 | 
							
										FROM t_d_facerecord V
							 | 
						|||
| 
								 | 
							
										LEFT JOIN SitePerson_Person AS P ON V.EmployNO=P.IdentityCard AND V.ProjectId=P.ProjectId
							 | 
						|||
| 
								 | 
							
										WHERE V.ProjectId = @ProjectId AND V.RoleID != '<EFBFBD>Ŷ<EFBFBD>'
							 | 
						|||
| 
								 | 
							
										AND (DateTimeRecord >= @startTime OR @startTime IS NULL) 
							 | 
						|||
| 
								 | 
							
										AND (DateTimeRecord <= @endTime OR @endTime IS NULL)
							 | 
						|||
| 
								 | 
							
										AND (P.UnitId = @unitId OR @unitId IS NULL)
							 | 
						|||
| 
								 | 
							
										AND (EmployName like ('%'+@name+'%') OR @name IS NULL)
							 | 
						|||
| 
								 | 
							
										ORDER BY DateTimeRecord DESC
							 | 
						|||
| 
								 | 
							
									END
							 | 
						|||
| 
								 | 
							
								END
							 | 
						|||
| 
								 | 
							
								GO
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 |