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.cam.businessobject; 017 018 import java.sql.Date; 019 import java.sql.Timestamp; 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.module.cam.CamsConstants; 028 import org.kuali.kfs.module.cam.CamsPropertyConstants; 029 import org.kuali.kfs.module.cam.document.service.AssetPaymentService; 030 import org.kuali.kfs.module.cam.document.service.AssetRetirementService; 031 import org.kuali.kfs.module.cam.document.service.PaymentSummaryService; 032 import org.kuali.kfs.sys.businessobject.FinancialSystemDocumentHeader; 033 import org.kuali.kfs.sys.businessobject.GeneralLedgerPendingEntry; 034 import org.kuali.kfs.sys.businessobject.UniversityDate; 035 import org.kuali.kfs.sys.context.SpringContext; 036 import org.kuali.kfs.sys.service.UniversityDateService; 037 import org.kuali.rice.kns.bo.Country; 038 import org.kuali.rice.kns.bo.DocumentHeader; 039 import org.kuali.rice.kns.bo.GlobalBusinessObject; 040 import org.kuali.rice.kns.bo.GlobalBusinessObjectDetail; 041 import org.kuali.rice.kns.bo.PersistableBusinessObject; 042 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 043 import org.kuali.rice.kns.bo.PostalCode; 044 import org.kuali.rice.kns.bo.State; 045 import org.kuali.rice.kns.service.BusinessObjectService; 046 import org.kuali.rice.kns.service.CountryService; 047 import org.kuali.rice.kns.service.DateTimeService; 048 import org.kuali.rice.kns.service.PostalCodeService; 049 import org.kuali.rice.kns.service.StateService; 050 import org.kuali.rice.kns.util.KualiDecimal; 051 import org.kuali.rice.kns.util.ObjectUtils; 052 import org.kuali.rice.kns.util.TypedArrayList; 053 054 /** 055 * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu) 056 */ 057 058 public class AssetRetirementGlobal extends PersistableBusinessObjectBase implements GlobalBusinessObject { 059 060 private String documentNumber; 061 private Long mergedTargetCapitalAssetNumber; 062 private String mergedTargetCapitalAssetDescription; 063 private String retirementReasonCode; 064 private String retirementChartOfAccountsCode; 065 private String retirementAccountNumber; 066 private String retirementContactName; 067 private String retirementInstitutionName; 068 private String retirementStreetAddress; 069 private String retirementCityName; 070 private String retirementStateCode; 071 private String retirementZipCode; 072 private String retirementCountryCode; 073 private String retirementPhoneNumber; 074 private KualiDecimal estimatedSellingPrice; 075 private KualiDecimal salePrice; 076 private String cashReceiptFinancialDocumentNumber; 077 private KualiDecimal handlingFeeAmount; 078 private KualiDecimal preventiveMaintenanceAmount; 079 private String buyerDescription; 080 private String paidCaseNumber; 081 // persistent relationship 082 private Date retirementDate; 083 private Asset mergedTargetCapitalAsset; 084 private AssetRetirementReason retirementReason; 085 private FinancialSystemDocumentHeader documentHeader; 086 private List<AssetRetirementGlobalDetail> assetRetirementGlobalDetails; 087 private Account retirementAccount; 088 private Chart retirementChartOfAccounts; 089 private DocumentHeader cashReceiptFinancialDocument; 090 private State retirementState; 091 private Country retirementCountry; 092 private PostalCode postalZipCode; 093 094 private List<GeneralLedgerPendingEntry> generalLedgerPendingEntries; 095 096 // Non-persistent 097 private KualiDecimal calculatedTotal; 098 099 /** 100 * Default constructor. 101 */ 102 public AssetRetirementGlobal() { 103 this.assetRetirementGlobalDetails = new TypedArrayList(AssetRetirementGlobalDetail.class); 104 this.generalLedgerPendingEntries = new TypedArrayList(GeneralLedgerPendingEntry.class); 105 } 106 107 108 public List<PersistableBusinessObject> generateDeactivationsToPersist() { 109 return null; 110 } 111 112 /** 113 * @see org.kuali.rice.kns.bo.GlobalBusinessObject#generateGlobalChangesToPersist() 114 */ 115 public List<PersistableBusinessObject> generateGlobalChangesToPersist() { 116 AssetRetirementService retirementService = SpringContext.getBean(AssetRetirementService.class); 117 118 List<PersistableBusinessObject> persistables = new ArrayList<PersistableBusinessObject>(); 119 120 if (retirementService.isAssetRetiredByMerged(this) && mergedTargetCapitalAsset != null) { 121 setMergeObjectsForPersist(persistables, retirementService); 122 } 123 124 for (AssetRetirementGlobalDetail detail : assetRetirementGlobalDetails) { 125 setAssetForPersist(detail.getAsset(), persistables, retirementService); 126 } 127 128 return persistables; 129 } 130 131 @Override 132 public List buildListOfDeletionAwareLists() { 133 List<List> managedList = super.buildListOfDeletionAwareLists(); 134 135 managedList.add(getAssetRetirementGlobalDetails()); 136 137 return managedList; 138 } 139 140 /** 141 * This method set asset fields for update 142 * 143 * @param detail 144 * @param persistables 145 */ 146 private void setAssetForPersist(Asset asset, List<PersistableBusinessObject> persistables, AssetRetirementService retirementService) { 147 UniversityDateService universityDateService = SpringContext.getBean(UniversityDateService.class); 148 149 // load the object by key 150 asset.setInventoryStatusCode(CamsConstants.InventoryStatusCode.CAPITAL_ASSET_RETIRED); 151 asset.setRetirementReasonCode(retirementReasonCode); 152 153 // set retirement fiscal year and period code into asset 154 UniversityDate currentUniversityDate = universityDateService.getCurrentUniversityDate(); 155 if (ObjectUtils.isNotNull(currentUniversityDate)) { 156 asset.setRetirementFiscalYear(universityDateService.getCurrentUniversityDate().getUniversityFiscalYear()); 157 asset.setRetirementPeriodCode(universityDateService.getCurrentUniversityDate().getUniversityFiscalAccountingPeriod()); 158 } 159 160 161 if (retirementService.isAssetRetiredByTheft(this) && StringUtils.isNotBlank(this.getPaidCaseNumber())) { 162 asset.setCampusPoliceDepartmentCaseNumber(this.getPaidCaseNumber()); 163 } 164 else if (retirementService.isAssetRetiredBySold(this) || retirementService.isAssetRetiredByAuction(this)) { 165 asset.setRetirementChartOfAccountsCode(this.getRetirementChartOfAccountsCode()); 166 asset.setRetirementAccountNumber(this.getRetirementAccountNumber()); 167 asset.setCashReceiptFinancialDocumentNumber(this.getCashReceiptFinancialDocumentNumber()); 168 asset.setSalePrice(this.getSalePrice()); 169 asset.setEstimatedSellingPrice(this.getEstimatedSellingPrice()); 170 } 171 else if (retirementService.isAssetRetiredByMerged(this)) { 172 asset.setTotalCostAmount(KualiDecimal.ZERO); 173 asset.setSalvageAmount(KualiDecimal.ZERO); 174 } 175 else if (retirementService.isAssetRetiredByExternalTransferOrGift(this)) { 176 persistables.add(setOffCampusLocationObjectsForPersist(asset)); 177 } 178 asset.setLastInventoryDate(new Timestamp(SpringContext.getBean(DateTimeService.class).getCurrentSqlDate().getTime())); 179 persistables.add(asset); 180 } 181 182 /** 183 * This method set off campus location for persist 184 * 185 * @param AssetGlobalDetail and Asset to populate AssetLocation 186 * @return Returns the AssetLocation. 187 */ 188 private AssetLocation setOffCampusLocationObjectsForPersist(Asset asset) { 189 AssetLocation offCampusLocation = new AssetLocation(); 190 offCampusLocation.setCapitalAssetNumber(asset.getCapitalAssetNumber()); 191 offCampusLocation.setAssetLocationTypeCode(CamsConstants.AssetLocationTypeCode.RETIREMENT); 192 offCampusLocation = (AssetLocation) SpringContext.getBean(BusinessObjectService.class).retrieve(offCampusLocation); 193 if (offCampusLocation == null) { 194 offCampusLocation = new AssetLocation(); 195 offCampusLocation.setCapitalAssetNumber(asset.getCapitalAssetNumber()); 196 offCampusLocation.setAssetLocationTypeCode(CamsConstants.AssetLocationTypeCode.RETIREMENT); 197 asset.getAssetLocations().add(offCampusLocation); 198 } 199 200 offCampusLocation.setAssetLocationContactName(this.getRetirementContactName()); 201 offCampusLocation.setAssetLocationInstitutionName(this.getRetirementInstitutionName()); 202 offCampusLocation.setAssetLocationPhoneNumber(this.getRetirementPhoneNumber()); 203 offCampusLocation.setAssetLocationStreetAddress(this.getRetirementStreetAddress()); 204 offCampusLocation.setAssetLocationCityName(this.getRetirementCityName()); 205 offCampusLocation.setAssetLocationStateCode(this.getRetirementStateCode()); 206 offCampusLocation.setAssetLocationCountryCode(this.getRetirementCountryCode()); 207 offCampusLocation.setAssetLocationZipCode(this.getRetirementZipCode()); 208 209 return offCampusLocation; 210 } 211 212 /** 213 * This method set target payment and source payment; set target/source asset salvageAmount/totalCostAmount 214 * 215 * @param persistables 216 */ 217 private void setMergeObjectsForPersist(List<PersistableBusinessObject> persistables, AssetRetirementService retirementService) { 218 PaymentSummaryService paymentSummaryService = SpringContext.getBean(PaymentSummaryService.class); 219 AssetPaymentService assetPaymentService = SpringContext.getBean(AssetPaymentService.class); 220 221 Integer maxTargetSequenceNo = assetPaymentService.getMaxSequenceNumber(mergedTargetCapitalAssetNumber); 222 223 KualiDecimal salvageAmount = KualiDecimal.ZERO; 224 KualiDecimal totalCostAmount = KualiDecimal.ZERO; 225 Asset sourceAsset; 226 227 // update for each merge source asset 228 for (AssetRetirementGlobalDetail detail : getAssetRetirementGlobalDetails()) { 229 detail.refreshReferenceObject(CamsPropertyConstants.AssetRetirementGlobalDetail.ASSET); 230 sourceAsset = detail.getAsset(); 231 232 totalCostAmount = totalCostAmount.add(paymentSummaryService.calculatePaymentTotalCost(sourceAsset)); 233 salvageAmount = salvageAmount.add(sourceAsset.getSalvageAmount()); 234 235 retirementService.generateOffsetPaymentsForEachSource(sourceAsset, persistables, detail.getDocumentNumber()); 236 maxTargetSequenceNo = retirementService.generateNewPaymentForTarget(mergedTargetCapitalAsset, sourceAsset, persistables, maxTargetSequenceNo, detail.getDocumentNumber()); 237 238 } 239 KualiDecimal mergedTargetSalvageAmount = (mergedTargetCapitalAsset.getSalvageAmount() != null ? mergedTargetCapitalAsset.getSalvageAmount() : KualiDecimal.ZERO); 240 241 // update merget target asset 242 mergedTargetCapitalAsset.setTotalCostAmount(totalCostAmount.add(paymentSummaryService.calculatePaymentTotalCost(mergedTargetCapitalAsset))); 243 mergedTargetCapitalAsset.setSalvageAmount(salvageAmount.add(mergedTargetSalvageAmount)); 244 mergedTargetCapitalAsset.setLastInventoryDate(new Timestamp(SpringContext.getBean(DateTimeService.class).getCurrentSqlDate().getTime())); 245 mergedTargetCapitalAsset.setCapitalAssetDescription(this.getMergedTargetCapitalAssetDescription()); 246 persistables.add(mergedTargetCapitalAsset); 247 } 248 249 250 public List<? extends GlobalBusinessObjectDetail> getAllDetailObjects() { 251 return getAssetRetirementGlobalDetails(); 252 } 253 254 public boolean isPersistable() { 255 return true; 256 } 257 258 /** 259 * Gets the documentNumber attribute. 260 * 261 * @return Returns the documentNumber 262 */ 263 public String getDocumentNumber() { 264 return documentNumber; 265 } 266 267 /** 268 * Sets the documentNumber attribute. 269 * 270 * @param documentNumber The documentNumber to set. 271 */ 272 public void setDocumentNumber(String documentNumber) { 273 this.documentNumber = documentNumber; 274 } 275 276 277 /** 278 * Gets the mergedTargetCapitalAssetNumber attribute. 279 * 280 * @return Returns the mergedTargetCapitalAssetNumber 281 */ 282 public Long getMergedTargetCapitalAssetNumber() { 283 return mergedTargetCapitalAssetNumber; 284 } 285 286 /** 287 * Sets the mergedTargetCapitalAssetNumber attribute. 288 * 289 * @param mergedTargetCapitalAssetNumber The mergedTargetCapitalAssetNumber to set. 290 */ 291 public void setMergedTargetCapitalAssetNumber(Long mergedTargetCapitalAssetNumber) { 292 this.mergedTargetCapitalAssetNumber = mergedTargetCapitalAssetNumber; 293 } 294 295 296 /** 297 * Gets the retirementReasonCode attribute. 298 * 299 * @return Returns the retirementReasonCode 300 */ 301 public String getRetirementReasonCode() { 302 return retirementReasonCode; 303 } 304 305 /** 306 * Sets the retirementReasonCode attribute. 307 * 308 * @param retirementReasonCode The retirementReasonCode to set. 309 */ 310 public void setRetirementReasonCode(String retirementReasonCode) { 311 this.retirementReasonCode = retirementReasonCode; 312 } 313 314 315 /** 316 * Gets the retirementDate attribute. 317 * 318 * @return Returns the retirementDate 319 */ 320 public Date getRetirementDate() { 321 return retirementDate; 322 } 323 324 /** 325 * Sets the retirementDate attribute. 326 * 327 * @param retirementDate The retirementDate to set. 328 */ 329 public void setRetirementDate(Date remeretirementDatentDate) { 330 this.retirementDate = remeretirementDatentDate; 331 } 332 333 /** 334 * Gets the mergedTargetCapitalAsset attribute. 335 * 336 * @return Returns the mergedTargetCapitalAsset. 337 */ 338 public Asset getMergedTargetCapitalAsset() { 339 return mergedTargetCapitalAsset; 340 } 341 342 /** 343 * Sets the mergedTargetCapitalAsset attribute value. 344 * 345 * @param mergedTargetCapitalAsset The mergedTargetCapitalAsset to set. 346 * @deprecated 347 */ 348 public void setMergedTargetCapitalAsset(Asset mergedTargetCapitalAsset) { 349 this.mergedTargetCapitalAsset = mergedTargetCapitalAsset; 350 } 351 352 /** 353 * Gets the retirementReason attribute. 354 * 355 * @return Returns the retirementReason. 356 */ 357 public AssetRetirementReason getRetirementReason() { 358 return retirementReason; 359 } 360 361 /** 362 * Sets the retirementReason attribute value. 363 * 364 * @param retirementReason The retirementReason to set. 365 * @deprecated 366 */ 367 public void setRetirementReason(AssetRetirementReason retirementReason) { 368 this.retirementReason = retirementReason; 369 } 370 371 372 public FinancialSystemDocumentHeader getDocumentHeader() { 373 return documentHeader; 374 } 375 376 public void setDocumentHeader(FinancialSystemDocumentHeader documentHeader) { 377 this.documentHeader = documentHeader; 378 } 379 380 public List<AssetRetirementGlobalDetail> getAssetRetirementGlobalDetails() { 381 return assetRetirementGlobalDetails; 382 } 383 384 public void setAssetRetirementGlobalDetails(List<AssetRetirementGlobalDetail> assetRetirementGlobalDetails) { 385 this.assetRetirementGlobalDetails = assetRetirementGlobalDetails; 386 } 387 388 389 public List<GeneralLedgerPendingEntry> getGeneralLedgerPendingEntries() { 390 return generalLedgerPendingEntries; 391 } 392 393 394 public void setGeneralLedgerPendingEntries(List<GeneralLedgerPendingEntry> glPendingEntries) { 395 this.generalLedgerPendingEntries = glPendingEntries; 396 } 397 398 399 /** 400 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 401 */ 402 protected LinkedHashMap toStringMapper() { 403 LinkedHashMap m = new LinkedHashMap(); 404 m.put("documentNumber", this.documentNumber); 405 return m; 406 } 407 408 409 public String getMergedTargetCapitalAssetDescription() { 410 return mergedTargetCapitalAssetDescription; 411 } 412 413 414 public void setMergedTargetCapitalAssetDescription(String mergedTargetCapitalAssetDescription) { 415 this.mergedTargetCapitalAssetDescription = mergedTargetCapitalAssetDescription; 416 } 417 418 /** 419 * Gets the retirementChartOfAccountsCode attribute. 420 * 421 * @return Returns the retirementChartOfAccountsCode 422 */ 423 public String getRetirementChartOfAccountsCode() { 424 return retirementChartOfAccountsCode; 425 } 426 427 /** 428 * Sets the retirementChartOfAccountsCode attribute. 429 * 430 * @param retirementChartOfAccountsCode The retirementChartOfAccountsCode to set. 431 */ 432 public void setRetirementChartOfAccountsCode(String retirementChartOfAccountsCode) { 433 this.retirementChartOfAccountsCode = retirementChartOfAccountsCode; 434 } 435 436 437 /** 438 * Gets the retirementAccountNumber attribute. 439 * 440 * @return Returns the retirementAccountNumber 441 */ 442 public String getRetirementAccountNumber() { 443 return retirementAccountNumber; 444 } 445 446 /** 447 * Sets the retirementAccountNumber attribute. 448 * 449 * @param retirementAccountNumber The retirementAccountNumber to set. 450 */ 451 public void setRetirementAccountNumber(String retirementAccountNumber) { 452 this.retirementAccountNumber = retirementAccountNumber; 453 } 454 455 456 /** 457 * Gets the retirementContactName attribute. 458 * 459 * @return Returns the retirementContactName 460 */ 461 public String getRetirementContactName() { 462 return retirementContactName; 463 } 464 465 /** 466 * Sets the retirementContactName attribute. 467 * 468 * @param retirementContactName The retirementContactName to set. 469 */ 470 public void setRetirementContactName(String retirementContactName) { 471 this.retirementContactName = retirementContactName; 472 } 473 474 475 /** 476 * Gets the retirementInstitutionName attribute. 477 * 478 * @return Returns the retirementInstitutionName 479 */ 480 public String getRetirementInstitutionName() { 481 return retirementInstitutionName; 482 } 483 484 /** 485 * Sets the retirementInstitutionName attribute. 486 * 487 * @param retirementInstitutionName The retirementInstitutionName to set. 488 */ 489 public void setRetirementInstitutionName(String retirementInstitutionName) { 490 this.retirementInstitutionName = retirementInstitutionName; 491 } 492 493 494 /** 495 * Gets the retirementStreetAddress attribute. 496 * 497 * @return Returns the retirementStreetAddress 498 */ 499 public String getRetirementStreetAddress() { 500 return retirementStreetAddress; 501 } 502 503 /** 504 * Sets the retirementStreetAddress attribute. 505 * 506 * @param retirementStreetAddress The retirementStreetAddress to set. 507 */ 508 public void setRetirementStreetAddress(String retirementStreetAddress) { 509 this.retirementStreetAddress = retirementStreetAddress; 510 } 511 512 513 /** 514 * Gets the retirementCityName attribute. 515 * 516 * @return Returns the retirementCityName 517 */ 518 public String getRetirementCityName() { 519 return retirementCityName; 520 } 521 522 /** 523 * Sets the retirementCityName attribute. 524 * 525 * @param retirementCityName The retirementCityName to set. 526 */ 527 public void setRetirementCityName(String retirementCityName) { 528 this.retirementCityName = retirementCityName; 529 } 530 531 532 /** 533 * Gets the retirementStateCode attribute. 534 * 535 * @return Returns the retirementStateCode 536 */ 537 public String getRetirementStateCode() { 538 return retirementStateCode; 539 } 540 541 /** 542 * Sets the retirementStateCode attribute. 543 * 544 * @param retirementStateCode The retirementStateCode to set. 545 */ 546 public void setRetirementStateCode(String retirementStateCode) { 547 this.retirementStateCode = retirementStateCode; 548 } 549 550 551 /** 552 * Gets the retirementZipCode attribute. 553 * 554 * @return Returns the retirementZipCode 555 */ 556 public String getRetirementZipCode() { 557 return retirementZipCode; 558 } 559 560 /** 561 * Sets the retirementZipCode attribute. 562 * 563 * @param retirementZipCode The retirementZipCode to set. 564 */ 565 public void setRetirementZipCode(String retirementZipCode) { 566 this.retirementZipCode = retirementZipCode; 567 } 568 569 570 /** 571 * Gets the postalZipCode attribute. 572 * 573 * @return Returns the postalZipCode 574 */ 575 public PostalCode getPostalZipCode() { 576 postalZipCode = SpringContext.getBean(PostalCodeService.class).getByPrimaryIdIfNecessary(retirementCountryCode, retirementZipCode, postalZipCode); 577 return postalZipCode; 578 } 579 580 /** 581 * Sets the postalZipCode attribute. 582 * 583 * @param postalZipCode The postalZipCode to set. 584 */ 585 public void setPostalZipCode(PostalCode postalZipCode) { 586 this.postalZipCode = postalZipCode; 587 } 588 589 /** 590 * Gets the retirementCountryCode attribute. 591 * 592 * @return Returns the retirementCountryCode 593 */ 594 public String getRetirementCountryCode() { 595 return retirementCountryCode; 596 } 597 598 /** 599 * Sets the retirementCountryCode attribute. 600 * 601 * @param retirementCountryCode The retirementCountryCode to set. 602 */ 603 public void setRetirementCountryCode(String retirementCountryCode) { 604 this.retirementCountryCode = retirementCountryCode; 605 } 606 607 608 /** 609 * Gets the retirementPhoneNumber attribute. 610 * 611 * @return Returns the retirementPhoneNumber 612 */ 613 public String getRetirementPhoneNumber() { 614 return retirementPhoneNumber; 615 } 616 617 /** 618 * Sets the retirementPhoneNumber attribute. 619 * 620 * @param retirementPhoneNumber The retirementPhoneNumber to set. 621 */ 622 public void setRetirementPhoneNumber(String retirementPhoneNumber) { 623 this.retirementPhoneNumber = retirementPhoneNumber; 624 } 625 626 627 /** 628 * Gets the estimatedSellingPrice attribute. 629 * 630 * @return Returns the estimatedSellingPrice 631 */ 632 public KualiDecimal getEstimatedSellingPrice() { 633 return estimatedSellingPrice; 634 } 635 636 /** 637 * Sets the estimatedSellingPrice attribute. 638 * 639 * @param estimatedSellingPrice The estimatedSellingPrice to set. 640 */ 641 public void setEstimatedSellingPrice(KualiDecimal estimatedSellingPrice) { 642 this.estimatedSellingPrice = estimatedSellingPrice; 643 } 644 645 646 /** 647 * Gets the salePrice attribute. 648 * 649 * @return Returns the salePrice 650 */ 651 public KualiDecimal getSalePrice() { 652 return salePrice; 653 } 654 655 /** 656 * Sets the salePrice attribute. 657 * 658 * @param salePrice The salePrice to set. 659 */ 660 public void setSalePrice(KualiDecimal salePrice) { 661 this.salePrice = salePrice; 662 } 663 664 665 /** 666 * Gets the cashReceiptFinancialDocumentNumber attribute. 667 * 668 * @return Returns the cashReceiptFinancialDocumentNumber 669 */ 670 public String getCashReceiptFinancialDocumentNumber() { 671 return cashReceiptFinancialDocumentNumber; 672 } 673 674 /** 675 * Sets the cashReceiptFinancialDocumentNumber attribute. 676 * 677 * @param cashReceiptFinancialDocumentNumber The cashReceiptFinancialDocumentNumber to set. 678 */ 679 public void setCashReceiptFinancialDocumentNumber(String cashReceiptFinancialDocumentNumber) { 680 this.cashReceiptFinancialDocumentNumber = cashReceiptFinancialDocumentNumber; 681 } 682 683 684 /** 685 * Gets the handlingFeeAmount attribute. 686 * 687 * @return Returns the handlingFeeAmount 688 */ 689 public KualiDecimal getHandlingFeeAmount() { 690 return handlingFeeAmount; 691 } 692 693 /** 694 * Sets the handlingFeeAmount attribute. 695 * 696 * @param handlingFeeAmount The handlingFeeAmount to set. 697 */ 698 public void setHandlingFeeAmount(KualiDecimal handlingFeeAmount) { 699 this.handlingFeeAmount = handlingFeeAmount; 700 } 701 702 703 /** 704 * Gets the preventiveMaintenanceAmount attribute. 705 * 706 * @return Returns the preventiveMaintenanceAmount 707 */ 708 public KualiDecimal getPreventiveMaintenanceAmount() { 709 return preventiveMaintenanceAmount; 710 } 711 712 /** 713 * Sets the preventiveMaintenanceAmount attribute. 714 * 715 * @param preventiveMaintenanceAmount The preventiveMaintenanceAmount to set. 716 */ 717 public void setPreventiveMaintenanceAmount(KualiDecimal preventiveMaintenanceAmount) { 718 this.preventiveMaintenanceAmount = preventiveMaintenanceAmount; 719 } 720 721 722 /** 723 * Gets the buyerDescription attribute. 724 * 725 * @return Returns the buyerDescription 726 */ 727 public String getBuyerDescription() { 728 return buyerDescription; 729 } 730 731 /** 732 * Sets the buyerDescription attribute. 733 * 734 * @param buyerDescription The buyerDescription to set. 735 */ 736 public void setBuyerDescription(String buyerDescription) { 737 this.buyerDescription = buyerDescription; 738 } 739 740 741 /** 742 * Gets the paidCaseNumber attribute. 743 * 744 * @return Returns the paidCaseNumber 745 */ 746 public String getPaidCaseNumber() { 747 return paidCaseNumber; 748 } 749 750 /** 751 * Sets the paidCaseNumber attribute. 752 * 753 * @param paidCaseNumber The paidCaseNumber to set. 754 */ 755 public void setPaidCaseNumber(String paidCaseNumber) { 756 this.paidCaseNumber = paidCaseNumber; 757 } 758 759 /** 760 * Gets the retirementChartOfAccounts attribute. 761 * 762 * @return Returns the retirementChartOfAccounts 763 */ 764 public Chart getRetirementChartOfAccounts() { 765 return retirementChartOfAccounts; 766 } 767 768 /** 769 * Sets the retirementChartOfAccounts attribute. 770 * 771 * @param retirementChartOfAccounts The retirementChartOfAccounts to set. 772 * @deprecated 773 */ 774 public void setRetirementChartOfAccounts(Chart retirementChartOfAccounts) { 775 this.retirementChartOfAccounts = retirementChartOfAccounts; 776 } 777 778 /** 779 * Gets the retirementAccount attribute. 780 * 781 * @return Returns the retirementAccount 782 */ 783 public Account getRetirementAccount() { 784 return retirementAccount; 785 } 786 787 /** 788 * Sets the retirementAccount attribute. 789 * 790 * @param retirementAccount The retirementAccount to set. 791 * @deprecated 792 */ 793 public void setRetirementAccount(Account retirementAccount) { 794 this.retirementAccount = retirementAccount; 795 } 796 797 798 /** 799 * Gets the cashReceiptFinancialDocument attribute. 800 * 801 * @return Returns the cashReceiptFinancialDocument. 802 */ 803 public DocumentHeader getCashReceiptFinancialDocument() { 804 return cashReceiptFinancialDocument; 805 } 806 807 /** 808 * Sets the cashReceiptFinancialDocument attribute value. 809 * 810 * @param cashReceiptFinancialDocument The cashReceiptFinancialDocument to set. 811 * @deprecated 812 */ 813 public void setCashReceiptFinancialDocument(DocumentHeader cashReceiptFinancialDocument) { 814 this.cashReceiptFinancialDocument = cashReceiptFinancialDocument; 815 } 816 817 818 /** 819 * Gets the retirementCountry attribute. 820 * 821 * @return Returns the retirementCountry. 822 */ 823 public Country getRetirementCountry() { 824 retirementCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(retirementCountryCode, retirementCountry); 825 return retirementCountry; 826 } 827 828 /** 829 * Sets the retirementCountry attribute value. 830 * 831 * @param retirementCountry The retirementCountry to set. 832 * @deprecated 833 */ 834 public void setRetirementCountry(Country retirementCountry) { 835 this.retirementCountry = retirementCountry; 836 } 837 838 /** 839 * Gets the retirementState attribute. 840 * 841 * @return Returns the retirementState. 842 */ 843 public State getRetirementState() { 844 retirementState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary(retirementCountryCode, retirementStateCode, retirementState); 845 return retirementState; 846 } 847 848 /** 849 * Sets the retirementState attribute value. 850 * 851 * @param retirementState The retirementState to set. 852 * @deprecated 853 */ 854 public void setRetirementState(State retirementState) { 855 this.retirementState = retirementState; 856 } 857 858 859 /** 860 * Gets the calculatedTotal attribute. 861 * 862 * @return Returns the calculatedTotal. 863 */ 864 public KualiDecimal getCalculatedTotal() { 865 this.calculatedTotal = KualiDecimal.ZERO; 866 if (this.handlingFeeAmount != null) { 867 this.calculatedTotal = calculatedTotal.add(this.handlingFeeAmount); 868 } 869 if (this.preventiveMaintenanceAmount != null) { 870 this.calculatedTotal = calculatedTotal.add(this.preventiveMaintenanceAmount); 871 } 872 if (this.salePrice != null) { 873 this.calculatedTotal = calculatedTotal.add(this.salePrice); 874 } 875 return calculatedTotal; 876 } 877 }