92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
| 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
 | |
| /*出入记录*/
 | |
| 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 '出门' ELSE '进门' 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 = '微信端'
 | |
| 		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 != '微信端'
 | |
| 		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
 | |
| 
 | |
| 
 |