001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.module.ar.dataaccess;
017    
018    import java.util.HashMap;
019    
020    import org.kuali.rice.kns.util.KualiDecimal;
021    
022    public interface CustomerAgingReportDao {
023    
024        // PROCESSING CHART AND ORG METHODS
025        
026        /**
027         * This method generates a database query and retrieves the total of all invoices for the given processing chart and org codes, 
028         * which have billing dates within the given date range, for which there is an outstanding balance due.  
029         * 
030         * @param chart Processing chart code for the invoices being retrieved.
031         * @param org Processing org code for the invoices being retrieved.
032         * @param begin Beginning date of the date range used to find invoice balances due.
033         * @param end Ending date of the date range used to find invoice balances due.
034         * @return 
035         */
036        HashMap<String, KualiDecimal> findInvoiceAmountByProcessingChartAndOrg(String chart, String org, java.sql.Date begin, java.sql.Date end);
037    
038        /**
039         * 
040         * This method...
041         * @param chart
042         * @param org
043         * @param begin
044         * @param end
045         * @return
046         */
047        HashMap<String, KualiDecimal> findAppliedAmountByProcessingChartAndOrg(String chart, String org, java.sql.Date begin, java.sql.Date end);
048    
049        /**
050         * 
051         * This method...
052         * @param chart
053         * @param org
054         * @param begin
055         * @param end
056         * @return
057         */
058        HashMap<String, KualiDecimal> findDiscountAmountByProcessingChartAndOrg(String chart, String org, java.sql.Date begin, java.sql.Date end);
059    
060        // BILLING CHART AND ORG METHODS
061        
062        /**
063         * 
064         * This method...
065         * @param chart
066         * @param org
067         * @param begin
068         * @param end
069         * @return
070         */
071        HashMap<String, KualiDecimal> findInvoiceAmountByBillingChartAndOrg(String chart, String org, java.sql.Date begin, java.sql.Date end);
072    
073        /**
074         * 
075         * This method...
076         * @param chart
077         * @param org
078         * @param begin
079         * @param end
080         * @return
081         */
082        HashMap<String, KualiDecimal> findAppliedAmountByBillingChartAndOrg(String chart, String org, java.sql.Date begin, java.sql.Date end);
083    
084        /**
085         * 
086         * This method...
087         * @param chart
088         * @param org
089         * @param begin
090         * @param end
091         * @return
092         */
093        HashMap<String, KualiDecimal> findDiscountAmountByBillingChartAndOrg(String chart, String org, java.sql.Date begin, java.sql.Date end);
094    
095        // ACCOUNT METHODS
096        
097        /**
098         * 
099         * This method...
100         * @param chart
101         * @param account
102         * @param begin
103         * @param end
104         * @return
105         */
106        HashMap<String, KualiDecimal> findInvoiceAmountByAccount(String chart, String account, java.sql.Date begin, java.sql.Date end);
107    
108        /**
109         * 
110         * This method...
111         * @param chart
112         * @param account
113         * @param begin
114         * @param end
115         * @return
116         */
117        HashMap<String, KualiDecimal> findAppliedAmountByAccount(String chart, String account, java.sql.Date begin, java.sql.Date end);
118    
119        /**
120         * 
121         * This method...
122         * @param chart
123         * @param account
124         * @param begin
125         * @param end
126         * @return
127         */
128        HashMap<String, KualiDecimal> findDiscountAmountByAccount(String chart, String account, java.sql.Date begin, java.sql.Date end);
129    }