1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.core.principal.service;
17
18 import java.util.List;
19
20 import org.joda.time.LocalDate;
21 import org.kuali.kpme.core.principal.PrincipalHRAttributes;
22 import org.springframework.cache.annotation.Cacheable;
23
24 public interface PrincipalHRAttributesService {
25
26
27
28
29
30
31 @Cacheable(value= PrincipalHRAttributes.CACHE_NAME, key="'principalId=' + #p0 + '|' + 'asOfDate=' + #p1")
32 public PrincipalHRAttributes getPrincipalCalendar(String principalId, LocalDate asOfDate);
33
34
35
36
37
38
39
40 @Cacheable(value= PrincipalHRAttributes.CACHE_NAME, key="'payCalendarName=' + #p0 + '|' + 'asOfDate=' + #p1")
41 public List<PrincipalHRAttributes> getActiveEmployeesForPayCalendar(String payCalendarName, LocalDate asOfDate);
42
43
44
45
46
47
48
49 @Cacheable(value= PrincipalHRAttributes.CACHE_NAME, key="'leaveCalendarName=' + #p0 + '|' + 'asOfDate=' + #p1")
50 public List<PrincipalHRAttributes> getActiveEmployeesForLeaveCalendar(String leaveCalendarName, LocalDate asOfDate);
51
52
53
54
55
56
57
58
59 @Cacheable(value= PrincipalHRAttributes.CACHE_NAME, key="'leaveCalendarName=' + #p0 + '|' + 'asOfDate=' + #p1")
60 public List<String> getActiveEmployeesIdForLeaveCalendarAndIdList(String leaveCalendarName, List<String> pidList, LocalDate asOfDate);
61
62
63
64
65
66
67
68
69 @Cacheable(value= PrincipalHRAttributes.CACHE_NAME, key="'timeCalendarName=' + #p0 + '|' + 'asOfDate=' + #p1")
70 public List<String> getActiveEmployeesIdForTimeCalendarAndIdList(String timeCalendarName, List<String> pidList, LocalDate asOfDate);
71
72
73
74
75
76
77
78
79 @Cacheable(value= PrincipalHRAttributes.CACHE_NAME, key="'leavePlan=' + #p0 + '|' + 'asOfDate=' + #p1")
80 public List<PrincipalHRAttributes> getActiveEmployeesForLeavePlan(String leavePlan, LocalDate asOfDate);
81
82
83
84
85
86
87
88 public PrincipalHRAttributes getInactivePrincipalHRAttributes(String principalId, LocalDate asOfDate);
89
90
91
92
93
94 public PrincipalHRAttributes getPrincipalHRAttributes(String hrPrincipalAttributeId);
95
96 public List<PrincipalHRAttributes> getAllActivePrincipalHrAttributesForPrincipalId(String principalId, LocalDate asOfDate);
97
98 public List<PrincipalHRAttributes> getAllInActivePrincipalHrAttributesForPrincipalId(String principalId, LocalDate asOfDate);
99
100 public PrincipalHRAttributes getMaxTimeStampPrincipalHRAttributes(String principalId);
101
102
103
104
105 @Cacheable(value= PrincipalHRAttributes.CACHE_NAME, key="'{getActivePrincipalHrAttributesForRange}' + 'principalId=' + #p0 + '|' + 'startDate=' + #p1 + '|' + 'startDate=' + #p2")
106 public List<PrincipalHRAttributes> getActivePrincipalHrAttributesForRange(String principalId, LocalDate startDate, LocalDate endDate);
107
108
109
110 public List<PrincipalHRAttributes> getInactivePrincipalHRAttributesForRange(String principalId, LocalDate startDate, LocalDate endDate);
111
112
113
114
115
116
117
118
119
120
121 public List<PrincipalHRAttributes> getPrincipalHrAtributes(String userPrincipalId, String principalId, String leavePlan, LocalDate fromEffdt, LocalDate toEffdt, String active, String showHistory);
122
123
124
125
126
127 public List<String> getUniquePayCalendars(List<String> principalIds);
128
129
130
131
132
133 public List<String> getUniqueLeaveCalendars(List<String> principalIds);
134
135 }