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.fp.document.dataaccess; 17 18 import java.util.List; 19 20 import org.kuali.ole.fp.businessobject.CashieringItemInProcess; 21 import org.kuali.ole.fp.businessobject.Check; 22 import org.kuali.ole.fp.businessobject.CoinDetail; 23 import org.kuali.ole.fp.businessobject.CurrencyDetail; 24 25 public interface CashManagementDao { 26 27 /** 28 * This method returns a list of open items in process for a given campus code 29 * 30 * @param campusCode the campus code to use to search open items in process for 31 * @return a list of open items in process 32 */ 33 public List<CashieringItemInProcess> findOpenItemsInProcessByCampusCode(String campusCode); 34 35 /** 36 * This finds items in process associated with the given campus code closed within the past 30 days. 37 * 38 * @param campusCode the campus code that the found items in process should be associated with 39 * @return a list of CashieringItemInProcess records 40 */ 41 public List<CashieringItemInProcess> findRecentlyClosedItemsInProcess(String campusCode); 42 43 /** 44 * Retrieves all currency detail records with the given document number, document type code, and cashiering record source 45 * 46 * @param documentNumber the document number this currency detail was associated with 47 * @param documentTypeCode the type code of that document 48 * @param cashieringStatus the cashiering status 49 * @return a list of currency details matching that criteria 50 */ 51 public CurrencyDetail findCurrencyDetailByCashieringStatus(String documentNumber, String documentTypeCode, String cashieringStatus); 52 53 /** 54 * Retrieves all coin detail records with the given document number, document type code, and cashiering record source 55 * 56 * @param documentNumber the document the coin details were associated with 57 * @param documentTypeCode the type of that document 58 * @param cashieringStatus the cashiering status 59 * @return a list of coin details meeting those criteria 60 */ 61 public CoinDetail findCoinDetailByCashieringStatus(String documentNumber, String documentTypeCode, String cashieringStatus); 62 63 /** 64 * Retrieves from the database any undeposited cashiering transaction checks associated with the given cash management document 65 * 66 * @param documentNumber the document number of a cash management document that cashiering transaction checks may be associated 67 * with 68 * @return a list of checks associated with the document 69 */ 70 public List<Check> selectUndepositedCashieringChecks(String documentNumber); 71 72 /** 73 * Retrieves from the database all cashiering transaction checks deposited for a given deposit 74 * 75 * @param documentNumber the document number of a cash management document that cashiering transaction checks have been 76 * deposited for 77 * @param depositLineNumber the line number of the deposit to find checks deposited for 78 * @return a list of checks associated with the given deposit 79 */ 80 public List<Check> selectCashieringChecksForDeposit(String documentNumber, Integer depositLineNumber); 81 82 /** 83 * Retrieves all deposited cashiering checks from the database 84 * 85 * @param documentNumber the document to get checks associated with 86 * @return a list of deposited checks 87 */ 88 public List<Check> selectDepositedCashieringChecks(String documentNumber); 89 90 /** 91 * This method retrieves all currency details associated with a cash management document 92 * 93 * @param documentNumber the document number of the cash management document to get currency details for 94 * @return a list of currency details 95 */ 96 public List<CurrencyDetail> getAllCurrencyDetails(String documentNumber); 97 98 /** 99 * This method gets all coin details for a particular document number, irregardless of cashiering record source 100 * 101 * @param documentNumber the document number to find cash details for 102 * @return hopefully, a bunch of coin details 103 */ 104 public List<CoinDetail> getAllCoinDetails(String documentNumber); 105 106 /** 107 * Select the next available check line number for the given cash management document 108 * 109 * @param documentNumber the document number of a cash management document 110 * @return the next available check line number for cashiering checks 111 */ 112 public Integer selectNextAvailableCheckLineNumber(String documentNumber); 113 }