View Javadoc

1   /**
2    * Copyright 2004-2013 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.kpme.tklm.api.time.rules.overtime.daily;
17  
18  import java.math.BigDecimal;
19  
20  import org.kuali.kpme.core.api.department.DepartmentContract;
21  import org.kuali.kpme.core.api.earncode.EarnCodeContract;
22  import org.kuali.kpme.core.api.earncode.group.EarnCodeGroupContract;
23  import org.kuali.kpme.core.api.location.LocationContract;
24  import org.kuali.kpme.core.api.paytype.PayTypeContract;
25  import org.kuali.kpme.core.api.task.TaskContract;
26  import org.kuali.kpme.core.api.workarea.WorkAreaContract;
27  import org.kuali.kpme.tklm.api.time.rules.TkRuleContract;
28  
29  /**
30   * <p>DailyOvertimeRuleContract interface</p>
31   *
32   */
33  public interface DailyOvertimeRuleContract extends TkRuleContract {
34  	
35  	/**
36  	 * The primary key of a DailyOvertimeRule entry saved in a database
37  	 * 
38  	 * <p>
39  	 * tkDailyOvertimeRuleId of a DailyOvertimeRule
40  	 * <p>
41  	 * 
42  	 * @return tkDailyOvertimeRuleId for DailyOvertimeRule
43  	 */
44  	public String getTkDailyOvertimeRuleId();
45  	
46  	/**
47  	 * The Location name associated with the DailyOvertimeRule
48  	 * 
49  	 * <p>
50  	 * If a location is defined, only entries associated with a job in this location will be subject to the defined rule. 
51  	 * <p>
52  	 * 
53  	 * @return location for DailyOvertimeRule
54  	 */
55  	public String getLocation();	
56  
57  	/**
58  	 * The maximum gap of time in minutes that is allowed before daily overtime is considered invalid
59  	 * 
60  	 * <p>
61  	 * For example, a rule that states daily overtime is given for working over 8 hours with a max gap of 30 minutes 
62  	 * implies that employee must work a total of 8 hours in the day and have a gap of no more than 30 minutes 
63  	 * in the reporting of those hours to be eligible
64  	 * <p>
65  	 * 
66  	 * @return maxGap for DailyOvertimeRule
67  	 */
68  	public BigDecimal getMaxGap();
69  
70  	/**
71  	 * The userPrincipalId associated with the DailyOvertimeRule
72  	 * 
73  	 * <p>
74  	 * userPrincipalId of a DailyOvertimeRule
75  	 * <p>
76  	 * 
77  	 * @return userPrincipalId for DailyOvertimeRule
78  	 */
79  	public String getUserPrincipalId();	
80  
81  	/**
82  	 * The Department object associated with the DailyOvertimeRule
83  	 * 
84  	 * <p>
85  	 * If a department is defined, only entries associated with a job in this department will be subject to the defined rule.  
86  	 * <p>
87  	 * 
88  	 * @return departmentObj for DailyOvertimeRule
89  	 */
90  	public DepartmentContract getDepartmentObj();	
91  
92  	/**
93  	 * The PayType name associated with the DailyOvertimeRule
94  	 * 
95  	 * <p>
96  	 * If a paytype is defined, only entries associated with a job of this pay type will be subject to the defined rule 
97  	 * <p>
98  	 * 
99  	 * @return paytype for DailyOvertimeRule
100 	 */
101 	public String getPaytype();
102 
103 	/**
104 	 * The Department name associated with the DailyOvertimeRule
105 	 * 
106 	 * <p>
107 	 * If a department is defined, only entries associated with a job in this department will be subject to the defined rule.  
108 	 * <p>
109 	 * 
110 	 * @return dept for DailyOvertimeRule
111 	 */
112 	public String getDept();
113 	
114 	/**
115 	 * TODO: Make sure this comment is right
116 	 * The Task object associated with the DailyOvertimeRule
117 	 * 
118 	 * <p>
119 	 * If a task is defined, only entries associated with a job that has this task will be subject to the defined rule.  
120 	 * <p>
121 	 * 
122 	 * @return taskObj for DailyOvertimeRule
123 	 */
124 	public TaskContract getTaskObj();
125 
126 	/**
127 	 * The WorkArea object associated with the DailyOvertimeRule
128 	 * 
129 	 * <p>
130 	 * If a work area is defined, only entries associated with a job that has this work area will be subject to the defined rule. 
131 	 * <p>
132 	 * 
133 	 * @return workAreaObj for DailyOvertimeRule
134 	 */
135 	public WorkAreaContract getWorkAreaObj();
136 	
137 	/**
138 	 * The WorkArea name(long) associated with the DailyOvertimeRule
139 	 * 
140 	 * <p>
141 	 * If a work area is defined, only entries associated with a job that has this work area will be subject to the defined rule. 
142 	 * <p>
143 	 * 
144 	 * @return workArea for DailyOvertimeRule
145 	 */
146 	public Long getWorkArea();
147 
148 	/**
149 	 * The PayType object associated with the DailyOvertimeRule
150 	 * 
151 	 * <p>
152 	 * If a paytype is defined, only entries associated with a job of this pay type will be subject to the defined rule 
153 	 * <p>
154 	 * 
155 	 * @return payTypeObj for DailyOvertimeRule
156 	 */
157 	public PayTypeContract getPayTypeObj();	
158 
159 	/**
160 	 * The earn group defined (using the Earn Group maint doc) which contains the list of earn codes 
161 	 * that are summed to the daily max hours to be converted to overtime
162 	 * 
163 	 * <p>
164 	 * fromEarnGroup of a DailyOvertimeRule
165 	 * <p>
166 	 * 
167 	 * @return fromEarnGroup for DailyOvertimeRule
168 	 */
169 	public String getFromEarnGroup();	
170 
171 	/**
172 	 * The EarnCode name associated with the DailyOvertimeRule
173 	 * 
174 	 * <p>
175 	 * earnCode of a DailyOvertimeRule
176 	 * <p>
177 	 * 
178 	 * @return earnCode for DailyOvertimeRule
179 	 */
180 	public String getEarnCode();	
181 
182 	/**
183 	 * The minimum hours associated with the DailyOvertimeRule
184 	 * 
185 	 * <p>
186 	 * minHours of a DailyOvertimeRule
187 	 * <p>
188 	 * 
189 	 * @return minHours for DailyOvertimeRule
190 	 */
191 	public BigDecimal getMinHours();	
192 
193 	/**
194 	 * The EarnCodeGroup object associated with the DailyOvertimeRule
195 	 * 
196 	 * <p>
197 	 * fromEarnGroupObj of a DailyOvertimeRule
198 	 * <p>
199 	 * 
200 	 * @return fromEarnGroupObj for DailyOvertimeRule
201 	 */
202 	public EarnCodeGroupContract getFromEarnGroupObj();	
203 
204 	/**
205 	 * The EarnCode object associated with the DailyOvertimeRule
206 	 * 
207 	 * <p>
208 	 * earnCodeObj of a DailyOvertimeRule
209 	 * <p>
210 	 * 
211 	 * @return earnCodeObj for DailyOvertimeRule
212 	 */
213 	public EarnCodeContract getEarnCodeObj();	
214 
215 	/**
216 	 * The Location object associated with the DailyOvertimeRule
217 	 * 
218 	 * <p>
219 	 * If a location is defined, only entries associated with a job in this location will be subject to the defined rule. 
220 	 * <p>
221 	 * 
222 	 * @return location for DailyOvertimeRule
223 	 */
224 	public LocationContract getLocationObj();	
225 
226 	/**
227 	 * The history flag of the DailyOvertimeRule
228 	 * 
229 	 * <p>
230 	 * history flag of a DailyOvertimeRule
231 	 * <p>
232 	 * 
233 	 * @return Y if on, N if not
234 	 */
235 	public boolean isHistory();	
236 
237 	/**
238 	 * 	Indicates if this earn code may be used for overtime
239 	 * 
240 	 * <p>
241 	 * ovtEarnCode falg of a DailyOvertimeRule
242 	 * <p>
243 	 * 
244 	 * @return Y if used for overtime, N if not
245 	 */	
246 	public Boolean getOvtEarnCode();	
247 
248 	/**
249 	 * The id of the WorkArea object associated wtih the DailyOvertimeRule
250 	 * 
251 	 * <p>
252 	 * tkWorkAreaId of a DailyOvertimeRule
253 	 * <p>
254 	 * 
255 	 * @return tkWorkAreaId for DailyOvertimeRule
256 	 */
257 	public String getTkWorkAreaId();	
258 
259 	/**
260 	 * The id of the Department object associated wtih the DailyOvertimeRule
261 	 * 
262 	 * <p>
263 	 * hrDeptId of a DailyOvertimeRule
264 	 * <p>
265 	 * 
266 	 * @return hrDeptId for DailyOvertimeRule
267 	 */
268 	public String getHrDeptId();
269 
270 	/**
271 	 * The id of the Location object associated wtih the DailyOvertimeRule
272 	 * 
273 	 * <p>
274 	 * hrLocationId of a DailyOvertimeRule
275 	 * <p>
276 	 * 
277 	 * @return hrLocationId for DailyOvertimeRule
278 	 */
279 	public String getHrLocationId();
280 	
281 }