001 /** 002 * Copyright 2004-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.hr.job; 017 018 import java.math.BigDecimal; 019 import java.sql.Date; 020 import java.sql.Timestamp; 021 022 import org.kuali.hr.core.KPMEConstants; 023 import org.kuali.hr.location.Location; 024 import org.kuali.hr.paygrade.PayGrade; 025 import org.kuali.hr.time.HrBusinessObject; 026 import org.kuali.hr.time.department.Department; 027 import org.kuali.hr.time.paytype.PayType; 028 import org.kuali.hr.time.position.Position; 029 import org.kuali.hr.time.salgroup.SalGroup; 030 import org.kuali.hr.time.util.TkConstants; 031 import org.kuali.rice.kim.api.identity.Person; 032 import org.kuali.rice.kim.api.services.KimApiServiceLocator; 033 /** 034 * 035 * Job representation 036 * 037 */ 038 public class Job extends HrBusinessObject { 039 public static final String CACHE_NAME = KPMEConstants.APPLICATION_NAMESPACE_CODE + "/" + "Job"; 040 /* 041 * Standard field included for serialization support 042 */ 043 private static final long serialVersionUID = 1L; 044 045 private String location; 046 private String hrPayType; 047 private String payGrade; 048 private BigDecimal standardHours; 049 private String hrJobId; 050 private String principalId; 051 private String firstName; 052 private String lastName; 053 private String principalName; 054 private Long jobNumber; 055 private String dept; 056 private String hrSalGroup; 057 private Boolean primaryIndicator; 058 private Boolean history; 059 private BigDecimal compRate = new BigDecimal(0); 060 private String positionNumber; 061 062 private String hrDeptId; 063 private String hrPayTypeId; 064 065 private Person principal; 066 private Department deptObj; 067 private PayType payTypeObj; 068 private Location locationObj; 069 private PayGrade payGradeObj; 070 private SalGroup salGroupObj; 071 private Position positionObj; 072 073 private BigDecimal fte = new BigDecimal(0); //kpme1465, chen 074 private String flsaStatus; 075 076 public String getFlsaStatus() { 077 return flsaStatus; 078 } 079 080 public void setFlsaStatus(String flsaStatus) { 081 this.flsaStatus = flsaStatus; 082 } 083 084 public BigDecimal getFte() { 085 if ( this.standardHours != null ) { 086 return this.standardHours.divide(new BigDecimal(40)).setScale(2); 087 } else { 088 return fte; 089 } 090 } 091 092 public void setFte() { 093 if ( this.standardHours != null ) { 094 this.fte = this.standardHours.divide(new BigDecimal(40)).setScale(2); 095 } else { 096 this.fte = new BigDecimal(0).setScale(2); 097 } 098 } 099 100 public String getPayGrade() { 101 return payGrade; 102 } 103 104 public void setPayGrade(String payGrade) { 105 this.payGrade = payGrade; 106 } 107 108 public BigDecimal getStandardHours() { 109 return standardHours; 110 } 111 112 public void setStandardHours(BigDecimal standardHours) { 113 this.standardHours = standardHours; 114 } 115 116 public String getPrincipalId() { 117 return principalId; 118 } 119 120 public void setPrincipalId(String principalId) { 121 this.principalId = principalId; 122 } 123 124 public String getFirstName() { 125 return firstName; 126 } 127 128 public void setFirstName(String firstName) { 129 this.firstName = firstName; 130 } 131 132 public String getLastName() { 133 return lastName; 134 } 135 136 public void setLastName(String lastName) { 137 this.lastName = lastName; 138 } 139 140 public String getName() { 141 if (principal == null) { 142 principal = KimApiServiceLocator.getPersonService().getPerson(this.principalId); 143 } 144 return (principal != null) ? principal.getName() : ""; 145 } 146 147 public String getPrincipalName() { 148 if(principalName == null && !this.getPrincipalId().isEmpty()) { 149 Person aPerson = KimApiServiceLocator.getPersonService().getPerson(getPrincipalId()); 150 setPrincipalName(aPerson.getName()); 151 } 152 return principalName; 153 } 154 155 public void setPrincipalName(String principalName) { 156 this.principalName = principalName; 157 } 158 159 public Long getJobNumber() { 160 return jobNumber; 161 } 162 163 public void setJobNumber(Long jobNumber) { 164 this.jobNumber = jobNumber; 165 } 166 167 public Date getEffectiveDate() { 168 return effectiveDate; 169 } 170 171 public void setEffectiveDate(Date effectiveDate) { 172 this.effectiveDate = effectiveDate; 173 } 174 175 public Timestamp getTimestamp() { 176 return timestamp; 177 } 178 179 public void setTimestamp(Timestamp timestamp) { 180 this.timestamp = timestamp; 181 } 182 183 public Boolean getHistory() { 184 return history; 185 } 186 187 public void setHistory(Boolean history) { 188 this.history = history; 189 } 190 191 public Boolean getActive() { 192 return active; 193 } 194 195 public void setActive(Boolean active) { 196 this.active = active; 197 } 198 199 public void setLocation(String location) { 200 this.location = location; 201 } 202 203 public String getLocation() { 204 return location; 205 } 206 207 public String getHrPayType() { 208 return hrPayType; 209 } 210 211 public void setHrPayType(String hrPayType) { 212 this.hrPayType = hrPayType; 213 } 214 215 public String getHrJobId() { 216 return hrJobId; 217 } 218 219 public void setHrJobId(String hrJobId) { 220 this.hrJobId = hrJobId; 221 } 222 223 public String getDept() { 224 return dept; 225 } 226 227 public void setDept(String dept) { 228 this.dept = dept; 229 } 230 231 public String getHrSalGroup() { 232 return hrSalGroup; 233 } 234 235 public void setHrSalGroup(String hrSalGroup) { 236 this.hrSalGroup = hrSalGroup; 237 } 238 239 240 public BigDecimal getCompRate() { 241 return compRate; 242 } 243 244 245 public void setCompRate(BigDecimal compRate) { 246 if(compRate != null){ 247 this.compRate = compRate.setScale(TkConstants.BIG_DECIMAL_SCALE); 248 } else { 249 this.compRate = compRate; 250 } 251 } 252 253 public Department getDeptObj() { 254 return deptObj; 255 } 256 257 258 public void setDeptObj(Department deptObj) { 259 this.deptObj = deptObj; 260 } 261 262 263 public PayType getPayTypeObj() { 264 return payTypeObj; 265 } 266 267 268 public void setPayTypeObj(PayType payTypeObj) { 269 this.payTypeObj = payTypeObj; 270 } 271 272 273 public Person getPrincipal() { 274 return principal; 275 } 276 277 278 public void setPrincipal(Person principal) { 279 this.principal = principal; 280 } 281 282 283 public void setPrimaryIndicator(Boolean primaryIndicator) { 284 this.primaryIndicator = primaryIndicator; 285 } 286 287 288 public Boolean getPrimaryIndicator() { 289 return primaryIndicator; 290 } 291 292 public Location getLocationObj() { 293 return locationObj; 294 } 295 296 public void setLocationObj(Location locationObj) { 297 this.locationObj = locationObj; 298 } 299 300 public PayGrade getPayGradeObj() { 301 return payGradeObj; 302 } 303 304 public void setPayGradeObj(PayGrade payGradeObj) { 305 this.payGradeObj = payGradeObj; 306 } 307 308 public SalGroup getSalGroupObj() { 309 return salGroupObj; 310 } 311 312 public void setSalGroupObj(SalGroup salGroupObj) { 313 this.salGroupObj = salGroupObj; 314 } 315 316 public void setPositionNumber(String positionNumber) { 317 this.positionNumber = positionNumber; 318 } 319 320 public String getPositionNumber() { 321 return positionNumber; 322 } 323 324 public void setPositionObj(Position positionObj) { 325 this.positionObj = positionObj; 326 } 327 328 public Position getPositionObj() { 329 return positionObj; 330 } 331 332 public String getHrDeptId() { 333 return hrDeptId; 334 } 335 336 public void setHrDeptId(String hrDeptId) { 337 this.hrDeptId = hrDeptId; 338 } 339 340 public String getHrPayTypeId() { 341 return hrPayTypeId; 342 } 343 344 public void setHrPayTypeId(String hrPayTypeId) { 345 this.hrPayTypeId = hrPayTypeId; 346 } 347 348 @Override 349 public String getUniqueKey() { 350 return getPrincipalId() + "_" + getJobNumber(); 351 } 352 353 @Override 354 public String getId() { 355 return getHrJobId(); 356 } 357 358 @Override 359 public void setId(String id) { 360 setHrJobId(id); 361 } 362 363 }