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.fp.businessobject; 018 019 import java.util.LinkedHashMap; 020 021 import org.apache.commons.lang.StringUtils; 022 import org.kuali.kfs.fp.document.service.DisbursementVoucherPayeeService; 023 import org.kuali.kfs.sys.KFSPropertyConstants; 024 import org.kuali.kfs.sys.context.SpringContext; 025 import org.kuali.kfs.vnd.document.service.VendorService; 026 import org.kuali.rice.kns.bo.Country; 027 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 028 import org.kuali.rice.kns.bo.PostalCode; 029 import org.kuali.rice.kns.bo.State; 030 import org.kuali.rice.kns.service.CountryService; 031 import org.kuali.rice.kns.service.PostalCodeService; 032 import org.kuali.rice.kns.service.StateService; 033 import org.kuali.rice.kns.util.ObjectUtils; 034 035 /** 036 * This class is used to represent a disbursement voucher payee detail. 037 */ 038 public class DisbursementVoucherPayeeDetail extends PersistableBusinessObjectBase { 039 040 private String documentNumber; 041 private String disbVchrPaymentReasonCode; 042 043 private String disbVchrPayeeIdNumber; 044 private String disbVchrPayeePersonName; 045 046 private String disbVchrPayeeLine1Addr; 047 private String disbVchrPayeeLine2Addr; 048 private String disbVchrPayeeCityName; 049 private String disbVchrPayeeStateCode; 050 private String disbVchrPayeeZipCode; 051 private String disbVchrPayeeCountryCode; 052 053 private String disbVchrSpecialHandlingPersonName; 054 private String disbVchrSpecialHandlingLine1Addr; 055 private String disbVchrSpecialHandlingLine2Addr; 056 private String disbVchrSpecialHandlingCityName; 057 private String disbVchrSpecialHandlingStateCode; 058 private String disbVchrSpecialHandlingZipCode; 059 private String disbVchrSpecialHandlingCountryCode; 060 061 private Boolean dvPayeeSubjectPaymentCode; 062 private Boolean disbVchrAlienPaymentCode; 063 private Boolean disbVchrPayeeEmployeeCode; 064 private Boolean disbVchrEmployeePaidOutsidePayrollCode; 065 private String disbursementVoucherPayeeTypeCode; 066 067 private PaymentReasonCode disbVchrPaymentReason; 068 069 // The following vendor-associated attributes are for convenience only and are not mapped to OJB or the DB. 070 private String disbVchrVendorHeaderIdNumber; 071 private String disbVchrVendorDetailAssignedIdNumber; 072 private String disbVchrVendorAddressIdNumber; 073 private boolean hasMultipleVendorAddresses = false; 074 075 // The following universal user-associated attributes are for convenience only and are not mapped to OJB or the the DB. 076 private String disbVchrEmployeeIdNumber; 077 078 private State disbVchrPayeeState; 079 private Country disbVchrPayeeCountry; 080 private PostalCode disbVchrPayeePostalZipCode; 081 082 /** 083 * Default no-arg constructor. 084 */ 085 public DisbursementVoucherPayeeDetail() { 086 super(); 087 } 088 089 /** 090 * Gets the documentNumber attribute. 091 * 092 * @return Returns the documentNumber 093 */ 094 public String getDocumentNumber() { 095 return documentNumber; 096 } 097 098 099 /** 100 * Sets the documentNumber attribute. 101 * 102 * @param documentNumber The documentNumber to set. 103 */ 104 public void setDocumentNumber(String documentNumber) { 105 this.documentNumber = documentNumber; 106 } 107 108 /** 109 * Gets the disbVchrPaymentReasonCode attribute. 110 * 111 * @return Returns the disbVchrPaymentReasonCode 112 */ 113 public String getDisbVchrPaymentReasonCode() { 114 return disbVchrPaymentReasonCode; 115 } 116 117 118 /** 119 * Sets the disbVchrPaymentReasonCode attribute. 120 * 121 * @param disbVchrPaymentReasonCode The disbVchrPaymentReasonCode to set. 122 */ 123 public void setDisbVchrPaymentReasonCode(String disbVchrPaymentReasonCode) { 124 this.disbVchrPaymentReasonCode = disbVchrPaymentReasonCode; 125 } 126 127 /** 128 * Gets the disbVchrPayeeIdNumber attribute. 129 * 130 * @return Returns the disbVchrVendorIdNumber 131 */ 132 public String getDisbVchrPayeeIdNumber() { 133 return disbVchrPayeeIdNumber; 134 } 135 136 137 /** 138 * Sets the disbVchrPayeeIdNumber attribute. 139 * 140 * @param disbVchrPayeeIdNumber The disbVchrPayeeIdNumber to set. 141 */ 142 public void setDisbVchrPayeeIdNumber(String disbVchrPayeeIdNumber) { 143 this.disbVchrPayeeIdNumber = disbVchrPayeeIdNumber; 144 // KFSMI-5976 : Blanking out these fields so they are re-derived upon next access 145 disbVchrVendorHeaderIdNumber = null; 146 disbVchrVendorDetailAssignedIdNumber = null; 147 } 148 149 /** 150 * This method... 151 * 152 * @return 153 */ 154 public String getDisbVchrVendorHeaderIdNumber() { 155 if (this.isVendor()) { 156 if (StringUtils.isBlank(disbVchrVendorHeaderIdNumber)) { 157 int dashIndex = disbVchrPayeeIdNumber.indexOf('-'); 158 disbVchrVendorHeaderIdNumber = disbVchrPayeeIdNumber.substring(0, dashIndex); 159 } 160 } 161 else { // Return null if payee is not a vendor 162 return null; 163 } 164 return disbVchrVendorHeaderIdNumber; 165 } 166 167 /** 168 * This method... 169 * 170 * @param disbVchrVendorheaderIdNumber 171 */ 172 public void setDisbVchrVendorHeaderIdNumber(String disbVchrVendorHeaderIdNumber) { 173 if (this.isVendor()) { 174 this.disbVchrVendorHeaderIdNumber = disbVchrVendorHeaderIdNumber; 175 } 176 } 177 178 /** 179 * Gets the disbVchrVendorIdNumber attribute as an Integer. 180 * 181 * @return Returns the disbVchrVendorIdNumber in Integer form. This is the format used on the VendorDetail. 182 */ 183 public Integer getDisbVchrVendorHeaderIdNumberAsInteger() { 184 if (getDisbVchrVendorHeaderIdNumber() != null) 185 try { 186 return new Integer(getDisbVchrVendorHeaderIdNumber()); 187 } 188 catch (NumberFormatException nfe) { 189 nfe.printStackTrace(); 190 } 191 return null; 192 } 193 194 /** 195 * This method... 196 * 197 * @return 198 */ 199 public String getDisbVchrVendorDetailAssignedIdNumber() { 200 if (this.isVendor()) { 201 if (StringUtils.isBlank(disbVchrVendorDetailAssignedIdNumber)) { 202 int dashIndex = disbVchrPayeeIdNumber.indexOf('-'); 203 disbVchrVendorDetailAssignedIdNumber = disbVchrPayeeIdNumber.substring(dashIndex + 1); 204 } 205 } 206 else { // Return null if payee is not a vendor 207 return null; 208 } 209 return disbVchrVendorDetailAssignedIdNumber; 210 } 211 212 /** 213 * This method... 214 * 215 * @param disbVchrVendorDetailAssignedIdNumber 216 */ 217 public void setDisbVchrVendorDetailAssignedIdNumber(String disbVchrVendorDetailAssignedIdNumber) { 218 // This field should only be set if the payee type is "V", otherwise, ignore any calls 219 if (this.isVendor()) { 220 this.disbVchrVendorDetailAssignedIdNumber = disbVchrVendorDetailAssignedIdNumber; 221 } 222 } 223 224 /** 225 * This method... 226 * 227 * @return 228 */ 229 public Integer getDisbVchrVendorDetailAssignedIdNumberAsInteger() { 230 if (getDisbVchrVendorDetailAssignedIdNumber() != null) 231 try { 232 return new Integer(getDisbVchrVendorDetailAssignedIdNumber()); 233 } 234 catch (NumberFormatException nfe) { 235 nfe.printStackTrace(); 236 } 237 return null; 238 } 239 240 /** 241 * This method should only be called for retrieving the id associated with the payee if the payee type is equal to "E". 242 * Otherwise, this method will return null. 243 * 244 * @return The id of the universal user set as the payee on the DV, if the payee type code indicates the payee is an employee. 245 * Otherwise, this method will return null. 246 */ 247 public String getDisbVchrEmployeeIdNumber() { 248 if (this.isEmployee()) { 249 if (StringUtils.isBlank(disbVchrEmployeeIdNumber)) { 250 disbVchrEmployeeIdNumber = disbVchrPayeeIdNumber; 251 } 252 } 253 else { // Return null if payee is not a employee 254 return null; 255 } 256 return disbVchrEmployeeIdNumber; 257 } 258 259 /** 260 * This method... 261 * 262 * @param disbVchrPersonIdNumber 263 */ 264 public void setDisbVchrEmployeeIdNumber(String disbVchrEmployeeIdNumber) { 265 // This field should only be set if the payee type is "E", otherwise, ignore any calls 266 if (this.isEmployee()) { 267 this.disbVchrEmployeeIdNumber = disbVchrEmployeeIdNumber; 268 } 269 } 270 271 /** 272 * Gets the disbVchrPayeePersonName attribute. 273 * 274 * @return Returns the disbVchrPayeePersonName 275 */ 276 public String getDisbVchrPayeePersonName() { 277 return disbVchrPayeePersonName; 278 } 279 280 /** 281 * Sets the disbVchrPayeePersonName attribute. 282 * 283 * @param disbVchrPayeePersonName The disbVchrPayeePersonName to set. 284 */ 285 public void setDisbVchrPayeePersonName(String disbVchrPayeePersonName) { 286 this.disbVchrPayeePersonName = disbVchrPayeePersonName; 287 } 288 289 /** 290 * Gets the disbVchrPayeeLine1Addr attribute. 291 * 292 * @return Returns the disbVchrPayeeLine1Addr 293 */ 294 public String getDisbVchrPayeeLine1Addr() { 295 return disbVchrPayeeLine1Addr; 296 } 297 298 /** 299 * Sets the disbVchrPayeeLine1Addr attribute. 300 * 301 * @param disbVchrPayeeLine1Addr The disbVchrPayeeLine1Addr to set. 302 */ 303 public void setDisbVchrPayeeLine1Addr(String disbVchrPayeeLine1Addr) { 304 this.disbVchrPayeeLine1Addr = disbVchrPayeeLine1Addr; 305 } 306 307 /** 308 * Gets the disbVchrPayeeLine2Addr attribute. 309 * 310 * @return Returns the disbVchrPayeeLine2Addr 311 */ 312 public String getDisbVchrPayeeLine2Addr() { 313 return disbVchrPayeeLine2Addr; 314 } 315 316 /** 317 * Sets the disbVchrPayeeLine2Addr attribute. 318 * 319 * @param disbVchrPayeeLine2Addr The disbVchrPayeeLine2Addr to set. 320 */ 321 public void setDisbVchrPayeeLine2Addr(String disbVchrPayeeLine2Addr) { 322 this.disbVchrPayeeLine2Addr = disbVchrPayeeLine2Addr; 323 } 324 325 /** 326 * Gets the disbVchrPayeeCityName attribute. 327 * 328 * @return Returns the disbVchrPayeeCityName 329 */ 330 public String getDisbVchrPayeeCityName() { 331 return disbVchrPayeeCityName; 332 } 333 334 335 /** 336 * Sets the disbVchrPayeeCityName attribute. 337 * 338 * @param disbVchrPayeeCityName The disbVchrPayeeCityName to set. 339 */ 340 public void setDisbVchrPayeeCityName(String disbVchrPayeeCityName) { 341 this.disbVchrPayeeCityName = disbVchrPayeeCityName; 342 } 343 344 /** 345 * Gets the disbVchrPayeeStateCode attribute. 346 * 347 * @return Returns the disbVchrPayeeStateCode 348 */ 349 public String getDisbVchrPayeeStateCode() { 350 return disbVchrPayeeStateCode; 351 } 352 353 354 /** 355 * Sets the disbVchrPayeeStateCode attribute. 356 * 357 * @param disbVchrPayeeStateCode The disbVchrPayeeStateCode to set. 358 */ 359 public void setDisbVchrPayeeStateCode(String disbVchrPayeeStateCode) { 360 this.disbVchrPayeeStateCode = disbVchrPayeeStateCode; 361 } 362 363 /** 364 * Gets the disbVchrPayeeZipCode attribute. 365 * 366 * @return Returns the disbVchrPayeeZipCode 367 */ 368 public String getDisbVchrPayeeZipCode() { 369 return disbVchrPayeeZipCode; 370 } 371 372 373 /** 374 * Sets the disbVchrPayeeZipCode attribute. 375 * 376 * @param disbVchrPayeeZipCode The disbVchrPayeeZipCode to set. 377 */ 378 public void setDisbVchrPayeeZipCode(String disbVchrPayeeZipCode) { 379 this.disbVchrPayeeZipCode = disbVchrPayeeZipCode; 380 } 381 382 /** 383 * Gets the disbVchrPayeeCountryCode attribute. 384 * 385 * @return Returns the disbVchrPayeeCountryCode 386 */ 387 public String getDisbVchrPayeeCountryCode() { 388 return disbVchrPayeeCountryCode; 389 } 390 391 392 /** 393 * Sets the disbVchrPayeeCountryCode attribute. 394 * 395 * @param disbVchrPayeeCountryCode The disbVchrPayeeCountryCode to set. 396 */ 397 public void setDisbVchrPayeeCountryCode(String disbVchrPayeeCountryCode) { 398 this.disbVchrPayeeCountryCode = disbVchrPayeeCountryCode; 399 } 400 401 /** 402 * Gets the disbVchrSpecialHandlingPersonName attribute. 403 * 404 * @return Returns the disbVchrSpecialHandlingPersonName 405 */ 406 public String getDisbVchrSpecialHandlingPersonName() { 407 return disbVchrSpecialHandlingPersonName; 408 } 409 410 411 /** 412 * Sets the disbVchrSpecialHandlingPersonName attribute. 413 * 414 * @param disbVchrSpecialHandlingPersonName The disbVchrSpecialHandlingPersonName to set. 415 */ 416 public void setDisbVchrSpecialHandlingPersonName(String disbVchrSpecialHandlingPersonName) { 417 this.disbVchrSpecialHandlingPersonName = disbVchrSpecialHandlingPersonName; 418 } 419 420 /** 421 * Gets the disbVchrSpecialHandlingLine1Addr attribute. 422 * 423 * @return Returns the disbVchrSpecialHandlingLine1Addr 424 */ 425 public String getDisbVchrSpecialHandlingLine1Addr() { 426 return disbVchrSpecialHandlingLine1Addr; 427 } 428 429 430 /** 431 * Sets the disbVchrSpecialHandlingLine1Addr attribute. 432 * 433 * @param disbVchrSpecialHandlingLine1Addr The disbVchrSpecialHandlingLine1Addr to set. 434 */ 435 public void setDisbVchrSpecialHandlingLine1Addr(String disbVchrSpecialHandlingLine1Addr) { 436 this.disbVchrSpecialHandlingLine1Addr = disbVchrSpecialHandlingLine1Addr; 437 } 438 439 /** 440 * Gets the disbVchrSpecialHandlingLine2Addr attribute. 441 * 442 * @return Returns the disbVchrSpecialHandlingLine2Addr 443 */ 444 public String getDisbVchrSpecialHandlingLine2Addr() { 445 return disbVchrSpecialHandlingLine2Addr; 446 } 447 448 449 /** 450 * Sets the disbVchrSpecialHandlingLine2Addr attribute. 451 * 452 * @param disbVchrSpecialHandlingLine2Addr The disbVchrSpecialHandlingLine2Addr to set. 453 */ 454 public void setDisbVchrSpecialHandlingLine2Addr(String disbVchrSpecialHandlingLine2Addr) { 455 this.disbVchrSpecialHandlingLine2Addr = disbVchrSpecialHandlingLine2Addr; 456 } 457 458 /** 459 * Gets the disbVchrSpecialHandlingCityName attribute. 460 * 461 * @return Returns the disbVchrSpecialHandlingCityName 462 */ 463 public String getDisbVchrSpecialHandlingCityName() { 464 return disbVchrSpecialHandlingCityName; 465 } 466 467 468 /** 469 * Sets the disbVchrSpecialHandlingCityName attribute. 470 * 471 * @param disbVchrSpecialHandlingCityName The disbVchrSpecialHandlingCityName to set. 472 */ 473 public void setDisbVchrSpecialHandlingCityName(String disbVchrSpecialHandlingCityName) { 474 this.disbVchrSpecialHandlingCityName = disbVchrSpecialHandlingCityName; 475 } 476 477 /** 478 * Gets the disbVchrSpecialHandlingStateCode attribute. 479 * 480 * @return Returns the disbVchrSpecialHandlingStateCode 481 */ 482 public String getDisbVchrSpecialHandlingStateCode() { 483 return disbVchrSpecialHandlingStateCode; 484 } 485 486 487 /** 488 * Sets the disbVchrSpecialHandlingStateCode attribute. 489 * 490 * @param disbVchrSpecialHandlingStateCode The disbVchrSpecialHandlingStateCode to set. 491 */ 492 public void setDisbVchrSpecialHandlingStateCode(String disbVchrSpecialHandlingStateCode) { 493 this.disbVchrSpecialHandlingStateCode = disbVchrSpecialHandlingStateCode; 494 } 495 496 /** 497 * Gets the disbVchrSpecialHandlingZipCode attribute. 498 * 499 * @return Returns the disbVchrSpecialHandlingZipCode 500 */ 501 public String getDisbVchrSpecialHandlingZipCode() { 502 return disbVchrSpecialHandlingZipCode; 503 } 504 505 506 /** 507 * Sets the disbVchrSpecialHandlingZipCode attribute. 508 * 509 * @param disbVchrSpecialHandlingZipCode The disbVchrSpecialHandlingZipCode to set. 510 */ 511 public void setDisbVchrSpecialHandlingZipCode(String disbVchrSpecialHandlingZipCode) { 512 this.disbVchrSpecialHandlingZipCode = disbVchrSpecialHandlingZipCode; 513 } 514 515 /** 516 * Gets the disbVchrSpecialHandlingCountryCode attribute. 517 * 518 * @return Returns the disbVchrSpecialHandlingCountryCode 519 */ 520 public String getDisbVchrSpecialHandlingCountryCode() { 521 return disbVchrSpecialHandlingCountryCode; 522 } 523 524 525 /** 526 * Sets the disbVchrSpecialHandlingCountryCode attribute. 527 * 528 * @param disbVchrSpecialHandlingCountryCode The disbVchrSpecialHandlingCountryCode to set. 529 */ 530 public void setDisbVchrSpecialHandlingCountryCode(String disbVchrSpecialHandlingCountryCode) { 531 this.disbVchrSpecialHandlingCountryCode = disbVchrSpecialHandlingCountryCode; 532 } 533 534 /** 535 * Gets the disbVchrPayeeEmployeeCode attribute. 536 * 537 * @return Returns true if the vendor associated with this DV is an employee of the institution. 538 */ 539 public boolean isDisbVchrPayeeEmployeeCode() { 540 if (ObjectUtils.isNull(disbVchrPayeeEmployeeCode)) { 541 if (this.isEmployee()) { 542 disbVchrPayeeEmployeeCode = true; 543 } 544 else if (this.isVendor()) { 545 try { 546 disbVchrPayeeEmployeeCode = SpringContext.getBean(VendorService.class).isVendorInstitutionEmployee(getDisbVchrVendorHeaderIdNumberAsInteger()); 547 this.setDisbVchrEmployeePaidOutsidePayrollCode(disbVchrPayeeEmployeeCode); 548 } 549 catch (Exception ex) { 550 disbVchrPayeeEmployeeCode = false; 551 ex.printStackTrace(); 552 } 553 } 554 } 555 return disbVchrPayeeEmployeeCode; 556 } 557 558 559 /** 560 * Sets the disbVchrPayeeEmployeeCode attribute. 561 * 562 * @param disbVchrPayeeEmployeeCode The disbVchrPayeeEmployeeCode to set. 563 */ 564 public void setDisbVchrPayeeEmployeeCode(boolean disbVchrPayeeEmployeeCode) { 565 this.disbVchrPayeeEmployeeCode = disbVchrPayeeEmployeeCode; 566 } 567 568 /** 569 * Gets the disbVchrAlienPaymentCode attribute. 570 * 571 * @return Returns the disbVchrAlienPaymentCode 572 */ 573 public boolean isDisbVchrAlienPaymentCode() { 574 if (StringUtils.isNotBlank(this.getDisbVchrEmployeeIdNumber()) && this.isVendor()) { 575 try { 576 disbVchrAlienPaymentCode = SpringContext.getBean(VendorService.class).isVendorForeign(getDisbVchrVendorHeaderIdNumberAsInteger()); 577 } 578 catch (Exception ex) { 579 disbVchrAlienPaymentCode = false; 580 ex.printStackTrace(); 581 } 582 } 583 584 return ObjectUtils.isNull(disbVchrAlienPaymentCode) ? false : disbVchrAlienPaymentCode; 585 } 586 587 588 /** 589 * Sets the disbVchrAlienPaymentCode attribute. 590 * 591 * @param disbVchrAlienPaymentCode The disbVchrAlienPaymentCode to set. 592 */ 593 public void setDisbVchrAlienPaymentCode(boolean disbVchrAlienPaymentCode) { 594 this.disbVchrAlienPaymentCode = disbVchrAlienPaymentCode; 595 } 596 597 /** 598 * Gets the dvPayeeSubjectPayment attribute. 599 * 600 * @return Returns the dvPayeeSubjectPayment 601 */ 602 public boolean isDvPayeeSubjectPaymentCode() { 603 if (ObjectUtils.isNull(dvPayeeSubjectPaymentCode)) { 604 dvPayeeSubjectPaymentCode = SpringContext.getBean(VendorService.class).isSubjectPaymentVendor(getDisbVchrVendorHeaderIdNumberAsInteger()); 605 } 606 return dvPayeeSubjectPaymentCode; 607 } 608 609 /** 610 * Sets the dvPayeeSubjectPayment attribute. 611 * 612 * @param dvPayeeSubjectPayment The dvPayeeSubjectPayment to set. 613 */ 614 public void setDvPayeeSubjectPaymentCode(boolean dvPayeeSubjectPaymentCode) { 615 this.dvPayeeSubjectPaymentCode = dvPayeeSubjectPaymentCode; 616 } 617 618 /** 619 * Gets the disbVchrEmployeePaidOutsidePayrollCode attribute. 620 * 621 * @return Returns the disbVchrEmployeePaidOutsidePayrollCode. 622 */ 623 public boolean isDisbVchrEmployeePaidOutsidePayrollCode() { 624 return disbVchrEmployeePaidOutsidePayrollCode; 625 } 626 627 /** 628 * Gets the disbVchrEmployeePaidOutsidePayrollCode attribute. 629 * 630 * @return Returns the disbVchrEmployeePaidOutsidePayrollCode. 631 */ 632 public boolean getDisbVchrEmployeePaidOutsidePayrollCode() { 633 return disbVchrEmployeePaidOutsidePayrollCode; 634 } 635 636 /** 637 * Sets the disbVchrEmployeePaidOutsidePayrollCode attribute value. 638 * 639 * @param disbVchrEmployeePaidOutsidePayrollCode The disbVchrEmployeePaidOutsidePayrollCode to set. 640 */ 641 public void setDisbVchrEmployeePaidOutsidePayrollCode(boolean disbVchrEmployeePaidOutsidePayrollCode) { 642 this.disbVchrEmployeePaidOutsidePayrollCode = disbVchrEmployeePaidOutsidePayrollCode; 643 } 644 645 /** 646 * Gets the disbVchrPaymentReason attribute. 647 * 648 * @return Returns the disbVchrPaymentReason 649 */ 650 public PaymentReasonCode getDisbVchrPaymentReason() { 651 return disbVchrPaymentReason; 652 } 653 654 655 /** 656 * Sets the disbVchrPaymentReason attribute. 657 * 658 * @param disbVchrPaymentReason The disbVchrPaymentReason to set. 659 * @deprecated 660 */ 661 public void setDisbVchrPaymentReason(PaymentReasonCode disbVchrPaymentReason) { 662 this.disbVchrPaymentReason = disbVchrPaymentReason; 663 } 664 665 /** 666 * @return Returns the disbursementVoucherPayeeTypeCode. 667 */ 668 public String getDisbursementVoucherPayeeTypeCode() { 669 return disbursementVoucherPayeeTypeCode; 670 } 671 672 /** 673 * @param disbursementVoucherPayeeTypeCode The disbursementVoucherPayeeTypeCode to set. 674 */ 675 public void setDisbursementVoucherPayeeTypeCode(String disbursementVoucherPayeeTypeCode) { 676 this.disbursementVoucherPayeeTypeCode = disbursementVoucherPayeeTypeCode; 677 } 678 679 /** 680 * @return Returns the payee type name 681 */ 682 public String getDisbursementVoucherPayeeTypeName() { 683 DisbursementVoucherPayeeService payeeService = SpringContext.getBean(DisbursementVoucherPayeeService.class); 684 685 return payeeService.getPayeeTypeDescription(disbursementVoucherPayeeTypeCode); 686 } 687 688 /** 689 * This method is a dummy method defined for OJB. 690 * 691 * @param name 692 */ 693 public void setDisbursementVoucherPayeeTypeName(String name) { 694 } 695 696 /** 697 * Returns the name associated with the payment reason name 698 * 699 * @return 700 */ 701 public String getDisbVchrPaymentReasonName() { 702 this.refreshReferenceObject(KFSPropertyConstants.DISB_VCHR_PAYMENT_REASON); 703 return this.getDisbVchrPaymentReason().getCodeAndDescription(); 704 } 705 706 /** 707 * This method is a dummy method defined for OJB. 708 * 709 * @param name 710 */ 711 public void setDisbVchrPaymentReasonName(String name) { 712 } 713 714 /** 715 * Gets the disbVchrVendorAddressIdNumber attribute. 716 * 717 * @return Returns the disbVchrVendorAddressIdNumber. 718 */ 719 public String getDisbVchrVendorAddressIdNumber() { 720 return disbVchrVendorAddressIdNumber; 721 } 722 723 /** 724 * Gets the disbVchrVendorAddressIdNumber attribute. 725 * 726 * @return Returns the disbVchrVendorAddressIdNumber. 727 */ 728 public Integer getDisbVchrVendorAddressIdNumberAsInteger() { 729 if (getDisbVchrVendorAddressIdNumber() != null) 730 try { 731 return new Integer(getDisbVchrVendorAddressIdNumber()); 732 } 733 catch (NumberFormatException nfe) { 734 nfe.printStackTrace(); 735 } 736 return null; 737 } 738 739 /** 740 * Sets the disbVchrVendorAddressIdNumber attribute value. 741 * 742 * @param disbVchrVendorAddressIdNumber The disbVchrVendorAddressIdNumber to set. 743 */ 744 public void setDisbVchrVendorAddressIdNumber(String disbVchrVendorAddressIdNumber) { 745 this.disbVchrVendorAddressIdNumber = disbVchrVendorAddressIdNumber; 746 } 747 748 /** 749 * Gets the hasMultipleVendorAddresses attribute. 750 * 751 * @return Returns the hasMultipleVendorAddresses. 752 */ 753 public Boolean getHasMultipleVendorAddresses() { 754 return hasMultipleVendorAddresses; 755 } 756 757 /** 758 * Sets the hasMultipleVendorAddresses attribute value. 759 * 760 * @param hasMultipleVendorAddresses The hasMultipleVendorAddresses to set. 761 */ 762 public void setHasMultipleVendorAddresses(boolean hasMultipleVendorAddresses) { 763 this.hasMultipleVendorAddresses = hasMultipleVendorAddresses; 764 } 765 766 /** 767 * Gets the disbVchrPayeeState attribute. 768 * @return Returns the disbVchrPayeeState. 769 */ 770 public State getDisbVchrPayeeState() { 771 disbVchrPayeeState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary( disbVchrPayeeCountryCode, disbVchrPayeeStateCode, disbVchrPayeeState); 772 return disbVchrPayeeState; 773 } 774 775 /** 776 * Sets the disbVchrPayeeState attribute value. 777 * @param disbVchrPayeeState The disbVchrPayeeState to set. 778 */ 779 public void setDisbVchrPayeeState(State disbVchrPayeeState) { 780 this.disbVchrPayeeState = disbVchrPayeeState; 781 } 782 783 /** 784 * Gets the disbVchrPayeeCountry attribute. 785 * @return Returns the disbVchrPayeeCountry. 786 */ 787 public Country getDisbVchrPayeeCountry() { 788 disbVchrPayeeCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(disbVchrPayeeCountryCode, disbVchrPayeeCountry); 789 return disbVchrPayeeCountry; 790 } 791 792 /** 793 * Sets the disbVchrPayeeCountry attribute value. 794 * @param disbVchrPayeeCountry The disbVchrPayeeCountry to set. 795 */ 796 public void setDisbVchrPayeeCountry(Country disbVchrPayeeCountry) { 797 this.disbVchrPayeeCountry = disbVchrPayeeCountry; 798 } 799 800 /** 801 * Gets the disbVchrPayeePostalZipCode attribute. 802 * @return Returns the disbVchrPayeePostalZipCode. 803 */ 804 public PostalCode getDisbVchrPayeePostalZipCode() { 805 disbVchrPayeePostalZipCode = SpringContext.getBean(PostalCodeService.class).getByPrimaryIdIfNecessary(disbVchrPayeeCountryCode, disbVchrPayeeZipCode, disbVchrPayeePostalZipCode); 806 return disbVchrPayeePostalZipCode; 807 } 808 809 /** 810 * Sets the disbVchrPayeePostalZipCode attribute value. 811 * @param disbVchrPayeePostalZipCode The disbVchrPayeePostalZipCode to set. 812 */ 813 public void setDisbVchrPayeePostalZipCode(PostalCode disbVchrPayeePostalZipCode) { 814 this.disbVchrPayeePostalZipCode = disbVchrPayeePostalZipCode; 815 } 816 817 818 /** 819 * Checks the payee type code for vendor type 820 */ 821 public boolean isVendor() { 822 return SpringContext.getBean(DisbursementVoucherPayeeService.class).isVendor(this); 823 } 824 825 /** 826 * Checks the payee type code for employee type 827 */ 828 public boolean isEmployee() { 829 return SpringContext.getBean(DisbursementVoucherPayeeService.class).isEmployee(this); 830 } 831 832 /** 833 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 834 */ 835 protected LinkedHashMap toStringMapper() { 836 LinkedHashMap m = new LinkedHashMap(); 837 m.put(KFSPropertyConstants.DOCUMENT_NUMBER, this.documentNumber); 838 return m; 839 } 840 841 /** 842 * This method... 843 * 844 * @param compareDetail 845 * @return 846 */ 847 public boolean hasSameAddress(DisbursementVoucherPayeeDetail compareDetail) { 848 boolean isEqual = true; 849 850 isEqual &= ObjectUtils.nullSafeEquals(this.getDisbVchrPayeeLine1Addr(), compareDetail.getDisbVchrPayeeLine1Addr()); 851 isEqual &= ObjectUtils.nullSafeEquals(this.getDisbVchrPayeeLine2Addr(), compareDetail.getDisbVchrPayeeLine2Addr()); 852 isEqual &= ObjectUtils.nullSafeEquals(this.getDisbVchrPayeeCityName(), compareDetail.getDisbVchrPayeeCityName()); 853 isEqual &= ObjectUtils.nullSafeEquals(this.getDisbVchrPayeeStateCode(), compareDetail.getDisbVchrPayeeStateCode()); 854 isEqual &= ObjectUtils.nullSafeEquals(this.getDisbVchrPayeeZipCode(), compareDetail.getDisbVchrPayeeZipCode()); 855 isEqual &= ObjectUtils.nullSafeEquals(this.getDisbVchrPayeeCountryCode(), compareDetail.getDisbVchrPayeeCountryCode()); 856 857 return isEqual; 858 } 859 860 /** 861 * This method creates a string representation of the address assigned to this payee. 862 * 863 * @return 864 */ 865 public String getAddressAsString() { 866 StringBuffer address = new StringBuffer(); 867 868 address.append(this.getDisbVchrPayeeLine1Addr()).append(", "); 869 address.append(this.getDisbVchrPayeeLine2Addr()).append(", "); 870 address.append(this.getDisbVchrPayeeCityName()).append(", "); 871 address.append(this.getDisbVchrPayeeStateCode()).append(" "); 872 address.append(this.getDisbVchrPayeeZipCode()).append(", "); 873 address.append(this.getDisbVchrPayeeCountryCode()); 874 875 return address.toString(); 876 } 877 }