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 020 import org.kuali.hr.core.KPMEConstants; 021 import org.kuali.hr.location.Location; 022 import org.kuali.hr.paygrade.PayGrade; 023 import org.kuali.hr.time.HrBusinessObject; 024 import org.kuali.hr.time.department.Department; 025 import org.kuali.hr.time.paytype.PayType; 026 import org.kuali.hr.time.position.Position; 027 import org.kuali.hr.time.salgroup.SalGroup; 028 import org.kuali.hr.time.util.TkConstants; 029 import org.kuali.rice.kim.api.identity.Person; 030 import org.kuali.rice.kim.api.identity.principal.EntityNamePrincipalName; 031 import org.kuali.rice.kim.api.identity.principal.Principal; 032 import org.kuali.rice.kim.api.services.KimApiServiceLocator; 033 034 public class Job extends HrBusinessObject { 035 036 private static final long serialVersionUID = 1369595897637935064L; 037 038 public static final String CACHE_NAME = KPMEConstants.APPLICATION_NAMESPACE_CODE + "/" + "Job"; 039 040 private String location; 041 private String hrPayType; 042 private String payGrade; 043 private BigDecimal standardHours; 044 private String hrJobId; 045 private String principalId; 046 private String firstName; 047 private String lastName; 048 private String principalName; 049 private Long jobNumber; 050 private String dept; 051 private String hrSalGroup; 052 private Boolean primaryIndicator; 053 private Boolean history; 054 private BigDecimal compRate = new BigDecimal(0); 055 private String positionNumber; 056 057 private String hrDeptId; 058 private String hrPayTypeId; 059 private boolean eligibleForLeave; 060 061 private transient Person principal; 062 private transient Department deptObj; 063 private PayType payTypeObj; 064 private transient Location locationObj; 065 private transient PayGrade payGradeObj; 066 private transient SalGroup salGroupObj; 067 private transient Position positionObj; 068 069 private BigDecimal fte = new BigDecimal(0); //kpme1465, chen 070 private String flsaStatus; 071 072 public String getFlsaStatus() { 073 return flsaStatus; 074 } 075 076 public void setFlsaStatus(String flsaStatus) { 077 this.flsaStatus = flsaStatus; 078 } 079 080 public BigDecimal getFte() { 081 if ( this.standardHours != null ) { 082 return this.standardHours.divide(new BigDecimal(40)).setScale(2); 083 } else { 084 return fte; 085 } 086 } 087 088 public void setFte() { 089 if ( this.standardHours != null ) { 090 this.fte = this.standardHours.divide(new BigDecimal(40)).setScale(2); 091 } else { 092 this.fte = new BigDecimal(0).setScale(2); 093 } 094 } 095 096 public String getPayGrade() { 097 return payGrade; 098 } 099 100 public void setPayGrade(String payGrade) { 101 this.payGrade = payGrade; 102 } 103 104 public BigDecimal getStandardHours() { 105 return standardHours; 106 } 107 108 public void setStandardHours(BigDecimal standardHours) { 109 this.standardHours = standardHours; 110 } 111 112 public String getPrincipalId() { 113 return principalId; 114 } 115 116 public void setPrincipalId(String principalId) { 117 this.principalId = principalId; 118 } 119 120 public String getFirstName() { 121 return firstName; 122 } 123 124 public void setFirstName(String firstName) { 125 this.firstName = firstName; 126 } 127 128 public String getLastName() { 129 return lastName; 130 } 131 132 public void setLastName(String lastName) { 133 this.lastName = lastName; 134 } 135 136 public String getName() { 137 if (principal == null) { 138 principal = KimApiServiceLocator.getPersonService().getPerson(this.principalId); 139 } 140 return (principal != null) ? principal.getName() : ""; 141 } 142 143 public String getPrincipalName() { 144 if(principalName == null && !this.getPrincipalId().isEmpty()) { 145 EntityNamePrincipalName aPerson = KimApiServiceLocator.getIdentityService().getDefaultNamesForPrincipalId(getPrincipalId()); 146 if (aPerson != null && aPerson.getDefaultName() != null) { 147 setPrincipalName(aPerson.getDefaultName().getCompositeName()); 148 } 149 } 150 return principalName; 151 } 152 153 public void setPrincipalName(String principalName) { 154 this.principalName = principalName; 155 } 156 157 public Long getJobNumber() { 158 return jobNumber; 159 } 160 161 public void setJobNumber(Long jobNumber) { 162 this.jobNumber = jobNumber; 163 } 164 165 public Boolean getHistory() { 166 return history; 167 } 168 169 public void setHistory(Boolean history) { 170 this.history = history; 171 } 172 173 public void setLocation(String location) { 174 this.location = location; 175 } 176 177 public String getLocation() { 178 return location; 179 } 180 181 public String getHrPayType() { 182 return hrPayType; 183 } 184 185 public void setHrPayType(String hrPayType) { 186 this.hrPayType = hrPayType; 187 } 188 189 public String getHrJobId() { 190 return hrJobId; 191 } 192 193 public void setHrJobId(String hrJobId) { 194 this.hrJobId = hrJobId; 195 } 196 197 public String getDept() { 198 return dept; 199 } 200 201 public void setDept(String dept) { 202 this.dept = dept; 203 } 204 205 public String getHrSalGroup() { 206 return hrSalGroup; 207 } 208 209 public void setHrSalGroup(String hrSalGroup) { 210 this.hrSalGroup = hrSalGroup; 211 } 212 213 214 public BigDecimal getCompRate() { 215 return compRate; 216 } 217 218 219 public void setCompRate(BigDecimal compRate) { 220 if(compRate != null){ 221 this.compRate = compRate.setScale(TkConstants.BIG_DECIMAL_SCALE); 222 } else { 223 this.compRate = compRate; 224 } 225 } 226 227 public Department getDeptObj() { 228 return deptObj; 229 } 230 231 232 public void setDeptObj(Department deptObj) { 233 this.deptObj = deptObj; 234 } 235 236 237 public PayType getPayTypeObj() { 238 return payTypeObj; 239 } 240 241 242 public void setPayTypeObj(PayType payTypeObj) { 243 this.payTypeObj = payTypeObj; 244 } 245 246 247 public Person getPrincipal() { 248 return principal; 249 } 250 251 252 public void setPrincipal(Person principal) { 253 this.principal = principal; 254 } 255 256 257 public void setPrimaryIndicator(Boolean primaryIndicator) { 258 this.primaryIndicator = primaryIndicator; 259 } 260 261 262 public Boolean getPrimaryIndicator() { 263 return primaryIndicator; 264 } 265 266 public Location getLocationObj() { 267 return locationObj; 268 } 269 270 public void setLocationObj(Location locationObj) { 271 this.locationObj = locationObj; 272 } 273 274 public PayGrade getPayGradeObj() { 275 return payGradeObj; 276 } 277 278 public void setPayGradeObj(PayGrade payGradeObj) { 279 this.payGradeObj = payGradeObj; 280 } 281 282 public SalGroup getSalGroupObj() { 283 return salGroupObj; 284 } 285 286 public void setSalGroupObj(SalGroup salGroupObj) { 287 this.salGroupObj = salGroupObj; 288 } 289 290 public void setPositionNumber(String positionNumber) { 291 this.positionNumber = positionNumber; 292 } 293 294 public String getPositionNumber() { 295 return positionNumber; 296 } 297 298 public void setPositionObj(Position positionObj) { 299 this.positionObj = positionObj; 300 } 301 302 public Position getPositionObj() { 303 return positionObj; 304 } 305 306 public String getHrDeptId() { 307 return hrDeptId; 308 } 309 310 public void setHrDeptId(String hrDeptId) { 311 this.hrDeptId = hrDeptId; 312 } 313 314 public String getHrPayTypeId() { 315 return hrPayTypeId; 316 } 317 318 public void setHrPayTypeId(String hrPayTypeId) { 319 this.hrPayTypeId = hrPayTypeId; 320 } 321 322 @Override 323 public String getUniqueKey() { 324 return getPrincipalId() + "_" + getJobNumber(); 325 } 326 327 @Override 328 public String getId() { 329 return getHrJobId(); 330 } 331 332 @Override 333 public void setId(String id) { 334 setHrJobId(id); 335 } 336 public boolean isEligibleForLeave() { 337 return eligibleForLeave; 338 } 339 340 public void setEligibleForLeave(boolean eligibleForLeave) { 341 this.eligibleForLeave = eligibleForLeave; 342 } 343 344 }