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.sql.Date; 019 020 import org.kuali.kfs.coa.businessobject.A21SubAccount; 021 import org.kuali.kfs.coa.businessobject.Account; 022 import org.kuali.kfs.coa.businessobject.AccountingPeriod; 023 import org.kuali.kfs.coa.businessobject.BalanceType; 024 import org.kuali.kfs.coa.businessobject.Chart; 025 import org.kuali.kfs.coa.businessobject.IndirectCostRecoveryType; 026 import org.kuali.kfs.coa.businessobject.ObjectCode; 027 import org.kuali.kfs.coa.businessobject.ObjectLevel; 028 import org.kuali.kfs.coa.businessobject.ObjectType; 029 import org.kuali.kfs.coa.businessobject.OffsetDefinition; 030 import org.kuali.kfs.coa.businessobject.Organization; 031 import org.kuali.kfs.coa.businessobject.ProjectCode; 032 import org.kuali.kfs.coa.businessobject.SubAccount; 033 import org.kuali.kfs.coa.businessobject.SubFundGroup; 034 import org.kuali.kfs.coa.businessobject.SubObjectCode; 035 import org.kuali.kfs.gl.businessobject.AccountBalance; 036 import org.kuali.kfs.gl.businessobject.Balance; 037 import org.kuali.kfs.gl.businessobject.Encumbrance; 038 import org.kuali.kfs.gl.businessobject.Entry; 039 import org.kuali.kfs.gl.businessobject.ExpenditureTransaction; 040 import org.kuali.kfs.gl.businessobject.Reversal; 041 import org.kuali.kfs.gl.businessobject.SufficientFundBalances; 042 import org.kuali.kfs.gl.businessobject.Transaction; 043 import org.kuali.kfs.sys.batch.service.WrappingBatchService; 044 import org.kuali.kfs.sys.businessobject.OriginationCode; 045 import org.kuali.kfs.sys.businessobject.SystemOptions; 046 import org.kuali.kfs.sys.businessobject.UniversityDate; 047 048 public interface AccountingCycleCachingService extends WrappingBatchService { 049 public boolean isCurrentActiveAccountingDocumentType(String documentTypeCode); 050 051 public SystemOptions getSystemOptions(Integer fiscalYear); 052 053 public OriginationCode getOriginationCode(String financialSystemOriginationCode); 054 055 056 public Chart getChart(String chartOfAccountsCode); 057 058 public Account getAccount(String chartCode, String accountNumber); 059 060 public ObjectCode getObjectCode(Integer universityFiscalYear, String chartOfAccountsCode, String financialObjectCode); 061 062 public BalanceType getBalanceType(String financialBalanceTypeCode); 063 064 public ObjectType getObjectType(String financialObjectTypeCode); 065 066 public SubAccount getSubAccount(String chartOfAccountsCode, String accountNumber, String subAccountNumber); 067 068 public A21SubAccount getA21SubAccount(String chartOfAccountsCode, String accountNumber, String subAccountNumber); 069 070 public SubObjectCode getSubObjectCode(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, String financialObjectCode, String financialSubObjectCode); 071 072 public IndirectCostRecoveryType getIndirectCostRecoveryType(String accountIcrTypeCode); 073 074 public ProjectCode getProjectCode(String projectCode); 075 076 public AccountingPeriod getAccountingPeriod(Integer fiscalYear, String fiscalPeriodCode); 077 078 public SubFundGroup getSubFundGroup(String subFundGroupCode); 079 080 public UniversityDate getUniversityDate(Date date); 081 082 public OffsetDefinition getOffsetDefinition(Integer universityFiscalYear, String chartOfAccountsCode, String financialDocumentTypeCode, String financialBalanceTypeCode); 083 084 public Organization getOrganization(String chartOfAccountsCode, String organizationCode); 085 086 public ObjectLevel getObjectLevel(String chartOfAccountsCode, String financialObjectLevelCode); 087 088 089 public int getMaxSequenceNumber(Transaction t); 090 091 092 public Balance getBalance(Transaction t); 093 094 public Encumbrance getEncumbrance(Entry entry); 095 096 public ExpenditureTransaction getExpenditureTransaction(Transaction t); 097 098 public SufficientFundBalances getSufficientFundBalances(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, String financialObjectCode); 099 100 public AccountBalance getAccountBalance(Transaction t); 101 102 103 public void insertReversal(Reversal reversal); 104 105 public void insertEntry(Entry entry); 106 107 public void insertBalance(Balance balance); 108 109 public void updateBalance(Balance balance); 110 111 public void insertEncumbrance(Encumbrance encumbrance); 112 113 public void updateEncumbrance(Encumbrance encumbrance); 114 115 public void insertExpenditureTransaction(ExpenditureTransaction expenditureTransaction); 116 117 public void updateExpenditureTransaction(ExpenditureTransaction expenditureTransaction); 118 119 public void insertSufficientFundBalances(SufficientFundBalances sufficientFundBalances); 120 121 public void updateSufficientFundBalances(SufficientFundBalances sufficientFundBalances); 122 123 public void insertAccountBalance(AccountBalance accountBalance); 124 125 public void updateAccountBalance(AccountBalance accountBalance); 126 }