39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
CREATE PROC [dbo].[spAbsenceDutyReport]
 | 
						|
          @projectId NVARCHAR(50),
 | 
						|
		  @unitId NVARCHAR(max)= NULL,
 | 
						|
		  @workPostId NVARCHAR(max)= NULL,
 | 
						|
		  @day DATETIME = NULL    
 | 
						|
AS
 | 
						|
/*****************ȱÇÚÈËÔ±****************/
 | 
						|
SELECT  Person.ProjectId
 | 
						|
	,Person.UnitId
 | 
						|
	,Unit.UnitName
 | 
						|
	,Person.TeamGroupId
 | 
						|
	,TeamGroup.TeamGroupName
 | 
						|
	,Person.WorkPostId
 | 
						|
	,WorkPost.WorkPostName
 | 
						|
	,Person.PersonId
 | 
						|
	,Person.PersonName
 | 
						|
	,Person.IdentityCard
 | 
						|
FROM SitePerson_Person AS Person
 | 
						|
LEFT JOIN Base_Unit AS Unit ON Person.UnitId =Unit.UnitId
 | 
						|
LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON Person.TeamGroupId =TeamGroup.TeamGroupId
 | 
						|
LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId
 | 
						|
LEFT JOIN (select distinct ProjectId,IDCardNo from T_d_EmployInOutRecord 
 | 
						|
		WHERE ((@day IS NULL AND CONVERT(varchar(12), RecordDate,23) =  CONVERT(varchar(12), GETDATE(),23)) 
 | 
						|
		OR CONVERT(varchar(12), RecordDate,23)= CONVERT(varchar(12),@day,23))) AS facerecord
 | 
						|
		 ON Person.IdentityCard =facerecord.IDCardNo
 | 
						|
		and Person.ProjectId =facerecord.ProjectId
 | 
						|
WHERE Person.ProjectId = @ProjectId 
 | 
						|
AND (@unitId like '%'+Person.UnitId+'%' OR @unitId IS NULL)	
 | 
						|
AND (@WorkPostId like '%'+Person.WorkPostId+'%' OR @WorkPostId IS NULL)	
 | 
						|
AND	Person.IsUsed=1 AND Person.InTime<=GETDATE() AND (Person.OutTime IS  NULL OR Person.OutTime>=GETDATE()) 
 | 
						|
AND facerecord.IDCardNo IS NULL 
 | 
						|
ORDER BY Unit.UnitName,TeamGroup.TeamGroupName,WorkPost.WorkPostName,Person.PersonName
 | 
						|
 | 
						|
GO
 | 
						|
 | 
						|
 | 
						|
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
 | 
						|
VALUES('984AB874-D5CB-4077-8ADB-6E154F5B636C','ȱÇÚÈËÔ±','Door/AbsenceDuty.aspx',40,'0','Menu_PDigData',0,1,1)
 | 
						|
GO |