1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.hr.lm.leaveblock.service;
17
18 import java.math.BigDecimal;
19 import java.sql.Timestamp;
20 import java.util.Date;
21 import java.util.List;
22 import java.util.Map;
23
24 import org.joda.time.DateTime;
25 import org.kuali.hr.lm.leaveblock.LeaveBlock;
26 import org.kuali.hr.time.assignment.Assignment;
27 import org.kuali.hr.time.calendar.CalendarEntries;
28
29 public interface LeaveBlockService {
30 public LeaveBlock getLeaveBlock(String leaveBlockId);
31 public List<LeaveBlock> getLeaveBlocksForDocumentId(String documentId);
32 public List<LeaveBlock> getLeaveBlocks(String principalId, Date beginDate, Date endDate);
33 public List<LeaveBlock> getLeaveBlocksWithType(String principalId, Date beginDate, Date endDate, String leaveBlockType);
34 public List<LeaveBlock> getLeaveBlocksWithAccrualCategory(String principalId, Date beginDate, Date endDate, String accrualCategory);
35 public List<LeaveBlock> getLeaveBlocksSinceCarryOver(String principalId, Map<String, LeaveBlock> carryOverBlocks, DateTime endDate, boolean includeAllAccrualCategories);
36 public Map<String, LeaveBlock> getLastCarryOverBlocks(String principalId, Date asOfDate);
37 public void saveLeaveBlocks(List<LeaveBlock> leaveBlocks);
38
39 public void saveLeaveBlock(LeaveBlock leaveBlock, String principalId);
40
41
42
43
44
45
46 public void deleteLeaveBlock(String leaveBlockId, String principalId);
47
48 public void addLeaveBlocks(DateTime beginDate, DateTime endDate, CalendarEntries ce, String selectedEarnCode,
49 BigDecimal hours, String description, Assignment selectedAssignment, String spanningWeeks, String leaveBlockType, String principalId);
50
51 public void updateLeaveBlock(LeaveBlock leaveBlock, String principalId);
52
53
54
55
56
57
58
59
60 public List<LeaveBlock> getLeaveBlocks(String principalId, String leaveBlockType, String requestStatus, Date currentDate);
61
62
63
64
65
66
67
68
69
70
71 public List<LeaveBlock> getLeaveBlocks(String principalId, String leaveBlockType, String requestStatus, Date beginDate, Date endDate);
72
73
74
75
76
77
78
79 public List<LeaveBlock> getLeaveBlocksForDate(String principalId, Date leaveDate);
80
81
82
83
84
85
86 public List<LeaveBlock> getNotAccrualGeneratedLeaveBlocksForDate(String principalId, Date leaveDate);
87
88
89
90
91
92
93
94
95
96
97 public List<LeaveBlock> getLeaveBlocksForTimeCalendar(String principalId, Date beginDate, Date endDate, List<String> assignmentKeys);
98
99
100
101
102
103
104
105
106
107 public List<LeaveBlock> getLeaveBlocksForLeaveCalendar(String principalId, Date beginDate, Date endDate, List<String> assignmentKeys);
108
109
110
111
112
113
114
115 public List<LeaveBlock> filterLeaveBlocksForTimeCalendar(List<LeaveBlock> lbs, List<String> assignmentKeys);
116
117
118
119
120
121
122 public List<LeaveBlock> filterLeaveBlocksForLeaveCalendar(List<LeaveBlock> lbs, List<String> assignmentKeys);
123
124
125
126
127 public void deleteLeaveBlocksForDocumentId(String documentId);
128
129
130
131
132
133
134
135
136 public List<LeaveBlock> getAccrualGeneratedLeaveBlocks(String principalId, Date beginDate, Date endDate);
137
138
139
140
141
142
143
144
145 public List<LeaveBlock> getSSTOLeaveBlocks(String principalId, String sstoId, Date accruledDate);
146
147
148
149
150
151
152
153 public List<LeaveBlock> getABELeaveBlocksSinceTime(String principalId, Timestamp lastRanTime);
154 }