33 lines
1.0 KiB
Transact-SQL
33 lines
1.0 KiB
Transact-SQL
ALTER PROC [dbo].[spInOutManHoursReport]
|
|
@projectId NVARCHAR(50),
|
|
@unitId NVARCHAR(50)= NULL,
|
|
@postId NVARCHAR(50)= NULL,
|
|
@startTime DATETIME = NULL,
|
|
@endTime DATETIME = NULL
|
|
AS
|
|
/*****************µ¥Î»¿¼ÇÚ****************/
|
|
SELECT CAST(NEWID() AS NVARCHAR(100)) AS ID
|
|
,ProjectId
|
|
,UnitId
|
|
,ISNULL((case when UnitName=''then null else UnitName end),'δ֪') AS UnitName
|
|
,PostId
|
|
,ISNULL((case when PostName=''then null else PostName end),'δ֪') AS PostName
|
|
,SUM(ISNULL(ManHours,0)) AS ManHoursSum
|
|
,COUNT(IDCardNo) AS ManCountSum
|
|
,(SELECT COUNT(PersonId) FROM SitePerson_Person
|
|
WHERE ProjectId = T.ProjectId AND T.UnitId=UnitId AND T.PostId=WorkPostId
|
|
group by ProjectId,UnitId,WorkPostId) AS PersonCountSum
|
|
FROM dbo.t_d_EmployInOutRecord AS T
|
|
WHERE ProjectId = @ProjectId
|
|
AND (RecordDate >= @startTime OR @startTime IS NULL)
|
|
AND (RecordDate <= @endTime OR @endTime IS NULL)
|
|
AND (UnitId=@unitId OR @unitId IS NULL)
|
|
AND (PostId=@postId OR @postId IS NULL)
|
|
GROUP BY ProjectId,UnitId,UnitName,PostId,PostName
|
|
|
|
|
|
|
|
GO
|
|
|
|
|