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 /* 017 * Created on Aug 30, 2004 018 * 019 */ 020 package org.kuali.kfs.pdp.service; 021 022 import java.util.Iterator; 023 024 import org.kuali.kfs.pdp.businessobject.GlPendingTransaction; 025 import org.kuali.kfs.pdp.businessobject.PaymentDetail; 026 import org.kuali.kfs.pdp.businessobject.PaymentGroup; 027 028 /** 029 * Creates GLPEs for PDP extracted and canceled payments. 030 */ 031 public interface PendingTransactionService { 032 033 /** 034 * Creates GLPE entries for the Payment record and stores to PDP pending entry table 035 * 036 * @param paymentGroup payment group record to create GLPE for 037 */ 038 public void generatePaymentGeneralLedgerPendingEntry(PaymentGroup paymentGroup); 039 040 /** 041 * Creates GLPE entries for a payment cancel and stores to PDP pending entry table. Debit/Credit codes are 042 * reversed backing out the original GLPEs for the payment. 043 * 044 * @param paymentGroup payment group record to create GLPE for 045 */ 046 public void generateCancellationGeneralLedgerPendingEntry(PaymentGroup paymentGroup); 047 048 /** 049 * Creates GLPE entries for a reissue and stores to PDP pending entry table. Debit/Credit codes are 050 * reversed backing out the original GLPEs for the payment. 051 * 052 * @param paymentGroup payment group record to create GLPE for 053 */ 054 public void generateReissueGeneralLedgerPendingEntry(PaymentGroup paymentGroup); 055 056 /** 057 * Save a transaction 058 * 059 * @param tran 060 */ 061 public void save(GlPendingTransaction tran); 062 063 /** 064 * Get all of the GL transactions where the extract flag is null 065 * 066 * @return Iterator of all the transactions 067 */ 068 public Iterator<GlPendingTransaction> getUnextractedTransactions(); 069 070 /** 071 * Deletes transactions records that have been copied to the GL 072 */ 073 public void clearExtractedTransactions(); 074 }