1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  package org.kuali.kpme.tklm.time.rules.overtime.weekly.service;
17  
18  import java.util.List;
19  
20  import org.joda.time.LocalDate;
21  import org.kuali.kpme.tklm.time.rules.overtime.weekly.WeeklyOvertimeRule;
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 WeeklyOvertimeRuleService {
28  	
29  
30  
31  
32      @CacheEvict(value={WeeklyOvertimeRule.CACHE_NAME}, allEntries = true)
33  	public void saveOrUpdate(WeeklyOvertimeRule weeklyOvertimeRule);
34  	
35  
36  
37  
38      @CacheEvict(value={WeeklyOvertimeRule.CACHE_NAME}, allEntries = true)
39  	public void saveOrUpdate(List<WeeklyOvertimeRule> weeklyOvertimeRules);
40  	
41  
42  
43  
44  
45      @Cacheable(value= WeeklyOvertimeRule.CACHE_NAME, key="'asOfDate=' + #p1")
46  	public List<WeeklyOvertimeRule> getWeeklyOvertimeRules(LocalDate asOfDate);
47  	
48  
49  
50  
51  
52  	public void processWeeklyOvertimeRule(TimesheetDocument timesheetDocument, TkTimeBlockAggregate aggregate);
53  	
54  
55  
56  
57  
58      @Cacheable(value= WeeklyOvertimeRule.CACHE_NAME, key="'tkWeeklyOvertimeRuleId=' + #p0")
59  	public WeeklyOvertimeRule getWeeklyOvertimeRule(String tkWeeklyOvertimeRuleId);
60  }