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.service; 017 018 import org.kuali.kfs.module.purap.businessobject.PurchaseOrderItem; 019 import org.kuali.kfs.module.purap.document.AccountsPayableDocument; 020 import org.kuali.rice.kim.bo.Person; 021 022 /** 023 * This interface is a non spring managed interface that is implemented by both PaymentRequestService and CreditMemoService 024 */ 025 public interface AccountsPayableDocumentSpecificService { 026 027 public boolean shouldPurchaseOrderBeReversed(AccountsPayableDocument apDoc); 028 029 public void takePurchaseOrderCancelAction(AccountsPayableDocument apDoc); 030 031 public Person getPersonForCancel(AccountsPayableDocument apDoc); 032 033 public String updateStatusByNode(String currentNodeName, AccountsPayableDocument apDoc); 034 035 public boolean poItemEligibleForAp(AccountsPayableDocument apDoc, PurchaseOrderItem poi); 036 037 /** 038 * Generates the general ledger entries that need to be created by an AccountsPayableDocument 039 * of the specific type of the given AP document. 040 * 041 * @param apDoc An AccountsPayableDocument 042 */ 043 public void generateGLEntriesCreateAccountsPayableDocument(AccountsPayableDocument apDoc); 044 } 045