Commit b6006b3d by chenith Committed by Harsh Shah

Added job application complete time calculation.

parent 534a3e12
...@@ -11,6 +11,8 @@ import oneit.utils.CollectionUtils; ...@@ -11,6 +11,8 @@ import oneit.utils.CollectionUtils;
import oneit.utils.ObjectTransform; import oneit.utils.ObjectTransform;
import oneit.utils.filter.CollectionFilter; import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter; import oneit.utils.filter.Filter;
import oneit.utils.math.NullArith;
import oneit.utils.math.Rounding;
import oneit.utils.parsers.FieldException; import oneit.utils.parsers.FieldException;
import performa.orm.types.*; import performa.orm.types.*;
import performa.utils.AnalysisEngine; import performa.utils.AnalysisEngine;
...@@ -272,7 +274,7 @@ public class JobApplication extends BaseJobApplication ...@@ -272,7 +274,7 @@ public class JobApplication extends BaseJobApplication
} }
public int getCriteriaPercentage () public int getCriteriaPercentage () //REQ
{ {
return AnalysisEngine.getRequirementFit(getAssessmentCriteriaAnswersSet()).get(null).intValue(); return AnalysisEngine.getRequirementFit(getAssessmentCriteriaAnswersSet()).get(null).intValue();
} }
...@@ -377,4 +379,70 @@ public class JobApplication extends BaseJobApplication ...@@ -377,4 +379,70 @@ public class JobApplication extends BaseJobApplication
} }
return factorClasses; return factorClasses;
} }
//to get pending time to complete job application
public Integer getRemainingTime()
{
//req-07 min
//cul-07 min
//req-26 min
int remainingTime = 0;
//REQ
if(getJob()!=null && getJob().getIncludeAssessmentCriteria()==Boolean.TRUE)
{
if(!selectionCompleted())
{
remainingTime += 7;
}
}
if(!cultureCompleted() && getAlreadyCompletedApplicationForCulture()==null)
{
remainingTime += 7;
}
//ROLE
remainingTime += getRoleTestRemainingTime() ;
if(!assessmentCompleted() && getAlreadyCompletedApplicationForRole()==null)
{
remainingTime += 6;
}
return remainingTime;
}
//to get remaining time for role test
public Integer getRoleTestRemainingTime()
{
int remainingTime = 20;
if(assessmentCompleted() || getAlreadyCompletedApplicationForRole()!=null)
{
remainingTime -= 20;
}
else //partially completed test for role
{
int allAnswersCount = getJob().getAllLeftQuestions(Arrays.asList(Question.searchAll(getTransaction()))).size();
if(allAnswersCount > 0)
{
Filter filter = Answer.SearchByAll().andAnswerNo(new IsNotNullFilter<>());
Collection selectedAnswers = pipelineJobApplication().toProfileAssessmentAnswers(filter).vals();
if(selectedAnswers!=null && selectedAnswers.size()>0)
{
Double answerrate = NullArith.divide(selectedAnswers.size(), allAnswersCount);
remainingTime -= Rounding.roundDouble( NullArith.multiply(answerrate, 20), 0);
}
}
}
return remainingTime;
}
} }
\ No newline at end of file
...@@ -27,11 +27,6 @@ ...@@ -27,11 +27,6 @@
jobApplication = JobApplication.createNewApplication(candidate, job); jobApplication = JobApplication.createNewApplication(candidate, job);
} }
if(!jobApplication.isIncludeAssessmentCriteria())
{
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
}
//to store already completed culture or role data //to store already completed culture or role data
Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture"); Boolean alreadyCompletedCulture = (Boolean) process.getAttribute("AlreadyCompletedCulture");
Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole"); Boolean alreadyCompletedRole = (Boolean) process.getAttribute("AlreadyCompletedRole");
...@@ -52,6 +47,34 @@ ...@@ -52,6 +47,34 @@
Boolean isCultureComplete = jobApplication.cultureCompleted() || alreadyCompletedCulture; Boolean isCultureComplete = jobApplication.cultureCompleted() || alreadyCompletedCulture;
Boolean isAssesmentComplete = jobApplication.assessmentCompleted() || alreadyCompletedRole; Boolean isAssesmentComplete = jobApplication.assessmentCompleted() || alreadyCompletedRole;
if(!jobApplication.isIncludeAssessmentCriteria())
{
if(!isCultureComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
}
else if(!isAssesmentComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
}
}
else
{
if(!isSelectionComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "SelectionCriteria");
}
else if(!isCultureComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "WorkplaceCulture");
}
else if(!isAssesmentComplete)
{
nextPage = WebUtils.getSamePageInRenderMode(request, "JobMatchAssessment");
}
}
process.setAttribute("JobApplication", jobApplication); process.setAttribute("JobApplication", jobApplication);
%> %>
<div class="welcome-aust-logo"><img src="images/australia-post.png" /></div> <div class="welcome-aust-logo"><img src="images/australia-post.png" /></div>
...@@ -72,7 +95,22 @@ ...@@ -72,7 +95,22 @@
<div class="<%= isSelectionComplete ? "app-outline-complete-icon" : "app-outline-selection-icon" %>"></div> <div class="<%= isSelectionComplete ? "app-outline-complete-icon" : "app-outline-selection-icon" %>"></div>
</div> </div>
<div class="app-block-title">Your experience</div> <div class="app-block-title">Your experience</div>
<div class="estimated-time">Estimated time to complete: <span>5 mins</span></div> <div class="estimated-time">
<%
if(isSelectionComplete)
{
%>
<span>Completed</span>
<%
}
else
{
%>
Estimated time to complete: <span>5 mins</span>
<%
}
%>
</div>
<p> <p>
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Aenean consectetur adipiscing elit. Aenean
...@@ -89,7 +127,22 @@ ...@@ -89,7 +127,22 @@
<div class="<%= isCultureComplete ? "app-outline-complete-icon" : "app-outline-culture-icon" %>"></div> <div class="<%= isCultureComplete ? "app-outline-complete-icon" : "app-outline-culture-icon" %>"></div>
</div> </div>
<div class="app-block-title">Your preferences about where you work</div> <div class="app-block-title">Your preferences about where you work</div>
<div class="estimated-time">Estimated time to complete: <span>5 mins</span></div> <div class="estimated-time">
<%
if(isCultureComplete)
{
%>
<span>Completed</span>
<%
}
else
{
%>
Estimated time to complete: <span>5 mins</span>
<%
}
%>
</div>
<p> <p>
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Aenean consectetur adipiscing elit. Aenean
...@@ -103,7 +156,22 @@ ...@@ -103,7 +156,22 @@
<div class="<%= isAssesmentComplete ? "app-outline-complete-icon" : "app-outline-assesmet-icon" %>"></div> <div class="<%= isAssesmentComplete ? "app-outline-complete-icon" : "app-outline-assesmet-icon" %>"></div>
</div> </div>
<div class="app-block-title">Your work preference and beliefs</div> <div class="app-block-title">Your work preference and beliefs</div>
<div class="estimated-time">Estimated time to complete: <span>20 mins</span></div> <div class="estimated-time">
<%
if(isAssesmentComplete)
{
%>
<span>Completed</span>
<%
}
else
{
%>
Estimated time to complete: <span><oneit:toString value="<%= jobApplication.getRoleTestRemainingTime() %>" mode="EscapeHTML"/> mins</span>
<%
}
%>
</div>
<p> <p>
Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet,
consectetur adipiscing elit. Aenean consectetur adipiscing elit. Aenean
...@@ -130,7 +198,7 @@ ...@@ -130,7 +198,7 @@
if(!(isSelectionComplete && isCultureComplete && isAssesmentComplete)) if(!(isSelectionComplete && isCultureComplete && isAssesmentComplete))
{ {
%> %>
Total time to complete: Approximately 40 minutes Total time to complete: Approximately <oneit:toString value="<%= jobApplication.getRemainingTime() %>" mode="EscapeHTML"/> minutes
<% <%
} }
%> %>
......
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