CNCEC_SUBQHSE_WUHUAN/DataBase/版本日志/SGGLDB_V2021-06-08-002.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