Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

------------parameters

--date1 (varchar2) 06/28/2021


--emp_no=177
-------------------------

SELECT *
FROM ( SELECT payroll,
org,
emp_no,
emp_name,
DESIGNATION,
hire_date,
TO_CHAR (start_date, 'Dy') attn_day,
TO_CHAR (start_date, 'dd-Mon-yyyy') attn_date,
start_date,
MNJ_GET_EMP_LATE_COUNT(assignment_id,start_date,start_date)
Late_count,
in_time
NH_IN,
out_time
NH_OUT,
APPS.XXMJ_EMP_ATTN_MAC (PROX_CARD, start_date, 'IN')
IN_MAC,
APPS.XXMJ_EMP_ATTN_MAC (PROX_CARD, TRUNC (start_date), 'OUT')

OUT_MAC,
em_cat,
assignment_id,
SCHEDULED_TIME ST,
status
FROM (select a.*,
--
a.company,a.shift,a.dp,a.sc,a.ssc,a.line,a.employee_number,a.designation,a.em_cat,a
.legacy_code,a.full_name,a.hire_date,a.grade,a.assignment_id,a.address,a.shift,a.at
tn_date,a.scheduled_time
case when a.shift like upper('%NIGHT%')then max(b.in_time) else min(b.in_time) end
in_time,max(b.out_time) out_time
,
CASE
WHEN b.ELEMENT_NAME = 'Normal Hours OTL'
THEN
'Present'
ELSE
b.ELEMENT_NAME
END status
from
(select ppf.payroll_name payroll,
hou.name org
,PAPF.EMPLOYEE_NUMBER emp_no,
paaf.ass_attribute2 PROX_CARD,
(SELECT distinct PPT.SEGMENT1||'.'||PPT.SEGMENT2
FROM per_all_positions pep,
PER_POSITION_DEFINITIONS PPT
WHERE pep.POSITION_DEFINITION_ID = PPT.POSITION_DEFINITION_ID
AND PEP.POSITION_ID = PAAF.POSITION_ID
AND PPT.ENABLED_FLAG = 'Y') DESIGNATION,
case when paaf.EMPLOYMENT_CATEGORY ='ASS_RG' then 'Regular' when
paaf.EMPLOYMENT_CATEGORY = 'ASS_ST' then 'Staff'when paaf.EMPLOYMENT_CATEGORY =
'ASS_LOC' then 'Local'else 'Expat'end em_cat,
PAPF.PERSON_ID,
PAPF.FULL_NAME emp_name,
(SELECT HS.NAME FROM
HXT.HXT_SHIFTS HS,
HXT.HXT_WORK_SHIFTS HWS,
HXT.HXT_ROTATION_SCHEDULES HRS,
HXT.HXT_ADD_ASSIGN_INFO_F HASI
WHERE HS.ID = HWS.SHT_ID
AND HWS.TWS_ID = HRS.TWS_ID
AND HRS.RTP_ID = HASI.ROTATION_PLAN
AND HASI.ASSIGNMENT_ID = PAAF.ASSIGNMENT_ID
AND HWS.WEEK_DAY = TO_CHAR (MC.DATELIST, 'DY')
AND MC.DATELIST BETWEEN trunc(HASI.EFFECTIVE_START_DATE) AND
trunc(HASI.EFFECTIVE_END_DATE)
AND HRS.START_DATE = (SELECT MAX(HRSA1.START_DATE) FROM
HXT_ROTATION_SCHEDULES HRSA1
WHERE
HRSA1.START_DATE <= TRUNC(MC.DATELIST)
AND HRSA1.RTP_ID = HRS.RTP_ID )) SHIFT,
(SELECT TO_CHAR (
TO_DATE (LPAD (HS.STANDARD_START, 4, 0),
'HH24:MI:SS'),
'HH24:MI') || '-'|| TO_CHAR (
TO_DATE (LPAD (HS.STANDARD_STOP, 4, 0),
'HH24:MI:SS'),
'HH24:MI') FROM
HXT.HXT_SHIFTS HS,
HXT.HXT_WORK_SHIFTS HWS,
HXT.HXT_ROTATION_SCHEDULES HRS,
HXT.HXT_ADD_ASSIGN_INFO_F HASI
WHERE HS.ID = HWS.SHT_ID
AND HWS.TWS_ID = HRS.TWS_ID
AND HRS.RTP_ID = HASI.ROTATION_PLAN
AND HASI.ASSIGNMENT_ID = PAAF.ASSIGNMENT_ID
AND HWS.WEEK_DAY = TO_CHAR (MC.DATELIST, 'DY')
AND MC.DATELIST BETWEEN trunc(HASI.EFFECTIVE_START_DATE) AND
trunc(HASI.EFFECTIVE_END_DATE)
AND HRS.START_DATE = (SELECT MAX(HRSA1.START_DATE) FROM
HXT_ROTATION_SCHEDULES HRSA1
WHERE
HRSA1.START_DATE <= TRUNC(MC.DATELIST)
AND HRSA1.RTP_ID = HRS.RTP_ID )) SCHEDULED_TIME,
PAPF.ORIGINAL_DATE_OF_HIRE HIRE_DATE,
to_char(mc.datelist,'DY')||','|| MC.DATELIST ATTN_DATE1,
MC.DATELIST ATTN_DATE,
MC.DATELIST START_DATE,
pgd.segment2 grade,
PAAF.ASSIGNMENT_ID,
-- to_char(htbb.STOP_TIME, 'HH24:MI') OUT_TIME,
-- to_char(htbb.START_TIME, 'HH24:MI')IN_TIME,
HLA.ADDRESS_LINE_1||','||HLA.ADDRESS_LINE_2||','||HLA.ADDRESS_LINE_3 ||','||
HLA.TOWN_OR_CITY Address
from hr_organization_units HOU,
HR_LOCATIONS_ALL HLA,
PER_ALL_PEOPLE_F PAPF,
per_all_assignments_f paaf,
per_grades pg,
per_grade_definitions pgd,
pay_payrolls_f ppf,
-- HXC.hxc_time_building_blocks HTBB,
(SELECT * FROM MJ_CALENDER WHERE DATELIST<=TRUNC(SYSDATE)) MC
where PAPF.PERSON_ID = PAAF.PERSON_ID
AND PAAF.ORGANIZATION_ID = HOU.ORGANIZATION_ID
AND HLA.LOCATION_ID = HOU.LOCATION_ID
AND papf.PERSON_ID = paaf.PERSON_ID
AND paaf.grade_id = pg.grade_id
AND paaf.payroll_id = ppf.payroll_id
-- and htbb.RESOURCE_ID = PAAF.PERSON_ID
-- and trunc(htbb.START_TIME(+))=trunc(MC.DATELIST)
-- and htbb.scope = 'DETAIL'
AND pg.grade_definition_id = pgd.grade_definition_id
AND paaf.payroll_id =(select paaf1.payroll_id from per_all_assignments_f paaf1
where paaf.assignment_id = paaf1.assignment_id and LAST_DAY
( TO_DATE(:DATE1,'MM/DD/YYYY')) BETWEEN PAAF1.EFFECTIVE_START_DATE AND
PAAF1.EFFECTIVE_END_DATE)
AND MC.DATELIST BETWEEN TRUNC ( TO_DATE(:DATE1,'MM/DD/YYYY'), 'MM') AND LAST_DAY
( TO_DATE(:DATE1,'MM/DD/YYYY'))
AND --LAST_DAY ( TO_DATE(:DATE1,'MM/DD/YYYY'))
MC.DATELIST BETWEEN PAAF.EFFECTIVE_START_DATE AND PAAF.EFFECTIVE_END_DATE
AND PAPF.EMPLOYEE_NUMBER = NVL(:emp_no,PAPF.EMPLOYEE_NUMBER)
-- AND PAPF.EMPLOYEE_NUMBER IN
('000227','000228','000229','000231','000232','000233')
AND LAST_DAY ( TO_DATE(:DATE1,'MM/DD/YYYY')) BETWEEN PAPF.EFFECTIVE_START_DATE AND
PAPF.EFFECTIVE_END_DATE
order by start_date)a,
(select d.*
from
( select petf.element_name
element_name,hrttv.START_DATE,TO_CHAR(HTDV.DETAIL_START_TIME,'HH24:MI')
IN_TIME,TO_CHAR(HTDV.DETAIL_STOP_TIME,'HH24:MI') OUT_TIME
from hxc_resource_total_time_v hrttv,
hxc_timecard_details_v htdv,
pay_element_types_f petf,
PER_ALL_PEOPLE_F PAPF,
per_all_assignments_f paaf
where
PAPF.PERSON_ID = PAAF.PERSON_ID
and htdv.detail_resource_id = paaf.PERSON_ID
AND hrttv.detail_id = htdv.detail_timecard_id
AND hrttv.resource_id = htdv.detail_resource_id
AND htdv.detail_bld_blk_info_type_id = 1
AND PAPF.EMPLOYEE_NUMBER = :emp_no
AND paaf.payroll_id =(select paaf1.payroll_id from per_all_assignments_f
paaf1 where paaf.assignment_id = paaf1.assignment_id and LAST_DAY
( TO_DATE(:DATE1,'MM/DD/YYYY')) BETWEEN PAAF1.EFFECTIVE_START_DATE AND
PAAF1.EFFECTIVE_END_DATE) --:payroll_id
AND petf.element_type_id = SUBSTR (htdv.detail_attribute_category, 11, 13)
and hrttv.START_DATE BETWEEN TRUNC ( TO_DATE(:DATE1,'MM/DD/YYYY'), 'MM') AND
LAST_DAY ( TO_DATE(:DATE1,'MM/DD/YYYY'))
AND sysdate BETWEEN PAAF.EFFECTIVE_START_DATE
AND PAAF.EFFECTIVE_END_DATE
AND sysdate BETWEEN PAPF.EFFECTIVE_START_DATE
AND PAPF.EFFECTIVE_END_DATE
--group by hrttv.START_DATE
) d
)b
where
a.attn_date=b.start_date(+)
group by
b.ELEMENT_NAME,a.payroll,a.shift,a.org,a.emp_no,a.designation,a.prox_card,a.em_cat,
a.emp_name,a.hire_date,a.start_date,a.PERSON_ID,a.grade,a.assignment_id,a.address,a
.shift,a.attn_date,a.attn_date1,a.scheduled_time
order by a.attn_date
)
ORDER BY
start_date) OTL

You might also like