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.service; 17 18 import java.util.Date; 19 import java.util.List; 20 21 import org.kuali.ole.pdp.businessobject.CustomerProfile; 22 import org.kuali.ole.pdp.businessobject.DisbursementNumberRange; 23 import org.kuali.ole.pdp.businessobject.FormatProcessSummary; 24 import org.kuali.ole.pdp.businessobject.FormatSelection; 25 import org.kuali.ole.pdp.service.impl.exception.FormatException; 26 import org.kuali.rice.kim.api.identity.Person; 27 28 public interface FormatService { 29 30 /** 31 * This method gets all customer profiles 32 * @return 33 */ 34 public List<CustomerProfile> getAllCustomerProfiles(); 35 36 /** 37 * This method gets all disbursement number ranges 38 * @return 39 */ 40 public List<DisbursementNumberRange> getAllDisbursementNumberRanges(); 41 42 /** 43 * This method gets the format process by campus code and returns the start date for that process. 44 * @param campus the campus code 45 * @return the format process start date if any process found for the given campus code, null otherwise 46 */ 47 public Date getFormatProcessStartDate(String campus); 48 49 /** 50 * This method gets the data for the format process 51 * @param user the user that initiated the format process 52 * @return FormatSelection 53 */ 54 public FormatSelection getDataForFormat(Person user); 55 56 /** 57 * This method formats the data for check printing. 58 * @param procId 59 */ 60 public void performFormat(Integer procId) throws FormatException; 61 62 /** 63 * If the start format process was run and errored out, 64 * this needs to be run to allow formats to continue to function 65 * @param procId 66 */ 67 public void resetFormatPayments(Integer procId); 68 69 /** 70 * This method marks the process log so a format only happens once per campus. Mark all the 71 * payments that will be formatted and return a summary. attachments will be Y, N or null for both. 72 * 73 * @param user 74 * @param campus 75 * @param customers 76 * @param paydate 77 * @param paymentTypes 78 * @return FormatProcessSummary 79 */ 80 public FormatProcessSummary startFormatProcess(Person user, String campus, List<CustomerProfile> customers, Date paydate, String paymentTypes); 81 82 /** 83 * This method removes the format process from the format process table 84 * @param campus 85 */ 86 public void endFormatProcess(String campus); 87 88 /** 89 * If the start format process was run and the user doesn't want to continue, 90 * this needs to be run to set all payments back to open. 91 * This method unmarks the payments and removes the format process entry. 92 * @param processId 93 */ 94 public void clearUnfinishedFormat(Integer processId) ; 95 } 96