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 }