1 /* 2 * Copyright 2007 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.kuali.ole.sys.dataaccess; 17 18 import java.util.Collection; 19 import java.util.Iterator; 20 import java.util.List; 21 import java.util.Map; 22 23 import org.kuali.ole.coa.businessobject.Account; 24 import org.kuali.ole.gl.businessobject.Balance; 25 import org.kuali.ole.gl.businessobject.Encumbrance; 26 import org.kuali.ole.sys.businessobject.SystemOptions; 27 import org.kuali.rice.core.api.util.type.KualiDecimal; 28 29 /** 30 * This interface defines basic methods that GeneralLedgerPendingEntry Dao's must provide 31 */ 32 public interface GeneralLedgerPendingEntryDao { 33 34 /** 35 * Get summary of amounts in the pending entry table 36 * 37 * @param universityFiscalYear 38 * @param chartOfAccountsCode 39 * @param accountNumber 40 * @param objectCodes 41 * @param balanceTypeCodes 42 * @param isDebit 43 * @return 44 */ 45 public KualiDecimal getTransactionSummary(Collection universityFiscalYears, String chartOfAccountsCode, String accountNumber, Collection objectCodes, Collection balanceTypeCodes, boolean isDebit); 46 47 /** 48 * Get summary of amounts in the pending entry table 49 * 50 * @param universityFiscalYear 51 * @param chartOfAccountsCode 52 * @param accountNumber 53 * @param objectTypeCodes 54 * @param balanceTypeCodes 55 * @param acctSufficientFundsFinObjCd 56 * @param isDebit 57 * @param isYearEnd 58 * @return 59 */ 60 public KualiDecimal getTransactionSummary(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, Collection objectTypeCodes, Collection balanceTypeCodes, String acctSufficientFundsFinObjCd, boolean isDebit, boolean isYearEnd); 61 62 /** 63 * Get summary of amounts in the pending entry table 64 * 65 * @param universityFiscalYear 66 * @param chartOfAccountsCode 67 * @param accountNumber 68 * @param objectTypeCodes 69 * @param balanceTypeCodes 70 * @param acctSufficientFundsFinObjCd 71 * @param isYearEnd 72 * @return 73 */ 74 public KualiDecimal getTransactionSummary(Integer universityFiscalYear, String chartOfAccountsCode, String accountNumber, Collection objectTypeCodes, Collection balanceTypeCodes, String acctSufficientFundsFinObjCd, boolean isYearEnd); 75 76 /** 77 * Find Pending Entries 78 * 79 * @param fieldValues 80 * @param isApproved 81 * @param currentFiscalPeriodCode 82 * @param currentFiscalYear 83 * @param encumbranceBalanceTypes a list of encumbranceBalanceTypes for the given universityFiscalYear if this is passed in the 84 * fieldValues or the Current Year Encumbrance Balance Types if universityFiscalYear is not present 85 * @return 86 */ 87 public Collection findPendingEntries(Map fieldValues, boolean isApproved, String currentFiscalPeriodCode, int currentFiscalYear, List<String> encumbranceBalanceTypes); 88 89 /** 90 * Delete all pending entries for a given document 91 * 92 * @param documentHeaderId 93 */ 94 public void delete(String documentHeaderId); 95 96 /** 97 * Delete all pending entries based on the document approved code 98 * 99 * @param financialDocumentApprovedCode 100 */ 101 public void deleteByFinancialDocumentApprovedCode(String financialDocumentApprovedCode); 102 103 /** 104 * This method retrieves all approved pending ledger entries 105 * 106 * @return all approved pending ledger entries 107 */ 108 public Iterator findApprovedPendingLedgerEntries(); 109 110 /** 111 * This method counts all approved pending ledger entries by account 112 * 113 * @param account the given account 114 * @return count of entries 115 */ 116 public int countPendingLedgerEntries(Account account); 117 118 /** 119 * This method retrieves all pending ledger entries for the given encumbrance 120 * 121 * @param encumbrance the encumbrance entry in the GL_Encumbrance_T table 122 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 123 * @return all pending ledger entries of the given encumbrance 124 */ 125 public Iterator findPendingLedgerEntries(Encumbrance encumbrance, boolean isApproved); 126 127 /** 128 * This method retrieves all pending ledger entries for the given encumbrance 129 * 130 * @param balance the balance entry 131 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 132 * @param isConsolidated consolidation option is applied or not 133 * @return all pending ledger entries of the given balance 134 */ 135 public Iterator findPendingLedgerEntries(Balance balance, boolean isApproved, boolean isConsolidated); 136 137 /** 138 * This method retrieves all pending ledger entries matching the given entry criteria 139 * 140 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 141 * @param fieldValues the input fields and values 142 * @param currentFiscalPeriodCode current fiscal year period code 143 * @param currentFY current fiscal year 144 * @param encumbranceBalanceTypes a list of encumbranceBalanceTypes 145 * @return all pending ledger entries matching the given balance criteria 146 */ 147 public Iterator findPendingLedgerEntriesForEntry(Map fieldValues, boolean isApproved, String currentFiscalPeriodCode, int currentFY, List<String> encumbranceBalanceTypes); 148 149 /** 150 * This method retrieves all pending ledger entries matching the given balance criteria 151 * 152 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 153 * @param fieldValues the input fields and values 154 * @param currentFiscalPeriodCode current fiscal year period code 155 * @param currentFY current fiscal year 156 * @param encumbranceBalanceTypes a list of encumbranceBalanceTypes 157 * @return all pending ledger entries matching the given balance criteria 158 */ 159 public Iterator findPendingLedgerEntriesForBalance(Map fieldValues, boolean isApproved, String currentFiscalPeriodCode, int currentFY, List<String> encumbranceBalanceTypes); 160 161 /** 162 * This method retrieves all pending ledger entries matching the given cash balance criteria 163 * 164 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 165 * @param fieldValues the input fields and values 166 * @param currentFiscalPeriodCode current fiscal year period code 167 * @param currentFY current fiscal year 168 * @param encumbranceBalanceTypes a list of encumbranceBalanceTypes for the given universityFiscalYear if this is passed in the 169 * fieldValues or the Current Year Encumbrance Balance Types if universityFiscalYear is not present 170 * @return all pending ledger entries matching the given cash balance criteria 171 */ 172 public Iterator findPendingLedgerEntriesForCashBalance(Map fieldValues, boolean isApproved, String currentFiscalPeriodCode, int currentFY, List<String> encumbranceBalanceTypes); 173 174 /** 175 * This method retrieves all pending ledger entries that may belong to encumbrance table in the future 176 * 177 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 178 * @param fieldValues the input fields and values 179 * @param currentFiscalPeriodCode current fiscal year period code 180 * @param currentFY current fiscal year 181 * @param currentYearOptions the current year system options 182 * @param encumbranceBalanceTypes a list of encumbranceBalanceTypes for the given universityFiscalYear if this is passed in the 183 * fieldValues or the Current Year Encumbrance Balance Types if universityFiscalYear is not present 184 * @return all pending ledger entries that may belong to encumbrance table 185 */ 186 public Iterator findPendingLedgerEntriesForEncumbrance(Map fieldValues, boolean isApproved, String currentFiscalPeriodCode, int currentFiscalYear, SystemOptions currentYearOptions, List<String> encumbranceBalanceTypes); 187 188 /** 189 * This method retrieves all pending ledger entries that may belong to the given account balance record in the future 190 * 191 * @param fieldValues the input fields and values 192 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 193 * @param currentFiscalPeriodCode current fiscal year period code 194 * @param currentFY current fiscal year 195 * @param encumbranceBalanceTypes a list of encumbranceBalanceTypes for the given universityFiscalYear if this is passed in the 196 * fieldValues or the Current Year Encumbrance Balance Types if universityFiscalYear is not present 197 * @return all pending ledger entries that may belong to encumbrance table 198 */ 199 public Iterator findPendingLedgerEntrySummaryForAccountBalance(Map fieldValues, boolean isApproved, String currentFiscalPeriodCode, int currentFiscalYear, List<String> encumbranceBalanceTypes); 200 201 /** 202 * This method retrieves all pending ledger entries that may belong to the given account balance record in the future 203 * 204 * @param fieldValues the input fields and values 205 * @param isApproved the flag that indicates whether the pending entries are approved or don't care 206 * @param currentFiscalPeriodCode current fiscal year period code 207 * @param currentFY current fiscal year 208 * @param encumbranceBalanceTypes a list of encumbranceBalanceTypes for the given universityFiscalYear if this is passed in the 209 * fieldValues or the Current Year Encumbrance Balance Types if universityFiscalYear is not present 210 * @return all pending ledger entries that may belong to encumbrance table 211 */ 212 public Iterator findPendingLedgerEntriesForAccountBalance(Map fieldValues, boolean isApproved, String currentFiscalPeriodCode, int currentFiscalYear, List<String> encumbranceBalanceTypes); 213 214 }