1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.kpme.tklm.time.rules.overtime.daily.service;
17
18 import java.util.List;
19
20 import org.joda.time.LocalDate;
21 import org.kuali.kpme.tklm.time.rules.overtime.daily.DailyOvertimeRule;
22 import org.kuali.kpme.tklm.time.timesheet.TimesheetDocument;
23 import org.kuali.kpme.tklm.time.util.TkTimeBlockAggregate;
24 import org.springframework.cache.annotation.CacheEvict;
25 import org.springframework.cache.annotation.Cacheable;
26
27 public interface DailyOvertimeRuleService {
28
29
30
31
32 @CacheEvict(value={DailyOvertimeRule.CACHE_NAME}, allEntries = true)
33 public void saveOrUpdate(DailyOvertimeRule dailyOvertimeRule);
34
35
36
37
38 @CacheEvict(value={DailyOvertimeRule.CACHE_NAME}, allEntries = true)
39 public void saveOrUpdate(List<DailyOvertimeRule> dailyOvertimeRules);
40
41
42
43
44
45
46
47
48
49
50 @Cacheable(value= DailyOvertimeRule.CACHE_NAME,
51 key="'location=' + #p0" +
52 "+ '|' + 'paytype=' + #p1" +
53 "+ '|' + 'dept=' + #p2" +
54 "+ '|' + 'workArea=' + #p3" +
55 "+ '|' + 'asOfDate=' + #p4")
56 public DailyOvertimeRule getDailyOvertimeRule(String location, String paytype, String dept, Long workArea, LocalDate asOfDate);
57
58
59
60
61
62 public void processDailyOvertimeRules(TimesheetDocument timesheetDocument, TkTimeBlockAggregate aggregate);
63
64
65
66
67
68 @Cacheable(value= DailyOvertimeRule.CACHE_NAME, key="'tkDailyOvertimeRuleId=' + #p0")
69 public DailyOvertimeRule getDailyOvertimeRule(String tkDailyOvertimeRuleId);
70
71 public List<DailyOvertimeRule> getDailyOvertimeRules(String userPrincipalId, String dept, String workArea, String location, LocalDate fromEffdt, LocalDate toEffdt, String active, String showHist);
72
73 }