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.sql.Date;
19  import java.util.Iterator;
20  import java.util.List;
21  
22  import org.kuali.ole.pdp.businessobject.DailyReport;
23  import org.kuali.ole.pdp.businessobject.DisbursementNumberRange;
24  import org.kuali.ole.pdp.businessobject.PaymentDetail;
25  
26  public interface PaymentDetailDao {
27      /**
28       * @param custPaymentDocNbr
29       * @param fdocTypeCode
30       * @param orgCode the value of the system parameter PURAP_PDP_ORG_CODE
31       * @param subUnitCode the value of the system parameter PURAP_PDP_SUB_UNIT_CODE
32       * @return
33       */
34      public PaymentDetail getDetailForEpic(String custPaymentDocNbr, String fdocTypeCode, String orgCode, String subUnitCode);
35  
36      /**
37       * Retrieves list of <code>DisbursementNumberRange</code> records for the given processing campus which are active and have
38       * range start date before or equal to the current date.
39       * 
40       * @param campus processing campus to retrieve ranges for
41       * @return List of <code>DisbursementNumberRange</code> records found
42       */
43      public List<DisbursementNumberRange> getDisbursementNumberRanges(String campus);
44  
45      /**
46       * This returns the data required for the daily report
47       * 
48       * @param currentSqlDate the current Sql date
49       * @return
50       */
51      public List<DailyReport> getDailyReportData(Date currentSqlDate);
52  
53      /**
54       * This will return an iterator of all the cancelled payment details that haven't already been processed
55       * 
56       * @param organization
57       * @param subUnit
58       * @return
59       */
60      public Iterator getUnprocessedCancelledDetails(String organization, List<String> subUnits);
61  
62      /**
63       * This will return all the ACH payments that need an email sent
64       * 
65       * @return
66       */
67      public Iterator getAchPaymentsWithUnsentEmail();
68  
69      /**
70       * This will return an iterator of all the paid payment details that haven't already been processed
71       * 
72       * @param organization
73       * @param subUnit
74       * @return
75       */
76      public Iterator getUnprocessedPaidDetails(String organization, List<String> subUnits);
77  }