001 /* 002 * Copyright 2011 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 017 package org.kuali.kfs.module.bc.businessobject; 018 019 import java.math.BigDecimal; 020 import java.util.ArrayList; 021 import java.util.LinkedHashMap; 022 import java.util.List; 023 024 import org.apache.commons.lang.StringUtils; 025 import org.kuali.kfs.coa.businessobject.Account; 026 import org.kuali.kfs.coa.businessobject.Chart; 027 import org.kuali.kfs.coa.businessobject.ObjectCode; 028 import org.kuali.kfs.coa.businessobject.SubAccount; 029 import org.kuali.kfs.coa.businessobject.SubObjectCode; 030 import org.kuali.kfs.sys.businessobject.SystemOptions; 031 import org.kuali.kfs.sys.context.SpringContext; 032 import org.kuali.rice.kim.bo.Person; 033 import org.kuali.rice.kim.service.PersonService; 034 import org.kuali.rice.kns.bo.Inactivateable; 035 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 036 import org.kuali.rice.kns.util.KualiDecimal; 037 038 /** 039 * 040 */ 041 public class CalculatedSalaryFoundationTrackerOverride extends PersistableBusinessObjectBase implements Inactivateable { 042 043 private Integer universityFiscalYear; 044 private String chartOfAccountsCode; 045 private String accountNumber; 046 private String subAccountNumber; 047 private String financialObjectCode; 048 private String financialSubObjectCode; 049 private String positionNumber; 050 private String emplid; 051 private KualiDecimal csfAmount; 052 private BigDecimal csfFullTimeEmploymentQuantity; 053 private BigDecimal csfTimePercent; 054 private String csfFundingStatusCode; 055 private String csfDeleteCode; 056 private boolean active; 057 058 private ObjectCode financialObject; 059 private Chart chartOfAccounts; 060 private Account account; 061 private SubAccount subAccount; 062 private SubObjectCode financialSubObject; 063 private SystemOptions universityFiscal; 064 private List calculatedSalaryFoundationTracker; 065 066 private Person csfTrackerOverridePerson; 067 068 069 /** 070 * Default constructor. 071 */ 072 public CalculatedSalaryFoundationTrackerOverride() { 073 calculatedSalaryFoundationTracker = new ArrayList(); 074 075 } 076 077 /** 078 * Gets the universityFiscalYear attribute. 079 * 080 * @return Returns the universityFiscalYear 081 */ 082 public Integer getUniversityFiscalYear() { 083 return universityFiscalYear; 084 } 085 086 /** 087 * Sets the universityFiscalYear attribute. 088 * 089 * @param universityFiscalYear The universityFiscalYear to set. 090 */ 091 public void setUniversityFiscalYear(Integer universityFiscalYear) { 092 this.universityFiscalYear = universityFiscalYear; 093 } 094 095 096 /** 097 * Gets the chartOfAccountsCode attribute. 098 * 099 * @return Returns the chartOfAccountsCode 100 */ 101 public String getChartOfAccountsCode() { 102 return chartOfAccountsCode; 103 } 104 105 /** 106 * Sets the chartOfAccountsCode attribute. 107 * 108 * @param chartOfAccountsCode The chartOfAccountsCode to set. 109 */ 110 public void setChartOfAccountsCode(String chartOfAccountsCode) { 111 this.chartOfAccountsCode = chartOfAccountsCode; 112 } 113 114 115 /** 116 * Gets the accountNumber attribute. 117 * 118 * @return Returns the accountNumber 119 */ 120 public String getAccountNumber() { 121 return accountNumber; 122 } 123 124 /** 125 * Sets the accountNumber attribute. 126 * 127 * @param accountNumber The accountNumber to set. 128 */ 129 public void setAccountNumber(String accountNumber) { 130 this.accountNumber = accountNumber; 131 } 132 133 134 /** 135 * Gets the subAccountNumber attribute. 136 * 137 * @return Returns the subAccountNumber 138 */ 139 public String getSubAccountNumber() { 140 return subAccountNumber; 141 } 142 143 /** 144 * Sets the subAccountNumber attribute. 145 * 146 * @param subAccountNumber The subAccountNumber to set. 147 */ 148 public void setSubAccountNumber(String subAccountNumber) { 149 this.subAccountNumber = subAccountNumber; 150 } 151 152 153 /** 154 * Gets the financialObjectCode attribute. 155 * 156 * @return Returns the financialObjectCode 157 */ 158 public String getFinancialObjectCode() { 159 return financialObjectCode; 160 } 161 162 /** 163 * Sets the financialObjectCode attribute. 164 * 165 * @param financialObjectCode The financialObjectCode to set. 166 */ 167 public void setFinancialObjectCode(String financialObjectCode) { 168 this.financialObjectCode = financialObjectCode; 169 } 170 171 172 /** 173 * Gets the financialSubObjectCode attribute. 174 * 175 * @return Returns the financialSubObjectCode 176 */ 177 public String getFinancialSubObjectCode() { 178 return financialSubObjectCode; 179 } 180 181 /** 182 * Sets the financialSubObjectCode attribute. 183 * 184 * @param financialSubObjectCode The financialSubObjectCode to set. 185 */ 186 public void setFinancialSubObjectCode(String financialSubObjectCode) { 187 this.financialSubObjectCode = financialSubObjectCode; 188 } 189 190 191 /** 192 * Gets the positionNumber attribute. 193 * 194 * @return Returns the positionNumber 195 */ 196 public String getPositionNumber() { 197 return positionNumber; 198 } 199 200 /** 201 * Sets the positionNumber attribute. 202 * 203 * @param positionNumber The positionNumber to set. 204 */ 205 public void setPositionNumber(String positionNumber) { 206 this.positionNumber = positionNumber; 207 } 208 209 210 /** 211 * Gets the emplid attribute. 212 * 213 * @return Returns the emplid 214 */ 215 public String getEmplid() { 216 return emplid; 217 } 218 219 /** 220 * Sets the emplid attribute. 221 * 222 * @param emplid The emplid to set. 223 */ 224 public void setEmplid(String emplid) { 225 this.emplid = emplid; 226 } 227 228 229 /** 230 * Gets the csfAmount attribute. 231 * 232 * @return Returns the csfAmount 233 */ 234 public KualiDecimal getCsfAmount() { 235 return csfAmount; 236 } 237 238 /** 239 * Sets the csfAmount attribute. 240 * 241 * @param csfAmount The csfAmount to set. 242 */ 243 public void setCsfAmount(KualiDecimal csfAmount) { 244 this.csfAmount = csfAmount; 245 } 246 247 248 /** 249 * Gets the csfFullTimeEmploymentQuantity attribute. 250 * 251 * @return Returns the csfFullTimeEmploymentQuantity 252 */ 253 public BigDecimal getCsfFullTimeEmploymentQuantity() { 254 return csfFullTimeEmploymentQuantity; 255 } 256 257 /** 258 * Sets the csfFullTimeEmploymentQuantity attribute. 259 * 260 * @param csfFullTimeEmploymentQuantity The csfFullTimeEmploymentQuantity to set. 261 */ 262 public void setCsfFullTimeEmploymentQuantity(BigDecimal csfFullTimeEmploymentQuantity) { 263 this.csfFullTimeEmploymentQuantity = csfFullTimeEmploymentQuantity; 264 } 265 266 267 /** 268 * Gets the csfTimePercent attribute. 269 * 270 * @return Returns the csfTimePercent 271 */ 272 public BigDecimal getCsfTimePercent() { 273 return csfTimePercent; 274 } 275 276 /** 277 * Sets the csfTimePercent attribute. 278 * 279 * @param csfTimePercent The csfTimePercent to set. 280 */ 281 public void setCsfTimePercent(BigDecimal csfTimePercent) { 282 this.csfTimePercent = csfTimePercent; 283 } 284 285 286 /** 287 * Gets the csfFundingStatusCode attribute. 288 * 289 * @return Returns the csfFundingStatusCode 290 */ 291 public String getCsfFundingStatusCode() { 292 return csfFundingStatusCode; 293 } 294 295 /** 296 * Sets the csfFundingStatusCode attribute. 297 * 298 * @param csfFundingStatusCode The csfFundingStatusCode to set. 299 */ 300 public void setCsfFundingStatusCode(String csfFundingStatusCode) { 301 this.csfFundingStatusCode = csfFundingStatusCode; 302 } 303 304 305 /** 306 * Gets the csfDeleteCode attribute. 307 * 308 * @return Returns the csfDeleteCode 309 */ 310 public String getCsfDeleteCode() { 311 return csfDeleteCode; 312 } 313 314 /** 315 * Sets the csfDeleteCode attribute. 316 * 317 * @param csfDeleteCode The csfDeleteCode to set. 318 */ 319 public void setCsfDeleteCode(String csfDeleteCode) { 320 this.csfDeleteCode = csfDeleteCode; 321 } 322 323 324 /** 325 * Gets the financialObject attribute. 326 * 327 * @return Returns the financialObject 328 */ 329 public ObjectCode getFinancialObject() { 330 return financialObject; 331 } 332 333 /** 334 * Sets the financialObject attribute. 335 * 336 * @param financialObject The financialObject to set. 337 * @deprecated 338 */ 339 public void setFinancialObject(ObjectCode financialObject) { 340 this.financialObject = financialObject; 341 } 342 343 /** 344 * Gets the chartOfAccounts attribute. 345 * 346 * @return Returns the chartOfAccounts 347 */ 348 public Chart getChartOfAccounts() { 349 return chartOfAccounts; 350 } 351 352 /** 353 * Sets the chartOfAccounts attribute. 354 * 355 * @param chartOfAccounts The chartOfAccounts to set. 356 * @deprecated 357 */ 358 public void setChartOfAccounts(Chart chartOfAccounts) { 359 this.chartOfAccounts = chartOfAccounts; 360 } 361 362 /** 363 * Gets the account attribute. 364 * 365 * @return Returns the account 366 */ 367 public Account getAccount() { 368 return account; 369 } 370 371 /** 372 * Sets the account attribute. 373 * 374 * @param account The account to set. 375 * @deprecated 376 */ 377 public void setAccount(Account account) { 378 this.account = account; 379 } 380 381 /** 382 * Gets the financialSubObject attribute. 383 * 384 * @return Returns the financialSubObject. 385 */ 386 public SubObjectCode getFinancialSubObject() { 387 return financialSubObject; 388 } 389 390 /** 391 * Sets the financialSubObject attribute value. 392 * 393 * @param financialSubObject The financialSubObject to set. 394 * @deprecated 395 */ 396 public void setFinancialSubObject(SubObjectCode financialSubObject) { 397 this.financialSubObject = financialSubObject; 398 } 399 400 /** 401 * Gets the subAccount attribute. 402 * 403 * @return Returns the subAccount. 404 */ 405 public SubAccount getSubAccount() { 406 return subAccount; 407 } 408 409 /** 410 * Sets the subAccount attribute value. 411 * 412 * @param subAccount The subAccount to set. 413 * @deprecated 414 */ 415 public void setSubAccount(SubAccount subAccount) { 416 this.subAccount = subAccount; 417 } 418 419 /** 420 * Gets the calculatedSalaryFoundationTracker attribute. 421 * 422 * @return Returns the calculatedSalaryFoundationTracker. 423 */ 424 public List getCalculatedSalaryFoundationTracker() { 425 return calculatedSalaryFoundationTracker; 426 } 427 428 /** 429 * Sets the calculatedSalaryFoundationTracker attribute value. 430 * 431 * @param calculatedSalaryFoundationTracker The calculatedSalaryFoundationTracker to set. 432 */ 433 public void setCalculatedSalaryFoundationTracker(List calculatedSalaryFoundationTracker) { 434 this.calculatedSalaryFoundationTracker = calculatedSalaryFoundationTracker; 435 } 436 437 /** 438 * Gets the universityFiscal attribute. 439 * 440 * @return Returns the universityFiscal. 441 */ 442 public SystemOptions getUniversityFiscal() { 443 return universityFiscal; 444 } 445 446 /** 447 * Sets the universityFiscal attribute value. 448 * 449 * @param universityFiscal The universityFiscal to set. 450 */ 451 public void setUniversityFiscal(SystemOptions universityFiscal) { 452 this.universityFiscal = universityFiscal; 453 } 454 455 /** 456 * Gets the csfTrackerOverridePerson attribute. 457 * @return Returns the csfTrackerOverridePerson. 458 */ 459 public Person getCsfTrackerOverridePerson() { 460 if(csfTrackerOverridePerson == null || !StringUtils.equals(csfTrackerOverridePerson.getEmployeeId(), emplid)) { 461 csfTrackerOverridePerson = SpringContext.getBean(PersonService.class).getPersonByEmployeeId(emplid); 462 } 463 464 return csfTrackerOverridePerson; 465 } 466 467 /** 468 * Sets the csfTrackerOverridePerson attribute value. 469 * @param csfTrackerOverridePerson The csfTrackerOverridePerson to set. 470 */ 471 public void setCsfTrackerOverridePerson(Person csfTrackerOverridePerson) { 472 this.csfTrackerOverridePerson = csfTrackerOverridePerson; 473 } 474 475 /** 476 * Gets the active attribute. 477 * 478 * @return Returns the active. 479 */ 480 public boolean isActive() { 481 return active; 482 } 483 484 /** 485 * Sets the active attribute value. 486 * 487 * @param active The active to set. 488 */ 489 public void setActive(boolean active) { 490 this.active = active; 491 } 492 493 /** 494 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 495 */ 496 protected LinkedHashMap toStringMapper() { 497 LinkedHashMap m = new LinkedHashMap(); 498 if (this.universityFiscalYear != null) { 499 m.put("universityFiscalYear", this.universityFiscalYear.toString()); 500 } 501 m.put("chartOfAccountsCode", this.chartOfAccountsCode); 502 m.put("accountNumber", this.accountNumber); 503 m.put("subAccountNumber", this.subAccountNumber); 504 m.put("financialObjectCode", this.financialObjectCode); 505 m.put("financialSubObjectCode", this.financialSubObjectCode); 506 m.put("positionNumber", this.positionNumber); 507 m.put("emplid", this.emplid); 508 return m; 509 } 510 511 512 }