001: /*
002: * Copyright 2006-2007 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.batch.closing.year.service;
017:
018: import java.util.Map;
019:
020: import org.kuali.module.gl.batch.closing.year.service.impl.helper.BalanceForwardRuleHelper;
021: import org.kuali.module.gl.bo.OriginEntryGroup;
022:
023: /**
024: * An interface declaring the methods that steps running year end services would need to use to close out activity of an ending
025: * fiscal year (though, note: OrganizationReversion, the other year end job, is not defined here).
026: */
027: public interface YearEndService {
028:
029: /**
030: * The method responsible for creating origin entries that will forward qualifying encumbrances into the next fiscal year.
031: *
032: * @param originEntryGroup the origin entry group where generated origin entries should be saved
033: * @param jobParameters the parameters necessary to run this job: the fiscal year to close and the university date the job was
034: * run
035: * @param forwardEncumbrancesCounts the statistical counts generated by this job
036: */
037: public void forwardEncumbrances(OriginEntryGroup originEntryGroup,
038: Map jobParameters,
039: Map<String, Integer> forwardEncumbrancesCounts);
040:
041: /**
042: * This method generates the report for the forward encumbrances job.
043: *
044: * @param originEntryGroup the origin entry group that encumbrance forwarding origin entries were saved in
045: * @param jobParameters the parameters needed to run the job in the first place
046: * @param forwardEncumbrancesCounts the statistical counts generated by the forward encumbrances job
047: */
048: public void generateForwardEncumbrancesReports(
049: OriginEntryGroup originEntryGroup, Map jobParameters,
050: Map<String, Integer> forwardEncumbrancesCounts);
051:
052: /**
053: * Implementations of this method are responsible for generating origin entries to forward the balances of qualifying balances
054: * from the previous fiscal year
055: *
056: * @param balanceForwardsUnclosedPriorYearAccountGroup the origin entry group to save balance forwarding origin entries with
057: * open accounts
058: * @param balanceForwardsClosedPriorYearAccountGroup the origin entry group to save balance forwarding origin entries with
059: * closed accounts
060: * @param balanceForwardRuleHelper the BalanceForwardRuleHelper which holds the important state - the job parameters and
061: * statistics - for the job to run
062: */
063: public void forwardBalances(
064: OriginEntryGroup balanceForwardsUnclosedPriorYearAccountGroup,
065: OriginEntryGroup balanceForwardsClosedPriorYearAccountGroup,
066: BalanceForwardRuleHelper balanceForwardRuleHelper);
067:
068: /**
069: * This method generates the report that summarizes the activity of a forward balances job
070: *
071: * @param balanceForwardsUnclosedPriorYearAccountGroup the origin entry group where balance forwarding origin entries with open
072: * accounts are stored
073: * @param balanceForwardsClosedPriorYearAccountGroup the origin entry group where balance forwarding origin entries with closed
074: * accounts are stored
075: * @param balanceForwardRuleHelper the BalanceForwardRuleHelper that held the state of the balance forward job to report on
076: */
077: public void generateForwardBalanceReports(
078: OriginEntryGroup balanceForwardsUnclosedPriorYearAccountGroup,
079: OriginEntryGroup balanceForwardsClosedPriorYearAccountGroup,
080: BalanceForwardRuleHelper balanceForwardRuleHelper);
081:
082: /**
083: * This method is considered responsible for generating all of the origin entries that will close out nominal activity for a
084: * given fiscal year.
085: *
086: * @param nominalClosingOriginEntryGroup the origin entry group that nominal activity closing origin entries
087: * @param nominalClosingJobParameters the parameters needed by the job to run correctly: the current university date and the
088: * fiscal year to close
089: * @param nominalClosingCounts counts the Map of statistical counts generated by the process
090: */
091: public void closeNominalActivity(
092: OriginEntryGroup nominalClosingOriginEntryGroup,
093: Map nominalClosingJobParameters,
094: Map<String, Integer> nominalClosingCounts);
095:
096: /**
097: * This method generates the report for a nominal activity closing job
098: *
099: * @param nominalClosingOriginEntryGroup the origin entry group that nominal activity closing origin entries
100: * @param nominalClosingJobParameters the parameters needed by the job to run correctly: the current university date and the
101: * fiscal year to close
102: * @param nominalClosingCounts counts the Map of statistical counts generated by the process
103: */
104: public void generateCloseNominalActivityReports(
105: OriginEntryGroup nominalClosingOriginEntryGroup,
106: Map nominalClosingJobParameters,
107: Map<String, Integer> nominalClosingCounts);
108:
109: /**
110: * Logs all of the missing prior year accounts that balances and encumbrances processed by year end jobs would attempt to call
111: * on
112: *
113: * @param balanceFiscalYear the fiscal year to find balances encumbrances for
114: */
115: public void logAllMissingPriorYearAccounts(Integer fiscalYear);
116:
117: /**
118: * Logs all of the missing sub fund groups that balances and encumbrances processed by the year end job would attempt to call on
119: *
120: * @param balanceFiscalYear the fiscal year to find balances and encumbrances for
121: */
122: public void logAllMissingSubFundGroups(Integer fiscalYear);
123: }
|