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 package org.kuali.kfs.module.ld.businessobject; 017 018 import java.math.BigDecimal; 019 import java.sql.Date; 020 import java.sql.Timestamp; 021 import java.util.ArrayList; 022 import java.util.LinkedHashMap; 023 import java.util.List; 024 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.KFSPropertyConstants; 031 import org.kuali.kfs.sys.businessobject.SystemOptions; 032 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 033 import org.kuali.rice.kns.util.KualiDecimal; 034 035 036 /** 037 * Labor business object for LaborCalculatedSalaryFoundationTracker. 038 */ 039 public class LaborCalculatedSalaryFoundationTracker extends PersistableBusinessObjectBase { 040 private Integer universityFiscalYear; 041 private String chartOfAccountsCode; 042 private String accountNumber; 043 private String subAccountNumber; 044 private String financialObjectCode; 045 private String financialSubObjectCode; 046 private String positionNumber; 047 private String emplid; 048 private String personName; 049 private Timestamp csfCreateTimestamp; 050 private String csfDeleteCode; 051 private KualiDecimal csfAmount; 052 private BigDecimal csfFullTimeEmploymentQuantity; 053 private BigDecimal csfTimePercent; 054 private String csfFundingStatusCode; 055 private Integer employeeRecord; 056 private String earnCode; 057 private Integer additionalSequence; 058 private Date effectiveDate; 059 private Integer effectiveSequence; 060 061 private ObjectCode financialObject; 062 private Chart chartOfAccounts; 063 private Account account; 064 private SubAccount subAccount; 065 private SubObjectCode financialSubObject; 066 private transient SystemOptions universityFiscal; 067 private final int PERCENTAGE_SCALE = 2; 068 069 private KualiDecimal july1BudgetAmount; 070 private BigDecimal july1BudgetFteQuantity; 071 private BigDecimal july1BudgetTimePercent; 072 073 /** 074 * Constructs a LaborCalculatedSalaryFoundationTracker.java. 075 */ 076 public LaborCalculatedSalaryFoundationTracker() { 077 super(); 078 this.setJuly1BudgetAmount(KualiDecimal.ZERO); 079 this.setJuly1BudgetFteQuantity(BigDecimal.ZERO); 080 this.setJuly1BudgetTimePercent(BigDecimal.ZERO); 081 } 082 083 /** 084 * Gets the july1BudgetAmount. 085 * 086 * @return Returns the july1BudgetAmount. 087 */ 088 public KualiDecimal getJuly1BudgetAmount() { 089 return july1BudgetAmount; 090 } 091 092 /** 093 * Sets the july1BudgetAmount. 094 * 095 * @param july1BudgetAmount The july1BudgetAmount to set. 096 */ 097 public void setJuly1BudgetAmount(KualiDecimal july1BudgetAmount) { 098 this.july1BudgetAmount = july1BudgetAmount; 099 } 100 101 /** 102 * Gets the july1BudgetFteQuantity. 103 * 104 * @return Returns the july1BudgetFteQuantity. 105 */ 106 public BigDecimal getJuly1BudgetFteQuantity() { 107 return july1BudgetFteQuantity; 108 } 109 110 /** 111 * Sets the july1BudgetFteQuantity. 112 * 113 * @param july1BudgetFteQuantity The july1BudgetFteQuantity to set. 114 */ 115 public void setJuly1BudgetFteQuantity(BigDecimal july1BudgetFteQuantity) { 116 this.july1BudgetFteQuantity = july1BudgetFteQuantity; 117 } 118 119 /** 120 * Gets the july1BudgetTimePercent. 121 * 122 * @return Returns the july1BudgetTimePercent. 123 */ 124 public BigDecimal getJuly1BudgetTimePercent() { 125 return july1BudgetTimePercent; 126 } 127 128 /** 129 * Sets the july1BudgetTimePercent. 130 * 131 * @param july1BudgetTimePercent The july1BudgetTimePercent to set. 132 */ 133 public void setJuly1BudgetTimePercent(BigDecimal july1BudgetTimePercent) { 134 this.july1BudgetTimePercent = july1BudgetTimePercent; 135 } 136 137 /** 138 * Gets the universityFiscalYear attribute. 139 * 140 * @return Returns the universityFiscalYear. 141 */ 142 public Integer getUniversityFiscalYear() { 143 return universityFiscalYear; 144 } 145 146 /** 147 * Sets the universityFiscalYear attribute value. 148 * 149 * @param universityFiscalYear The universityFiscalYear to set. 150 */ 151 public void setUniversityFiscalYear(Integer universityFiscalYear) { 152 this.universityFiscalYear = universityFiscalYear; 153 } 154 155 /** 156 * Gets the chartOfAccountsCode attribute. 157 * 158 * @return Returns the chartOfAccountsCode. 159 */ 160 public String getChartOfAccountsCode() { 161 return chartOfAccountsCode; 162 } 163 164 /** 165 * Sets the chartOfAccountsCode attribute value. 166 * 167 * @param chartOfAccountsCode The chartOfAccountsCode to set. 168 */ 169 public void setChartOfAccountsCode(String chartOfAccountsCode) { 170 this.chartOfAccountsCode = chartOfAccountsCode; 171 } 172 173 /** 174 * Gets the accountNumber attribute. 175 * 176 * @return Returns the accountNumber. 177 */ 178 public String getAccountNumber() { 179 return accountNumber; 180 } 181 182 /** 183 * Sets the accountNumber attribute value. 184 * 185 * @param accountNumber The accountNumber to set. 186 */ 187 public void setAccountNumber(String accountNumber) { 188 this.accountNumber = accountNumber; 189 } 190 191 /** 192 * Gets the subAccountNumber attribute. 193 * 194 * @return Returns the subAccountNumber. 195 */ 196 public String getSubAccountNumber() { 197 return subAccountNumber; 198 } 199 200 /** 201 * Sets the subAccountNumber attribute value. 202 * 203 * @param subAccountNumber The subAccountNumber to set. 204 */ 205 public void setSubAccountNumber(String subAccountNumber) { 206 this.subAccountNumber = subAccountNumber; 207 } 208 209 /** 210 * Gets the financialObjectCode attribute. 211 * 212 * @return Returns the financialObjectCode. 213 */ 214 public String getFinancialObjectCode() { 215 return financialObjectCode; 216 } 217 218 /** 219 * Sets the financialObjectCode attribute value. 220 * 221 * @param financialObjectCode The financialObjectCode to set. 222 */ 223 public void setFinancialObjectCode(String financialObjectCode) { 224 this.financialObjectCode = financialObjectCode; 225 } 226 227 /** 228 * Gets the financialSubObjectCode attribute. 229 * 230 * @return Returns the financialSubObjectCode. 231 */ 232 public String getFinancialSubObjectCode() { 233 return financialSubObjectCode; 234 } 235 236 /** 237 * Sets the financialSubObjectCode attribute value. 238 * 239 * @param financialSubObjectCode The financialSubObjectCode to set. 240 */ 241 public void setFinancialSubObjectCode(String financialSubObjectCode) { 242 this.financialSubObjectCode = financialSubObjectCode; 243 } 244 245 /** 246 * Gets the positionNumber attribute. 247 * 248 * @return Returns the positionNumber. 249 */ 250 public String getPositionNumber() { 251 return positionNumber; 252 } 253 254 /** 255 * Sets the positionNumber attribute value. 256 * 257 * @param positionNumber The positionNumber to set. 258 */ 259 public void setPositionNumber(String positionNumber) { 260 this.positionNumber = positionNumber; 261 } 262 263 /** 264 * Gets the emplid attribute. 265 * 266 * @return Returns the emplid. 267 */ 268 public String getEmplid() { 269 return emplid; 270 } 271 272 /** 273 * Sets the emplid attribute value. 274 * 275 * @param emplid The emplid to set. 276 */ 277 public void setEmplid(String emplid) { 278 this.emplid = emplid; 279 } 280 281 /** 282 * Gets the personName attribute. 283 * 284 * @return Returns the personName. 285 */ 286 public String getName() { 287 return personName; 288 } 289 290 /** 291 * Sets the personName attribute value. 292 * 293 * @param personName The personName to set. 294 */ 295 public void setName(String personName) { 296 this.personName = personName; 297 } 298 299 /** 300 * Gets the csfCreateTimestamp attribute. 301 * 302 * @return Returns the csfCreateTimestamp. 303 */ 304 public Timestamp getCsfCreateTimestamp() { 305 return csfCreateTimestamp; 306 } 307 308 /** 309 * Sets the csfCreateTimestamp attribute value. 310 * 311 * @param csfCreateTimestamp The csfCreateTimestamp to set. 312 */ 313 public void setCsfCreateTimestamp(Timestamp csfCreateTimestamp) { 314 this.csfCreateTimestamp = csfCreateTimestamp; 315 } 316 317 /** 318 * Gets the csfDeleteCode attribute. 319 * 320 * @return Returns the csfDeleteCode. 321 */ 322 public String getCsfDeleteCode() { 323 return csfDeleteCode; 324 } 325 326 /** 327 * Sets the csfDeleteCode attribute value. 328 * 329 * @param csfDeleteCode The csfDeleteCode to set. 330 */ 331 public void setCsfDeleteCode(String csfDeleteCode) { 332 this.csfDeleteCode = csfDeleteCode; 333 } 334 335 /** 336 * Gets the csfAmount attribute. 337 * 338 * @return Returns the csfAmount. 339 */ 340 public KualiDecimal getCsfAmount() { 341 return csfAmount; 342 } 343 344 /** 345 * Sets the csfAmount attribute value. 346 * 347 * @param csfAmount The csfAmount to set. 348 */ 349 public void setCsfAmount(KualiDecimal csfAmount) { 350 this.csfAmount = csfAmount; 351 } 352 353 /** 354 * Gets the csfFullTimeEmploymentQuantity attribute. 355 * 356 * @return Returns the csfFullTimeEmploymentQuantity. 357 */ 358 public BigDecimal getCsfFullTimeEmploymentQuantity() { 359 return csfFullTimeEmploymentQuantity; 360 } 361 362 /** 363 * Sets the csfFullTimeEmploymentQuantity attribute value. 364 * 365 * @param csfFullTimeEmploymentQuantity The csfFullTimeEmploymentQuantity to set. 366 */ 367 public void setCsfFullTimeEmploymentQuantity(BigDecimal csfFullTimeEmploymentQuantity) { 368 this.csfFullTimeEmploymentQuantity = csfFullTimeEmploymentQuantity; 369 } 370 371 /** 372 * Gets the csfTimePercent attribute. 373 * 374 * @return Returns the csfTimePercent. 375 */ 376 public BigDecimal getCsfTimePercent() { 377 return csfTimePercent; 378 } 379 380 /** 381 * Sets the csfTimePercent attribute value. 382 * 383 * @param csfTimePercent The csfTimePercent to set. 384 */ 385 public void setCsfTimePercent(BigDecimal csfTimePercent) { 386 this.csfTimePercent = csfTimePercent; 387 } 388 389 /** 390 * Gets the csfFundingStatusCode attribute. 391 * 392 * @return Returns the csfFundingStatusCode. 393 */ 394 public String getCsfFundingStatusCode() { 395 return csfFundingStatusCode; 396 } 397 398 /** 399 * Sets the csfFundingStatusCode attribute value. 400 * 401 * @param csfFundingStatusCode The csfFundingStatusCode to set. 402 */ 403 public void setCsfFundingStatusCode(String csfFundingStatusCode) { 404 this.csfFundingStatusCode = csfFundingStatusCode; 405 } 406 407 /** 408 * Gets the employeeRecord attribute. 409 * 410 * @return Returns the employeeRecord. 411 */ 412 public Integer getEmployeeRecord() { 413 return employeeRecord; 414 } 415 416 /** 417 * Sets the employeeRecord attribute value. 418 * 419 * @param employeeRecord The employeeRecord to set. 420 */ 421 public void setEmployeeRecord(Integer employeeRecord) { 422 this.employeeRecord = employeeRecord; 423 } 424 425 /** 426 * Gets the earnCode attribute. 427 * 428 * @return Returns the earnCode. 429 */ 430 public String getEarnCode() { 431 return earnCode; 432 } 433 434 /** 435 * Sets the earnCode attribute value. 436 * 437 * @param earnCode The earnCode to set. 438 */ 439 public void setEarnCode(String earnCode) { 440 this.earnCode = earnCode; 441 } 442 443 /** 444 * Gets the additionalSequence attribute. 445 * 446 * @return Returns the additionalSequence. 447 */ 448 public Integer getAdditionalSequence() { 449 return additionalSequence; 450 } 451 452 /** 453 * Sets the additionalSequence attribute value. 454 * 455 * @param additionalSequence The additionalSequence to set. 456 */ 457 public void setAdditionalSequence(Integer additionalSequence) { 458 this.additionalSequence = additionalSequence; 459 } 460 461 /** 462 * Gets the effectiveDate attribute. 463 * 464 * @return Returns the effectiveDate. 465 */ 466 public Date getEffectiveDate() { 467 return effectiveDate; 468 } 469 470 /** 471 * Sets the effectiveDate attribute value. 472 * 473 * @param effectiveDate The effectiveDate to set. 474 */ 475 public void setEffectiveDate(Date effectiveDate) { 476 this.effectiveDate = effectiveDate; 477 } 478 479 /** 480 * Gets the effectiveSequence attribute. 481 * 482 * @return Returns the effectiveSequence. 483 */ 484 public Integer getEffectiveSequence() { 485 return effectiveSequence; 486 } 487 488 /** 489 * Sets the effectiveSequence attribute value. 490 * 491 * @param effectiveSequence The effectiveSequence to set. 492 */ 493 public void setEffectiveSequence(Integer effectiveSequence) { 494 this.effectiveSequence = effectiveSequence; 495 } 496 497 /** 498 * Gets the financialObject attribute. 499 * 500 * @return Returns the financialObject. 501 */ 502 public ObjectCode getFinancialObject() { 503 return financialObject; 504 } 505 506 /** 507 * Sets the financialObject attribute value. 508 * 509 * @param financialObject The financialObject to set. 510 */ 511 public void setFinancialObject(ObjectCode financialObject) { 512 this.financialObject = financialObject; 513 } 514 515 /** 516 * Gets the chartOfAccounts attribute. 517 * 518 * @return Returns the chartOfAccounts. 519 */ 520 public Chart getChartOfAccounts() { 521 return chartOfAccounts; 522 } 523 524 /** 525 * Sets the chartOfAccounts attribute value. 526 * 527 * @param chartOfAccounts The chartOfAccounts to set. 528 */ 529 public void setChartOfAccounts(Chart chartOfAccounts) { 530 this.chartOfAccounts = chartOfAccounts; 531 } 532 533 /** 534 * Gets the account attribute. 535 * 536 * @return Returns the account. 537 */ 538 public Account getAccount() { 539 return account; 540 } 541 542 /** 543 * Sets the account attribute value. 544 * 545 * @param account The account to set. 546 */ 547 public void setAccount(Account account) { 548 this.account = account; 549 } 550 551 /** 552 * Gets the subAccount attribute. 553 * 554 * @return Returns the subAccount. 555 */ 556 public SubAccount getSubAccount() { 557 return subAccount; 558 } 559 560 /** 561 * Sets the subAccount attribute value. 562 * 563 * @param subAccount The subAccount to set. 564 */ 565 public void setSubAccount(SubAccount subAccount) { 566 this.subAccount = subAccount; 567 } 568 569 /** 570 * Gets the financialSubObject attribute. 571 * 572 * @return Returns the financialSubObject. 573 */ 574 public SubObjectCode getFinancialSubObject() { 575 return financialSubObject; 576 } 577 578 /** 579 * Sets the financialSubObject attribute value. 580 * 581 * @param financialSubObject The financialSubObject to set. 582 */ 583 public void setFinancialSubObject(SubObjectCode financialSubObject) { 584 this.financialSubObject = financialSubObject; 585 } 586 587 /** 588 * Gets the universityFiscal attribute. 589 * 590 * @return Returns the universityFiscal. 591 */ 592 public SystemOptions getUniversityFiscal() { 593 return universityFiscal; 594 } 595 596 /** 597 * Sets the universityFiscal attribute value. 598 * 599 * @param universityFiscal The universityFiscal to set. 600 */ 601 public void setUniversityFiscal(SystemOptions universityFiscal) { 602 this.universityFiscal = universityFiscal; 603 } 604 605 /** 606 * Gets the pERCENTAGE_SCALE attribute. 607 * 608 * @return Returns the pERCENTAGE_SCALE. 609 */ 610 public int getPERCENTAGE_SCALE() { 611 return PERCENTAGE_SCALE; 612 } 613 614 /** 615 * construct the key list of the business object 616 * 617 * @return the key list of the business object 618 */ 619 public List<String> getKeyFieldList() { 620 List<String> keyFieldList = new ArrayList<String>(); 621 keyFieldList.add(KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR); 622 keyFieldList.add(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE); 623 keyFieldList.add(KFSPropertyConstants.ACCOUNT_NUMBER); 624 keyFieldList.add(KFSPropertyConstants.SUB_ACCOUNT_NUMBER); 625 keyFieldList.add(KFSPropertyConstants.FINANCIAL_OBJECT_CODE); 626 keyFieldList.add(KFSPropertyConstants.FINANCIAL_SUB_OBJECT_CODE); 627 keyFieldList.add(KFSPropertyConstants.POSITION_NUMBER); 628 keyFieldList.add(KFSPropertyConstants.EMPLID); 629 630 return keyFieldList; 631 } 632 633 /** 634 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 635 */ 636 @Override 637 protected LinkedHashMap toStringMapper() { 638 LinkedHashMap m = new LinkedHashMap(); 639 if (this.universityFiscalYear != null) { 640 m.put("universityFiscalYear", this.universityFiscalYear.toString()); 641 } 642 m.put("chartOfAccountsCode", this.chartOfAccountsCode); 643 m.put("accountNumber", this.accountNumber); 644 m.put("subAccountNumber", this.subAccountNumber); 645 m.put("financialObjectCode", this.financialObjectCode); 646 m.put("financialSubObjectCode", this.financialSubObjectCode); 647 m.put("positionNumber", this.positionNumber); 648 m.put("emplid", this.emplid); 649 if (this.csfCreateTimestamp != null) { 650 m.put("csfCreateTimestamp", this.csfCreateTimestamp.toString()); 651 } 652 return m; 653 } 654 655 } 656