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  }