Normally working hours of an organisation is 8 hrs per day so I have used working hrs as 8 and deduct from total hours so it shows Overtime.
SELECT EmpId ,CAST(InTime AS DATE) as workingday ,EmpName,RIGHT('0' + CONVERT(varchar, FLOOR(SUM( DATEDIFF( MI, InTime, OutTime)/60.0))) , 2) + ':' + RIGHT('0' + CONVERT(varchar, SUM( DATEDIFF( MI, InTime, OutTime))%60), 2) AS [total hour(s)],
convert(varchar(5), '08:00',108) as Working_hours,dstatus=
(CASE
WHEN CONVERT(TIME,MIN(InTime),108)>'08:35' and CONVERT(TIME,MIN(InTime),108) <'11:00'
THEN 'Late'
WHEN CONVERT(TIME,MIN(InTime),108)>'11:00'
THEN 'Halfday'
WHEN CONVERT(TIME,MIN(OutTime),108)>'16:30'
THEN 'OT'
else 'Full Day' end ),CAST( RIGHT('0' + CONVERT(varchar, FLOOR(SUM( DATEDIFF( MI, InTime, OutTime)/60.0))) , 2) + ':' + RIGHT('0' + CONVERT(varchar, SUM( DATEDIFF( MI, InTime, OutTime))%60), 2)-CAST( '08:00' AS DATETIME) AS TIME) Extratime
FROM HbaEmp
GROUP BY EmpId , EmpName, CAST(InTime AS DATE)
1 2014-02-21 AAA 09:00 08:00 OT 01:00:00.0000000
2 2014-02-21 BBB 08:00 08:00 Full Day 00:00:00.0000000
3 2014-02-21 CCC 08:35 08:00 OT 00:35:00.0000000