001: /*
002: * Copyright 2006 The Kuali Foundation.
003: *
004: * Licensed under the Educational Community License, Version 1.0 (the "License");
005: * you may not use this file except in compliance with the License.
006: * You may obtain a copy of the License at
007: *
008: * http://www.opensource.org/licenses/ecl1.php
009: *
010: * Unless required by applicable law or agreed to in writing, software
011: * distributed under the License is distributed on an "AS IS" BASIS,
012: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013: * See the License for the specific language governing permissions and
014: * limitations under the License.
015: */
016: package org.kuali.module.gl.dao;
017:
018: import java.util.List;
019:
020: import org.kuali.core.util.KualiDecimal;
021:
022: /**
023: * 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?"
024: * Therefore, this DAO is to find year end balance totals, as far as I can tell
025: */
026: public interface SufficientFundsDao {
027: /**
028: * Calculate the Prior Fiscal Year Budget total
029: *
030: * @param universityFiscalYear the university fiscal year of sufficient funds balances that will be summarized
031: * @param chartOfAccountCode the chart of accounts code of sufficient fund balance records that will be summarized
032: * @param accountNumber the account number of sufficient fund balances that will be summarized
033: * @return the sum of the prior fiscal year budget
034: */
035: public KualiDecimal calculateM113PfyrBudget(
036: Integer universityFiscalYear, String chartOfAccountsCode,
037: String accountNumber);
038:
039: /**
040: * Calculate the prior fiscal year encumbrnace total
041: *
042: *
043: * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
044: * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
045: * @param accountNumber the account number of sufficient fund balances to summarize
046: * @return the prior fiscal year encumbrance total
047: */
048: public KualiDecimal calculateM113PfyrEncum(
049: Integer universityFiscalYear, String chartOfAccountsCode,
050: String accountNumber);
051:
052: /**
053: * Calculate the prior fiscal year pending actual amount
054: *
055: * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
056: * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
057: * @param accountNumber the account number of sufficient fund balances to summarize
058: * @param specialFinancialObjectCodes include only these financial object codes
059: * @param financialObjectCodeForCashInBank the object code for cash in the bank
060: * @return the prior fiscal year pending actual amount
061: */
062: public KualiDecimal calculateM113PendActual(
063: boolean financialBeginBalanceLoadInd,
064: Integer universityFiscalYear, String chartOfAccountsCode,
065: String accountNumber, List specialFinancialObjectCodes,
066: String financialObjectCodeForCashInBank);
067:
068: /**
069: * Calculates the current pending actual
070: *
071: * @param isYearEndDocument should year end documents be included?
072: * @param actualFinancialBalanceTypeCd the actual balance type code
073: * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
074: * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
075: * @param accountNumber the account number of sufficient fund balances to summarize
076: * @param acctSufficientFundsFinObjCd the object code for sufficient funds
077: * @param expenditureCodes object codes that represent expenditures
078: * @return the current pending actual total
079: */
080: public KualiDecimal calculatePendActual(boolean isYearEndDocument,
081: String actualFinancialBalanceTypeCd,
082: Integer universityFiscalYear, String chartOfAccountsCode,
083: String accountNumber, String acctSufficientFundsFinObjCd,
084: List expenditureCodes);
085:
086: /**
087: * calculates the current year pending budget total
088: *
089: * @param isYearEndDocument should year end documents be included?
090: * @param budgetCheckingBalanceTypeCd the budget balance type code
091: * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
092: * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
093: * @param accountNumber the account number of sufficient fund balances to summarize
094: * @param acctSufficientFundsFinObjCd the object code for sufficient funds
095: * @param expenditureCodes object codes that represent expenditures
096: * @return calculates the current year pending budget total
097: */
098: public KualiDecimal calculatePendBudget(boolean isYearEndDocument,
099: String budgetCheckingBalanceTypeCd,
100: Integer universityFiscalYear, String chartOfAccountsCode,
101: String accountNumber, String acctSufficientFundsFinObjCd,
102: List expenditureCodes);
103:
104: /**
105: * Calculates the current year pending encumbrance total
106: *
107: * @param isYearEndDocument should year end documents be included?
108: * @param extrnlEncumFinBalanceTypCd the external encumbrance balance type
109: * @param intrnlEncumFinBalanceTypCd the internal encumbrance balance type
110: * @param preencumbranceFinBalTypeCd the pre-encumbrance balance type
111: * @param universityFiscalYear the university fiscal year of sufficient funds balances to summarize
112: * @param chartOfAccountsCode the chart of accounts code of sufficient funds balances to summarize
113: * @param accountNumber the account number of sufficient fund balances to summarize
114: * @param acctSufficientFundsFinObjCd the object code for sufficient funds
115: * @param expenditureCodes object codes that represent expenditures
116: * @return the current year pending encumbrance total
117: */
118: public KualiDecimal calculatePendEncum(boolean isYearEndDocument,
119: String extrnlEncumFinBalanceTypCd,
120: String intrnlEncumFinBalanceTypCd,
121: String preencumbranceFinBalTypeCd,
122: Integer universityFiscalYear, String chartOfAccountsCode,
123: String accountNumber, String acctSufficientFundsFinObjCd,
124: List expenditureCodes);
125:
126: /**
127: * Purge table by year/chart
128: *
129: * @param chart the chart of sufficient fund records to purge
130: * @param year the year of sufficient fund records to purge
131: */
132: public void purgeYearByChart(String chart, int year);
133: }
|