1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.hr.time.clock.location.service;
17
18 import java.sql.Date;
19 import java.util.List;
20
21 import org.kuali.hr.time.clock.location.ClockLocationRule;
22 import org.kuali.hr.time.clocklog.ClockLog;
23 import org.springframework.cache.annotation.Cacheable;
24
25 public interface ClockLocationRuleService {
26
27
28
29
30
31
32
33
34
35 @Cacheable(value= ClockLocationRule.CACHE_NAME,
36 key="'dept=' + #p0" +
37 "+ '|' + 'workArea=' + #p1" +
38 "+ '|' + 'principalId=' + #p2" +
39 "+ '|' + 'jobNumber=' + #p3" +
40 "+ '|' + 'asOfDate=' + #p4")
41 public List<ClockLocationRule> getClockLocationRule(String dept, Long workArea,
42 String principalId, Long jobNumber, Date asOfDate);
43
44
45
46
47
48 public void processClockLocationRule(ClockLog clockLog, Date asOfDate);
49
50
51
52
53
54
55
56
57
58
59 @Cacheable(value= ClockLocationRule.CACHE_NAME,
60 key="'{getNewerVersionClockLocationRule}' + 'dept=' + #p0" +
61 "+ '|' + 'workArea=' + #p1" +
62 "+ '|' + 'principalId=' + #p2" +
63 "+ '|' + 'jobNumber=' + #p3" +
64 "+ '|' + 'asOfDate=' + #p4")
65 public List<ClockLocationRule> getNewerVersionClockLocationRule(String dept, Long workArea, String principalId,
66 Long jobNumber, Date asOfDate);
67
68
69
70
71
72 @Cacheable(value= ClockLocationRule.CACHE_NAME, key="'tkClockLocationRuleId=' + #p0")
73 public ClockLocationRule getClockLocationRule(String tkClockLocationRuleId);
74
75
76
77
78
79
80 public void populateIPAddressesForCLR(ClockLocationRule clr);
81
82 List<ClockLocationRule> getClockLocationRules(Date fromEffdt, Date toEffdt, String principalId, String jobNumber,
83 String dept, String workArea, String active, String showHistory);
84 }