org.kuali.kfs.module.purap.document.service
Interface PurchaseOrderService

All Superinterfaces:
PurchasingDocumentSpecificService
All Known Implementing Classes:
PurchaseOrderServiceImpl

public interface PurchaseOrderService
extends PurchasingDocumentSpecificService

Defines methods that must be implemented by classes providing a PurchaseOrderService.


Method Summary
 boolean autoCloseFullyDisencumberedOrders()
          This gets a list of Purchase Orders in Open status and checks to see if their line item encumbrances are all fully disencumbered and if so then the Purchase Order is closed and notes added to indicate the change occurred in batch
 boolean autoCloseRecurringOrders()
          - PO status is OPEN - Recurring payment type code is not null - Vendor Choice is not Sub-Contract - PO End Date <= parm date (comes from system parameter) - Verify that the system parameter date entered is not greater than the current date minus three months.
 boolean canAmendPurchaseOrder(PurchaseOrderDocument purchaseOrder)
          Determines whether to display the amend button for the purchase order document.
 boolean canHoldPayment(PurchaseOrderDocument purchaseOrder)
          Determines whether to display the amend and payment hold buttons for the purchase order document.
 HashMap<String,List<PurchaseOrderItem>> categorizeItemsForSplit(List<PurchaseOrderItem> items)
          Used to provide sublists of the list of the original PO's items according to whether they are marked to be moved or not.
 void completePurchaseOrder(PurchaseOrderDocument po)
          Performs the steps needed to complete the newly approved purchase order document, which consists of setting the current and pending indicators for the purchase order document and if the status is not pending transmission, then calls the attemptsSetupOfInitialOpenOfDocument to set the statuses, the initial open date and save the document.
 void completePurchaseOrderAmendment(PurchaseOrderDocument po)
           
 PurchaseOrderDocument createAndRoutePotentialChangeDocument(String documentNumber, String docType, String annotation, List adhocRoutingRecipients, String newDocumentStatusCode)
          Creates and routes the purchase order change document (for example, PurchaseOrderCloseDocument) based on an existing purchase order document.
 PurchaseOrderDocument createAndSavePotentialChangeDocument(String documentNumber, String docType, String newDocumentStatusCode)
          Creates and saves the purchase order change document (for example, PurchaseOrderAmendmentDocument) based on an existing purchase order document.
 PurchaseOrderSplitDocument createAndSavePurchaseOrderSplitDocument(List<PurchaseOrderItem> newPOItems, PurchaseOrderDocument currentDocument, boolean copyNotes, String splitNoteText)
          Creates and saves a Purchase Order Split document based on the old PO document, and the items from that PO that the new Split PO is to contain.
 void createAutomaticPurchaseOrderDocument(RequisitionDocument reqDocument)
          Creates an automatic purchase order document using the given requisition document
 PurchaseOrderDocument createPurchaseOrderDocument(RequisitionDocument reqDocument, String newSessionUserId, Integer contractManagerCode)
          Creates a PurchaseOrderDocument from given RequisitionDocument.
 PurchaseOrderDocument getCurrentPurchaseOrder(Integer id)
          Obtains the purchase order document whose current indicator is true, given a purchase order id which is the purapDocumentIdentifier.
 org.kuali.rice.kns.util.KualiDecimal getInternalPurchasingDollarLimit(PurchaseOrderDocument po)
          Obtains the internal purchasing dollar limit amount for a purchase order document.
 PurchaseOrderDocument getOldestPurchaseOrder(PurchaseOrderDocument po, PurchaseOrderDocument documentBusinessObject)
          Obtains the oldest purchase order given the purchase order object to be used to search, then calls the updateNotes method to set the notes on the oldest purchase order and finally return the oldest purchase order.
 List<PurchaseOrderDocument> getPendingPurchaseOrderFaxes()
          This method gets all the Purchase orders that are waiting for faxing
 PurchaseOrderDocument getPurchaseOrderByDocumentNumber(String documentNumber)
          Obtains the purchase order document given the document number.
 ArrayList<org.kuali.rice.kns.bo.Note> getPurchaseOrderNotes(Integer id)
          Obtains all the notes that belong to this purchase order given the purchase order id.
 ArrayList<PurchaseOrderQuoteStatus> getPurchaseOrderQuoteStatusCodes()
           
 boolean hasNewUnorderedItem(PurchaseOrderDocument po)
          Checks the item list for newly added unordered items.
 boolean isNewItemForAmendment(PurchaseOrderItem poItem)
          Determines if a purchase order item is newly added on the Purchase Order Amendment Document.
 boolean isNewUnorderedItem(PurchaseOrderItem poItem)
          Determines if a purchase order item is new unordered item.
 boolean isPurchaseOrderOpenForProcessing(Integer poId)
           
 boolean isPurchaseOrderOpenForProcessing(PurchaseOrderDocument purchaseOrderDocument)
           
 void performPrintPurchaseOrderPDFOnly(String documentNumber, ByteArrayOutputStream baosPDF)
          Generates and displays the purchase order pdf by invoking the generatePurchaseOrderPdf method of the PrintService.
 void performPurchaseOrderFirstTransmitViaPrinting(String documentNumber, ByteArrayOutputStream baosPDF)
          Creates and displays the pdf document for the purchase order, sets the transmit dates, calls the takeAllActionsForGivenCriteria method in PurApWorkflowIntegrationService to perform all the workflow related steps that are necessary as part of the document initial print transmission and then performs the setup of initial of open document of the purchase order.
 void performPurchaseOrderPreviewPrinting(String documentNumber, ByteArrayOutputStream baosPDF)
          Creates and displays the pdf document for the purchase order with a draft watermark
 PurchaseOrderVendorQuote populateQuoteWithVendor(Integer headerId, Integer detailId, String documentNumber)
          Creates a PurchaseOrderVendorQuote based on the data on the selected vendor and the document number.
 boolean printPurchaseOrderQuotePDF(PurchaseOrderDocument po, PurchaseOrderVendorQuote povq, ByteArrayOutputStream baosPDF)
           
 boolean printPurchaseOrderQuoteRequestsListPDF(String documentNumber, ByteArrayOutputStream baosPDF)
           
 void processACMReq(ContractManagerAssignmentDocument acmDoc)
          This method takes care of creating PurchaseOrderDocuments from a list of Requisitions on an ACM
 void retransmitB2BPurchaseOrder(PurchaseOrderDocument po)
           
 void retransmitPurchaseOrderPDF(PurchaseOrderDocument po, ByteArrayOutputStream baosPDF)
          Generates and displays the purchase order retransmit pdf by invoking the generatePurchaseOrderPdfForRetransmission method of the PrintService.
 List<PurchasingCapitalAssetItem> retrieveCapitalAssetItemsForIndividual(Integer poId)
          Return a list of PurchasingCapitalAssetItems where each item would have a CapitalAssetSystem.
 CapitalAssetSystem retrieveCapitalAssetSystemForOneSystem(Integer poId)
          Return a CapitalAssetSystem which provides the capital asset information such as asset numbers and asset type.
 List<CapitalAssetSystem> retrieveCapitalAssetSystemsForMultipleSystem(Integer poId)
          Return a list of CapitalAssetSystems which provide the capital asset information such as asset numbers and asset type.
 void setCurrentAndPendingIndicatorsForApprovedPODocuments(PurchaseOrderDocument newPO)
          Sets the current and pending indicators of the new purchase order and the old purchase order as well as its status, then save the purchase order.
 void setCurrentAndPendingIndicatorsForCancelledChangePODocuments(PurchaseOrderDocument newPO)
          Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.
 void setCurrentAndPendingIndicatorsForCancelledRemoveHoldPODocuments(PurchaseOrderDocument newPO)
          Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order
 void setCurrentAndPendingIndicatorsForCancelledReopenPODocuments(PurchaseOrderDocument newPO)
          Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.
 void setCurrentAndPendingIndicatorsForDisapprovedChangePODocuments(PurchaseOrderDocument newPO)
          Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.
 void setCurrentAndPendingIndicatorsForDisapprovedRemoveHoldPODocuments(PurchaseOrderDocument newPO)
          Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.
 void setCurrentAndPendingIndicatorsForDisapprovedReopenPODocuments(PurchaseOrderDocument newPO)
          Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.
 void setReceivingRequiredIndicatorForPurchaseOrder(PurchaseOrderDocument po)
          Performs a threshold check on the purchase order to determine if any attribute on the purchase order falls within a defined threshold.
 void updateVendorCommodityCode(PurchaseOrderDocument po)
          If there are commodity codes on the items on the PurchaseOrderDocument that haven't existed yet on the vendor that the PurchaseOrderDocument is using, then we will spawn a new VendorDetailMaintenanceDocument automatically to update the vendor with the commodity codes that aren't already existing on the vendor.
 VendorDetail updateVendorWithMissingCommodityCodesIfNecessary(PurchaseOrderDocument po)
          Check whether each of the items contain commodity code, if so then loop through the vendor commodity codes on the vendor to find out whether the commodity code on the item has existed on the vendor.
 
Methods inherited from interface org.kuali.kfs.module.purap.document.service.PurchasingDocumentSpecificService
createCamsItem, createCapitalAssetSystem
 

Method Detail

isPurchaseOrderOpenForProcessing

boolean isPurchaseOrderOpenForProcessing(Integer poId)

isPurchaseOrderOpenForProcessing

boolean isPurchaseOrderOpenForProcessing(PurchaseOrderDocument purchaseOrderDocument)

createAutomaticPurchaseOrderDocument

void createAutomaticPurchaseOrderDocument(RequisitionDocument reqDocument)
Creates an automatic purchase order document using the given requisition document

Parameters:
reqDocument - The requisition document that this method will use to create the Automated Purchase Order (APO).

createPurchaseOrderDocument

PurchaseOrderDocument createPurchaseOrderDocument(RequisitionDocument reqDocument,
                                                  String newSessionUserId,
                                                  Integer contractManagerCode)
Creates a PurchaseOrderDocument from given RequisitionDocument. Both documents need to be saved after this method is called.

Parameters:
reqDocument - The requisition document that this method will use to create the purchase order.
newSessionUserId - The session user id that we'll use to invoke the performLogicWithFakedUserSession method of PurapService.
contractManagerCode - The contract manager code that we'll need to set on the purchase order.
Returns:
The purchase order document object that is created by this method.

createAndSavePotentialChangeDocument

PurchaseOrderDocument createAndSavePotentialChangeDocument(String documentNumber,
                                                           String docType,
                                                           String newDocumentStatusCode)
Creates and saves the purchase order change document (for example, PurchaseOrderAmendmentDocument) based on an existing purchase order document.

Parameters:
documentNumber - The document number of the existing purchase order document from which we try to create a new change document.
docType - The document type of the new change document.
newDocumentStatusCode - The status code that we want to set on the existing purchase order document after the new change document is created.
Returns:
The resulting new purchase order change document created by this method.

createAndRoutePotentialChangeDocument

PurchaseOrderDocument createAndRoutePotentialChangeDocument(String documentNumber,
                                                            String docType,
                                                            String annotation,
                                                            List adhocRoutingRecipients,
                                                            String newDocumentStatusCode)
Creates and routes the purchase order change document (for example, PurchaseOrderCloseDocument) based on an existing purchase order document.

Parameters:
-
documentNumber - The document number of the existing purchase order document from which we try to create a new change document.
docType - The document type of the new change document.
annotation - The annotation that we'll use to invoke the routeDocument method of DocumentService.
adhocRoutingRecipients - The adhocRoutingRecipients that we'll use to invoke the routeDocument method of DocumentService.
newDocumentStatusCode - The status code that we want to set on the existing purchase order document after the new change document is created.
Returns:
The resulting new purchase order change document created by this method.

createAndSavePurchaseOrderSplitDocument

PurchaseOrderSplitDocument createAndSavePurchaseOrderSplitDocument(List<PurchaseOrderItem> newPOItems,
                                                                   PurchaseOrderDocument currentDocument,
                                                                   boolean copyNotes,
                                                                   String splitNoteText)
Creates and saves a Purchase Order Split document based on the old PO document, and the items from that PO that the new Split PO is to contain.

Parameters:
newPOItems - The List of the items that the new Split PO is to contain
currentDocument - The original PurchaseOrderDocument
copyNotes - A boolean. True if notes are to be copied from the old document to the new.
splitNoteText - A String containing the text of the note to be added to the old document.
Returns:
A PurchaseOrderSplitDocument containing the given list of items

getInternalPurchasingDollarLimit

org.kuali.rice.kns.util.KualiDecimal getInternalPurchasingDollarLimit(PurchaseOrderDocument po)
Obtains the internal purchasing dollar limit amount for a purchase order document.

Parameters:
po - The purchase order document for which this method is obtaining the internal purchasing dollar limit.
Returns:
The internal purchasing dollar limit for the given purchase order document.

printPurchaseOrderQuoteRequestsListPDF

boolean printPurchaseOrderQuoteRequestsListPDF(String documentNumber,
                                               ByteArrayOutputStream baosPDF)

printPurchaseOrderQuotePDF

boolean printPurchaseOrderQuotePDF(PurchaseOrderDocument po,
                                   PurchaseOrderVendorQuote povq,
                                   ByteArrayOutputStream baosPDF)

performPurchaseOrderFirstTransmitViaPrinting

void performPurchaseOrderFirstTransmitViaPrinting(String documentNumber,
                                                  ByteArrayOutputStream baosPDF)
Creates and displays the pdf document for the purchase order, sets the transmit dates, calls the takeAllActionsForGivenCriteria method in PurApWorkflowIntegrationService to perform all the workflow related steps that are necessary as part of the document initial print transmission and then performs the setup of initial of open document of the purchase order.

Parameters:
documentNumber - The document number of the purchase order document that we want to perform the first transmit.
baosPDF - The ByteArrayOutputStream object that was passed in from the struts action so that we could display the pdf on the browser.

performPurchaseOrderPreviewPrinting

void performPurchaseOrderPreviewPrinting(String documentNumber,
                                         ByteArrayOutputStream baosPDF)
Creates and displays the pdf document for the purchase order with a draft watermark

Parameters:
documentNumber - The document number of the purchase order document that we want to perform the first transmit.
baosPDF - The ByteArrayOutputStream object that was passed in from the struts action so that we could display the pdf on the browser.

performPrintPurchaseOrderPDFOnly

void performPrintPurchaseOrderPDFOnly(String documentNumber,
                                      ByteArrayOutputStream baosPDF)
Generates and displays the purchase order pdf by invoking the generatePurchaseOrderPdf method of the PrintService.

Parameters:
documentNumber - The document number of the purchase order document that we want to print the pdf.
baosPDF - The ByteArrayOutputStream object that we'll use to display the pdf on the browser.

retransmitPurchaseOrderPDF

void retransmitPurchaseOrderPDF(PurchaseOrderDocument po,
                                ByteArrayOutputStream baosPDF)
Generates and displays the purchase order retransmit pdf by invoking the generatePurchaseOrderPdfForRetransmission method of the PrintService.

Parameters:
po - The purchase order document to be retransmitted.
baosPDF - The ByteArrayOutputStream object that we'll use to display the pdf on the browser.

completePurchaseOrder

void completePurchaseOrder(PurchaseOrderDocument po)
Performs the steps needed to complete the newly approved purchase order document, which consists of setting the current and pending indicators for the purchase order document and if the status is not pending transmission, then calls the attemptsSetupOfInitialOpenOfDocument to set the statuses, the initial open date and save the document.

Parameters:
po - The newly approved purchase order document that we want to complete.

retransmitB2BPurchaseOrder

void retransmitB2BPurchaseOrder(PurchaseOrderDocument po)

completePurchaseOrderAmendment

void completePurchaseOrderAmendment(PurchaseOrderDocument po)

getCurrentPurchaseOrder

PurchaseOrderDocument getCurrentPurchaseOrder(Integer id)
Obtains the purchase order document whose current indicator is true, given a purchase order id which is the purapDocumentIdentifier.

Parameters:
id - The po id (purapDocumentIdentifier) that we'll use to retrieve the current purchase order document.
Returns:
The current purchase order document (the po whose current indicator is true).

getPurchaseOrderByDocumentNumber

PurchaseOrderDocument getPurchaseOrderByDocumentNumber(String documentNumber)
Obtains the purchase order document given the document number.

Parameters:
documentNumber - The document number of the purchase order that we want to retrieve.
Returns:
The purchase order document whose document number is the given document number.

setCurrentAndPendingIndicatorsForApprovedPODocuments

void setCurrentAndPendingIndicatorsForApprovedPODocuments(PurchaseOrderDocument newPO)
Sets the current and pending indicators of the new purchase order and the old purchase order as well as its status, then save the purchase order.

Parameters:
newPO - The new purchase order document that has been approved.

setCurrentAndPendingIndicatorsForDisapprovedChangePODocuments

void setCurrentAndPendingIndicatorsForDisapprovedChangePODocuments(PurchaseOrderDocument newPO)
Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.

Parameters:
newPO - The new purchase order document that has been disapproved.

setCurrentAndPendingIndicatorsForCancelledChangePODocuments

void setCurrentAndPendingIndicatorsForCancelledChangePODocuments(PurchaseOrderDocument newPO)
Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.

Parameters:
newPO - The new purchase order document that has been canceled.

setCurrentAndPendingIndicatorsForCancelledReopenPODocuments

void setCurrentAndPendingIndicatorsForCancelledReopenPODocuments(PurchaseOrderDocument newPO)
Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.

Parameters:
newPO - The new purchase order reopen document that has been canceled.

setCurrentAndPendingIndicatorsForDisapprovedReopenPODocuments

void setCurrentAndPendingIndicatorsForDisapprovedReopenPODocuments(PurchaseOrderDocument newPO)
Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.

Parameters:
newPO - The new purchase order reopen document that has been disapproved.

setCurrentAndPendingIndicatorsForCancelledRemoveHoldPODocuments

void setCurrentAndPendingIndicatorsForCancelledRemoveHoldPODocuments(PurchaseOrderDocument newPO)
Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order

Parameters:
newPO - The new purchase order remove hold document that has been canceled.

setCurrentAndPendingIndicatorsForDisapprovedRemoveHoldPODocuments

void setCurrentAndPendingIndicatorsForDisapprovedRemoveHoldPODocuments(PurchaseOrderDocument newPO)
Sets the current and pending indicators of the new purchase order and the old purchase order as well as their statuses, then save the purchase order.

Parameters:
newPO - The new purchase order remove hold document that has been disapproved.

getOldestPurchaseOrder

PurchaseOrderDocument getOldestPurchaseOrder(PurchaseOrderDocument po,
                                             PurchaseOrderDocument documentBusinessObject)
Obtains the oldest purchase order given the purchase order object to be used to search, then calls the updateNotes method to set the notes on the oldest purchase order and finally return the oldest purchase order.

Parameters:
po - The current purchase order object from which we want to obtain the oldest purchase order.
documentBusinessObject - The documentBusinessObject of the current purchase order object.
Returns:
The oldest purchase order whose purchase order id is the same as the current purchase order's id.

getPurchaseOrderNotes

ArrayList<org.kuali.rice.kns.bo.Note> getPurchaseOrderNotes(Integer id)
Obtains all the notes that belong to this purchase order given the purchase order id.

Parameters:
id - The purchase order id (purapDocumentIdentifier).
Returns:
The list of notes that belong to this purchase order.

getPurchaseOrderQuoteStatusCodes

ArrayList<PurchaseOrderQuoteStatus> getPurchaseOrderQuoteStatusCodes()

setReceivingRequiredIndicatorForPurchaseOrder

void setReceivingRequiredIndicatorForPurchaseOrder(PurchaseOrderDocument po)
Performs a threshold check on the purchase order to determine if any attribute on the purchase order falls within a defined threshold. This check is only perfromed if the receiving required flag is set to N.

Parameters:
po -

updateVendorCommodityCode

void updateVendorCommodityCode(PurchaseOrderDocument po)
If there are commodity codes on the items on the PurchaseOrderDocument that haven't existed yet on the vendor that the PurchaseOrderDocument is using, then we will spawn a new VendorDetailMaintenanceDocument automatically to update the vendor with the commodity codes that aren't already existing on the vendor.

Parameters:
po - The PurchaseOrderDocument containing the vendor that we want to update.

hasNewUnorderedItem

boolean hasNewUnorderedItem(PurchaseOrderDocument po)
Checks the item list for newly added unordered items.

Parameters:
po -
Returns:

updateVendorWithMissingCommodityCodesIfNecessary

VendorDetail updateVendorWithMissingCommodityCodesIfNecessary(PurchaseOrderDocument po)
Check whether each of the items contain commodity code, if so then loop through the vendor commodity codes on the vendor to find out whether the commodity code on the item has existed on the vendor. While doing that, also check whether there exists a default commodity code on the vendor, although we only need to check this until we find a vendor commodity code with default indicator set to true. If we didn't find any matching commodity code in the existing vendor commodity codes, then add the new commodity code to a List of commodity code, create a new vendor commodity code and set all of its attributes appropriately, including setting the default indicator to true if we had not found any existing default commodity code on the vendor, then add the newly created vendor commodity code to the vendor (which is a deep copy of the original vendor on the PO). After we're done with all of the items, if the List that contains the commodity code that were being added to the vendor is not empty, then for each entry on that list, we should create an empty VendorCommodityCode to be added to the old vendor (the original vendor that is on the PO document). The reason we're combining all of these processing here is so that we don't need to loop through items and vendor commodity codes too many times.

Parameters:
po - The PurchaseOrderDocument containing the vendor that we want to update.
Returns:
VendorDetail the vendorDetail object which is a deep copy of the original vendorDetail on the PurchaseOrderDocument, whose commodity codes have already been updated based on our findings on the items' commodity codes.

isNewUnorderedItem

boolean isNewUnorderedItem(PurchaseOrderItem poItem)
Determines if a purchase order item is new unordered item.

Parameters:
poItem -
Returns:

isNewItemForAmendment

boolean isNewItemForAmendment(PurchaseOrderItem poItem)
Determines if a purchase order item is newly added on the Purchase Order Amendment Document.

Parameters:
poItem -
Returns:

categorizeItemsForSplit

HashMap<String,List<PurchaseOrderItem>> categorizeItemsForSplit(List<PurchaseOrderItem> items)
Used to provide sublists of the list of the original PO's items according to whether they are marked to be moved or not. Retrieving the item from the hash with the key of 'movingPOItems' will retrieve those Items which should move, using 'remainingPOItems'.

Parameters:
items - A List from the original PO of a Split.
Returns:
A HashMap> of categorized lists of items

populateQuoteWithVendor

PurchaseOrderVendorQuote populateQuoteWithVendor(Integer headerId,
                                                 Integer detailId,
                                                 String documentNumber)
Creates a PurchaseOrderVendorQuote based on the data on the selected vendor and the document number.

Parameters:
headerId - The vendorHeaderGeneratedIdentifier of the selected vendor.
detailId - The vendorDetailAssignedIdentifier of the selected vendor.
documentNumber - The documentNumber of the PurchaseOrderDocument containing this quote.
Returns:
The resulting PurchaseOrderVendorQuote object.

processACMReq

void processACMReq(ContractManagerAssignmentDocument acmDoc)
This method takes care of creating PurchaseOrderDocuments from a list of Requisitions on an ACM

Parameters:
acmDoc - An assign a contract manager document

autoCloseFullyDisencumberedOrders

boolean autoCloseFullyDisencumberedOrders()
This gets a list of Purchase Orders in Open status and checks to see if their line item encumbrances are all fully disencumbered and if so then the Purchase Order is closed and notes added to indicate the change occurred in batch

Returns:
boolean true if the job is completed successfully and false otherwise.

autoCloseRecurringOrders

boolean autoCloseRecurringOrders()
- PO status is OPEN - Recurring payment type code is not null - Vendor Choice is not Sub-Contract - PO End Date <= parm date (comes from system parameter) - Verify that the system parameter date entered is not greater than the current date minus three months. If the date entered is invalid, the batch process will halt and an error will be generated. - Close and disencumber all recurring PO's that have end dates less than the system parameter date. - Set the system parameter date to mm/dd/yyyy after processing. - Send email indicating that the job ran and which orders were closed. Mail it to the AUTO_CLOSE_RECURRING_PO_EMAIL_ADDRESSES in system parameter.

Returns:
boolean true if the job is completed successfully and false otherwise.

retrieveCapitalAssetItemsForIndividual

List<PurchasingCapitalAssetItem> retrieveCapitalAssetItemsForIndividual(Integer poId)
Return a list of PurchasingCapitalAssetItems where each item would have a CapitalAssetSystem. The CapitalAssetSystem provides the capital asset information such as asset numbers and asset type.

Parameters:
poId - Purchase Order ID used to retrieve the asset information for the current PO
Returns:
List of PurchasingCapitalAssetItems (each of which contain a CapitalAssetSystem)

retrieveCapitalAssetSystemForOneSystem

CapitalAssetSystem retrieveCapitalAssetSystemForOneSystem(Integer poId)
Return a CapitalAssetSystem which provides the capital asset information such as asset numbers and asset type.

Parameters:
poId - Purchase Order ID used to retrieve the asset information for the current PO
Returns:
CapitalAssetSystem

retrieveCapitalAssetSystemsForMultipleSystem

List<CapitalAssetSystem> retrieveCapitalAssetSystemsForMultipleSystem(Integer poId)
Return a list of CapitalAssetSystems which provide the capital asset information such as asset numbers and asset type.

Parameters:
poId - Purchase Order ID used to retrieve the asset information for the current PO
Returns:
List of CapitalAssetSystems

getPendingPurchaseOrderFaxes

List<PurchaseOrderDocument> getPendingPurchaseOrderFaxes()
This method gets all the Purchase orders that are waiting for faxing

Returns:
List of POs

canAmendPurchaseOrder

boolean canAmendPurchaseOrder(PurchaseOrderDocument purchaseOrder)
Determines whether to display the amend button for the purchase order document. The document status must be open, the purchase order must be current and not pending and the user must be in purchasing group. These are the conditions for displaying the payment hold button. In addition to these conditions, we also have to check that there is no In Process Payment Requests nor Credit Memos associated with the PO.

Returns:
boolean true if the amendment possible for the purchase order.

canHoldPayment

boolean canHoldPayment(PurchaseOrderDocument purchaseOrder)
Determines whether to display the amend and payment hold buttons for the purchase order document. The document status must be open, the purchase order must be current and not pending and the user must be in purchasing group.

Returns:
boolean true if the payment hold is possible for the purchase order document.


Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.