View Javadoc
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 }