001/* 002 * Copyright 2007 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 017package org.kuali.ole.vnd.businessobject; 018 019import java.sql.Date; 020import java.util.ArrayList; 021import java.util.HashMap; 022import java.util.LinkedHashMap; 023import java.util.List; 024import java.util.Map; 025 026import org.apache.commons.lang.StringUtils; 027import org.apache.commons.lang.builder.EqualsBuilder; 028import org.apache.log4j.Logger; 029import org.kuali.ole.select.businessobject.OlePaymentMethod; 030import org.kuali.ole.sys.context.SpringContext; 031import org.kuali.ole.vnd.VendorPropertyConstants; 032import org.kuali.rice.core.api.util.type.KualiDecimal; 033import org.kuali.rice.kim.api.identity.Person; 034import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 035import org.kuali.rice.krad.service.LookupService; 036import org.kuali.rice.krad.util.ObjectUtils; 037 038/** 039 * Contains all data for a specific parent or division Vendor, including a link to the <code>VendorHeader</code>, which only 040 * contains information about the parent company, but can be shared between division Vendors. 041 * 042 * @see org.kuali.ole.vnd.businessobject.VendorHeader 043 */ 044public class VendorDetail extends PersistableBusinessObjectBase implements VendorRoutingComparable { 045 private static Logger LOG = Logger.getLogger(VendorDetail.class); 046 047 private Integer vendorHeaderGeneratedIdentifier; 048 private Integer vendorDetailAssignedIdentifier; 049 private String vendorNumber; // not persisted in the db 050 private boolean vendorParentIndicator; 051 private String vendorCurrency; 052 private String vendorName; 053 private String vendorFirstName; // not persisted in the db 054 private String vendorLastName; // not persisted in the db 055 private String vendorStateForLookup; // not persisted in the db 056 057 private boolean activeIndicator; 058 private String vendorInactiveReasonCode; 059 private String vendorDunsNumber; 060 private String vendorPaymentTermsCode; 061 private Integer paymentMethodId; 062 private Long currencyTypeId; 063 // private String currencyType; 064 private String vendorShippingTitleCode; 065 private String vendorShippingPaymentTermsCode; 066 private Boolean vendorConfirmationIndicator; 067 private Boolean vendorPrepaymentIndicator; 068 private Boolean vendorCreditCardIndicator; 069 private KualiDecimal vendorMinimumOrderAmount; 070 private String vendorUrlAddress; 071 private String vendorRemitName; 072 private Boolean vendorRestrictedIndicator; 073 private String vendorRestrictedReasonText; 074 private Date vendorRestrictedDate; 075 private String vendorRestrictedPersonIdentifier; 076 private String vendorSoldToNumber; // not persisted in the db 077 private Integer vendorSoldToGeneratedIdentifier; 078 private Integer vendorSoldToAssignedIdentifier; 079 private String vendorSoldToName; 080 private boolean vendorFirstLastNameIndicator; 081 private boolean taxableIndicator; 082 083 private List<VendorTransmissionFormatDetail> vendorTransmissionFormat; 084 private List<VendorAddress> vendorAddresses; 085 private List<VendorAlias> vendorAliases; 086 private List<VendorContact> vendorContacts; 087 private List<VendorContract> vendorContracts; 088 private List<VendorCustomerNumber> vendorCustomerNumbers; 089 private List<VendorPhoneNumber> vendorPhoneNumbers; 090 private List<VendorShippingSpecialCondition> vendorShippingSpecialConditions; 091 private List<VendorCommodityCode> vendorCommodities; 092 // private Account accountNumber; 093 private OleCurrencyType currencyType; 094 private VendorHeader vendorHeader; 095 private VendorInactiveReason vendorInactiveReason; 096 private PaymentTermType vendorPaymentTerms; 097 private ShippingTitle vendorShippingTitle; 098 private ShippingPaymentTerms vendorShippingPaymentTerms; 099 private VendorDetail soldToVendorDetail; 100 private Person vendorRestrictedPerson; 101 102 private String vendorParentName; // not persisted in the db 103 private String defaultAddressLine1; // not persisted in the db 104 private String defaultAddressLine2; // not persisted in the db 105 private String defaultAddressCity; // not persisted in the db 106 private String defaultAddressStateCode; // not persisted in the db 107 private String defaultAddressInternationalProvince; // not persisted in the db 108 private String defaultAddressPostalCode; // not persisted in the db 109 private String defaultAddressCountryCode; // not persisted in the db 110 private String defaultFaxNumber; // not persisted in the db 111 private OlePaymentMethod vendorPaymentMethod; 112 private List boNotes; 113 114 // jira OLE-3081 115 private String vendorLinkingNumber; 116 /** 117 * Default constructor. 118 */ 119 public VendorDetail() { 120 vendorHeader = new VendorHeader(); 121 vendorTransmissionFormat = new ArrayList<VendorTransmissionFormatDetail>(); 122 vendorAddresses = new ArrayList<VendorAddress>(); 123 vendorAliases = new ArrayList<VendorAlias>(); 124 vendorContacts = new ArrayList<VendorContact>(); 125 vendorContracts = new ArrayList<VendorContract>(); 126 vendorCustomerNumbers = new ArrayList<VendorCustomerNumber>(); 127 vendorPhoneNumbers = new ArrayList<VendorPhoneNumber>(); 128 vendorShippingSpecialConditions = new ArrayList<VendorShippingSpecialCondition>(); 129 vendorCommodities = new ArrayList<VendorCommodityCode>(); 130 vendorParentIndicator = true; 131 132 } 133 134 public Integer getVendorHeaderGeneratedIdentifier() { 135 return vendorHeaderGeneratedIdentifier; 136 } 137 138 public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) { 139 this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier; 140 } 141 142 public Integer getVendorDetailAssignedIdentifier() { 143 return vendorDetailAssignedIdentifier; 144 } 145 146 public void setVendorDetailAssignedIdentifier(Integer vendorDetailAssignedIdentifier) { 147 this.vendorDetailAssignedIdentifier = vendorDetailAssignedIdentifier; 148 } 149 150 /** 151 * A concatenation of the vendorHeaderGeneratedIdentifier, a dash, and the vendorDetailAssignedIdentifier 152 * 153 * @return Returns the vendorNumber. 154 */ 155 public String getVendorNumber() { 156 String headerId = ""; 157 String detailId = ""; 158 String vendorNumber = ""; 159 if (ObjectUtils.isNotNull(this.vendorHeaderGeneratedIdentifier)) { 160 headerId = this.vendorHeaderGeneratedIdentifier.toString(); 161 } 162 if (ObjectUtils.isNotNull(this.vendorDetailAssignedIdentifier)) { 163 detailId = this.vendorDetailAssignedIdentifier.toString(); 164 } 165 if (!StringUtils.isEmpty(headerId) && !StringUtils.isEmpty(detailId)) { 166 vendorNumber = headerId + "-" + detailId; 167 } 168 169 return vendorNumber; 170 } 171 172 /** 173 * Sets the vendorNumber attribute value. 174 * If vendorNumber is empty, clears header and detail IDs. 175 * If vendorNumber is invalid, leaves header and detail IDs as were. 176 * 177 * @param vendorNumber The vendorNumber to set. 178 */ 179 public void setVendorNumber(String vendorNumber) { 180 this.vendorNumber = vendorNumber; 181 182 if (StringUtils.isEmpty(vendorNumber)) { 183 vendorHeaderGeneratedIdentifier = null; 184 vendorDetailAssignedIdentifier = null; 185 return; 186 } 187 188 int dashInd = vendorNumber.indexOf('-'); 189 // make sure there's at least one char before and after '-' 190 if (dashInd > 0 && dashInd < vendorNumber.length() - 1) { 191 try { 192 vendorHeaderGeneratedIdentifier = new Integer(vendorNumber.substring(0, dashInd)); 193 vendorDetailAssignedIdentifier = new Integer(vendorNumber.substring(dashInd + 1)); 194 } 195 catch (NumberFormatException e) { 196 // in case of invalid number format 197 } 198 } 199 } 200 201 /* public Account getAccountNumber() { 202 return accountNumber; 203 } 204 205 public void setAccountNumber(Account accountNumber) { 206 this.accountNumber = accountNumber; 207 }*/ 208 209 210 public String getVendorName() { 211 return vendorName; 212 } 213 214 public void setVendorName(String vendorName) { 215 this.vendorName = vendorName; 216 } 217 218 public Integer getVendorSoldToGeneratedIdentifier() { 219 return vendorSoldToGeneratedIdentifier; 220 } 221 222 public void setVendorSoldToGeneratedIdentifier(Integer vendorSoldToGeneratedIdentifier) { 223 this.vendorSoldToGeneratedIdentifier = vendorSoldToGeneratedIdentifier; 224 } 225 226 public Integer getVendorSoldToAssignedIdentifier() { 227 return vendorSoldToAssignedIdentifier; 228 } 229 230 public void setVendorSoldToAssignedIdentifier(Integer vendorSoldToAssignedIdentifier) { 231 this.vendorSoldToAssignedIdentifier = vendorSoldToAssignedIdentifier; 232 } 233 234 /** 235 * Gets the vendorSoldToNumber attribute. 236 * 237 * @return Returns the vendorSoldToNumber. 238 */ 239 public String getVendorSoldToNumber() { 240 String headerId = ""; 241 String detailId = ""; 242 String vendorSoldToNumber = ""; 243 244 if (this.vendorSoldToGeneratedIdentifier != null) { 245 headerId = this.vendorSoldToGeneratedIdentifier.toString(); 246 } 247 if (this.vendorSoldToAssignedIdentifier != null) { 248 detailId = this.vendorSoldToAssignedIdentifier.toString(); 249 } 250 if (!StringUtils.isEmpty(headerId) && !StringUtils.isEmpty(detailId)) { 251 vendorSoldToNumber = headerId + "-" + detailId; 252 } 253 254 return vendorSoldToNumber; 255 } 256 257 /** 258 * Sets the vendorSoldToNumber attribute value. 259 * If vendorSoldToNumber is empty, clears soldToVendor header and detail IDs. 260 * If vendorSoldToNumber is invalid, leaves soldToVendor header and detail IDs as were. 261 * 262 * @param vendorSoldToNumber The vendorSoldToNumber to set. 263 */ 264 public void setVendorSoldToNumber(String vendorSoldToNumber) { 265 this.vendorSoldToNumber = vendorSoldToNumber; 266 267 if (StringUtils.isEmpty(vendorSoldToNumber)) { 268 vendorSoldToGeneratedIdentifier = null; 269 vendorSoldToAssignedIdentifier = null; 270 return; 271 } 272 273 int dashInd = vendorSoldToNumber.indexOf('-'); 274 // make sure there's at least one char before and after '-' 275 if (dashInd > 0 && dashInd < vendorSoldToNumber.length() - 1) { 276 try { 277 vendorSoldToGeneratedIdentifier = new Integer(vendorSoldToNumber.substring(0, dashInd)); 278 vendorSoldToAssignedIdentifier = new Integer(vendorSoldToNumber.substring(dashInd + 1)); 279 } 280 catch (NumberFormatException e) { 281 // in case of invalid number format 282 } 283 } 284 } 285 286 /** 287 * Gets the vendorSoldToName attribute. 288 * 289 * @return Returns the vendorSoldToName 290 */ 291 public String getVendorSoldToName() { 292 return this.vendorSoldToName; 293 } 294 295 public void setVendorSoldToName(String vendorSoldToName) { 296 this.vendorSoldToName = vendorSoldToName; 297 } 298 299 public String getAltVendorName() { 300 return vendorName; 301 } 302 303 public void setAltVendorName(String altVendorName) { 304 this.vendorName = altVendorName; 305 } 306 307 public String getVendorRemitName() { 308 return vendorRemitName; 309 } 310 311 public void setVendorRemitName(String vendorRemitName) { 312 this.vendorRemitName = vendorRemitName; 313 } 314 315 public boolean isVendorParentIndicator() { 316 return vendorParentIndicator; 317 } 318 319 public void setVendorParentIndicator(boolean vendorParentIndicator) { 320 this.vendorParentIndicator = vendorParentIndicator; 321 } 322 323 public boolean isTaxableIndicator() { 324 return taxableIndicator; 325 } 326 327 public void setTaxableIndicator(boolean taxableIndicator) { 328 this.taxableIndicator = taxableIndicator; 329 } 330 331 public boolean isVendorDebarred() { 332 return (ObjectUtils.isNotNull(getVendorHeader().getVendorDebarredIndicator()) && getVendorHeader().getVendorDebarredIndicator()); 333 } 334 335 public boolean isActiveIndicator() { 336 return activeIndicator; 337 } 338 339 public void setActiveIndicator(boolean activeIndicator) { 340 this.activeIndicator = activeIndicator; 341 } 342 343 public String getVendorInactiveReasonCode() { 344 return vendorInactiveReasonCode; 345 } 346 347 public void setVendorInactiveReasonCode(String vendorInactiveReasonCode) { 348 this.vendorInactiveReasonCode = vendorInactiveReasonCode; 349 } 350 351 public String getVendorPaymentTermsCode() { 352 return vendorPaymentTermsCode; 353 } 354 355 public void setVendorPaymentTermsCode(String vendorPaymentTermsCode) { 356 this.vendorPaymentTermsCode = vendorPaymentTermsCode; 357 } 358 359 public String getVendorShippingTitleCode() { 360 return vendorShippingTitleCode; 361 } 362 363 public void setVendorShippingTitleCode(String vendorShippingTitleCode) { 364 this.vendorShippingTitleCode = vendorShippingTitleCode; 365 } 366 367 public String getVendorShippingPaymentTermsCode() { 368 return vendorShippingPaymentTermsCode; 369 } 370 371 public void setVendorShippingPaymentTermsCode(String vendorShippingPaymentTermsCode) { 372 this.vendorShippingPaymentTermsCode = vendorShippingPaymentTermsCode; 373 } 374 375 public Boolean getVendorConfirmationIndicator() { 376 return vendorConfirmationIndicator; 377 } 378 379 public void setVendorConfirmationIndicator(Boolean vendorConfirmationIndicator) { 380 this.vendorConfirmationIndicator = vendorConfirmationIndicator; 381 } 382 383 public Boolean getVendorPrepaymentIndicator() { 384 return vendorPrepaymentIndicator; 385 } 386 387 public void setVendorPrepaymentIndicator(Boolean vendorPrepaymentIndicator) { 388 this.vendorPrepaymentIndicator = vendorPrepaymentIndicator; 389 } 390 391 public Boolean getVendorCreditCardIndicator() { 392 return vendorCreditCardIndicator; 393 } 394 395 public void setVendorCreditCardIndicator(Boolean vendorCreditCardIndicator) { 396 this.vendorCreditCardIndicator = vendorCreditCardIndicator; 397 } 398 399 public KualiDecimal getVendorMinimumOrderAmount() { 400 return vendorMinimumOrderAmount; 401 } 402 403 public void setVendorMinimumOrderAmount(KualiDecimal vendorMinimumOrderAmount) { 404 this.vendorMinimumOrderAmount = vendorMinimumOrderAmount; 405 } 406 407 public String getVendorUrlAddress() { 408 return vendorUrlAddress; 409 } 410 411 public void setVendorUrlAddress(String vendorUrlAddress) { 412 this.vendorUrlAddress = vendorUrlAddress; 413 } 414 415 public Boolean getVendorRestrictedIndicator() { 416 return vendorRestrictedIndicator; 417 } 418 419 public void setVendorRestrictedIndicator(Boolean vendorRestrictedIndicator) { 420 this.vendorRestrictedIndicator = vendorRestrictedIndicator; 421 } 422 423 public String getVendorRestrictedReasonText() { 424 return vendorRestrictedReasonText; 425 } 426 427 public void setVendorRestrictedReasonText(String vendorRestrictedReasonText) { 428 this.vendorRestrictedReasonText = vendorRestrictedReasonText; 429 } 430 431 public Date getVendorRestrictedDate() { 432 return vendorRestrictedDate; 433 } 434 435 public void setVendorRestrictedDate(Date vendorRestrictedDate) { 436 this.vendorRestrictedDate = vendorRestrictedDate; 437 } 438 439 public String getVendorRestrictedPersonIdentifier() { 440 return vendorRestrictedPersonIdentifier; 441 } 442 443 public void setVendorRestrictedPersonIdentifier(String vendorRestrictedPersonIdentifier) { 444 this.vendorRestrictedPersonIdentifier = vendorRestrictedPersonIdentifier; 445 } 446 447 public String getVendorDunsNumber() { 448 return vendorDunsNumber; 449 } 450 451 public void setVendorDunsNumber(String vendorDunsNumber) { 452 this.vendorDunsNumber = vendorDunsNumber; 453 } 454 455 public VendorHeader getVendorHeader() { 456 return vendorHeader; 457 } 458 459 public void setVendorHeader(VendorHeader vendorHeader) { 460 this.vendorHeader = vendorHeader; 461 } 462 463 public PaymentTermType getVendorPaymentTerms() { 464 return vendorPaymentTerms; 465 } 466 467 /** 468 * Sets the vendorPaymentTerms attribute. 469 * 470 * @param vendorPaymentTerms The vendorPaymentTerms to set. 471 * @deprecated 472 */ 473 @Deprecated 474 public void setVendorPaymentTerms(PaymentTermType vendorPaymentTerms) { 475 this.vendorPaymentTerms = vendorPaymentTerms; 476 } 477 478 public ShippingTitle getVendorShippingTitle() { 479 return vendorShippingTitle; 480 } 481 482 /** 483 * Sets the vendorShippingTitle attribute. 484 * 485 * @param vendorShippingTitle The vendorShippingTitle to set. 486 * @deprecated 487 */ 488 @Deprecated 489 public void setVendorShippingTitle(ShippingTitle vendorShippingTitle) { 490 this.vendorShippingTitle = vendorShippingTitle; 491 } 492 493 public ShippingPaymentTerms getVendorShippingPaymentTerms() { 494 return vendorShippingPaymentTerms; 495 } 496 497 /** 498 * Sets the vendorShippingPaymentTerms attribute. 499 * 500 * @param vendorShippingPaymentTerms The vendorShippingPaymentTerms to set. 501 * @deprecated 502 */ 503 @Deprecated 504 public void setVendorShippingPaymentTerms(ShippingPaymentTerms vendorShippingPaymentTerms) { 505 this.vendorShippingPaymentTerms = vendorShippingPaymentTerms; 506 } 507 508 public VendorInactiveReason getVendorInactiveReason() { 509 return vendorInactiveReason; 510 } 511 512 /** 513 * Sets the vendorInactiveReason attribute value. 514 * 515 * @param vendorInactiveReason The vendorInactiveReason to set. 516 * @deprecated 517 */ 518 @Deprecated 519 public void setVendorInactiveReason(VendorInactiveReason vendorInactiveReason) { 520 this.vendorInactiveReason = vendorInactiveReason; 521 } 522 523 public List<VendorAddress> getVendorAddresses() { 524 return vendorAddresses; 525 } 526 527 public void setVendorAddresses(List<VendorAddress> vendorAddresses) { 528 this.vendorAddresses = vendorAddresses; 529 } 530 531 public List<VendorContact> getVendorContacts() { 532 return vendorContacts; 533 } 534 535 public void setVendorContacts(List<VendorContact> vendorContacts) { 536 this.vendorContacts = vendorContacts; 537 } 538 539 public List<VendorContract> getVendorContracts() { 540 return vendorContracts; 541 } 542 543 public void setVendorContracts(List<VendorContract> vendorContracts) { 544 this.vendorContracts = vendorContracts; 545 } 546 547 public List<VendorCustomerNumber> getVendorCustomerNumbers() { 548 return vendorCustomerNumbers; 549 } 550 551 public void setVendorCustomerNumbers(List<VendorCustomerNumber> vendorCustomerNumbers) { 552 this.vendorCustomerNumbers = vendorCustomerNumbers; 553 } 554 555 public List<VendorShippingSpecialCondition> getVendorShippingSpecialConditions() { 556 return vendorShippingSpecialConditions; 557 } 558 559 public void setVendorShippingSpecialConditions(List<VendorShippingSpecialCondition> vendorShippingSpecialConditions) { 560 this.vendorShippingSpecialConditions = vendorShippingSpecialConditions; 561 } 562 563 public List<VendorCommodityCode> getVendorCommodities() { 564 return vendorCommodities; 565 } 566 567 public String getVendorCommoditiesAsString() { 568 StringBuilder sb = new StringBuilder("["); 569 570 boolean first = true; 571 for (VendorCommodityCode vcc : this.getVendorCommodities()) { 572 if (!first) { 573 sb.append(", "); 574 } else { 575 first = false; 576 } 577 sb.append(vcc.getCommodityCode().getPurchasingCommodityCode()); 578 } 579 sb.append(']'); 580 return sb.toString(); 581 } 582 583 public void setVendorCommodities(List<VendorCommodityCode> vendorCommodities) { 584 this.vendorCommodities = vendorCommodities; 585 } 586 587 public List<VendorAlias> getVendorAliases() { 588 return vendorAliases; 589 } 590 591 public void setVendorAliases(List<VendorAlias> vendorAliases) { 592 this.vendorAliases = vendorAliases; 593 } 594 595 public List<VendorPhoneNumber> getVendorPhoneNumbers() { 596 return vendorPhoneNumbers; 597 } 598 599 public void setVendorPhoneNumbers(List<VendorPhoneNumber> vendorPhoneNumbers) { 600 this.vendorPhoneNumbers = vendorPhoneNumbers; 601 } 602 603 public String getVendorFirstName() { 604 return vendorFirstName; 605 } 606 607 public void setVendorFirstName(String vendorFirstName) { 608 this.vendorFirstName = vendorFirstName; 609 } 610 611 public String getVendorLastName() { 612 return vendorLastName; 613 } 614 615 public void setVendorLastName(String vendorLastName) { 616 this.vendorLastName = vendorLastName; 617 } 618 619 public VendorDetail getSoldToVendorDetail() { 620 return soldToVendorDetail; 621 } 622 623 public void setSoldToVendorDetail(VendorDetail soldToVendorDetail) { 624 this.soldToVendorDetail = soldToVendorDetail; 625 } 626 627 public boolean isVendorFirstLastNameIndicator() { 628 return vendorFirstLastNameIndicator; 629 } 630 631 public void setVendorFirstLastNameIndicator(boolean vendorFirstLastNameIndicator) { 632 this.vendorFirstLastNameIndicator = vendorFirstLastNameIndicator; 633 } 634 635 public String getVendorStateForLookup() { 636 return vendorStateForLookup; 637 } 638 639 public void setVendorStateForLookup(String vendorStateForLookup) { 640 this.vendorStateForLookup = vendorStateForLookup; 641 } 642 643 public Person getVendorRestrictedPerson() { 644 vendorRestrictedPerson = SpringContext.getBean(org.kuali.rice.kim.api.identity.PersonService.class).updatePersonIfNecessary(vendorRestrictedPersonIdentifier, vendorRestrictedPerson); 645 return vendorRestrictedPerson; 646 } 647 648 /** 649 * Sets the vendorRestrictedPerson attribute. 650 * 651 * @param vendorRestrictedPerson The vendorRestrictedPerson to set. 652 * @deprecated 653 */ 654 @Deprecated 655 public void setVendorRestrictedPerson(Person vendorRestrictedPerson) { 656 this.vendorRestrictedPerson = vendorRestrictedPerson; 657 } 658 659 public String getDefaultAddressLine1() { 660 return defaultAddressLine1; 661 } 662 663 public void setDefaultAddressLine1(String defaultAddressLine1) { 664 this.defaultAddressLine1 = defaultAddressLine1; 665 } 666 667 public String getDefaultAddressCity() { 668 return defaultAddressCity; 669 } 670 671 public void setDefaultAddressCity(String defaultAddressCity) { 672 this.defaultAddressCity = defaultAddressCity; 673 } 674 675 public String getDefaultAddressLine2() { 676 return defaultAddressLine2; 677 } 678 679 public void setDefaultAddressLine2(String defaultAddressLine2) { 680 this.defaultAddressLine2 = defaultAddressLine2; 681 } 682 683 public String getDefaultAddressPostalCode() { 684 return defaultAddressPostalCode; 685 } 686 687 public void setDefaultAddressPostalCode(String defaultAddressPostalCode) { 688 this.defaultAddressPostalCode = defaultAddressPostalCode; 689 } 690 691 public String getDefaultAddressStateCode() { 692 return defaultAddressStateCode; 693 } 694 695 public void setDefaultAddressStateCode(String defaultAddressStateCode) { 696 this.defaultAddressStateCode = defaultAddressStateCode; 697 } 698 699 public String getDefaultAddressInternationalProvince() { 700 return defaultAddressInternationalProvince; 701 } 702 703 public void setDefaultAddressInternationalProvince(String defaultAddressInternationalProvince) { 704 this.defaultAddressInternationalProvince = defaultAddressInternationalProvince; 705 } 706 707 public String getDefaultAddressCountryCode() { 708 return defaultAddressCountryCode; 709 } 710 711 public void setDefaultAddressCountryCode(String defaultAddressCountryCode) { 712 this.defaultAddressCountryCode = defaultAddressCountryCode; 713 } 714 715 public String getDefaultFaxNumber() { 716 return defaultFaxNumber; 717 } 718 719 public void setDefaultFaxNumber(String defaultFaxNumber) { 720 this.defaultFaxNumber = defaultFaxNumber; 721 } 722 723 /** 724 * @see org.kuali.ole.vnd.document.routing.VendorRoutingComparable#isEqualForRouting(java.lang.Object) 725 */ 726 @Override 727 public boolean isEqualForRouting(Object toCompare) { 728 LOG.debug("Entering isEqualForRouting."); 729 if ((ObjectUtils.isNull(toCompare)) || !(toCompare instanceof VendorDetail)) { 730 return false; 731 } 732 else { 733 VendorDetail detail = (VendorDetail) toCompare; 734 return new EqualsBuilder().append( 735 this.getVendorHeaderGeneratedIdentifier(), detail.getVendorHeaderGeneratedIdentifier()).append( 736 this.getVendorDetailAssignedIdentifier(), detail.getVendorDetailAssignedIdentifier()).append( 737 this.isVendorParentIndicator(), detail.isVendorParentIndicator()).append( 738 this.getVendorName(), detail.getVendorName()).append( 739 //MSU Contribution OLEMI-8580 DTT-3367 OLECNTRB-952 740 this.getVendorLastName(), detail.getVendorLastName()).append( 741 this.getVendorFirstName(), detail.getVendorFirstName()).append( 742 this.isActiveIndicator(), detail.isActiveIndicator()).append( 743 this.getVendorInactiveReasonCode(), detail.getVendorInactiveReasonCode()).append( 744 this.getVendorDunsNumber(), detail.getVendorDunsNumber()).append( 745 this.getVendorPaymentTermsCode(), detail.getVendorPaymentTermsCode()).append( 746 this.getPaymentMethodId(), detail.getPaymentMethodId()).append( 747 this.getVendorShippingTitleCode(), detail.getVendorShippingTitleCode()).append( 748 this.getVendorShippingPaymentTermsCode(), detail.getVendorShippingPaymentTermsCode()).append( 749 this.getVendorConfirmationIndicator(), detail.getVendorConfirmationIndicator()).append( 750 this.getVendorPrepaymentIndicator(), detail.getVendorPrepaymentIndicator()).append( 751 this.getVendorCreditCardIndicator(), detail.getVendorCreditCardIndicator()).append( 752 this.getVendorMinimumOrderAmount(), detail.getVendorMinimumOrderAmount()).append( 753 this.getVendorUrlAddress(), detail.getVendorUrlAddress()).append( 754 this.getVendorRemitName(), detail.getVendorRemitName()).append( 755 this.getVendorRestrictedIndicator(), detail.getVendorRestrictedIndicator()).append( 756 this.getVendorRestrictedReasonText(), detail.getVendorRestrictedReasonText()).append( 757 this.getVendorRestrictedDate(), detail.getVendorRestrictedDate()).append( 758 this.getVendorRestrictedPersonIdentifier(), detail.getVendorRestrictedPersonIdentifier()).append( 759 this.getVendorSoldToGeneratedIdentifier(), detail.getVendorSoldToGeneratedIdentifier()).append( 760 this.getVendorSoldToAssignedIdentifier(), detail.getVendorSoldToAssignedIdentifier()).append( 761 this.getVendorSoldToName(), detail.getVendorSoldToName()).append( 762 this.isVendorFirstLastNameIndicator(), detail.isVendorFirstLastNameIndicator()).isEquals(); 763 } 764 } 765 766 /** 767 * The vendor is B2B if they have a contract that has the B2B 768 * indicator set to Yes. This method returns true if this vendor 769 * is a B2B vendor and false otherwise. 770 * 771 * @return true if this vendor is a B2B vendor and false otherwise. 772 * 773 */ 774 public boolean isB2BVendor() { 775 for (VendorContract contract : this.getVendorContracts()) { 776 if (contract.getVendorB2bIndicator()) { 777 return true; 778 } 779 } 780 return false; 781 } 782 783 public VendorDetail getVendorParent() { 784 Map<String, String> tmpValues = new HashMap<String, String>(); 785 List<VendorDetail> relatedVendors = new ArrayList<VendorDetail>(); 786 tmpValues.put(VendorPropertyConstants.VENDOR_HEADER_GENERATED_ID, getVendorHeaderGeneratedIdentifier().toString()); 787 tmpValues.put(VendorPropertyConstants.VENDOR_PARENT_INDICATOR, "Y"); 788 VendorDetail parentVendor = SpringContext.getBean(LookupService.class).findObjectBySearch(VendorDetail.class, tmpValues); 789 return parentVendor; 790 } 791 792 public String getVendorParentName() { 793 if (StringUtils.isNotBlank(this.vendorParentName)) { 794 return vendorParentName; 795 } 796 else if (isVendorParentIndicator()) { 797 setVendorParentName(this.getVendorName()); 798 return vendorParentName; 799 } 800 else { 801 this.setVendorParentName(getVendorParent().getVendorName()); 802 return vendorParentName; 803 } 804 } 805 806 public void setVendorParentName(String vendorParentName) { 807 this.vendorParentName = vendorParentName; 808 } 809 810 811 public String getVendorAliasesAsString() { 812 StringBuilder sb = new StringBuilder("["); 813 814 boolean first = true; 815 for (VendorAlias vsd : this.getVendorAliases()) { 816 if(vsd.isActive()){ 817 if (!first) { 818 sb.append(", "); 819 } else { 820 first = false; 821 } 822 sb.append(vsd.getVendorAliasName()); 823 } 824 } 825 sb.append(']'); 826 return sb.toString(); 827 } 828 829 830 /** 831 * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper() 832 */ 833 protected LinkedHashMap toStringMapper_RICE20_REFACTORME() { 834 LinkedHashMap m = new LinkedHashMap(); 835 if (this.vendorHeaderGeneratedIdentifier != null) { 836 m.put("vendorHeaderGeneratedIdentifier", this.vendorHeaderGeneratedIdentifier.toString()); 837 } 838 if (this.vendorDetailAssignedIdentifier != null) { 839 m.put("vendorDetailAssignedIdentifier", this.vendorDetailAssignedIdentifier.toString()); 840 } 841 842 return m; 843 } 844 845 public String getVendorCurrency() { 846 return vendorCurrency; 847 } 848 849 public void setVendorCurrency(String vendorCurrency) { 850 this.vendorCurrency = vendorCurrency; 851 } 852 853 public Long getCurrencyTypeId() { 854 return currencyTypeId; 855 } 856 857 public void setCurrencyTypeId(Long currencyTypeId) { 858 this.currencyTypeId = currencyTypeId; 859 } 860 861 862 public OleCurrencyType getCurrencyType() { 863 return currencyType; 864 } 865 866 public void setCurrencyType(OleCurrencyType currencyType) { 867 this.currencyType = currencyType; 868 } 869 870 public List<VendorTransmissionFormatDetail> getVendorTransmissionFormat() { 871 return vendorTransmissionFormat; 872 } 873 874 public void setVendorTransmissionFormat(List<VendorTransmissionFormatDetail> vendorTransmissionFormat) { 875 this.vendorTransmissionFormat = vendorTransmissionFormat; 876 } 877 878 879 public Integer getPaymentMethodId() { 880 return paymentMethodId; 881 } 882 883 public void setPaymentMethodId(Integer paymentMethodId) { 884 this.paymentMethodId = paymentMethodId; 885 } 886 public OlePaymentMethod getVendorPaymentMethod() { 887 return vendorPaymentMethod; 888 } 889 890 public void setVendorPaymentMethod(OlePaymentMethod vendorPaymentMethod) { 891 this.vendorPaymentMethod = vendorPaymentMethod; 892 } 893 894 public String getVendorLinkingNumber() { 895 return vendorLinkingNumber; 896 } 897 898 public void setVendorLinkingNumber(String vendorLinkingNumber) { 899 this.vendorLinkingNumber = vendorLinkingNumber; 900 } 901 902 private String claimInterval; 903 904 public String getClaimInterval() { 905 return claimInterval; 906 } 907 908 public void setClaimInterval(String claimInterval) { 909 this.claimInterval = claimInterval; 910 } 911 912} 913