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 }