1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.core.assignment.validation;
17
18 import org.kuali.kpme.core.api.assignment.Assignment;
19 import org.kuali.kpme.core.api.assignment.AssignmentDescriptionKey;
20 import org.kuali.kpme.core.assignment.AssignmentBo;
21 import org.kuali.kpme.core.bo.HrBusinessObject;
22 import org.kuali.kpme.core.service.HrServiceLocator;
23 import org.kuali.kpme.core.util.TKUtils;
24 import org.kuali.kpme.core.web.KPMEHrObjectNewerVersionPromptBase;
25
26 public class AssignmentEffectiveDatePrompt extends KPMEHrObjectNewerVersionPromptBase {
27
28 @Override
29 protected boolean doesNewerVersionExist(HrBusinessObject pbo) {
30 boolean futureEffectiveDateExists = false;
31
32 AssignmentBo assignment = (AssignmentBo) pbo;
33 AssignmentDescriptionKey key = new AssignmentDescriptionKey(assignment);
34 Assignment lastAssignment = HrServiceLocator.getAssignmentService().getAssignment(assignment.getPrincipalId(), key, TKUtils.END_OF_TIME);
35 if (lastAssignment != null && lastAssignment.getEffectiveLocalDate() != null && assignment.getEffectiveLocalDate() != null) {
36 futureEffectiveDateExists = lastAssignment.getEffectiveLocalDate().isAfter(assignment.getEffectiveLocalDate());
37 }
38
39 return futureEffectiveDateExists;
40 }
41
42 }