1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.hr.lm.leaveplan.service;
17
18 import java.sql.Date;
19 import java.util.List;
20
21 import org.joda.time.DateTime;
22 import org.kuali.hr.lm.leaveplan.LeavePlan;
23 import org.kuali.hr.time.calendar.CalendarEntries;
24 import org.springframework.cache.annotation.Cacheable;
25
26 public interface LeavePlanService {
27
28
29
30
31
32
33 @Cacheable(value= LeavePlan.CACHE_NAME, key="'lmLeavePlanId=' + #p0")
34 public LeavePlan getLeavePlan(String lmLeavePlanId);
35
36 @Cacheable(value= LeavePlan.CACHE_NAME, key="'leavePlan=' + #p0 + '|' + 'asOfDate=' + #p1")
37 public LeavePlan getLeavePlan(String leavePlan, Date asOfDate);
38
39 public boolean isValidLeavePlan(String leavePlan);
40
41 public List<LeavePlan> getAllActiveLeavePlan(String leavePlan, Date asOfDate);
42
43 public List<LeavePlan> getAllInActiveLeavePlan(String leavePlan, Date asOfDate);
44
45 List<LeavePlan> getLeavePlans(String leavePlan, String calendarYearStart, String descr, String planningMonths,
46 Date fromEffdt, Date toEffdt, String active, String showHistory);
47
48 boolean isFirstCalendarPeriodOfLeavePlan(CalendarEntries calendarEntry, String leavePlan, Date asOfDate);
49
50 boolean isLastCalendarPeriodOfLeavePlan(CalendarEntries calendarEntry, String leavePlan, Date asOfDate);
51
52 public List<LeavePlan> getLeavePlansNeedsCarryOverScheduled(int thresholdDays, Date asOfDate);
53
54 public DateTime getFirstDayOfLeavePlan(String leavePlan, java.util.Date date);
55 public DateTime getRolloverDayOfLeavePlan(String leavePlan, java.util.Date asOfDate);
56 }