View Javadoc
1   /*
2    * The Kuali Financial System, a comprehensive financial management system for higher education.
3    * 
4    * Copyright 2005-2014 The Kuali Foundation
5    * 
6    * This program is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Affero General Public License as
8    * published by the Free Software Foundation, either version 3 of the
9    * License, or (at your option) any later version.
10   * 
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU Affero General Public License for more details.
15   * 
16   * You should have received a copy of the GNU Affero General Public License
17   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package org.kuali.kfs.gl.batch.service;
20  
21  import java.sql.Date;
22  
23  import org.kuali.kfs.coa.businessobject.A21SubAccount;
24  import org.kuali.kfs.coa.businessobject.Account;
25  import org.kuali.kfs.coa.businessobject.AccountingPeriod;
26  import org.kuali.kfs.coa.businessobject.BalanceType;
27  import org.kuali.kfs.coa.businessobject.Chart;
28  import org.kuali.kfs.coa.businessobject.IndirectCostRecoveryType;
29  import org.kuali.kfs.coa.businessobject.ObjectCode;
30  import org.kuali.kfs.coa.businessobject.ObjectLevel;
31  import org.kuali.kfs.coa.businessobject.ObjectType;
32  import org.kuali.kfs.coa.businessobject.OffsetDefinition;
33  import org.kuali.kfs.coa.businessobject.Organization;
34  import org.kuali.kfs.coa.businessobject.ProjectCode;
35  import org.kuali.kfs.coa.businessobject.SubAccount;
36  import org.kuali.kfs.coa.businessobject.SubFundGroup;
37  import org.kuali.kfs.coa.businessobject.SubObjectCode;
38  import org.kuali.kfs.gl.businessobject.AccountBalance;
39  import org.kuali.kfs.gl.businessobject.Balance;
40  import org.kuali.kfs.gl.businessobject.Encumbrance;
41  import org.kuali.kfs.gl.businessobject.Entry;
42  import org.kuali.kfs.gl.businessobject.ExpenditureTransaction;
43  import org.kuali.kfs.gl.businessobject.Reversal;
44  import org.kuali.kfs.gl.businessobject.SufficientFundBalances;
45  import org.kuali.kfs.gl.businessobject.Transaction;
46  import org.kuali.kfs.sys.batch.service.WrappingBatchService;
47  import org.kuali.kfs.sys.businessobject.OriginationCode;
48  import org.kuali.kfs.sys.businessobject.SystemOptions;
49  import org.kuali.kfs.sys.businessobject.UniversityDate;
50  
51  public interface AccountingCycleCachingService extends WrappingBatchService {
52      public boolean isCurrentActiveAccountingDocumentType(String documentTypeCode);
53  
54      public SystemOptions getSystemOptions(Integer fiscalYear);
55  
56      public OriginationCode getOriginationCode(String financialSystemOriginationCode);
57  
58  
59      public Chart getChart(String chartOfAccountsCode);
60  
61      public Account getAccount(String chartCode, String accountNumber);
62  
63      public ObjectCode getObjectCode(Integer universityFiscalYear, String chartOfAccountsCode, String financialObjectCode);
64  
65      public BalanceType getBalanceType(String financialBalanceTypeCode);
66  
67      public ObjectType getObjectType(String financialObjectTypeCode);
68  
69      public SubAccount getSubAccount(String chartOfAccountsCode, String accountNumber, String subAccountNumber);
70  
71      public A21SubAccount getA21SubAccount(String chartOfAccountsCode, String accountNumber, String subAccountNumber);
72  
73      public SubObjectCode getSubObjectCode(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, String financialObjectCode, String financialSubObjectCode);
74  
75      public IndirectCostRecoveryType getIndirectCostRecoveryType(String accountIcrTypeCode);
76  
77      public ProjectCode getProjectCode(String projectCode);
78  
79      public AccountingPeriod getAccountingPeriod(Integer fiscalYear, String fiscalPeriodCode);
80  
81      public SubFundGroup getSubFundGroup(String subFundGroupCode);
82  
83      public UniversityDate getUniversityDate(Date date);
84  
85      public OffsetDefinition getOffsetDefinition(Integer universityFiscalYear, String chartOfAccountsCode, String financialDocumentTypeCode, String financialBalanceTypeCode);
86  
87      public Organization getOrganization(String chartOfAccountsCode, String organizationCode);
88  
89      public ObjectLevel getObjectLevel(String chartOfAccountsCode, String financialObjectLevelCode);
90  
91  
92      public int getMaxSequenceNumber(Transaction t);
93  
94  
95      public Balance getBalance(Transaction t);
96  
97      public Encumbrance getEncumbrance(Entry entry);
98  
99      public ExpenditureTransaction getExpenditureTransaction(Transaction t);
100 
101     public SufficientFundBalances getSufficientFundBalances(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, String financialObjectCode);
102 
103     public AccountBalance getAccountBalance(Transaction t);
104 
105 
106     public void insertReversal(Reversal reversal);
107 
108     public void insertEntry(Entry entry);
109 
110     public void insertBalance(Balance balance);
111 
112     public void updateBalance(Balance balance);
113 
114     public void insertEncumbrance(Encumbrance encumbrance);
115 
116     public void updateEncumbrance(Encumbrance encumbrance);
117 
118     public void insertExpenditureTransaction(ExpenditureTransaction expenditureTransaction);
119 
120     public void updateExpenditureTransaction(ExpenditureTransaction expenditureTransaction);
121 
122     public void insertSufficientFundBalances(SufficientFundBalances sufficientFundBalances);
123 
124     public void updateSufficientFundBalances(SufficientFundBalances sufficientFundBalances);
125 
126     public void insertAccountBalance(AccountBalance accountBalance);
127 
128     public void updateAccountBalance(AccountBalance accountBalance);
129 }