I am new in spring boot technology. Recently I have started a project to process data from complex oracle sql query. Here is my query...
SELECT ROWNUM SRL_NUM,
TRUNC (
( (ACT_OUT_TIME - ACT_IN_TIME)) * 24 * 60 * 60 / (24 * 60 * 60))
|| ':'
|| TRUNC (
MOD ( ( (ACT_OUT_TIME - ACT_IN_TIME)) * 24 * 60 * 60,
(24 * 60 * 60))
/ (60 * 60))
|| ':'
|| TRUNC (
MOD ( ( (ACT_OUT_TIME - ACT_IN_TIME)) * 24 * 60 * 60, (60 * 60))
/ 60)
|| ':'
|| TRUNC (MOD ( ( (ACT_OUT_TIME - ACT_IN_TIME)) * 24 * 60 * 60, 60))
W_HOUR,
TO_CHAR (ACT_IN_TIME, 'HH:MI:SS AM ') ACT_IN_TIME,
TO_CHAR (ACT_OUT_TIME, 'HH:MI:SS AM ') ACT_OUT_TIME,
EMPLOYEE_NUMBER,
EMPLOYMENT_CATEGORY,
DEPT,
GROUP_NAME,
WORKING_DATE,
WORKING_DAY,
CASE
WHEN STATUS = 'P' THEN 'Present'
WHEN STATUS = 'H' THEN 'Holiday'
WHEN STATUS = 'LV' THEN 'Leave'
WHEN STATUS = 'A' THEN 'Absent'
WHEN STATUS = 'L' THEN 'Late'
WHEN STATUS = 'O' THEN 'Offday'
ELSE NULL
END
AS STATUS,
Leave_Type,
LOCATION_CODE,
PAYROLL_NAME,
VAL
FROM ( SELECT DISTINCT
TO_DATE (ACT_IN_TIME, 'DD-MON-YYYY HH24:MI:SS ') ACT_IN_TIME,
TO_DATE (ACT_OUT_TIME, 'DD-MON-YYYY HH24:MI:SS ') ACT_OUT_TIME,
( PAPF.FIRST_NAME
|| ' '
|| PAPF.MIDDLE_NAMES
|| ' '
|| PAPF.LAST_NAME)
AS EMP_NAME,
PAPF.EMPLOYEE_NUMBER,
FLV.MEANING EMPLOYMENT_CATEGORY,
HAOU.NAME DEPT,
-- pj.NAME,
PPG.GROUP_NAME,
XESD.WORKING_DATE,
TO_CHAR (XESD.WORKING_DATE, 'Day') WORKING_DAY,
XESD.STATUS,
paat.name Leave_Type,
HL.LOCATION_CODE,
PAYROLL.PAYROLL_NAME,
DECODE (FLV2.MEANING,
'Sales Field Officer', 'Sales',
'Hospital Employee', 'Hospital',
NULL)
VAL
FROM XXSSGIL.XXSSGIL_EMP_SHIFT_PATT_ALLOC XESP,
XXSSGIL.XXSSGIL_SHIFT_PATTERN_DEFN XSPD,
XXSSGIL.XXSSGIL_EMP_SHIFT_ALLOC_DET XESD,
APPS.PER_ALL_PEOPLE_F PAPF,
--per_jobs pj,
APPS.PER_ALL_ASSIGNMENTS_F PAAF,
APPS.HR_LOCATIONS HL,
APPLSYS.FND_LOOKUP_VALUES FLV,
APPS.HR_ALL_ORGANIZATION_UNITS HAOU,
APPS.PAY_PEOPLE_GROUPS PPG,
APPS.PAY_ALL_PAYROLLS_F PAYROLL,
APPS.PER_PAY_BASES PPB,
APPS.PER_ABSENCE_ATTENDANCES PAT,
APPS.PER_ABSENCE_ATTENDANCE_TYPES PAAT,
APPLSYS.FND_LOOKUP_VALUES FLV2
WHERE PAPF.PERSON_ID = XESP.PERSON_ID
AND XESP.CREATION_DATE BETWEEN PAPF.EFFECTIVE_START_DATE
AND PAPF.EFFECTIVE_END_DATE
AND PAAF.PERSON_ID = PAPF.PERSON_ID
AND HL.LOCATION_ID(+) = PAAF.LOCATION_ID
AND FLV.LOOKUP_CODE(+) = PPB.NAME
AND UPPER (FLV.LOOKUP_TYPE(+)) =
UPPER ('SSGIL_BD_EMPL_CAT_SALARY_BASIS')
AND FLV.ENABLED_FLAG(+) = 'Y'
AND HAOU.ORGANIZATION_ID = PAAF.ORGANIZATION_ID
AND PPG.PEOPLE_GROUP_ID(+) = PAAF.PEOPLE_GROUP_ID
AND PPG.ENABLED_FLAG(+) = 'Y'
AND PPG.END_DATE_ACTIVE(+) IS NULL
AND XSPD.PATTERN_NUMBER = XESP.SHIFT_PATTERN
AND XESD.PATT_ALLOC_ID = XESP.PATT_ALLOC_ID
AND PAAF.CREATION_DATE BETWEEN PAYROLL.EFFECTIVE_START_DATE(+)
AND PAYROLL.EFFECTIVE_END_DATE(+)
AND PAYROLL.PAYROLL_ID(+) = PAAF.PAYROLL_ID
AND XESD.WORKING_DATE BETWEEN XESP.START_DATE
AND XESP.END_DATE
AND PAAF.PAY_BASIS_ID = PPB.PAY_BASIS_ID
AND XESD.PERSON_ID = PAT.PERSON_ID(+)
AND XESD.WORKING_DATE BETWEEN PAT.DATE_START(+)
AND PAT.DATE_END(+)
AND PAT.ABSENCE_ATTENDANCE_TYPE_ID =
PAAT.ABSENCE_ATTENDANCE_TYPE_ID(+)
AND PAAT.DATE_END(+) IS NULL
AND FLV2.LOOKUP_TYPE(+) = 'EMPLOYEE_CATG'
AND FLV2.ENABLED_FLAG(+) = 'Y'
AND FLV2.END_DATE_ACTIVE(+) IS NULL
AND FLV2.MEANING(+) IN
('Sales Field Officer', 'Hospital Employee')
AND PAAF.EMPLOYEE_CATEGORY = FLV2.LOOKUP_CODE(+)
AND XESD.WORKING_DATE BETWEEN PAAF.EFFECTIVE_START_DATE
AND PAAF.EFFECTIVE_END_DATE
AND PAAF.PERSON_ID = XESD.PERSON_ID
AND TRUNC (XESD.WORKING_DATE) BETWEEN '26-Feb-2024'
AND '25-Mar-2024' --:P_DATE_TO
AND PAPF.EMPLOYEE_NUMBER = :P_EMPLOYEE_ID
AND CASE
WHEN STATUS = 'P' THEN 'Present'
WHEN STATUS = 'H' THEN 'Holiday'
WHEN STATUS = 'LV' THEN 'Leave'
WHEN STATUS = 'A' THEN 'Absent'
WHEN STATUS = 'L' THEN 'Late'
WHEN STATUS = 'O' THEN 'Offday'
ELSE NULL
END =
NVL (
:P_STATUS,
CASE
WHEN STATUS = 'P' THEN 'Present'
WHEN STATUS = 'H' THEN 'Holiday'
WHEN STATUS = 'LV' THEN 'Leave'
WHEN STATUS = 'A' THEN 'Absent'
WHEN STATUS = 'L' THEN 'Late'
WHEN STATUS = 'O' THEN 'Offday'
ELSE NULL
END)
ORDER BY XESD.WORKING_DATE, PAPF.EMPLOYEE_NUMBER ASC)
In this query there are many table like subquery are used to fetch data. This table give below type result..

I want to process this table data and make api to fetch all the table data. Now, how to process this query using spring boot?