Commit 8c1c88ca by Harsh Shah

S12551398 - Zero Role Fit for Express jobs

parent 001949c6
...@@ -6,9 +6,11 @@ import javax.servlet.http.HttpServletRequest; ...@@ -6,9 +6,11 @@ import javax.servlet.http.HttpServletRequest;
import oneit.logging.*; import oneit.logging.*;
import oneit.objstore.*; import oneit.objstore.*;
import oneit.objstore.parser.BusinessObjectParser; import oneit.objstore.parser.BusinessObjectParser;
import oneit.objstore.services.TransactionTask;
import oneit.servlets.forms.*; import oneit.servlets.forms.*;
import oneit.servlets.process.*; import oneit.servlets.process.*;
import oneit.utils.*; import oneit.utils.*;
import oneit.utils.parsers.FieldException;
import performa.intercom.utils.IntercomUtils; import performa.intercom.utils.IntercomUtils;
import performa.orm.*; import performa.orm.*;
import performa.orm.types.ApplicationStatus; import performa.orm.types.ApplicationStatus;
...@@ -27,22 +29,18 @@ public class CompleteApplicationFP extends SaveFP ...@@ -27,22 +29,18 @@ public class CompleteApplicationFP extends SaveFP
if(jobApplication.getStatus() != ObjectStatus.NEW) //getInTransaction will return NULL for NEW object, resulting NPE if(jobApplication.getStatus() != ObjectStatus.NEW) //getInTransaction will return NULL for NEW object, resulting NPE
{ {
jobApplication = (JobApplication) jobApplication.getInTransaction (objTran); jobApplication = (JobApplication) jobApplication.getInTransaction (objTran);
final Long applicationID = jobApplication.getID().longID();
objTran.runInNewTX((ObjectTransaction newTran) ->
{
updateJobApplication(newTran, applicationID);
});
} }
else
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING2, "CompleteApplicationFP Job Application :", jobApplication);
jobApplication.setApplicationStatus(ApplicationStatus.SUBMITTED);
jobApplication.setSubmittedDate(new Date());
AnalysisEngine.analyseAnswers(jobApplication.getCandidate(), jobApplication.getJob().getLevel(), jobApplication.getCompletedAnswers()); //getCompletedAnswers() returns collection now
if(jobApplication.hasFailedEssentialRequirements())
{ {
jobApplication.setApplicationStatus(ApplicationStatus.UNSUITABLE); updateJobApplication(objTran, jobApplication.getID().longID());
} }
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING2, "Job Application Completed", jobApplication);
// restarting process as custom attributes needs to be updated to intercom // restarting process as custom attributes needs to be updated to intercom
completeProcessRestartAndRestoreAttribs(process, request); completeProcessRestartAndRestoreAttribs(process, request);
...@@ -79,4 +77,23 @@ public class CompleteApplicationFP extends SaveFP ...@@ -79,4 +77,23 @@ public class CompleteApplicationFP extends SaveFP
super.validate(process, submission, exceptions, params); super.validate(process, submission, exceptions, params);
} }
//This function was created to update Job Application in separate transaction otherwise it doesn't return submitted ANSWERS properly, and thus Test Analysis doesn't work.
private void updateJobApplication(ObjectTransaction objTran, Long jobApplicationID) throws FieldException
{
JobApplication jobApplication = JobApplication.getJobApplicationByID(objTran, jobApplicationID);
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING2, "CompleteApplicationFP Job Application :", jobApplication);
jobApplication.setApplicationStatus(ApplicationStatus.SUBMITTED);
jobApplication.setSubmittedDate(new Date());
AnalysisEngine.analyseAnswers(jobApplication.getCandidate(), jobApplication.getJob().getLevel(), jobApplication.getCompletedAnswers()); //getCompletedAnswers() returns collection now
if(jobApplication.hasFailedEssentialRequirements())
{
jobApplication.setApplicationStatus(ApplicationStatus.UNSUITABLE);
}
LogMgr.log(JobApplication.LOG, LogLevel.PROCESSING2, "Job Application Completed", jobApplication);
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment