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.cab.document.service;
017
018 import java.util.List;
019
020 import org.kuali.kfs.module.cab.businessobject.PurchasingAccountsPayableDocument;
021 import org.kuali.kfs.module.cab.businessobject.PurchasingAccountsPayableItemAsset;
022 import org.kuali.kfs.module.cab.document.web.struts.PurApLineForm;
023 import org.kuali.kfs.module.purap.businessobject.PurApItem;
024 import org.kuali.kfs.module.purap.document.PurchaseOrderDocument;
025
026
027 /**
028 * This class declares methods used by CAB PurAp Line process
029 */
030 public interface PurApInfoService {
031 /**
032 * Valid asset number means asset number must exist in Asset table with status active ( a, c, s, u)
033 *
034 * @param poId
035 * @param capitalAssetSystemTypeCode
036 * @param purApItem
037 * @return
038 */
039 List<Long> retrieveValidAssetNumberForLocking(Integer poId, String capitalAssetSystemTypeCode, PurApItem purApItem);
040
041 /**
042 * Get the workflow document number for given poId
043 *
044 * @param poId
045 * @return
046 */
047 PurchaseOrderDocument getCurrentDocumentForPurchaseOrderIdentifier(Integer poId);
048
049 /**
050 * Set Purchasing order email address and contact phone from PurAp.
051 *
052 * @param purApLineForm form
053 */
054 void setPurchaseOrderFromPurAp(PurApLineForm purApLineForm);
055
056 /**
057 * Set CAMS transaction type code the user entered in PurAp
058 *
059 * @param poId
060 */
061 void setCamsTransactionFromPurAp(List<PurchasingAccountsPayableDocument> purApDocs);
062
063 /**
064 * Set CAB line item information from PurAp PaymentRequestItem or CreditMemoItem.
065 *
066 * @param purchasingAccountsPayableItemAsset
067 * @param docTypeCode
068 */
069 void setAccountsPayableItemsFromPurAp(PurchasingAccountsPayableItemAsset purchasingAccountsPayableItemAsset, String docTypeCode);
070
071 }