Click here to Skip to main content
15,888,340 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
hi,

calculating employee lateness using the sp as below

SQL
ALTER PROCEDURE [dbo].[spGetEmployeeLateness] --spGetEmployeeLateness '03/01/2014'
@Date as varchar(20)
AS
BEGIN
	select SempAtndSempMstrId,(SempMstrFirstName+' '+isnull(SempMstrMiddleName,'')+' '+
	isnull(SempMstrLastName,'')) as 'EmpName',SdeptDepartmentName,SempAtndTimeIn,SshftInTime,
	
	cast(((datediff(second,CAST(CONVERT(VARCHAR,@Date,101) AS DATETIME),SempAtndTimeIn))
    - (datediff(second,CAST(CONVERT(VARCHAR,@Date,101) AS DATETIME),
	CAST(CONVERT(VARCHAR,@Date,101)+' '+SshftInTime AS DATETIME))))/(60*60) as varchar)+':'+	

   cast((((datediff(second,CAST(CONVERT(VARCHAR,@Date,101) AS DATETIME),SempAtndTimeIn))
   - (datediff(second,CAST(CONVERT(VARCHAR,@Date,101) AS DATETIME),
	CAST(CONVERT(VARCHAR,@Date,101)+' '+SshftInTime AS DATETIME))))%(60*60))/60 as varchar)+':'+	
	
	cast((((datediff(second,CAST(CONVERT(VARCHAR,@Date,101) AS DATETIME),SempAtndTimeIn))
   - (datediff(second,CAST(CONVERT(VARCHAR,@Date,101) AS DATETIME),
	CAST(CONVERT(VARCHAR,@Date,101)+' '+SshftInTime AS DATETIME))))%(60*60))%60 as varchar) as Lateby
		
	
	from SgEmployeeAttendance
	inner join dbo.SgEmployeeMaster on SempMstrId=SempAtndSempMstrId
	inner join SgShiftMaster on SempMstrSshftId=SshftId inner join SgDepartment on SempMstrSdeptId=SdeptId
	inner join SgDesignation on SempMstrSdesgId=SdesgId
	where  cast(convert(varchar(10),SempAtndTimeIn,101)as datetime)=cast(convert(varchar(10),@Date,101) as datetime)
	
	--and  cast(convert(varchar(10),SempAtndTimeIn,101)as datetime)<= DATEADD(day,1,@Date)
	and SempAtndDuty is null and SempMstrId!=1 
	
	group by SempAtndSempMstrId,SempMstrFirstName,SdesgDesignation,SdeptDepartmentName,SempMstrMiddleName,SempMstrLastName,SshftInTime,SempAtndTimeIn
	having min(cast(SempAtndTimeIn as time))>(cast(SshftInTime as time)) order by EmpName
END



but, if an employee shift on 03/01/2014 at 11:30 pm and if he will
come on 03/02/2014 at 12:05:00 am , then how to calculate lateness?

the above sp calucate lateness only on a date base.

thanks..:(
Posted
Comments
King Fisher 19-Mar-15 12:45pm    
have you solved this?
if not .can you post table Structure with some Data ;)

1 solution

Hi,

Check this...sql time difference between two dates result in hhmmss[^]

Hope this will help you.

Cheers
 
Share this answer
 

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