Commit cb885c2c by nilu

S43323471 # Client - Incoming Issues (raised by Client) #Want to hide disabled…

S43323471 # Client - Incoming Issues (raised by Client) #Want to hide disabled questions from applicants
parent e8d026ac
...@@ -6,6 +6,7 @@ import java.util.Collection; ...@@ -6,6 +6,7 @@ import java.util.Collection;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Set;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import oneit.logging.LoggingArea; import oneit.logging.LoggingArea;
import oneit.objstore.MessageSource; import oneit.objstore.MessageSource;
...@@ -113,22 +114,40 @@ public class Candidate extends BaseCandidate ...@@ -113,22 +114,40 @@ public class Candidate extends BaseCandidate
public boolean cultureCompleted(Job job) public boolean cultureCompleted(Job job)
{ {
int allAnswersCount = getCultureCriteriaAnswersCount(); if(!job.showCultureCriteriaSection())
if(job.showCultureCriteriaSection() && allAnswersCount == job.getCultureCriteriasCount())
{ {
Filter filter = CultureCriteriaAnswer.SearchByAll().andSelectedQuestion(new IsNotNullFilter<>()); return false;
Collection selectedAnswers = pipelineCandidate().toCultureCriteriaAnswers(filter).vals();
return (selectedAnswers.size() == allAnswersCount);
} }
return false; Set<CultureCriteriaAnswer> selectedAnswers = pipelineCandidate().toCultureCriteriaAnswers(CultureCriteriaAnswer.SearchByAll().andSelectedQuestion(new IsNotNullFilter<>())).uniqueVals();
Set<CultureElement> answeredElements = CultureCriteriaAnswer.pipesCultureCriteriaAnswer(selectedAnswers).toCultureElement().uniqueVals();
Set<CultureElement> applicableElements = CultureCriteria.pipesCultureCriteria(job.getApplicableCultureSet()).toCultureElement().uniqueVals();
return answeredElements.containsAll(applicableElements);
} }
public double cultureCompletedPercentage(Job job) public double cultureCompletedPercentage(Job job)
{ {
return job.showCultureCriteriaSection() ? (getCultureCriteriaAnswersCount() * 100) / job.getCultureCriteriasCount() : 0d; return job.showCultureCriteriaSection() ? (getApplicableCultureAnswerCount(job) * 100) / job.getApplicableCultureCount(): 0d;
}
public int getApplicableCultureAnswerCount(Job job)
{
int applicableAnswerCount = 0;
for(CultureCriteria cultureCriteria : job.getApplicableCultureSet())
{
for(CultureCriteriaAnswer answer : getCultureCriteriaAnswersSet())
{
if(CollectionUtils.equals(answer.getCultureElement(), cultureCriteria.getCultureElement()))
{
applicableAnswerCount+= 1;
break;
}
}
}
return applicableAnswerCount;
} }
public double roleFitCompletedPercentage(Job job) public double roleFitCompletedPercentage(Job job)
......
package performa.orm; package performa.orm;
import java.util.SortedSet;
import oneit.utils.CollectionUtils; import oneit.utils.CollectionUtils;
...@@ -20,16 +19,13 @@ public class CultureCriteriaAnswer extends BaseCultureCriteriaAnswer ...@@ -20,16 +19,13 @@ public class CultureCriteriaAnswer extends BaseCultureCriteriaAnswer
{ {
CultureCriteria criteria = null; CultureCriteria criteria = null;
if(job!=null) if(job != null)
{ {
SortedSet<CultureCriteria> cultureCriteriasSet = job.getCultureCriteriasSet(); for(CultureCriteria cc: job.getApplicableCultureSet())
for(CultureCriteria cc: cultureCriteriasSet)
{ {
if(CollectionUtils.equals(cc.getCultureElement(), getCultureElement())) if(CollectionUtils.equals(cc.getCultureElement(), getCultureElement()))
{ {
criteria = cc; criteria = cc;
break; break;
} }
} }
......
...@@ -806,4 +806,17 @@ public class Job extends BaseJob ...@@ -806,4 +806,17 @@ public class Job extends BaseJob
return getOccupation(); return getOccupation();
} }
public int getApplicableCultureCount()
{
Filter<CultureCriteria> filter = CultureCriteria.SearchByAll().andIsApplicable(new EqualsFilter<>(Boolean.TRUE));
return pipelineJob().toCultureCriterias(filter).uniqueVals().size();
}
public Set<CultureCriteria> getApplicableCultureSet()
{
Filter<CultureCriteria> filter = CultureCriteria.SearchByAll().andIsApplicable(new EqualsFilter<>(Boolean.TRUE));
return pipelineJob().toCultureCriterias(filter).uniqueVals();
}
} }
\ No newline at end of file
...@@ -174,7 +174,7 @@ public class JobApplication extends BaseJobApplication ...@@ -174,7 +174,7 @@ public class JobApplication extends BaseJobApplication
return safeRedirect; return safeRedirect;
} }
for(CultureCriteria cultureCriteria : getJob().getCultureCriteriasSet()) for(CultureCriteria cultureCriteria : getJob().getApplicableCultureSet())
{ {
boolean available = false; boolean available = false;
......
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