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.pdp.dataaccess;
17  
18  import java.util.List;
19  
20  import org.kuali.ole.pdp.businessobject.PaymentGroup;
21  
22  public interface PaymentGroupDao {
23  
24      /**
25       * Get all the disbursement numbers for a specific process of a certain type
26       * 
27       * @param pid
28       * @param disbursementType
29       * @return
30       */
31      public List<Integer> getDisbursementNumbersByDisbursementType(Integer pid, String disbursementType);
32      
33      /**
34       * Get all the disbursement numbers for a specific process of a certain type for a certain bank
35       * 
36       * @param pid
37       * @param disbursementType
38       * @param bankCode the bank code to find disbursement numbers for
39       * @return
40       */
41      public abstract List<Integer> getDisbursementNumbersByDisbursementTypeAndBankCode(Integer pid, String disbursementType, String bankCode);
42  
43      /**
44       * Gets list of ach payments in which an advice notification has not been sent
45       * 
46       * @return List<PaymentGroup>
47       */
48      public List<PaymentGroup> getAchPaymentsNeedingAdviceNotification();
49      
50      /**
51       * Given a process id and a disbursement type, finds a distinct list of bank codes used by payment groups within that payment process
52       * @param pid payment process to query payment groups of
53       * @param disbursementType the type of disbursements to query
54       * @return a sorted List of bank codes
55       */
56      public abstract List<String> getDistinctBankCodesForProcessAndType(Integer pid, String disbursementType);
57  
58  }