protected boolean isVendorQuoteActiveNotDebarredVendor( Integer vendorHeaderGeneratedIdentifier, Integer vendorDetailAssignedIdentifer) { VendorDetail vendorDetail = vendorService.getVendorDetail( vendorHeaderGeneratedIdentifier, vendorDetailAssignedIdentifer); if (vendorDetail != null) { if (!vendorDetail.isActiveIndicator()) { GlobalVariables.getMessageMap() .putError( PurapPropertyConstants.NEW_PURCHASE_ORDER_VENDOR_QUOTE_VENDOR_NAME, PurapKeyConstants.ERROR_PURCHASE_ORDER_QUOTE_INACTIVE_VENDOR); return false; } else if (vendorDetail.isVendorDebarred()) { GlobalVariables.getMessageMap() .putError( PurapPropertyConstants.NEW_PURCHASE_ORDER_VENDOR_QUOTE_VENDOR_NAME, PurapKeyConstants.ERROR_PURCHASE_ORDER_QUOTE_DEBARRED_VENDOR); return false; } } return true; }
/** * Validation for the Stipulation tab. * * @param poDocument the purchase order document to be validated * @return boolean false if the vendor stipulation description is blank. */ @Override public boolean validate(AttributedDocumentEvent event) { boolean valid = super.validate(event); PurchasingAccountsPayableDocument purapDocument = (PurchasingAccountsPayableDocument) event.getDocument(); PurchaseOrderDocument poDocument = (PurchaseOrderDocument) purapDocument; MessageMap errorMap = GlobalVariables.getMessageMap(); errorMap.clearErrorPath(); errorMap.addToErrorPath(PurapConstants.VENDOR_ERRORS); // check to see if the vendor exists in the database, i.e. its ID is not null Integer vendorHeaderID = poDocument.getVendorHeaderGeneratedIdentifier(); if (ObjectUtils.isNull(vendorHeaderID)) { valid = false; errorMap.putError( VendorPropertyConstants.VENDOR_NAME, PurapKeyConstants.ERROR_NONEXIST_VENDOR); } // vendor active validation... VendorDetail vendorDetail = super.getVendorService() .getVendorDetail( poDocument.getVendorHeaderGeneratedIdentifier(), poDocument.getVendorDetailAssignedIdentifier()); if (ObjectUtils.isNull(vendorDetail)) { return valid; } // make sure that the vendor is active if (!vendorDetail.isActiveIndicator()) { valid &= false; errorMap.putError( VendorPropertyConstants.VENDOR_NAME, PurapKeyConstants.ERROR_INACTIVE_VENDOR); } // validate vendor address super.getPostalCodeValidationService() .validateAddress( poDocument.getVendorCountryCode(), poDocument.getVendorStateCode(), poDocument.getVendorPostalCode(), PurapPropertyConstants.VENDOR_STATE_CODE, PurapPropertyConstants.VENDOR_POSTAL_CODE); // Do checks for alternate payee vendor. Integer alternateVendorHdrGeneratedId = poDocument.getAlternateVendorHeaderGeneratedIdentifier(); Integer alternateVendorHdrDetailAssignedId = poDocument.getAlternateVendorDetailAssignedIdentifier(); VendorDetail alternateVendor = super.getVendorService() .getVendorDetail(alternateVendorHdrGeneratedId, alternateVendorHdrDetailAssignedId); if (alternateVendor != null) { if (alternateVendor.isVendorDebarred()) { errorMap.putError( PurapPropertyConstants.ALTERNATE_VENDOR_NAME, PurapKeyConstants.ERROR_PURCHASE_ORDER_ALTERNATE_VENDOR_DEBARRED); valid &= false; } if (StringUtils.equals( alternateVendor.getVendorHeader().getVendorTypeCode(), VendorTypes.DISBURSEMENT_VOUCHER)) { errorMap.putError( PurapPropertyConstants.ALTERNATE_VENDOR_NAME, PurapKeyConstants.ERROR_PURCHASE_ORDER_ALTERNATE_VENDOR_DV_TYPE); valid &= false; } if (!alternateVendor.isActiveIndicator()) { errorMap.putError( PurapPropertyConstants.ALTERNATE_VENDOR_NAME, PurapKeyConstants.ERROR_PURCHASE_ORDER_ALTERNATE_VENDOR_INACTIVE, PODocumentsStrings.ALTERNATE_PAYEE_VENDOR); valid &= false; } } // make sure that the vendor contract expiration date and not marked inactive. if (StringUtils.isNotBlank(poDocument.getVendorContractName())) { if (super.getVendorService() .isVendorContractExpired( poDocument, poDocument.getVendorContractGeneratedIdentifier(), vendorDetail)) { errorMap.putError( VendorPropertyConstants.VENDOR_CONTRACT_END_DATE, PurapKeyConstants.ERROR_EXPIRED_CONTRACT_END_DATE); valid &= false; } } errorMap.clearErrorPath(); return valid; }