001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.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/ecl2.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.kfs.gl.batch.service;
017
018 import java.util.Map;
019
020 import org.kuali.kfs.gl.batch.BalanceForwardRuleHelper;
021 import org.kuali.kfs.gl.businessobject.OriginEntryGroup;
022
023
024 /**
025 * An interface declaring the methods that steps running year end services would need to use to close out activity of an ending
026 * fiscal year (though, note: OrganizationReversion, the other year end job, is not defined here).
027 */
028 public interface YearEndService {
029
030
031 /**
032 * The method responsible for creating origin entries that will forward qualifying encumbrances into the next fiscal year.
033 *
034 * @param originEntryGroup the origin entry group where generated origin entries should be saved
035 * @param jobParameters the parameters necessary to run this job: the fiscal year to close and the university date the job was
036 * run
037 * @param forwardEncumbrancesCounts the statistical counts generated by this job
038 */
039 public void forwardEncumbrances(String encumbranceForwardFileName, Map jobParameters, Map<String, Integer> counts);
040
041 /**
042 * Implementations of this method are responsible for generating origin entries to forward the balances of qualifying balances
043 * from the previous fiscal year
044 *
045 * @param balanceForwardsUnclosedPriorYearAccountGroup the origin entry group to save balance forwarding origin entries with
046 * open accounts
047 * @param balanceForwardsClosedPriorYearAccountGroup the origin entry group to save balance forwarding origin entries with
048 * closed accounts
049 * @param balanceForwardRuleHelper the BalanceForwardRuleHelper which holds the important state - the job parameters and
050 * statistics - for the job to run
051 */
052 public void forwardBalances(String balanceForwardsUnclosedFileName, String balanceForwardsclosedFileName, BalanceForwardRuleHelper balanceForwardRuleHelper);
053
054 /**
055 * This method is considered responsible for generating all of the origin entries that will close out nominal activity for a
056 * given fiscal year.
057 *
058 * @param nominalClosingOriginEntryGroup the origin entry group that nominal activity closing origin entries
059 * @param nominalClosingJobParameters the parameters needed by the job to run correctly: the current university date and the
060 * fiscal year to close
061 * @param nominalClosingCounts counts the Map of statistical counts generated by the process
062 */
063 public void closeNominalActivity(String nominalClosingFileName, Map nominalClosingJobParameters);
064
065 /**
066 * Logs all of the missing prior year accounts that balances and encumbrances processed by year end jobs would attempt to call
067 * on
068 *
069 * @param balanceFiscalYear the fiscal year to find balances encumbrances for
070 */
071 public void logAllMissingPriorYearAccounts(Integer fiscalYear);
072
073 /**
074 * Logs all of the missing sub fund groups that balances and encumbrances processed by the year end job would attempt to call on
075 *
076 * @param balanceFiscalYear the fiscal year to find balances and encumbrances for
077 */
078 public void logAllMissingSubFundGroups(Integer fiscalYear);
079 }