1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.hr.time.assignment.validation;
17
18
19 import org.kuali.hr.core.document.question.KpmeEffectiveDatePromptBase;
20 import org.kuali.hr.time.assignment.Assignment;
21 import org.kuali.hr.time.assignment.AssignmentDescriptionKey;
22 import org.kuali.hr.time.assignment.service.AssignmentService;
23 import org.kuali.hr.time.service.base.TkServiceLocator;
24 import org.kuali.hr.time.util.TKUtils;
25 import org.kuali.rice.krad.bo.PersistableBusinessObject;
26
27 public class AssignmentEffectiveDatePrompt extends KpmeEffectiveDatePromptBase {
28 @Override
29 protected boolean futureEffectiveDateExists(PersistableBusinessObject pbo) {
30 Assignment assignment = (Assignment)pbo;
31
32 AssignmentDescriptionKey key = new AssignmentDescriptionKey(assignment);
33
34 AssignmentService assignmentService = TkServiceLocator.getAssignmentService();
35
36 Assignment lastAssignment = assignmentService.getAssignment(assignment.getPrincipalId(), key, TKUtils.END_OF_TIME);
37 if (lastAssignment == null) {
38 return false;
39 }
40 return TKUtils.getTimelessDate(lastAssignment.getEffectiveDate()).after(TKUtils.getTimelessDate(assignment.getEffectiveDate()));
41 }
42 }