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