View Javadoc
1   /*
2    * Copyright 2008 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.service;
17  
18  import org.kuali.ole.module.purap.businessobject.CreditMemoItem;
19  import org.kuali.ole.module.purap.businessobject.InvoiceItem;
20  import org.kuali.ole.module.purap.businessobject.PaymentRequestItem;
21  
22  import java.util.List;
23  
24  public interface PurapAccountRevisionService {
25      /**
26       * This method will identify the changes happened to existing payment request accounting lines and update the account change
27       * history table. If new lines are added, then new account history lines are added too.
28       *
29       * @param paymentRequestItems Items from payment request document
30       * @param postingYear         Posting year
31       * @param postingPeriodCode   Posting period code
32       */
33      void savePaymentRequestAccountRevisions(List<PaymentRequestItem> paymentRequestItems, Integer postingYear, String postingPeriodCode);
34  
35      /**
36       * This method will identify the changes happened to existing payment request accounting lines and update the account change
37       * history table. If new lines are added, then new account history lines are added too.
38       *
39       * @param invoiceItems      Items from payment request document
40       * @param postingYear       Posting year
41       * @param postingPeriodCode Posting period code
42       */
43      void saveInvoiceAccountRevisions(List<InvoiceItem> invoiceItems, Integer postingYear, String postingPeriodCode);
44  
45      /**
46       * This method will identify the changes happened to existing credit memo accounting lines and update the account change history
47       * table. If new lines are added, then new account history lines are added too.
48       *
49       * @param paymentRequestItems Items from payment request document
50       * @param postingYear         Posting year
51       * @param postingPeriodCode   Posting period code
52       */
53      void saveCreditMemoAccountRevisions(List<CreditMemoItem> creditMemoItems, Integer postingYear, String postingPeriodCode);
54  
55      /**
56       * This method will negate all existing payment request account line revisions
57       *
58       * @param paymentRequestItems Items from payment request document
59       * @param postingYear         Posting year
60       * @param postingPeriodCode   Posting period code
61       */
62      void cancelPaymentRequestAccountRevisions(List<PaymentRequestItem> paymentRequestItems, Integer postingYear, String postingPeriodCode);
63  
64      /**
65       * This method will negate all existing payment request account line revisions
66       *
67       * @param invoiceItems      Items from payment request document
68       * @param postingYear       Posting year
69       * @param postingPeriodCode Posting period code
70       */
71      void cancelInvoiceAccountRevisions(List<InvoiceItem> invoiceItems, Integer postingYear, String postingPeriodCode);
72  
73  
74      /**
75       * This method will negate all existing credit memo account revision lines
76       *
77       * @param paymentRequestItems Items from payment request document
78       * @param postingYear         Posting year
79       * @param postingPeriodCode   Posting period code
80       */
81      void cancelCreditMemoAccountRevisions(List<CreditMemoItem> creditMemoItems, Integer postingYear, String postingPeriodCode);
82  }