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.gl.batch.dataaccess;
17  
18  import java.util.List;
19  
20  import org.kuali.rice.core.api.util.type.KualiDecimal;
21  
22  /**
23   * A DAO interface.  This one seems to refer to an old FIS issue, M113, which was: "On account sufficient funds checking, what needs to be done between beginning of fiscal year and loading of beginning balances?"
24   * Therefore, this DAO is to find year end balance totals, as far as I can tell
25   */
26  public interface SufficientFundsDao {
27      /**
28       * Calculate the Prior Fiscal Year Budget total
29       * 
30       * @param universityFiscalYear the university fiscal year of sufficient funds balances that will be summarized
31       * @param chartOfAccountCode the chart of accounts code of sufficient fund balance records that will be summarized
32       * @param accountNumber the account number of sufficient fund balances that will be summarized
33       * @return the sum of the prior fiscal year budget
34       */
35      public KualiDecimal calculateM113PfyrBudget(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber);
36  
37      /**
38       * Calculate the prior fiscal year encumbrnace total
39       * 
40       * 
41       * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
42       * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
43       * @param accountNumber the account number of sufficient fund balances to summarize
44       * @return the prior fiscal year encumbrance total
45       */
46      public KualiDecimal calculateM113PfyrEncum(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber);
47  
48      /**
49       * Calculate the prior fiscal year pending actual amount
50       * 
51       * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
52       * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
53       * @param accountNumber the account number of sufficient fund balances to summarize
54       * @param specialFinancialObjectCodes include only these financial object codes
55       * @param financialObjectCodeForCashInBank the object code for cash in the bank
56       * @return the prior fiscal year pending actual amount
57       */
58      public KualiDecimal calculateM113PendActual(boolean financialBeginBalanceLoadInd, Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, List specialFinancialObjectCodes, String financialObjectCodeForCashInBank);
59  
60      /**
61       * Calculates the current pending actual
62       * 
63       * @param isYearEndDocument should year end documents be included?
64       * @param actualFinancialBalanceTypeCd the actual balance type code
65       * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
66       * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
67       * @param accountNumber the account number of sufficient fund balances to summarize
68       * @param acctSufficientFundsFinObjCd the object code for sufficient funds
69       * @param expenditureCodes object codes that represent expenditures
70       * @return the current pending actual total
71       */
72      public KualiDecimal calculatePendActual(boolean isYearEndDocument, String actualFinancialBalanceTypeCd, Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, String acctSufficientFundsFinObjCd, List expenditureCodes);
73  
74      /**
75       * calculates the current year pending budget total
76       * 
77       * @param isYearEndDocument should year end documents be included?
78       * @param budgetCheckingBalanceTypeCd the budget balance type code
79       * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
80       * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
81       * @param accountNumber the account number of sufficient fund balances to summarize
82       * @param acctSufficientFundsFinObjCd the object code for sufficient funds
83       * @param expenditureCodes object codes that represent expenditures
84       * @return calculates the current year pending budget total
85       */
86      public KualiDecimal calculatePendBudget(boolean isYearEndDocument, String budgetCheckingBalanceTypeCd, Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, String acctSufficientFundsFinObjCd, List expenditureCodes);
87  
88      /**
89       * Calculates the current year pending encumbrance total
90       * 
91       * @param isYearEndDocument should year end documents be included?
92       * @param extrnlEncumFinBalanceTypCd the external encumbrance balance type
93       * @param intrnlEncumFinBalanceTypCd the internal encumbrance balance type
94       * @param preencumbranceFinBalTypeCd the pre-encumbrance balance type
95       * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
96       * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
97       * @param accountNumber the account number of sufficient fund balances to summarize
98       * @param acctSufficientFundsFinObjCd the object code for sufficient funds
99       * @param expenditureCodes object codes that represent expenditures
100      * @return the current year pending encumbrance total
101      */
102     public KualiDecimal calculatePendEncum(boolean isYearEndDocument, String extrnlEncumFinBalanceTypCd, String intrnlEncumFinBalanceTypCd, String preencumbranceFinBalTypeCd, Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, String acctSufficientFundsFinObjCd, List expenditureCodes);
103 
104     /**
105      * Purge table by year/chart
106      * 
107      * @param chart the chart of sufficient fund records to purge
108      * @param year the year of sufficient fund records to purge
109      */
110     public void purgeYearByChart(String chart, int year);
111 }