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.purap.document; 017 018 import java.sql.Date; 019 import java.util.ArrayList; 020 import java.util.Iterator; 021 import java.util.List; 022 023 import org.apache.commons.lang.StringUtils; 024 import org.kuali.kfs.coa.businessobject.Account; 025 import org.kuali.kfs.coa.businessobject.Chart; 026 import org.kuali.kfs.coa.businessobject.Organization; 027 import org.kuali.kfs.integration.purap.CapitalAssetLocation; 028 import org.kuali.kfs.integration.purap.CapitalAssetSystem; 029 import org.kuali.kfs.integration.purap.ItemCapitalAsset; 030 import org.kuali.kfs.module.purap.PurapConstants; 031 import org.kuali.kfs.module.purap.PurapPropertyConstants; 032 import org.kuali.kfs.module.purap.businessobject.BillingAddress; 033 import org.kuali.kfs.module.purap.businessobject.CapitalAssetSystemState; 034 import org.kuali.kfs.module.purap.businessobject.CapitalAssetSystemType; 035 import org.kuali.kfs.module.purap.businessobject.DeliveryRequiredDateReason; 036 import org.kuali.kfs.module.purap.businessobject.FundingSource; 037 import org.kuali.kfs.module.purap.businessobject.PurApItem; 038 import org.kuali.kfs.module.purap.businessobject.PurchaseOrderTransmissionMethod; 039 import org.kuali.kfs.module.purap.businessobject.PurchasingCapitalAssetItem; 040 import org.kuali.kfs.module.purap.businessobject.PurchasingItem; 041 import org.kuali.kfs.module.purap.businessobject.PurchasingItemBase; 042 import org.kuali.kfs.module.purap.businessobject.ReceivingAddress; 043 import org.kuali.kfs.module.purap.businessobject.RecurringPaymentType; 044 import org.kuali.kfs.module.purap.businessobject.RequisitionSource; 045 import org.kuali.kfs.module.purap.document.service.PurapService; 046 import org.kuali.kfs.module.purap.document.service.PurchasingDocumentSpecificService; 047 import org.kuali.kfs.module.purap.document.service.PurchasingService; 048 import org.kuali.kfs.module.purap.document.service.ReceivingAddressService; 049 import org.kuali.kfs.module.purap.util.ItemParser; 050 import org.kuali.kfs.module.purap.util.ItemParserBase; 051 import org.kuali.kfs.sys.context.SpringContext; 052 import org.kuali.kfs.vnd.VendorPropertyConstants; 053 import org.kuali.kfs.vnd.businessobject.CampusParameter; 054 import org.kuali.kfs.vnd.businessobject.CommodityCode; 055 import org.kuali.kfs.vnd.businessobject.PurchaseOrderCostSource; 056 import org.kuali.kfs.vnd.businessobject.VendorAddress; 057 import org.kuali.kfs.vnd.businessobject.VendorContract; 058 import org.kuali.kfs.vnd.businessobject.VendorDetail; 059 import org.kuali.kfs.vnd.document.service.VendorService; 060 import org.kuali.rice.kns.bo.Country; 061 import org.kuali.rice.kns.rule.event.ApproveDocumentEvent; 062 import org.kuali.rice.kns.rule.event.KualiDocumentEvent; 063 import org.kuali.rice.kns.rule.event.RouteDocumentEvent; 064 import org.kuali.rice.kns.service.CountryService; 065 import org.kuali.rice.kns.service.DateTimeService; 066 import org.kuali.rice.kns.util.GlobalVariables; 067 import org.kuali.rice.kns.util.KualiDecimal; 068 import org.kuali.rice.kns.util.ObjectUtils; 069 import org.kuali.rice.kns.util.TypedArrayList; 070 071 /** 072 * Base class for Purchasing Documents. 073 */ 074 public abstract class PurchasingDocumentBase extends PurchasingAccountsPayableDocumentBase implements PurchasingDocument { 075 protected static org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(PurchasingDocumentBase.class); 076 077 // SHARED FIELDS BETWEEN REQUISITION AND PURCHASE ORDER 078 protected String documentFundingSourceCode; 079 protected String requisitionSourceCode; 080 protected String purchaseOrderTransmissionMethodCode; 081 protected String purchaseOrderCostSourceCode; 082 protected String deliveryRequiredDateReasonCode; 083 protected String recurringPaymentTypeCode; 084 protected String chartOfAccountsCode; 085 protected String organizationCode; 086 protected String deliveryCampusCode; 087 protected KualiDecimal purchaseOrderTotalLimit; 088 protected Boolean vendorRestrictedIndicator; 089 protected String vendorPhoneNumber; 090 protected String vendorFaxNumber; 091 protected Integer vendorContractGeneratedIdentifier; 092 protected String vendorNoteText; 093 protected String requestorPersonName; 094 protected String requestorPersonEmailAddress; 095 protected String requestorPersonPhoneNumber; 096 protected String nonInstitutionFundOrgChartOfAccountsCode; 097 protected String nonInstitutionFundOrganizationCode; 098 protected String nonInstitutionFundChartOfAccountsCode; 099 protected String nonInstitutionFundAccountNumber; 100 protected boolean deliveryBuildingOtherIndicator; 101 protected String deliveryBuildingCode; 102 protected String deliveryBuildingName; 103 protected String deliveryBuildingRoomNumber; 104 protected String deliveryBuildingLine1Address; 105 protected String deliveryBuildingLine2Address; 106 protected String deliveryCityName; 107 protected String deliveryStateCode; 108 protected String deliveryPostalCode; 109 protected String deliveryCountryCode; 110 protected String deliveryToName; 111 protected String deliveryToEmailAddress; 112 protected String deliveryToPhoneNumber; 113 protected Date deliveryRequiredDate; 114 protected String deliveryInstructionText; 115 protected Date purchaseOrderBeginDate; 116 protected Date purchaseOrderEndDate; 117 protected String institutionContactName; 118 protected String institutionContactPhoneNumber; 119 protected String institutionContactEmailAddress; 120 protected String billingName; 121 protected String billingLine1Address; 122 protected String billingLine2Address; 123 protected String billingCityName; 124 protected String billingStateCode; 125 protected String billingPostalCode; 126 protected String billingCountryCode; 127 protected String billingPhoneNumber; 128 protected String receivingName; 129 protected String receivingLine1Address; 130 protected String receivingLine2Address; 131 protected String receivingCityName; 132 protected String receivingStateCode; 133 protected String receivingPostalCode; 134 protected String receivingCountryCode; 135 protected boolean addressToVendorIndicator; // if true, use receiving address 136 protected String externalOrganizationB2bSupplierIdentifier; 137 protected boolean purchaseOrderAutomaticIndicator; 138 protected String vendorPaymentTermsCode; 139 protected String vendorShippingTitleCode; 140 protected String vendorShippingPaymentTermsCode; 141 protected String capitalAssetSystemTypeCode; 142 protected String capitalAssetSystemStateCode; 143 144 // NOT PERSISTED IN DB 145 protected String supplierDiversityLabel; 146 protected String vendorContactsLabel; 147 148 // REFERENCE OBJECTS 149 protected FundingSource fundingSource; 150 protected RequisitionSource requisitionSource; 151 protected PurchaseOrderTransmissionMethod purchaseOrderTransmissionMethod; 152 protected PurchaseOrderCostSource purchaseOrderCostSource; 153 protected DeliveryRequiredDateReason deliveryRequiredDateReason; 154 protected RecurringPaymentType recurringPaymentType; 155 protected Organization organization; 156 protected Chart chartOfAccounts; 157 protected CampusParameter deliveryCampus; 158 protected Chart nonInstitutionFundOrgChartOfAccounts; 159 protected Organization nonInstitutionFundOrganization; 160 protected Account nonInstitutionFundAccount; 161 protected Chart nonInstitutionFundChartOfAccounts; 162 protected VendorContract vendorContract; 163 protected CapitalAssetSystemType capitalAssetSystemType; 164 protected CapitalAssetSystemState capitalAssetSystemState; 165 protected List<CapitalAssetSystem> purchasingCapitalAssetSystems; 166 protected List<PurchasingCapitalAssetItem> purchasingCapitalAssetItems; 167 168 protected boolean receivingDocumentRequiredIndicator; 169 protected boolean paymentRequestPositiveApprovalIndicator; 170 171 protected List<CommodityCode> commodityCodesForRouting; 172 173 /** 174 * Default Constructor. 175 */ 176 public PurchasingDocumentBase() { 177 super(); 178 179 purchasingCapitalAssetItems = new TypedArrayList(getPurchasingCapitalAssetItemClass()); 180 purchasingCapitalAssetSystems = new TypedArrayList(getPurchasingCapitalAssetSystemClass()); 181 } 182 183 public abstract PurchasingDocumentSpecificService getDocumentSpecificService(); 184 185 /** 186 * @see org.kuali.kfs.module.purap.document.PurchasingDocument#templateVendorDetail(org.kuali.kfs.vnd.businessobject.VendorDetail) 187 */ 188 public void templateVendorDetail(VendorDetail vendorDetail) { 189 if (ObjectUtils.isNotNull(vendorDetail)) { 190 this.setVendorDetail(vendorDetail); 191 this.setVendorName(vendorDetail.getVendorName()); 192 this.setVendorShippingTitleCode(vendorDetail.getVendorShippingTitleCode()); 193 this.setVendorPaymentTermsCode(vendorDetail.getVendorPaymentTermsCode()); 194 this.setVendorShippingPaymentTermsCode(vendorDetail.getVendorShippingPaymentTermsCode()); 195 this.setVendorCustomerNumber(""); 196 } 197 } 198 /** 199 * @see org.kuali.kfs.module.purap.document.PurchasingDocument#templateVendorContract(org.kuali.kfs.vnd.businessobject.VendorContract) 200 */ 201 public void templateVendorContract(VendorContract vendorContract) { 202 if (ObjectUtils.isNotNull(vendorContract)) { 203 this.setVendorContract(vendorContract); 204 this.setVendorContractGeneratedIdentifier(vendorContract.getVendorContractGeneratedIdentifier()); 205 this.setVendorShippingTitleCode(vendorContract.getVendorShippingTitleCode()); 206 this.setVendorPaymentTermsCode(vendorContract.getVendorPaymentTermsCode()); 207 this.setVendorShippingPaymentTermsCode(vendorContract.getVendorShippingPaymentTermsCode()); 208 this.setPurchaseOrderCostSourceCode(vendorContract.getPurchaseOrderCostSourceCode()); 209 } 210 } 211 212 /** 213 * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocumentBase#templateVendorAddress(org.kuali.kfs.vnd.businessobject.VendorAddress) 214 */ 215 public void templateVendorAddress(VendorAddress vendorAddress) { 216 super.templateVendorAddress(vendorAddress); 217 if (vendorAddress != null) { 218 this.setVendorFaxNumber(vendorAddress.getVendorFaxNumber()); 219 this.setVendorAttentionName(vendorAddress.getVendorAttentionName()); 220 } 221 } 222 223 /** 224 * @see org.kuali.kfs.module.purap.document.PurchasingDocumentBase#templateBillingAddress(org.kuali.kfs.module.purap.businessobject.BillingAddress). 225 */ 226 public void templateBillingAddress(BillingAddress billingAddress) { 227 if (ObjectUtils.isNotNull(billingAddress)) { 228 this.setBillingName(billingAddress.getBillingName()); 229 this.setBillingLine1Address(billingAddress.getBillingLine1Address()); 230 this.setBillingLine2Address(billingAddress.getBillingLine2Address()); 231 this.setBillingCityName(billingAddress.getBillingCityName()); 232 this.setBillingStateCode(billingAddress.getBillingStateCode()); 233 this.setBillingPostalCode(billingAddress.getBillingPostalCode()); 234 this.setBillingCountryCode(billingAddress.getBillingCountryCode()); 235 this.setBillingPhoneNumber(billingAddress.getBillingPhoneNumber()); 236 } 237 } 238 239 /** 240 * @see org.kuali.kfs.module.purap.document.PurchasingDocumentBase#templateReceivingAddress(org.kuali.kfs.module.purap.businessobject.ReceivingAddress). 241 */ 242 public void templateReceivingAddress(ReceivingAddress receivingAddress) { 243 if (receivingAddress != null) { 244 this.setReceivingName(receivingAddress.getReceivingName()); 245 this.setReceivingLine1Address(receivingAddress.getReceivingLine1Address()); 246 this.setReceivingLine2Address(receivingAddress.getReceivingLine2Address()); 247 this.setReceivingCityName(receivingAddress.getReceivingCityName()); 248 this.setReceivingStateCode(receivingAddress.getReceivingStateCode()); 249 this.setReceivingPostalCode(receivingAddress.getReceivingPostalCode()); 250 this.setReceivingCountryCode(receivingAddress.getReceivingCountryCode()); 251 this.setAddressToVendorIndicator(receivingAddress.isUseReceivingIndicator()); 252 } 253 else { 254 this.setReceivingName(null); 255 this.setReceivingLine1Address(null); 256 this.setReceivingLine2Address(null); 257 this.setReceivingCityName(null); 258 this.setReceivingStateCode(null); 259 this.setReceivingPostalCode(null); 260 this.setReceivingCountryCode(null); 261 this.setAddressToVendorIndicator(false); 262 } 263 } 264 265 /** 266 * Loads the default receiving address from database corresponding to the chart/org of this document. 267 */ 268 public void loadReceivingAddress() { 269 /* 270 Map criteria = new HashMap(); 271 criteria.put(KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE, this.getChartOfAccountsCode()); 272 criteria.put(KFSPropertyConstants.ORGANIZATION_CODE, this.getOrganizationCode()); 273 criteria.put(PurapPropertyConstants.RCVNG_ADDR_DFLT_IND, true); 274 criteria.put(PurapPropertyConstants.RCVNG_ADDR_ACTIVE, true); 275 List<ReceivingAddress> addresses = (List)SpringContext.getBean(BusinessObjectService.class).findMatching(ReceivingAddress.class, criteria); 276 if (addresses != null && addresses.size()>0 ) 277 this.templateReceivingAddress(addresses.get(0)); 278 else // if no address is found, fill with null 279 this.templateReceivingAddress(null); 280 */ 281 String chartCode = getChartOfAccountsCode(); 282 String orgCode = getOrganizationCode(); 283 ReceivingAddress address = SpringContext.getBean(ReceivingAddressService.class).findUniqueDefaultByChartOrg(chartCode, orgCode); 284 // if default address for chart/org not found, look for chart default 285 if (address == null && orgCode != null) { 286 address = SpringContext.getBean(ReceivingAddressService.class).findUniqueDefaultByChartOrg(chartCode, null); 287 } 288 this.templateReceivingAddress(address); 289 } 290 291 /** 292 * Iterates through the purchasingCapitalAssetItems of the document and returns the purchasingCapitalAssetItem with the item id equal to the number given, or null if a 293 * match is not found. 294 * 295 * @param itemIdentifier item id to match on. 296 * @return the PurchasingCapitalAssetItem if a match is found, else null. 297 */ 298 public PurchasingCapitalAssetItem getPurchasingCapitalAssetItemByItemIdentifier(int itemIdentifier) { 299 for (Iterator iter = purchasingCapitalAssetItems.iterator(); iter.hasNext();) { 300 PurchasingCapitalAssetItem camsItem = (PurchasingCapitalAssetItem) iter.next(); 301 if (camsItem.getItemIdentifier().intValue() == itemIdentifier) { 302 return camsItem; 303 } 304 } 305 return null; 306 } 307 308 309 /** 310 * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocumentBase#addItem(org.kuali.kfs.module.purap.businessobject.PurApItem) 311 */ 312 @Override 313 public void addItem(PurApItem item) { 314 item.refreshReferenceObject(PurapPropertyConstants.COMMODITY_CODE); 315 super.addItem(item); 316 } 317 318 /** 319 * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocumentBase#populateDocumentForRouting() 320 */ 321 @Override 322 public void populateDocumentForRouting() { 323 commodityCodesForRouting = new ArrayList<CommodityCode>(); 324 for (PurchasingItemBase item : (List<PurchasingItemBase>)this.getItems()) { 325 if (item.getCommodityCode() != null && !commodityCodesForRouting.contains(item.getCommodityCode())) { 326 commodityCodesForRouting.add(item.getCommodityCode()); 327 } 328 } 329 super.populateDocumentForRouting(); 330 } 331 332 // GETTERS AND SETTERS 333 334 /** 335 * @see org.kuali.kfs.module.purap.document.PurchasingDocument.getItemParser(). 336 */ 337 public ItemParser getItemParser() { 338 return new ItemParserBase(); 339 } 340 341 public String getBillingCityName() { 342 return billingCityName; 343 } 344 345 public void setBillingCityName(String billingCityName) { 346 this.billingCityName = billingCityName; 347 } 348 349 public String getBillingCountryCode() { 350 return billingCountryCode; 351 } 352 353 public void setBillingCountryCode(String billingCountryCode) { 354 this.billingCountryCode = billingCountryCode; 355 } 356 357 public String getBillingCountryName() { 358 Country country = SpringContext.getBean(CountryService.class).getByPrimaryId(getBillingCountryCode()); 359 //if (country == null) 360 // country = SpringContext.getBean(CountryService.class).getDefaultCountry(); 361 if (country != null) 362 return country.getPostalCountryName(); 363 return null; 364 } 365 366 public String getBillingLine1Address() { 367 return billingLine1Address; 368 } 369 370 public void setBillingLine1Address(String billingLine1Address) { 371 this.billingLine1Address = billingLine1Address; 372 } 373 374 public String getBillingLine2Address() { 375 return billingLine2Address; 376 } 377 378 public void setBillingLine2Address(String billingLine2Address) { 379 this.billingLine2Address = billingLine2Address; 380 } 381 382 public String getBillingName() { 383 return billingName; 384 } 385 386 public void setBillingName(String billingName) { 387 this.billingName = billingName; 388 } 389 390 public String getBillingPhoneNumber() { 391 return billingPhoneNumber; 392 } 393 394 public void setBillingPhoneNumber(String billingPhoneNumber) { 395 this.billingPhoneNumber = billingPhoneNumber; 396 } 397 398 public String getBillingPostalCode() { 399 return billingPostalCode; 400 } 401 402 public void setBillingPostalCode(String billingPostalCode) { 403 this.billingPostalCode = billingPostalCode; 404 } 405 406 public String getBillingStateCode() { 407 return billingStateCode; 408 } 409 410 public void setBillingStateCode(String billingStateCode) { 411 this.billingStateCode = billingStateCode; 412 } 413 414 public String getReceivingCityName() { 415 return receivingCityName; 416 } 417 418 public void setReceivingCityName(String receivingCityName) { 419 this.receivingCityName = receivingCityName; 420 } 421 422 public String getReceivingCountryCode() { 423 return receivingCountryCode; 424 } 425 426 public void setReceivingCountryCode(String receivingCountryCode) { 427 this.receivingCountryCode = receivingCountryCode; 428 } 429 430 public String getReceivingCountryName() { 431 Country country = SpringContext.getBean(CountryService.class).getByPrimaryId(getReceivingCountryCode()); 432 //if (country == null) 433 // country = SpringContext.getBean(CountryService.class).getDefaultCountry(); 434 if (country != null) 435 return country.getPostalCountryName(); 436 return null; 437 } 438 439 public String getReceivingLine1Address() { 440 return receivingLine1Address; 441 } 442 443 public void setReceivingLine1Address(String receivingLine1Address) { 444 this.receivingLine1Address = receivingLine1Address; 445 } 446 447 public String getReceivingLine2Address() { 448 return receivingLine2Address; 449 } 450 451 public void setReceivingLine2Address(String receivingLine2Address) { 452 this.receivingLine2Address = receivingLine2Address; 453 } 454 455 public String getReceivingName() { 456 return receivingName; 457 } 458 459 public void setReceivingName(String receivingName) { 460 this.receivingName = receivingName; 461 } 462 463 public String getReceivingPostalCode() { 464 return receivingPostalCode; 465 } 466 467 public void setReceivingPostalCode(String receivingPostalCode) { 468 this.receivingPostalCode = receivingPostalCode; 469 } 470 471 public String getReceivingStateCode() { 472 return receivingStateCode; 473 } 474 475 public void setReceivingStateCode(String receivingStateCode) { 476 this.receivingStateCode = receivingStateCode; 477 } 478 479 public boolean getAddressToVendorIndicator() { 480 return addressToVendorIndicator; 481 } 482 483 public void setAddressToVendorIndicator(boolean addressToVendor) { 484 this.addressToVendorIndicator = addressToVendor; 485 } 486 487 public String getChartOfAccountsCode() { 488 return chartOfAccountsCode; 489 } 490 491 public void setChartOfAccountsCode(String chartOfAccountsCode) { 492 this.chartOfAccountsCode = chartOfAccountsCode; 493 } 494 495 public String getDeliveryBuildingCode() { 496 return deliveryBuildingCode; 497 } 498 499 public void setDeliveryBuildingCode(String deliveryBuildingCode) { 500 this.deliveryBuildingCode = deliveryBuildingCode; 501 } 502 503 public String getDeliveryBuildingLine1Address() { 504 return deliveryBuildingLine1Address; 505 } 506 507 public void setDeliveryBuildingLine1Address(String deliveryBuildingLine1Address) { 508 this.deliveryBuildingLine1Address = deliveryBuildingLine1Address; 509 } 510 511 public String getDeliveryBuildingLine2Address() { 512 return deliveryBuildingLine2Address; 513 } 514 515 public void setDeliveryBuildingLine2Address(String deliveryBuildingLine2Address) { 516 this.deliveryBuildingLine2Address = deliveryBuildingLine2Address; 517 } 518 519 public String getDeliveryBuildingName() { 520 return deliveryBuildingName; 521 } 522 523 public void setDeliveryBuildingName(String deliveryBuildingName) { 524 this.deliveryBuildingName = deliveryBuildingName; 525 } 526 527 public boolean isDeliveryBuildingOtherIndicator() { 528 return deliveryBuildingOtherIndicator; 529 } 530 531 public void setDeliveryBuildingOtherIndicator(boolean deliveryBuildingOtherIndicator) { 532 this.deliveryBuildingOtherIndicator = deliveryBuildingOtherIndicator; 533 } 534 535 public String getDeliveryBuildingRoomNumber() { 536 return deliveryBuildingRoomNumber; 537 } 538 539 public void setDeliveryBuildingRoomNumber(String deliveryBuildingRoomNumber) { 540 this.deliveryBuildingRoomNumber = deliveryBuildingRoomNumber; 541 } 542 543 public String getDeliveryCampusCode() { 544 return deliveryCampusCode; 545 } 546 547 public void setDeliveryCampusCode(String deliveryCampusCode) { 548 this.deliveryCampusCode = deliveryCampusCode; 549 } 550 551 public String getDeliveryCityName() { 552 return deliveryCityName; 553 } 554 555 public void setDeliveryCityName(String deliveryCityName) { 556 this.deliveryCityName = deliveryCityName; 557 } 558 559 public String getDeliveryCountryCode() { 560 return deliveryCountryCode; 561 } 562 563 public String getDeliveryCountryName() { 564 Country country = SpringContext.getBean(CountryService.class).getByPrimaryId(getDeliveryCountryCode()); 565 if (country != null) 566 return country.getPostalCountryName(); 567 return null; 568 } 569 570 public void setDeliveryCountryCode(String deliveryCountryCode) { 571 this.deliveryCountryCode = deliveryCountryCode; 572 } 573 574 575 public String getDeliveryInstructionText() { 576 return deliveryInstructionText; 577 } 578 579 public void setDeliveryInstructionText(String deliveryInstructionText) { 580 this.deliveryInstructionText = deliveryInstructionText; 581 } 582 583 public String getDeliveryPostalCode() { 584 return deliveryPostalCode; 585 } 586 587 public void setDeliveryPostalCode(String deliveryPostalCode) { 588 this.deliveryPostalCode = deliveryPostalCode; 589 } 590 591 public Date getDeliveryRequiredDate() { 592 return deliveryRequiredDate; 593 } 594 595 public void setDeliveryRequiredDate(Date deliveryRequiredDate) { 596 this.deliveryRequiredDate = deliveryRequiredDate; 597 } 598 599 public String getDeliveryRequiredDateReasonCode() { 600 return deliveryRequiredDateReasonCode; 601 } 602 603 public void setDeliveryRequiredDateReasonCode(String deliveryRequiredDateReasonCode) { 604 this.deliveryRequiredDateReasonCode = deliveryRequiredDateReasonCode; 605 } 606 607 public String getDeliveryStateCode() { 608 return deliveryStateCode; 609 } 610 611 public void setDeliveryStateCode(String deliveryStateCode) { 612 this.deliveryStateCode = deliveryStateCode; 613 } 614 615 public String getDeliveryToEmailAddress() { 616 return deliveryToEmailAddress; 617 } 618 619 public void setDeliveryToEmailAddress(String deliveryToEmailAddress) { 620 this.deliveryToEmailAddress = deliveryToEmailAddress; 621 } 622 623 public String getDeliveryToName() { 624 return deliveryToName; 625 } 626 627 public void setDeliveryToName(String deliveryToName) { 628 this.deliveryToName = deliveryToName; 629 } 630 631 public String getDeliveryToPhoneNumber() { 632 return deliveryToPhoneNumber; 633 } 634 635 public void setDeliveryToPhoneNumber(String deliveryToPhoneNumber) { 636 this.deliveryToPhoneNumber = deliveryToPhoneNumber; 637 } 638 639 public String getExternalOrganizationB2bSupplierIdentifier() { 640 return externalOrganizationB2bSupplierIdentifier; 641 } 642 643 public void setExternalOrganizationB2bSupplierIdentifier(String externalOrganizationB2bSupplierIdentifier) { 644 this.externalOrganizationB2bSupplierIdentifier = externalOrganizationB2bSupplierIdentifier; 645 } 646 647 public String getDocumentFundingSourceCode() { 648 return documentFundingSourceCode; 649 } 650 651 public void setDocumentFundingSourceCode(String documentFundingSourceCode) { 652 this.documentFundingSourceCode = documentFundingSourceCode; 653 } 654 655 public String getInstitutionContactEmailAddress() { 656 return institutionContactEmailAddress; 657 } 658 659 public void setInstitutionContactEmailAddress(String institutionContactEmailAddress) { 660 this.institutionContactEmailAddress = institutionContactEmailAddress; 661 } 662 663 public String getInstitutionContactName() { 664 return institutionContactName; 665 } 666 667 public void setInstitutionContactName(String institutionContactName) { 668 this.institutionContactName = institutionContactName; 669 } 670 671 public String getInstitutionContactPhoneNumber() { 672 return institutionContactPhoneNumber; 673 } 674 675 public void setInstitutionContactPhoneNumber(String institutionContactPhoneNumber) { 676 this.institutionContactPhoneNumber = institutionContactPhoneNumber; 677 } 678 679 public String getNonInstitutionFundAccountNumber() { 680 return nonInstitutionFundAccountNumber; 681 } 682 683 public void setNonInstitutionFundAccountNumber(String nonInstitutionFundAccountNumber) { 684 this.nonInstitutionFundAccountNumber = nonInstitutionFundAccountNumber; 685 } 686 687 public String getNonInstitutionFundChartOfAccountsCode() { 688 return nonInstitutionFundChartOfAccountsCode; 689 } 690 691 public void setNonInstitutionFundChartOfAccountsCode(String nonInstitutionFundChartOfAccountsCode) { 692 this.nonInstitutionFundChartOfAccountsCode = nonInstitutionFundChartOfAccountsCode; 693 } 694 695 public String getNonInstitutionFundOrganizationCode() { 696 return nonInstitutionFundOrganizationCode; 697 } 698 699 public void setNonInstitutionFundOrganizationCode(String nonInstitutionFundOrganizationCode) { 700 this.nonInstitutionFundOrganizationCode = nonInstitutionFundOrganizationCode; 701 } 702 703 public String getNonInstitutionFundOrgChartOfAccountsCode() { 704 return nonInstitutionFundOrgChartOfAccountsCode; 705 } 706 707 public void setNonInstitutionFundOrgChartOfAccountsCode(String nonInstitutionFundOrgChartOfAccountsCode) { 708 this.nonInstitutionFundOrgChartOfAccountsCode = nonInstitutionFundOrgChartOfAccountsCode; 709 } 710 711 public String getOrganizationCode() { 712 return organizationCode; 713 } 714 715 public void setOrganizationCode(String organizationCode) { 716 this.organizationCode = organizationCode; 717 } 718 719 public boolean getPurchaseOrderAutomaticIndicator() { 720 return purchaseOrderAutomaticIndicator; 721 } 722 723 public void setPurchaseOrderAutomaticIndicator(boolean purchaseOrderAutomaticIndicator) { 724 this.purchaseOrderAutomaticIndicator = purchaseOrderAutomaticIndicator; 725 } 726 727 public Date getPurchaseOrderBeginDate() { 728 return purchaseOrderBeginDate; 729 } 730 731 public void setPurchaseOrderBeginDate(Date purchaseOrderBeginDate) { 732 this.purchaseOrderBeginDate = purchaseOrderBeginDate; 733 } 734 735 public String getPurchaseOrderCostSourceCode() { 736 return purchaseOrderCostSourceCode; 737 } 738 739 public void setPurchaseOrderCostSourceCode(String purchaseOrderCostSourceCode) { 740 this.purchaseOrderCostSourceCode = purchaseOrderCostSourceCode; 741 } 742 743 public Date getPurchaseOrderEndDate() { 744 return purchaseOrderEndDate; 745 } 746 747 public void setPurchaseOrderEndDate(Date purchaseOrderEndDate) { 748 this.purchaseOrderEndDate = purchaseOrderEndDate; 749 } 750 751 public KualiDecimal getPurchaseOrderTotalLimit() { 752 return purchaseOrderTotalLimit; 753 } 754 755 public void setPurchaseOrderTotalLimit(KualiDecimal purchaseOrderTotalLimit) { 756 this.purchaseOrderTotalLimit = purchaseOrderTotalLimit; 757 } 758 759 public String getPurchaseOrderTransmissionMethodCode() { 760 return purchaseOrderTransmissionMethodCode; 761 } 762 763 public void setPurchaseOrderTransmissionMethodCode(String purchaseOrderTransmissionMethodCode) { 764 this.purchaseOrderTransmissionMethodCode = purchaseOrderTransmissionMethodCode; 765 } 766 767 public String getRecurringPaymentTypeCode() { 768 return recurringPaymentTypeCode; 769 } 770 771 public void setRecurringPaymentTypeCode(String recurringPaymentTypeCode) { 772 this.recurringPaymentTypeCode = recurringPaymentTypeCode; 773 } 774 775 public String getRequestorPersonEmailAddress() { 776 return requestorPersonEmailAddress; 777 } 778 779 public void setRequestorPersonEmailAddress(String requestorPersonEmailAddress) { 780 this.requestorPersonEmailAddress = requestorPersonEmailAddress; 781 } 782 783 public String getRequestorPersonName() { 784 return requestorPersonName; 785 } 786 787 public void setRequestorPersonName(String requestorPersonName) { 788 this.requestorPersonName = requestorPersonName; 789 } 790 791 public String getRequestorPersonPhoneNumber() { 792 return requestorPersonPhoneNumber; 793 } 794 795 public void setRequestorPersonPhoneNumber(String requestorPersonPhoneNumber) { 796 this.requestorPersonPhoneNumber = requestorPersonPhoneNumber; 797 } 798 799 public String getRequisitionSourceCode() { 800 return requisitionSourceCode; 801 } 802 803 public void setRequisitionSourceCode(String requisitionSourceCode) { 804 this.requisitionSourceCode = requisitionSourceCode; 805 } 806 807 public String getVendorContactsLabel() { 808 return vendorContactsLabel; 809 } 810 811 public void setVendorContactsLabel(String vendorContactsLabel) { 812 this.vendorContactsLabel = vendorContactsLabel; 813 } 814 815 public VendorContract getVendorContract() { 816 if (ObjectUtils.isNull(vendorContract)) 817 refreshReferenceObject(PurapPropertyConstants.VENDOR_CONTRACT); 818 return vendorContract; 819 } 820 821 public void setVendorContract(VendorContract vendorContract) { 822 this.vendorContract = vendorContract; 823 } 824 825 public Integer getVendorContractGeneratedIdentifier() { 826 return vendorContractGeneratedIdentifier; 827 } 828 829 public void setVendorContractGeneratedIdentifier(Integer vendorContractGeneratedIdentifier) { 830 this.vendorContractGeneratedIdentifier = vendorContractGeneratedIdentifier; 831 } 832 833 public String getVendorContractName() { 834 getVendorContract(); 835 if (ObjectUtils.isNull(vendorContract)) { 836 return ""; 837 } 838 else { 839 return vendorContract.getVendorContractName(); 840 } 841 } 842 843 public String getVendorFaxNumber() { 844 return vendorFaxNumber; 845 } 846 847 public void setVendorFaxNumber(String vendorFaxNumber) { 848 this.vendorFaxNumber = vendorFaxNumber; 849 } 850 851 public String getVendorNoteText() { 852 return vendorNoteText; 853 } 854 855 public void setVendorNoteText(String vendorNoteText) { 856 this.vendorNoteText = vendorNoteText; 857 } 858 859 public String getVendorPaymentTermsCode() { 860 return vendorPaymentTermsCode; 861 } 862 863 public void setVendorPaymentTermsCode(String vendorPaymentTermsCode) { 864 this.vendorPaymentTermsCode = vendorPaymentTermsCode; 865 } 866 867 public String getVendorPhoneNumber() { 868 return vendorPhoneNumber; 869 } 870 871 public void setVendorPhoneNumber(String vendorPhoneNumber) { 872 this.vendorPhoneNumber = vendorPhoneNumber; 873 } 874 875 public Boolean getVendorRestrictedIndicator() { 876 return vendorRestrictedIndicator; 877 } 878 879 public void setVendorRestrictedIndicator(Boolean vendorRestrictedIndicator) { 880 this.vendorRestrictedIndicator = vendorRestrictedIndicator; 881 } 882 883 public String getVendorShippingPaymentTermsCode() { 884 return vendorShippingPaymentTermsCode; 885 } 886 887 public void setVendorShippingPaymentTermsCode(String vendorShippingPaymentTermsCode) { 888 this.vendorShippingPaymentTermsCode = vendorShippingPaymentTermsCode; 889 } 890 891 public String getVendorShippingTitleCode() { 892 return vendorShippingTitleCode; 893 } 894 895 public void setVendorShippingTitleCode(String vendorShippingTitleCode) { 896 this.vendorShippingTitleCode = vendorShippingTitleCode; 897 } 898 899 public Chart getChartOfAccounts() { 900 return chartOfAccounts; 901 } 902 903 public CampusParameter getDeliveryCampus() { 904 return deliveryCampus; 905 } 906 907 public DeliveryRequiredDateReason getDeliveryRequiredDateReason() { 908 return deliveryRequiredDateReason; 909 } 910 911 public FundingSource getFundingSource() { 912 return fundingSource; 913 } 914 915 public Account getNonInstitutionFundAccount() { 916 return nonInstitutionFundAccount; 917 } 918 919 public Chart getNonInstitutionFundChartOfAccounts() { 920 return nonInstitutionFundChartOfAccounts; 921 } 922 923 public Organization getNonInstitutionFundOrganization() { 924 return nonInstitutionFundOrganization; 925 } 926 927 public Chart getNonInstitutionFundOrgChartOfAccounts() { 928 return nonInstitutionFundOrgChartOfAccounts; 929 } 930 931 public Organization getOrganization() { 932 return organization; 933 } 934 935 public PurchaseOrderTransmissionMethod getPurchaseOrderTransmissionMethod() { 936 return purchaseOrderTransmissionMethod; 937 } 938 939 public RecurringPaymentType getRecurringPaymentType() { 940 return recurringPaymentType; 941 } 942 943 public RequisitionSource getRequisitionSource() { 944 return requisitionSource; 945 } 946 947 public String getSupplierDiversityLabel() { 948 return supplierDiversityLabel; 949 } 950 951 public PurchaseOrderCostSource getPurchaseOrderCostSource() { 952 if (ObjectUtils.isNull(purchaseOrderCostSource)) 953 refreshReferenceObject(PurapPropertyConstants.PURCHASE_ORDER_COST_SOURCE); 954 return purchaseOrderCostSource; 955 } 956 957 /** 958 * @deprecated 959 */ 960 public void setChartOfAccounts(Chart chartOfAccounts) { 961 this.chartOfAccounts = chartOfAccounts; 962 } 963 964 /** 965 * @deprecated 966 */ 967 public void setDeliveryCampus(CampusParameter deliveryCampus) { 968 this.deliveryCampus = deliveryCampus; 969 } 970 971 /** 972 * @deprecated 973 */ 974 public void setDeliveryRequiredDateReason(DeliveryRequiredDateReason deliveryRequiredDateReason) { 975 this.deliveryRequiredDateReason = deliveryRequiredDateReason; 976 } 977 978 /** 979 * @deprecated 980 */ 981 public void setFundingSource(FundingSource fundingSource) { 982 this.fundingSource = fundingSource; 983 } 984 985 /** 986 * @deprecated 987 */ 988 public void setNonInstitutionFundAccount(Account nonInstitutionFundAccount) { 989 this.nonInstitutionFundAccount = nonInstitutionFundAccount; 990 } 991 992 /** 993 * @deprecated 994 */ 995 public void setNonInstitutionFundChartOfAccounts(Chart nonInstitutionFundChartOfAccounts) { 996 this.nonInstitutionFundChartOfAccounts = nonInstitutionFundChartOfAccounts; 997 } 998 999 /** 1000 * @deprecated 1001 */ 1002 public void setNonInstitutionFundOrganization(Organization nonInstitutionFundOrganization) { 1003 this.nonInstitutionFundOrganization = nonInstitutionFundOrganization; 1004 } 1005 1006 /** 1007 * @deprecated 1008 */ 1009 public void setNonInstitutionFundOrgChartOfAccounts(Chart nonInstitutionFundOrgChartOfAccounts) { 1010 this.nonInstitutionFundOrgChartOfAccounts = nonInstitutionFundOrgChartOfAccounts; 1011 } 1012 1013 /** 1014 * @deprecated 1015 */ 1016 public void setOrganization(Organization organization) { 1017 this.organization = organization; 1018 } 1019 1020 /** 1021 * @deprecated 1022 */ 1023 public void setPurchaseOrderCostSource(PurchaseOrderCostSource purchaseOrderCostSource) { 1024 this.purchaseOrderCostSource = purchaseOrderCostSource; 1025 } 1026 1027 /** 1028 * @deprecated 1029 */ 1030 public void setPurchaseOrderTransmissionMethod(PurchaseOrderTransmissionMethod purchaseOrderTransmissionMethod) { 1031 this.purchaseOrderTransmissionMethod = purchaseOrderTransmissionMethod; 1032 } 1033 1034 /** 1035 * @deprecated 1036 */ 1037 public void setRecurringPaymentType(RecurringPaymentType recurringPaymentType) { 1038 this.recurringPaymentType = recurringPaymentType; 1039 } 1040 1041 /** 1042 * @deprecated 1043 */ 1044 public void setRequisitionSource(RequisitionSource requisitionSource) { 1045 this.requisitionSource = requisitionSource; 1046 } 1047 1048 /** 1049 * Gets the receivingDocumentRequiredIndicator attribute. 1050 * @return Returns the receivingDocumentRequiredIndicator. 1051 */ 1052 public boolean isReceivingDocumentRequiredIndicator() { 1053 return receivingDocumentRequiredIndicator; 1054 } 1055 1056 /** 1057 * Sets the receivingDocumentRequiredIndicator attribute value. 1058 * @param receivingDocumentRequiredIndicator The receivingDocumentRequiredIndicator to set. 1059 */ 1060 public void setReceivingDocumentRequiredIndicator(boolean receivingDocumentRequiredIndicator) { 1061 this.receivingDocumentRequiredIndicator = receivingDocumentRequiredIndicator; 1062 } 1063 1064 public boolean isPaymentRequestPositiveApprovalIndicator() { 1065 return paymentRequestPositiveApprovalIndicator; 1066 } 1067 1068 public void setPaymentRequestPositiveApprovalIndicator(boolean paymentRequestPositiveApprovalIndicator) { 1069 this.paymentRequestPositiveApprovalIndicator = paymentRequestPositiveApprovalIndicator; 1070 } 1071 1072 public List<CommodityCode> getCommodityCodesForRouting() { 1073 return commodityCodesForRouting; 1074 } 1075 1076 public void setCommodityCodesForRouting(List<CommodityCode> commodityCodesForRouting) { 1077 this.commodityCodesForRouting = commodityCodesForRouting; 1078 } 1079 1080 public String getCapitalAssetSystemTypeCode() { 1081 return capitalAssetSystemTypeCode; 1082 } 1083 1084 public void setCapitalAssetSystemTypeCode(String capitalAssetSystemTypeCode) { 1085 this.capitalAssetSystemTypeCode = capitalAssetSystemTypeCode; 1086 } 1087 1088 public String getCapitalAssetSystemStateCode() { 1089 return capitalAssetSystemStateCode; 1090 } 1091 1092 public void setCapitalAssetSystemStateCode(String capitalAssetSystemStateCode) { 1093 this.capitalAssetSystemStateCode = capitalAssetSystemStateCode; 1094 } 1095 1096 public CapitalAssetSystemType getCapitalAssetSystemType() { 1097 if(ObjectUtils.isNull(capitalAssetSystemType)){ 1098 this.refreshReferenceObject("capitalAssetSystemType"); 1099 } 1100 return capitalAssetSystemType; 1101 } 1102 1103 public void setCapitalAssetSystemType(CapitalAssetSystemType capitalAssetSystemType) { 1104 this.capitalAssetSystemType = capitalAssetSystemType; 1105 } 1106 1107 public CapitalAssetSystemState getCapitalAssetSystemState() { 1108 if(ObjectUtils.isNull(capitalAssetSystemState)){ 1109 this.refreshReferenceObject("capitalAssetSystemState"); 1110 } 1111 return capitalAssetSystemState; 1112 } 1113 1114 public void setCapitalAssetSystemState(CapitalAssetSystemState capitalAssetSystemState) { 1115 this.capitalAssetSystemState = capitalAssetSystemState; 1116 } 1117 1118 public List<CapitalAssetSystem> getPurchasingCapitalAssetSystems() { 1119 return purchasingCapitalAssetSystems; 1120 } 1121 1122 public void setPurchasingCapitalAssetSystems(List<CapitalAssetSystem> purchasingCapitalAssetSystems) { 1123 this.purchasingCapitalAssetSystems = purchasingCapitalAssetSystems; 1124 } 1125 1126 public List<PurchasingCapitalAssetItem> getPurchasingCapitalAssetItems() { 1127 return purchasingCapitalAssetItems; 1128 } 1129 1130 public void setPurchasingCapitalAssetItems(List<PurchasingCapitalAssetItem> purchasingCapitalAssetItems) { 1131 this.purchasingCapitalAssetItems = purchasingCapitalAssetItems; 1132 } 1133 1134 public abstract Class getPurchasingCapitalAssetItemClass(); 1135 1136 public abstract Class getPurchasingCapitalAssetSystemClass(); 1137 1138 public PurchasingItem getPurchasingItem(Integer itemIdentifier){ 1139 1140 if(ObjectUtils.isNull(itemIdentifier)) return null; 1141 1142 PurchasingItem item = null; 1143 1144 for(PurchasingItem pi: (List<PurchasingItem>)this.getItems()){ 1145 if(itemIdentifier.equals(pi.getItemIdentifier())){ 1146 item = pi; 1147 break; 1148 } 1149 } 1150 1151 return item; 1152 } 1153 1154 public PurchasingCapitalAssetItem getPurchasingCapitalAssetItem(Integer itemIdentifier){ 1155 1156 if(ObjectUtils.isNull(itemIdentifier)) return null; 1157 1158 PurchasingCapitalAssetItem item = null; 1159 1160 for(PurchasingCapitalAssetItem pcai: this.getPurchasingCapitalAssetItems()){ 1161 if(itemIdentifier.equals(pcai.getItemIdentifier())){ 1162 item = pcai; 1163 break; 1164 } 1165 } 1166 1167 return item; 1168 } 1169 1170 /** 1171 * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocumentBase#buildListOfDeletionAwareLists() 1172 */ 1173 @Override 1174 public List buildListOfDeletionAwareLists() { 1175 List managedLists = super.buildListOfDeletionAwareLists(); 1176 if (allowDeleteAwareCollection) { 1177 List<ItemCapitalAsset> assetLists = new ArrayList<ItemCapitalAsset>(); 1178 List<CapitalAssetLocation>capitalAssetLocationLists = new ArrayList<CapitalAssetLocation>(); 1179 if (StringUtils.equals(this.getCapitalAssetSystemTypeCode(),PurapConstants.CapitalAssetSystemTypes.INDIVIDUAL)) { 1180 for (PurchasingCapitalAssetItem capitalAssetItem : this.getPurchasingCapitalAssetItems()) { 1181 //We only need to add the itemCapitalAssets to assetLists if the system is not null, otherwise 1182 //just let the assetLists be empty ArrayList. 1183 if (capitalAssetItem.getPurchasingCapitalAssetSystem() != null) { 1184 assetLists.addAll(capitalAssetItem.getPurchasingCapitalAssetSystem().getItemCapitalAssets()); 1185 capitalAssetLocationLists.addAll(capitalAssetItem.getPurchasingCapitalAssetSystem().getCapitalAssetLocations()); 1186 } 1187 } 1188 } 1189 else { 1190 for (CapitalAssetSystem system : this.getPurchasingCapitalAssetSystems()) { 1191 assetLists.addAll(system.getItemCapitalAssets()); 1192 capitalAssetLocationLists.addAll(system.getCapitalAssetLocations()); 1193 } 1194 } 1195 managedLists.add(assetLists); 1196 managedLists.add(capitalAssetLocationLists); 1197 managedLists.add(this.getPurchasingCapitalAssetSystems()); 1198 managedLists.add(this.getPurchasingCapitalAssetItems()); 1199 } 1200 return managedLists; 1201 } 1202 1203 /** 1204 * Overrides the method in PurchasingAccountsPayableDocumentBase to remove the 1205 * purchasingCapitalAssetSystem when the system type is either ONE or MULT. 1206 * 1207 * @see org.kuali.kfs.module.purap.document.PurchasingAccountsPayableDocumentBase#prepareForSave(org.kuali.rice.kns.rule.event.KualiDocumentEvent) 1208 */ 1209 @Override 1210 public void prepareForSave(KualiDocumentEvent event) { 1211 super.prepareForSave(event); 1212 if (StringUtils.isNotBlank(this.getCapitalAssetSystemTypeCode())) { 1213 if (this.getCapitalAssetSystemTypeCode().equals(PurapConstants.CapitalAssetSystemTypes.ONE_SYSTEM) || this.getCapitalAssetSystemTypeCode().equals(PurapConstants.CapitalAssetSystemTypes.MULTIPLE)) { 1214 //If the system state is ONE or MULT, we have to remove all the systems on the items because it's not applicable. 1215 for (PurchasingCapitalAssetItem camsItem : this.getPurchasingCapitalAssetItems()) { 1216 camsItem.setPurchasingCapitalAssetSystem(null); 1217 } 1218 } 1219 } 1220 if (event instanceof RouteDocumentEvent || event instanceof ApproveDocumentEvent) { 1221 1222 boolean defaultUseTaxIndicatorValue = SpringContext.getBean(PurchasingService.class).getDefaultUseTaxIndicatorValue(this); 1223 SpringContext.getBean(PurapService.class).updateUseTaxIndicator(this, defaultUseTaxIndicatorValue); 1224 } 1225 } 1226 1227 public Date getTransactionTaxDate() { 1228 return SpringContext.getBean(DateTimeService.class).getCurrentSqlDate(); 1229 } 1230 1231 public void clearCapitalAssetFields() { 1232 this.setPurchasingCapitalAssetItems(new TypedArrayList(getPurchasingCapitalAssetItemClass())); 1233 this.setPurchasingCapitalAssetSystems(new TypedArrayList(getPurchasingCapitalAssetSystemClass())); 1234 this.setCapitalAssetSystemStateCode(null); 1235 this.setCapitalAssetSystemTypeCode(null); 1236 this.setCapitalAssetSystemState(null); 1237 this.setCapitalAssetSystemType(null); 1238 1239 } 1240 1241 /** 1242 * @return the payment request positive approval indicator 1243 */ 1244 public boolean getPaymentRequestPositiveApprovalIndicatorForSearching() { 1245 return paymentRequestPositiveApprovalIndicator; 1246 } 1247 1248 /** 1249 * @return the receiving document required indicator 1250 */ 1251 public boolean getReceivingDocumentRequiredIndicatorForSearching() { 1252 return receivingDocumentRequiredIndicator; 1253 } 1254 1255 public String getDocumentChartOfAccountsCodeForSearching(){ 1256 return chartOfAccountsCode; 1257 } 1258 1259 public String getDocumentOrganizationCodeForSearching(){ 1260 return organizationCode; 1261 } 1262 1263 public boolean shouldGiveErrorForEmptyAccountsProration() { 1264 return true; 1265 } 1266 1267 public String getChartAndOrgCodeForResult(){ 1268 return getChartOfAccountsCode() + "-" + getOrganizationCode(); 1269 } 1270 1271 public String getDeliveryCampusCodeForSearch(){ 1272 return getDeliveryCampusCode(); 1273 } 1274 1275 public boolean getHasB2BVendor() { 1276 if (getVendorHeaderGeneratedIdentifier() != null) { 1277 refreshReferenceObject(VendorPropertyConstants.VENDOR_DETAIL); 1278 String campusCode = GlobalVariables.getUserSession().getPerson().getCampusCode(); 1279 VendorDetail vendorDetail = getVendorDetail(); 1280 if (vendorDetail == null || StringUtils.isEmpty(campusCode)) 1281 return false; // this should never happen 1282 return SpringContext.getBean(VendorService.class).getVendorB2BContract(vendorDetail, campusCode) != null; 1283 } 1284 return false; 1285 } 1286 }