1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.hr.time.shiftdiff.rule.service;
17
18 import java.sql.Date;
19 import java.util.List;
20
21 import org.kuali.hr.time.shiftdiff.rule.ShiftDifferentialRule;
22 import org.kuali.hr.time.timesheet.TimesheetDocument;
23 import org.kuali.hr.time.util.TkTimeBlockAggregate;
24 import org.springframework.cache.annotation.CacheEvict;
25 import org.springframework.cache.annotation.Cacheable;
26
27 public interface ShiftDifferentialRuleService {
28
29
30
31
32 @CacheEvict(value={ShiftDifferentialRule.CACHE_NAME}, allEntries = true)
33 public void saveOrUpdate(List<ShiftDifferentialRule> shiftDifferentialRules);
34
35
36
37
38 @CacheEvict(value={ShiftDifferentialRule.CACHE_NAME}, allEntries = true)
39 public void saveOrUpdate(ShiftDifferentialRule shiftDifferentialRule);
40
41
42
43
44
45 @Cacheable(value= ShiftDifferentialRule.CACHE_NAME, key="'tkShiftDifferentialRuleId=' + #p0")
46 public ShiftDifferentialRule getShiftDifferentialRule(String tkShiftDifferentialRuleId);
47
48
49
50
51
52
53
54
55
56 @Cacheable(value= ShiftDifferentialRule.CACHE_NAME,
57 key="'location=' + #p0" +
58 "+ '|' + 'hrSalGroup=' + #p1" +
59 "+ '|' + 'payGrade=' + #p2" +
60 "+ '|' + 'pyCalendarGroup=' + #p3" +
61 "+ '|' + 'asOfDate=' + #p4")
62 public List<ShiftDifferentialRule> getShiftDifferentalRules(String location,
63 String hrSalGroup, String payGrade, String pyCalendarGroup, Date asOfDate);
64
65
66
67
68
69 public void processShiftDifferentialRules(TimesheetDocument timesheetDocument, TkTimeBlockAggregate aggregate);
70
71 }