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

Job Services

Model: Job.java
Repository: JobRepository.java
Service: JobServiceImpl.java (interface JobService.java)
Controller: JobController.java
Example URLs:
http://javadev1.yrcw.com:5069/api/v1/job/emplid/0001000

Update URL: (effDate and effsequence are from an existing database row. New data is in POST data.
This includes new effDate andor effsequence)

http://javadev1.yrcw.com:5069/api/v1/job/emplid/0001000/effDate/02-10-1989/effsequence/0

The date format for the effDate is dd-MM-yyyy.


Example 02-10-1989.

Changes for prod deploy:


For testing the insert of a new record, the table PS_JOB in the schema uyrdf7e is used. Before deploying
code to prod, in the Job.java and JobServiceQuery.java classes make sure that the only schema is
PSFT88.

Database table: PSFT88.PS_JOB number of columns: 213


View: PSFT88. YRC_JOB_SERVICE
Public Synonym: YRC_JOB_SERVICE

Service Data items:


Java name Database column Nullable Allow
update
Id ID No No
emplid EMPLID No No
effdt EFFDT No Yes
effseq EFFSEQ No Yes
deptid DEPTID No No
jobcode JOBCODE No No
positionNbr POSITION_NBR No No
emplStatus EMPL_STATUS No Yes
action ACTION No Yes
actionDt ACTION_DT Yes Yes
actionReason ACTION_REASON No Yes
location LOCATION No No
jobEntryDt JOB_ENTRY_DT Yes No
deptEntryDt DEPT_ENTRY_DT Yes No
positionEntryDt POSITION_ENTRY_DT Yes No
shift SHIFT No No
regTemp REG_TEMP No Yes
fullPartTime FULL_PART_TIME No Yes
Job Services

company COMPANY No No
paygroup PAYGROUP No No
emplType EMPL_TYPE No No
holidaySchedule HOLIDAY_SCHEDULE No No
stdHours STD_HOURS No No
officerCd OFFICER_CD No No
emplClass EMPL_CLASS No No
salAdminPlan SAL_ADMIN_PLAN No No
grade GRADE No No
gradeEntryDt GRADE_ENTRY_DT Yes No
step STEP No No
stepEntryDt STEP_ENTRY_DT Yes No
glPayType GL_PAY_TYPE No No
compFrequency COMP_FREQUENCY No No
comprate COMPRATE No No
changeAmt CHANGE_AMT No No
changePct CHANGE_PCT No No
annualRt ANNUAL_RT No No
monthlyRt MONTHLY_RT No No
hourlyRt HOURLY_RT No No
ANNL_BENEF_BASE_RT No No
annlBenefBaseRt
shiftRt SHIFT_RT No No
shiftFactor SHIFT_FACTOR No No
currencyCd CURRENCY_CD No No
setidDept SETID_DEPT No No
setidJobcode SETID_JOBCODE No No
setidLocation SETID_LOCATION No No
flsaStatus FLSA_STATUS No No
eeoClass EEO_CLASS No No
unionCd UNION_CD No No
bargUnit BARG_UNIT No No
unionSeniorityDt UNION_SENIORITY_DT Yes No
reportsTo REPORTS_TO No No
emplStatusDesc PSFT88.EESTAT_XLAT_VW
deptidDesc select dt.setid,dt.deptid,dt.descr
from ps_dept_tbl dt
where eff_status = 'A'
and effdt = (select max(effdt) from
ps_dept_tbl x
where x.eff_status = 'A'
and x.setid = dt.setid
and x.deptid = dt.deptid
)
jobcodeDesc select jt.setid, jt.jobcode, jt.descr
from ps_jobcode_tbl jt
Job Services

where jt.eff_status = 'A'


and effdt = (select max(effdt) from
ps_jobcode_tbl x
where x.eff_status = 'A'
and x.setid = jt.setid
and x.jobcode = jt.jobcode
)
locationDesc select lt.setid, lt.location, lt.descr
from ps_location_tbl lt
where lt.eff_status = 'A'
and lt.effdt = (select max(x.effdt) from
ps_location_tbl x
where x.eff_status = 'A'
and x.setid = lt.setid
and x.location = lt.location
)
emplTypeDesc PSFT88.EETYPE_XLAT_VW
emplClassDesc select i.fieldvalue,trim(i.xlatlongname) as descr
from PSFT88.PSXLATITEM i
where eff_status = 'A'
and trim(FIELDNAME) = 'EMPL_CLASS'
and effdt = (select max(effdt)
from PSFT88.PSXLATITEM si
where si.eff_status = 'A'
and trim(si.FIELDNAME) =
'EMPL_CLASS'
and si.fieldvalue = i.fieldvalue)

SQL for returning data from table:


select rowidtochar(j.rowid) as ID, EMPLID
,EFFDT, EFFSEQ,DEPTID,JOBCODE
,POSITION_NBR,EMPL_STATUS
,ACTION,ACTION_DT,ACTION_REASON
,LOCATION,JOB_ENTRY_DT,DEPT_ENTRY_DT,POSITION_ENTRY_DT
,SHIFT,REG_TEMP,FULL_PART_TIME,COMPANY,PAYGROUP
,EMPL_TYPE,HOLIDAY_SCHEDULE,STD_HOURS,OFFICER_CD
,EMPL_CLASS,SAL_ADMIN_PLAN,GRADE,GRADE_ENTRY_DT
,STEP,STEP_ENTRY_DT,GL_PAY_TYPE,COMP_FREQUENCY
,COMPRATE,CHANGE_AMT,CHANGE_PCT,ANNUAL_RT
,MONTHLY_RT,HOURLY_RT,ANNL_BENEF_BASE_RT,SHIFT_RT,SHIFT_FACTOR
,CURRENCY_CD,SETID_DEPT,SETID_JOBCODE,SETID_LOCATION
,FLSA_STATUS,EEO_CLASS,UNION_CD,BARG_UNIT,UNION_SENIORITY_DT
,REPORTS_TO
from psft88.ps_job
Job Services

SQL for returning data from table with translations:


select rowidtochar(j.rowid) as ID, trim(EMPLID) as EMPLID
,j.EFFDT, j.EFFSEQ,trim(j.DEPTID) as DEPTID,trim(j.JOBCODE) as JOBCODE
,trim(POSITION_NBR) as POSITION_NBR,j.EMPL_STATUS
,trim(ACTION) as ACTION,ACTION_DT,trim(ACTION_REASON) as ACTION_REASON
,trim(j.LOCATION) as LOCATION,JOB_ENTRY_DT,DEPT_ENTRY_DT,POSITION_ENTRY_DT
,SHIFT,REG_TEMP,FULL_PART_TIME,trim(COMPANY) as COMPANY,trim(PAYGROUP) as PAYGROUP
,j.EMPL_TYPE,HOLIDAY_SCHEDULE,STD_HOURS,OFFICER_CD
,EMPL_CLASS,SAL_ADMIN_PLAN,GRADE,GRADE_ENTRY_DT
,STEP,STEP_ENTRY_DT,GL_PAY_TYPE,COMP_FREQUENCY
,COMPRATE,CHANGE_AMT,CHANGE_PCT,ANNUAL_RT
,MONTHLY_RT,HOURLY_RT,ANNL_BENEF_BASE_RT,SHIFT_RT,SHIFT_FACTOR
,CURRENCY_CD,SETID_DEPT,SETID_JOBCODE,SETID_LOCATION
,FLSA_STATUS,EEO_CLASS,UNION_CD,BARG_UNIT,UNION_SENIORITY_DT
,REPORTS_TO
,trim(dept.descr) as deptidDesc
,trim(jobc.descr) as jobcodeDesc
,trim(loc.descr) as locationDesc
,trim(sv.descr) as emplStatusDesc
,trim(st.DESCR) as emplTypeDesc
,trim(ec.descr) as emplClassDesc
from psft88.ps_job j
left outer join PSFT88.PS_EESTAT_XLAT_VW sv
on sv.EFF_STATUS = 'A'
and j.EMPL_STATUS = sv.EMPL_STATUS
left outer join PSFT88.PS_EETYPE_XLAT_VW st
on sv.EFF_STATUS = 'A'
and j.EMPL_TYPE = st.EMPL_TYPE
left outer join (select i.fieldvalue,trim(i.xlatlongname) as descr
from PSFT88.PSXLATITEM i
where eff_status = 'A'
and trim(FIELDNAME) = 'EMPL_CLASS'
and effdt = (select max(effdt)
from PSFT88.PSXLATITEM si
where si.eff_status = 'A'
and trim(si.FIELDNAME) = 'EMPL_CLASS'
and si.fieldvalue = i.fieldvalue)
) ec
on j.EMPL_CLASS = ec.fieldvalue
left outer join (select dt.setid,dt.deptid,dt.descr
from ps_dept_tbl dt
where eff_status = 'A'
and effdt = (select max(effdt) from ps_dept_tbl x
where x.eff_status = 'A'
and x.setid = dt.setid
and x.deptid = dt.deptid
)
) dept
Job Services

on dept.setid = j.SETID_DEPT
and dept.deptid = j.DEPTID
left outer join (select jt.setid, jt.jobcode, jt.descr
from ps_jobcode_tbl jt
where jt.eff_status = 'A'
and effdt = (select max(effdt) from ps_jobcode_tbl x
where x.eff_status = 'A'
and x.setid = jt.setid
and x.jobcode = jt.jobcode
)
) jobc
on jobc.setid = j.SETID_JOBCODE
and jobc.jobcode = j.JOBCODE

left outer join (select lt.setid, lt.location, lt.descr


from ps_location_tbl lt
where lt.eff_status = 'A'
and lt.effdt = (select max(x.effdt) from ps_location_tbl x
where x.eff_status = 'A'
and x.setid = lt.setid
and x.location = lt.location
)
) loc
on loc.setid = j.SETID_LOCATION
and loc.location = j.LOCATION;

You might also like