SELECT distinct employee.serial_number,
employee.last_name, employee.first_name,
Manager.last_name ManagerLast_name, Manager.first_name ManagerFirst_Name,
department.department_id CommunityID, department.description CommunityDesc,
convert(datetime,(dateadd(day,process_raw.item_date,'1/1/1930')))
[ItemDate],process_raw.start_time,process_raw.stop_time,
convert(datetime,(dateadd(day,process_raw.Week_ending,'1/1/1930'))) WeekEndingDate,
substring(convert( varchar, dateadd( mi, process_raw.start_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [starttime],
substring(convert( varchar, dateadd( mi, process_raw.stop_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [stoptime],
((process_raw.stop_time - process_raw.start_time)/60) ActualTime,
timecode_description.timecode_id,
convert(datetime,(dateadd(day,process_raw.processing_pay_period,'1/1/1930')))
PayPeriodEndDate
Into #WorkWeekHours
FROM
employee,
process_raw,
pay_policy,
department,
Employee AS manager,
timecode_description
WHERE employee.employee_sys_id = process_raw.employee_sys_id
and process_raw.timecode_sys_id = timecode_description.timecode_sys_id
and employee.pay_policy_sys_id = pay_policy.pay_policy_sys_id
and department.manager_sys_id *= manager.employee_sys_id
AND employee.effective_start_date = (
SELECT MAX (EE.effective_start_date)
FROM employee AS EE
WHERE ee.employee_sys_id = employee.employee_sys_id)
and timecode_description.Timecode_id = 'REG'
and employee.department_sys_id = department.department_sys_id
and pay_policy.pay_policy_id in ('HF1KY','HT1KY','HP1KY')
ORDER BY employee.last_name,[ItemDate],[start_time]
Select distinct serial_number,weekendingdate,
count(distinct(itemDate))ItemDate,
sum(actualtime) ActualTime, first_name, last_name,communityid
Into #EligbleForOT
from #WorkWeekHours
group by serial_number,weekendingdate, first_name, last_name,communityid
having count(distinct(itemDate))>=7
and sum(actualtime)>=40
--SREG records
Drop Table #SREGRecords
SELECT distinct employee.serial_number,
employee.last_name, employee.first_name,
Manager.last_name ManagerLast_name, Manager.first_name ManagerFirst_Name,
department.department_id CommunityID, department.description CommunityDesc,
convert(datetime,(dateadd(day,process_raw.item_date,'1/1/1930')))
[ItemDate],process_raw.start_time,
process_raw.stop_time,
convert(datetime,(dateadd(day,process_raw.Week_ending,'1/1/1930'))) WeekEndingDate,
substring(convert( varchar, dateadd( mi, process_raw.start_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [starttime],
substring(convert( varchar, dateadd( mi, process_raw.stop_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [stoptime],
((process_raw.stop_time - process_raw.start_time)/60) ActualTime,
timecode_description.timecode_id,
convert(datetime,(dateadd(day,process_raw.processing_pay_period,'1/1/1930')))
PayPeriodEndDate
Into #SREGRecords
FROM
employee,
process_raw,
pay_policy,
department,
Employee AS manager,
timecode_description
WHERE employee.employee_sys_id = process_raw.employee_sys_id
and process_raw.timecode_sys_id = timecode_description.timecode_sys_id
and employee.pay_policy_sys_id = pay_policy.pay_policy_sys_id
and department.manager_sys_id *= manager.employee_sys_id
AND employee.effective_start_date = (
SELECT MAX (EE.effective_start_date)
FROM employee AS EE
where ee.employee_sys_id = employee.employee_sys_id)
and timecode_description.Timecode_id = 'SREG'
and employee.department_sys_id = department.department_sys_id
and pay_policy.pay_policy_id in ('HF1KY','HT1KY','HP1KY')
ORDER BY employee.last_name,[ItemDate],[start_time]
--OT Records
Drop Table #OTRecords
SELECT distinct employee.serial_number,
employee.last_name, employee.first_name,
Manager.last_name ManagerLast_name, Manager.first_name ManagerFirst_Name,
department.department_id CommunityID, department.description CommunityDesc,
convert(datetime,(dateadd(day,process_raw.item_date,'1/1/1930')))
[ItemDate],process_raw.start_time,
process_raw.stop_time,
convert(datetime,(dateadd(day,process_raw.Week_ending,'1/1/1930'))) WeekEndingDate,
substring(convert( varchar, dateadd( mi, process_raw.start_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [starttime],
substring(convert( varchar, dateadd( mi, process_raw.stop_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [stoptime],
((process_raw.stop_time - process_raw.start_time)/60) ActualTime,
timecode_description.timecode_id,
convert(datetime,(dateadd(day,process_raw.processing_pay_period,'1/1/1930')))
PayPeriodEndDate
Into #OTRecords
FROM
employee,
process_raw,
pay_policy,
department,
Employee AS manager,
timecode_description
WHERE employee.employee_sys_id = process_raw.employee_sys_id
and process_raw.timecode_sys_id = timecode_description.timecode_sys_id
and employee.pay_policy_sys_id = pay_policy.pay_policy_sys_id
and department.manager_sys_id *= manager.employee_sys_id
AND employee.effective_start_date = (
SELECT MAX (EE.effective_start_date)
FROM employee AS EE
where ee.employee_sys_id = employee.employee_sys_id)
and timecode_description.Timecode_id = 'OT'
and employee.department_sys_id = department.department_sys_id
and pay_policy.pay_policy_id in ('HF1KY','HT1KY','HP1KY')
ORDER BY employee.last_name,[ItemDate],[start_time]
--OTKY Records
SELECT distinct employee.serial_number,
employee.last_name, employee.first_name,
Manager.last_name ManagerLast_name, Manager.first_name ManagerFirst_Name,
department.department_id CommunityID, department.description CommunityDesc,
convert(datetime,(dateadd(day,process_raw.item_date,'1/1/1930')))
[ItemDate],process_raw.start_time,
process_raw.stop_time,
convert(datetime,(dateadd(day,process_raw.Week_ending,'1/1/1930'))) WeekEndingDate,
substring(convert( varchar, dateadd( mi, process_raw.start_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [starttime],
substring(convert( varchar, dateadd( mi, process_raw.stop_time,
convert( datetime, '01/01/1930' ) ), 100 ), 13,6) [stoptime],
((process_raw.stop_time - process_raw.start_time)/60) ActualTime,
timecode_description.timecode_id,
convert(datetime,(dateadd(day,process_raw.processing_pay_period,'1/1/1930')))
PayPeriodEndDate
Into #OTKYRecords
FROM
employee,
process_raw,
pay_policy,
department,
Employee AS manager,
timecode_description
WHERE employee.employee_sys_id = process_raw.employee_sys_id
and process_raw.timecode_sys_id = timecode_description.timecode_sys_id
and employee.pay_policy_sys_id = pay_policy.pay_policy_sys_id
and department.manager_sys_id *= manager.employee_sys_id
AND employee.effective_start_date = (
SELECT MAX (EE.effective_start_date)
FROM employee AS EE
where ee.employee_sys_id = employee.employee_sys_id)
and timecode_description.Timecode_id = 'OTKY'
and employee.department_sys_id = department.department_sys_id
and pay_policy.pay_policy_id in ('HF1KY','HT1KY','HP1KY')
ORDER BY employee.last_name,[ItemDate],[start_time]