Click here to Skip to main content
15,896,912 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
SQL
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

DROP PROCEDURE [dbo].[ELV_GetDepartmentWiseEmployeeLeavList]
GO

CREATE PROCEDURE [dbo].[ELV_GetDepartmentWiseEmployeeLeavList]
	@EmployeeIDName VARCHAR(300),
	@CompanyId BIGINT = 1,
	@DepartmentId BIGINT = 1,
	@FromDate DATETIME,
	@ToDate DATETIME

	AS
	   BEGIN   		
			
			SELECT 
									   
				  dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue') AS 'EmployeeIDName'
				  
				 ,(SELECT DOJ FROM HRMEmployeeMaster WHERE dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue')
				  = ((CONVERT(Varchar(MAX),EmployeeId)+'-'+Name))) AS DOJ
				 
				,SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Annual Leave' 
					THEN 
					CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END)AS AnnualLeave 
				,SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Sick Leave (Non Hospitalization)' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END)  
					
				+SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Sick Leave (Hospitalization)' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END)AS SickLeave
					
				,SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Compassionate Leave' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END) --CompassionateLeave

				+SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'National Service' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END) --NationalService

				+SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Child Care Leave' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END) --ChildCareLeave
					
				+SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Maternity Leave' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END) --MaternityLeave
					
				+SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Infant Care Leave' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END) --InfantCareLeave

				+SUM(CASE WHEN dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue')  = 'Infant Care Leave' 	
					THEN CONVERT(DECIMAL(6,2), dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'TotalDays','NumberValue'))	
					ELSE 0 END) AS OtherLeave,
							
			 --  (CONVERT(DECIMAL(6,2),(SELECT COUNT(ISAbsent)FROM [cuteTime].[dbo].[cuteTimeAbsenteesInfo]WHERE ISAbsent=1 AND ISACTIVE=1  
				--AND (SUBSTRING (CONVERT(Varchar(200),(dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue'))+'-'+,1(dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'RequestedTypeOfLeave','StringValue'))
		  --   	AS [Absent]

(SELECT  COUNT(ISAbsent) FROM [cuteTime].[dbo].[cuteTimeAbsenteesInfo]WHERE  ISAbsent=1 AND ISACTIVE=1  
 AND(SUBSTRING(CONVERT(Varchar(MAX),0,dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue'))+'-'+dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue'))))
 AS [Absent]
				 
				           
				FROM JOB Job

				WHERE Job.ProjectID= 14 AND Job.JobStatus IN (87,88) --87->HR Approved  ,88->Manager Approved
						AND		
					CONVERT(DATETIME,dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'FromDate','DateValue'),105)  
					BETWEEN CONVERT(DATETIME,@FromDate,105) AND	CONVERT(DATETIME,@ToDate,105)
					
						AND
					CONVERT(DATETIME,dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'ToDate','DateValue'),105) 
					BETWEEN CONVERT(DATETIME,@FromDate,105) AND	CONVERT(DATETIME,@ToDate,105)
					
					
					AND  (SELECT DepartmentID FROM CutechAppsDb.dbo.HRMEmployeeMaster WHERE dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue')
				  = ((CONVERT(Varchar(MAX),EmployeeId)+'-'+Name))) = @DepartmentId
					
					AND (SELECT CompanyID FROM dbo.HRMCompanyMaster WHERE dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue')
					= ((CONVERT(Varchar(MAX),CompanyId)+'-'+CompanyName))) = @CompanyId
					
					--AND (SELECT Employeeid,Name,(Convert(VARCHAR(8),Employeeid)+'-'+Name) EmployeeIDName FROM dbo.HRMEmployeeMaster WHERE dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue')
					--= ((CONVERT(Varchar(MAX),Employeeid)+'-'+Name))) = @EmployeeIDName
			
			
				GROUP BY dbo.FunctionGetCustomFieldValuebyJobIDFieldNameandDatatype(Job.ID,'EmployeeName','StringValue')
				 
		END
	GO
Posted
Updated 14-Nov-13 21:21pm
v2
Comments
OriginalGriff 15-Nov-13 1:58am    
And the problem is?
We can't see your screen, access your HDD, or read your mind.
As a result, we can't tell what it is supposed to do, and without your data we can't work out what it actually does.
Use the "Improve question" widget to edit your question and provide better information.
[no name] 15-Nov-13 2:33am    
Improve you question, as the question is not given in details.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900