View Javadoc
1   /*
2    * Copyright 2006 The Kuali Foundation
3    * 
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    * http://www.opensource.org/licenses/ecl2.php
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.ole.module.purap.document;
17  
18  import org.kuali.ole.module.purap.businessobject.AccountsPayableItem;
19  import org.kuali.ole.module.purap.businessobject.PurApItemUseTax;
20  import org.kuali.ole.module.purap.businessobject.PurchaseOrderItem;
21  import org.kuali.ole.module.purap.document.service.AccountsPayableDocumentSpecificService;
22  import org.kuali.ole.sys.businessobject.GeneralLedgerPendingEntrySequenceHelper;
23  import org.kuali.ole.sys.businessobject.GeneralLedgerPendingEntrySourceDetail;
24  import org.kuali.ole.vnd.businessobject.CampusParameter;
25  import org.kuali.rice.core.api.util.type.KualiDecimal;
26  
27  import java.sql.Timestamp;
28  
29  /**
30   * Accounts Payable Document Interface
31   */
32  public interface AccountsPayableDocument extends PurchasingAccountsPayableDocument {
33  
34      public Integer getPurchaseOrderIdentifier();
35  
36      public void setPurchaseOrderIdentifier(Integer purchaseOrderIdentifier);
37  
38      public String getAccountsPayableProcessorIdentifier();
39  
40      public void setAccountsPayableProcessorIdentifier(String accountsPayableProcessorIdentifier);
41  
42      public String getLastActionPerformedByPersonId();
43  
44      public void setLastActionPerformedByPersonId(String lastActionPerformedByPersonId);
45  
46      public String getProcessingCampusCode();
47  
48      public void setProcessingCampusCode(String processingCampusCode);
49  
50      public Timestamp getAccountsPayableApprovalTimestamp();
51  
52      public void setAccountsPayableApprovalTimestamp(Timestamp accountsPayableApprovalTimestamp);
53  
54      public Timestamp getExtractedTimestamp();
55  
56      public void setExtractedTimestamp(Timestamp extractedTimestamp);
57  
58      public boolean isHoldIndicator();
59  
60      public void setHoldIndicator(boolean holdIndicator);
61  
62      public String getNoteLine1Text();
63  
64      public void setNoteLine1Text(String noteLine1Text);
65  
66      public String getNoteLine2Text();
67  
68      public void setNoteLine2Text(String noteLine2Text);
69  
70      public String getNoteLine3Text();
71  
72      public void setNoteLine3Text(String noteLine3Text);
73  
74      public CampusParameter getProcessingCampus();
75  
76      public PurchaseOrderDocument getPurchaseOrderDocument();
77  
78      public void setPurchaseOrderDocument(PurchaseOrderDocument purchaseOrderDocument);
79  
80      /**
81       * Determines if review route node is required.
82       *
83       * @return - true if review is required, false otherwise.
84       */
85      public boolean requiresAccountsPayableReviewRouting();
86  
87      /**
88       * Determines if approval is an option during review.
89       *
90       * @return - true if approval is available during review, false otherwise.
91       */
92      public boolean approvalAtAccountsPayableReviewAllowed();
93  
94      public boolean isUnmatchedOverride();
95  
96      public void setUnmatchedOverride(boolean unmatchedOverride);
97  
98      /**
99       * Retrieves grand total amount for document.
100      *
101      * @return - grand total
102      */
103     public KualiDecimal getGrandTotal();
104 
105     /**
106      * This method returns the amount of tax to remit to the vendor
107      *
108      * @return total of document tax to remit to the vendor null if none
109      */
110     public KualiDecimal getTotalRemitTax();
111 
112     /**
113      * Returns the amount entered on the initial screen.
114      *
115      * @return - amount entered by user on initial screen
116      */
117     public KualiDecimal getInitialAmount();
118 
119     public boolean isContinuationAccountIndicator();
120 
121     public void setContinuationAccountIndicator(boolean continuationAccountIndicator);
122 
123     /**
124      * Determines if document has been extracted.
125      *
126      * @return - true if document has been extracted, false otherwise.
127      */
128     public boolean isExtracted();
129 
130     public AccountsPayableItem getAPItemFromPOItem(PurchaseOrderItem poi);
131 
132     public abstract AccountsPayableDocumentSpecificService getDocumentSpecificService();
133 
134     public abstract boolean generateGeneralLedgerPendingEntries(GeneralLedgerPendingEntrySourceDetail glpeSourceDetail, GeneralLedgerPendingEntrySequenceHelper sequenceHelper, PurApItemUseTax offsetUseTax);
135 
136 }
137