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