// *** Generated Source File *** // Portions Copyright (c) 1996-2001, SilverStream Software, Inc., All Rights Reserved package com.sssw.gen.forms; // generated by SilverStream: do not edit //Object Imports import java.awt.Color; import java.awt.Component; import java.awt.Cursor; import java.awt.Desktop; import java.awt.Font; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.IOException; import java.math.BigDecimal; import java.net.URI; import java.rmi.RemoteException; import java.util.Hashtable; import java.util.List; import java.util.Locale; import java.util.Vector; import java.util.stream.IntStream; import java.util.ArrayList; import javax.ejb.CreateException; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.SwingConstants; import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionEvent; import org.apache.log4j.Logger; import com.gpc.backofficecommon.FwoSessionMgr; import com.gpc.backofficecommon.constants.schema.Sch_ARPayment; import com.gpc.backofficecommon.constants.schema.Sch_ARTransaction; import com.gpc.backofficecommon.constants.schema.Sch_Customer; import com.gpc.backofficecommon.constants.schema.Sch_Invoice; import com.gpc.backofficecommon.constants.schema.Sch_Tables; import com.gpc.backofficecommon.constants.schema.Sch_RefTransactionType; import com.gpc.backofficecommon.util.SilverStreamExceptionHelper; import com.gpc.backofficecommon.report.TsoReportHelper; import com.gpc.client.backoffice.FwoFormMaster; import com.gpc.client.backoffice.FwoToolBarDirector; import com.gpc.client.backoffice.app.TamsFormMaster; import com.gpc.client.backoffice.app.TsoSystemMonitor; import com.gpc.client.backoffice.table.TsoJTableMgr; import com.gpc.client.backoffice.util.InvokerBridge; import com.gpc.client.common.ClientApplicationContext; import com.gpc.client.common.table.cell.FwoDecimalNumberCell; import com.gpc.client.common.table.cell.FwoImageIconCell; import com.gpc.client.common.table.cell.FwoWholeNumberCell; import com.gpc.common.ApplicationContext; import com.gpc.common.ResourceBundleReader; import com.gpc.common.TsoConstant; import com.gpc.common.constants.refvalues.RefTransactionType; import com.gpc.common.exception.ApplicationException; import com.gpc.common.util.EJBRemoteExceptionHelper; import com.gpc.common.util.MathUtil; import com.gpc.common.util.StringUtils; import com.gpc.ejb.payment.SBPaymentProcessing; import com.gpc.ejb.payment.SBPaymentProcessingHome; import com.gpc.frame.FwiFormEdit; import com.gpc.frame.FwiFormProcess; import com.gpc.frame.process.FwiProgressCancel; import com.gpc.frame.process.FwoFormThread; import com.gpc.pointofsale.ejb.invoice.SBInvoice; import com.gpc.pointofsale.ejb.invoice.SBInvoiceHome; import com.gpc.tams.dso.TsoGenericBandDescriptor; import com.gpc.valueobjects.cepdi.CEPDIStatusVO; import com.gpc.valueobjects.sql.ExecuteSQLResultsVO; import com.gpc.valueobjects.sql.ExecuteSQLVO; import com.sssw.rt.form.AgfForm; import com.sssw.rt.gui.AgoColorManager; import com.sssw.rt.util.AgiRowCursor; import com.sssw.rt.util.AgoData; import com.sssw.rt.util.AgoApiException; import com.sssw.rt.util.AgoSecurityException; import com.sssw.rt.util.AgoSystemException; import com.sssw.rt.util.AgoTransientSystemException; import com.sssw.rt.util.AgoUnrecoverableSystemException; import com.sssw.rt.util.DatatypeCodes; import com.gpc.valueobjects.profile.InvoicingProfileVO; import com.gpc.common.Profile; import com.gpc.businessservice.interfaces.corebank.CoreBankService; import com.gpc.businessservice.factory.corebank.CoreBankServiceFactory; import com.gpc.businessservice.interfaces.interstore.StoreTransmissionService; import com.gpc.businessservice.valueobject.arupdate.ArTransmissionStoreVO; import com.gpc.businessservice.factory.arupdate.ArTransmissionRequestServiceFactory; import com.gpc.businessservice.factory.interstore.StoreTransmissionServiceFactory; public class FrmAR_PaymentProcessing_PaymentHistory extends AgfForm // generated by SilverStream: do not edit implements ActionListener, FocusListener, MouseListener, ListSelectionListener, com.gpc.frame.FwiFormEdit, com.gpc.frame.FwiFormProcess, FwiProgressCancel, Runnable { public String paymentQuery = "SELECT AP.ID, " + "AP.LOC, " + "AP.PAYMENT_DATE, " + "IF(AP.PAYMENT_IDENTIFIER IS NOT NULL " + "AND AP.PAYMENT_IDENTIFIER > 0) " + "THEN CAST(AP.PAYMENT_REFERENCE AS CHAR(10))+'-'+CAST(AP.PAYMENT_IDENTIFIER AS CHAR(10)) " + "ELSE CAST(AP.PAYMENT_REFERENCE AS CHAR(10)) " + "ENDIF AS PAYMENT_REFERENCE, " + "(SELECT TOP 1 CASE " + "WHEN INNER_AP.BRANCH_NUMBER <> THIS_BRANCH " + "THEN 'Branch ROA Invoice' " + "WHEN I2.REF_TRANSACTION_TYPE_ID = 3 AND INNER_AP.BRANCH_NUMBER = THIS_BRANCH " + "THEN 'ROA Invoice' " + "WHEN I2.REF_TRANSACTION_TYPE_ID IS NOT NULL " + "THEN RTT2.DESCRIPTION " + "WHEN I.REF_TRANSACTION_TYPE_ID = 2 AND I.INVOICE_TOTAL < 0 " + "THEN 'Credit Invoice' " + "WHEN AT.REF_AR_TRANSACTION_TYPE_ID = 3 AND AT.GROSS_AMOUNT < 0 " + "THEN 'J/E' " + "WHEN I.REF_TRANSACTION_TYPE_ID = 2 AND INNER_AP.REF_AR_PAYMENT_ORIGINATION_CD IN ('I', 'P') " + "THEN 'ROA' " + "ELSE RTT.DESCRIPTION " + "END AS DESCRIPTION " + "FROM AR_PAYMENT INNER_AP " + "LEFT OUTER JOIN AR_APPLICATION AA ON AA.APPLIED_AR_PAYMENT_ID = INNER_AP.ID " + "LEFT OUTER JOIN AR_TRANSACTION AT ON AT.ID = AA.APPLIED_TO_AR_TRANSACTION_ID " + "LEFT OUTER JOIN INVOICE I ON I.INVOICE_NUMBER = AT.TRANSACTION_REFERENCE " + "AND I.CUSTOMER_ID = AP.CUSTOMER_ID " + "LEFT OUTER JOIN REF_TRANSACTION_TYPE RTT ON RTT.ID = I.REF_TRANSACTION_TYPE_ID " + "LEFT OUTER JOIN INVOICE I2 ON I2.INVOICE_NUMBER = INNER_AP.PAYMENT_REFERENCE " + "AND I2.CUSTOMER_ID = AP.CUSTOMER_ID " + "LEFT OUTER JOIN REF_TRANSACTION_TYPE RTT2 ON RTT2.ID = I2.REF_TRANSACTION_TYPE_ID " + "WHERE INNER_AP.ID = AP.ID " + "ORDER BY DESCRIPTION DESC) AS TRANSACTION_TYPE, " + "AP.CHECK_NUMBER, " + "(AP.PAYMENT_AMOUNT + AP.DISCOUNT_TAKEN) AS PAYMENT_AMOUNT, " + "(AP.PAYMENT_AMOUNT + AP.DISCOUNT_TAKEN - AP.UNAPPLIED_AMOUNT) AS AMOUNT_APPLIED, " + "(SELECT SUM(AR.APPLIED_AMOUNT) " + "FROM AR_APPLICATION AR " + "INNER JOIN ELECTRONIC_AR_APPLICATION_DETAILS EAR ON AR.ID = EAR.AR_APPLICATION_ID " + "AND EAR.STAMPED_UUID IS NOT NULL " + "AND EAR.STAMPED_DATE IS NOT NULL " + "AND EAR.CANCELLED_DATE IS NULL " + "WHERE AR.APPLIED_AR_PAYMENT_ID = AP.ID) AS STAMPED_AMOUNT, " + "AP.UNAPPLIED_AMOUNT, " + "AP.CUSTOMER_ID, " + "AP.DISCOUNT_TAKEN, " + "(SELECT TOP 1 CASE " + "WHEN I2.ID IS NOT NULL THEN I2.ID " + "WHEN I.ID IS NOT NULL THEN I.ID " + "ELSE NULL " + "END AS INVOICE_ID " + "FROM AR_PAYMENT AP " + "LEFT OUTER JOIN AR_APPLICATION AA ON AA.APPLIED_AR_PAYMENT_ID = AP.ID " + "LEFT OUTER JOIN AR_TRANSACTION AT ON AT.ID = AA.APPLIED_TO_AR_TRANSACTION_ID " + "LEFT OUTER JOIN INVOICE I ON I.INVOICE_NUMBER = AT.TRANSACTION_REFERENCE " + "AND I.CUSTOMER_ID = AP.CUSTOMER_ID " + "LEFT OUTER JOIN REF_TRANSACTION_TYPE RTT ON RTT.ID = I.REF_TRANSACTION_TYPE_ID " + "LEFT OUTER JOIN INVOICE I2 ON I2.INVOICE_NUMBER = AP.PAYMENT_REFERENCE " + "AND I2.CUSTOMER_ID = AP.CUSTOMER_ID " + "LEFT OUTER JOIN REF_TRANSACTION_TYPE RTT2 ON RTT2.ID = I2.REF_TRANSACTION_TYPE_ID " + "WHERE AP.ID = ? " + "ORDER BY INVOICE_ID DESC) AS INVOICE_ID, " + "AP.REF_AR_PAYMENT_ORIGINATION_CD, " + "IF EXISTS (SELECT STAMPED_UUID " + "FROM ELECTRONIC_AR_APPLICATION_DETAILS EAAD " + "WHERE AR_APPLICATION_ID IN (SELECT ID " + "FROM AR_APPLICATION " + "WHERE APPLIED_AR_PAYMENT_ID = AP.ID) " + "AND STAMPED_UUID <> NULL " + "AND CANCELLED_DATE IS NULL) " + "THEN 'Y' " + "ELSE 'N' " + "ENDIF AS STAMPED, " + "IF STAMPED = 'Y' " + "THEN IF STAMPED_AMOUNT IS NOT NULL AND STAMPED_AMOUNT < AMOUNT_APPLIED " + "THEN 'Partially Stamped' " + "ELSE 'Stamped' " + "ENDIF " + "ELSE IF EXISTS (SELECT STAMPED_UUID " + "FROM ELECTRONIC_AR_APPLICATION_DETAILS " + "WHERE AR_APPLICATION_ID IN (SELECT ID " + "FROM AR_APPLICATION " + "WHERE APPLIED_AR_PAYMENT_ID = AP.ID) " + "AND CANCELLED_DATE <> NULL) " + "THEN 'Cancelled' " + "ELSE 'Not Stamped' " + "ENDIF " + "ENDIF AS STATUS, " + "AP.BRANCH_NUMBER AS STORE_NUMBER, " + "RTT.DESCRIPTION AS TENDER_TYPE, " + "'DB' AS DB_CR, " + "(SELECT SUBSTRING(STORE_NUM, 7) FROM STORE_PROFILE) AS THIS_BRANCH " + "FROM AR_PAYMENT AP " + "LEFT OUTER JOIN REF_TENDER_TYPE RTT ON RTT.ID = AP.REF_TENDER_TYPE_ID " + "WHERE AP.CUSTOMER_ID = ? " + "AND AP.LOC = 1 " + "AND AP.HISTORICAL = 1 " + "AND AP.PAYMENT_DATE > DATEADD(DAY, -1095, GETDATE()) " + "UNION " + "SELECT AT.ID, " + "AT.LOC, " + "AT.TRANSACTION_DATE AS PAYMENT_DATE, " + "IF(AT.TRANSACTION_IDENTIFIER IS NOT NULL " + "AND AT.TRANSACTION_IDENTIFIER > 0) " + "THEN CAST(AT.TRANSACTION_REFERENCE AS CHAR(10))+'-'+CAST(AT.TRANSACTION_IDENTIFIER AS CHAR(10)) " + "ELSE CAST(AT.TRANSACTION_REFERENCE AS CHAR(10)) " + "ENDIF AS PAYMENT_REFERENCE, " + "CASE " + "WHEN I.REF_TRANSACTION_TYPE_ID = 2 " + "AND AT.GROSS_AMOUNT < 0 " + "THEN 'Credit Invoice' " + "WHEN AT.REF_AR_TRANSACTION_TYPE_ID = 3 " + "AND AT.GROSS_AMOUNT < 0 " + "THEN 'J/E' " + "WHEN I.REF_TRANSACTION_TYPE_ID IS NULL " + "AND AT.GROSS_AMOUNT < 0 " + "THEN 'Credit Invoice' " + "WHEN AT.REF_AR_TRANSACTION_TYPE_ID IS NULL " + "AND AT.GROSS_AMOUNT < 0 " + "THEN 'J/E' " + "WHEN AT.BRANCH_NUMBER IS NULL " + "OR AT.BRANCH_NUMBER = (SELECT SUBSTRING(STORE_NUM, 7) " + "FROM STORE_PROFILE) " + "THEN RATT.DESCRIPTION " + "ELSE RTT.DESCRIPTION " + "END AS TRANSACTION_TYPE, " + "NULL AS CHECK_NUMBER, " + "AT.GROSS_AMOUNT AS PAYMENT_AMOUNT, " + "AT.GROSS_AMOUNT AS AMOUNT_APPLIED, " + "(SELECT SUM(AR.APPLIED_AMOUNT) " + "FROM AR_APPLICATION AR " + "INNER JOIN ELECTRONIC_AR_APPLICATION_DETAILS EAR ON AR.ID = EAR.AR_APPLICATION_ID " + "AND EAR.STAMPED_UUID IS NOT NULL " + "AND EAR.STAMPED_DATE IS NOT NULL " + "AND EAR.CANCELLED_DATE IS NULL " + "WHERE AR.APPLIED_AR_PAYMENT_ID = AT.ID) AS STAMPED_AMOUNT, " + "0 AS UNAPPLIED_AMMOUNT, " + "AT.CUSTOMER_ID, " + "0 AS DISCOUNT_TAKEN, " + "I.ID AS INVOICE_ID, " + "NULL AS REF_AR_PAYMENT_ORIGINATION_CD, " + "IF EXISTS (SELECT STAMPED_UUID " + "FROM ELECTRONIC_AR_APPLICATION_DETAILS EAAD " + "WHERE AR_APPLICATION_ID IN (SELECT ID " + "FROM AR_APPLICATION " + "WHERE APPLIED_AR_TRANSACTION_ID = AT.ID) " + "AND STAMPED_UUID <> NULL " + "AND CANCELLED_DATE IS NULL) " + "THEN 'Y' " + "ELSE 'N' " + "ENDIF AS STAMPED, " + "IF STAMPED = 'Y' " + "THEN IF STAMPED_AMOUNT IS NOT NULL AND STAMPED_AMOUNT < AMOUNT_APPLIED " + "THEN 'Partially Stamped' " + "ELSE 'Stamped' " + "ENDIF " + "ELSE IF EXISTS (SELECT STAMPED_UUID " + "FROM ELECTRONIC_AR_APPLICATION_DETAILS " + "WHERE AR_APPLICATION_ID IN (SELECT ID " + "FROM AR_APPLICATION " + "WHERE APPLIED_AR_TRANSACTION_ID = AT.ID) " + "AND CANCELLED_DATE <> NULL) " + "THEN 'Cancelled' " + "ELSE 'Not Stamped' " + "ENDIF " + "ENDIF AS STATUS, " + "AT.BRANCH_NUMBER AS STORE_NUMBER, " + "NULL AS TENDER_TYPE, " + "'CR' AS DB_CR, " + "(SELECT SUBSTRING(STORE_NUM, 7) FROM STORE_PROFILE) AS THIS_BRANCH " + "FROM AR_TRANSACTION AT " + "LEFT OUTER JOIN AR_APPLICATION AA ON AA.APPLIED_AR_PAYMENT_ID = AT.ID " + "LEFT OUTER JOIN INVOICE I ON I.INVOICE_NUMBER = AT.TRANSACTION_REFERENCE " + "AND I.CUSTOMER_ID = AT.CUSTOMER_ID " + "LEFT OUTER JOIN REF_TRANSACTION_TYPE RTT ON RTT.ID = I.REF_TRANSACTION_TYPE_ID " + "LEFT OUTER JOIN REF_AR_TRANSACTION_TYPE RATT ON RATT.ID = AT.REF_AR_TRANSACTION_TYPE_ID " + "WHERE AT.CUSTOMER_ID = ? " + "AND AT.LOC = 1 " + "AND AT.HISTORICAL = 1 " + "AND AT.GROSS_AMOUNT < 0 " + "AND AT.TRANSACTION_DATE > DATEADD(DAY, -1095, GETDATE()) " + "ORDER BY PAYMENT_DATE DESC, " + "PAYMENT_REFERENCE ASC "; private String transactionQueryDB = "SELECT AT.ID, " + "AT.LOC, " + "AT.TRANSACTION_DATE, " + "IF(AT.TRANSACTION_IDENTIFIER IS NOT NULL " + "AND AT.TRANSACTION_IDENTIFIER > 0) " + "THEN CAST (AT.TRANSACTION_REFERENCE AS CHAR(10))+ '-' + CAST(AT.TRANSACTION_IDENTIFIER AS CHAR(10)) " + "ELSE CAST (AT.TRANSACTION_REFERENCE AS CHAR(10)) " + "ENDIF AS TRANSACTION_REFERENCE, " + "AT.GROSS_AMOUNT, " + "AA.APPLIED_AMOUNT AS AMOUNT_APPLIED, " + "(AT.GROSS_AMOUNT - AA.APPLIED_AMOUNT) AS CURRENT_BALANCE, " + "AT.PO_OR_CHECK_NUMBER, " + "AT.CUSTOMER_ID, " + "AT.REF_AR_TRANSACTION_TYPE_ID, " + "AT.TRANSACTION_IDENTIFIER, " + "AT.ACCOUNTING_DAY, " + "AT.SALES_YEAR_MONTH, " + "I.ID AS INVOICE_ID, " + "IF (AT.TRANSACTION_IDENTIFIER IS NOT NULL " + "AND AT.TRANSACTION_IDENTIFIER > 0) " + "THEN (SELECT TOP 1 AT_PMT.TRANSACTION_DATE " + "FROM AR_TRANSACTION AS AT_PMT " + "WHERE AT_PMT.TRANSACTION_REFERENCE = AT.TRANSACTION_REFERENCE " + "AND AT_PMT.TRANSACTION_IDENTIFIER = 0 " + "AND AT_PMT.LOC = AT.LOC " + "AND AT_PMT.CUSTOMER_ID = AT.CUSTOMER_ID " + "AND AT_PMT.ACCOUNTING_DAY = AT.ACCOUNTING_DAY " + "AND AT_PMT.SALES_YEAR_MONTH = AT.SALES_YEAR_MONTH) " + "ELSE NULL " + "ENDIF AS ORIGINAL_TRANSACTION_DATE, " + "IF (AT.TRANSACTION_IDENTIFIER IS NOT NULL " + "AND AT.TRANSACTION_IDENTIFIER > 0) " + "THEN (SELECT TOP 1 AT_PMT.GROSS_AMOUNT " + "FROM AR_TRANSACTION AS AT_PMT " + "WHERE AT_PMT.TRANSACTION_REFERENCE = AT.TRANSACTION_REFERENCE " + "AND AT_PMT.TRANSACTION_IDENTIFIER = 0 " + "AND AT_PMT.LOC = AT.LOC " + "AND AT_PMT.CUSTOMER_ID = AT.CUSTOMER_ID " + "AND AT_PMT.ACCOUNTING_DAY = AT.ACCOUNTING_DAY " + "AND AT_PMT.SALES_YEAR_MONTH = AT.SALES_YEAR_MONTH) " + "ELSE NULL " + "ENDIF AS ORIGINAL_GROSS_AMOUNT, " + "AT.BRANCH_NUMBER " + "FROM AR_PAYMENT AP " + "LEFT OUTER JOIN AR_APPLICATION AA ON AA.APPLIED_AR_PAYMENT_ID = AP.ID " + "LEFT OUTER JOIN AR_TRANSACTION AT ON AT.ID = AA.APPLIED_TO_AR_TRANSACTION_ID " + "LEFT OUTER JOIN INVOICE I ON I.INVOICE_NUMBER = AT.TRANSACTION_REFERENCE " + "AND I.CUSTOMER_ID = AP.CUSTOMER_ID " + "WHERE AP.ID = ? " + "AND AP.LOC = 1 " + "ORDER BY AT.TRANSACTION_DATE DESC, " + "AT.TRANSACTION_REFERENCE ASC "; private String transactionQueryCR = "SELECT AT2.ID, " + "AT2.LOC, " + "AT2.TRANSACTION_DATE, " + "CASE " + "WHEN (AT2.TRANSACTION_IDENTIFIER IS NOT NULL AND AT2.TRANSACTION_IDENTIFIER > 0) " + "THEN CAST (AT2.TRANSACTION_REFERENCE AS CHAR(10))+ '-' + CAST(AT2.TRANSACTION_IDENTIFIER AS CHAR(10))" + "WHEN (AT2.TRANSACTION_IDENTIFIER IS NULL)" + "THEN CAST (AT2.TRANSACTION_REFERENCE AS CHAR(10)) " + "WHEN (AT2.REF_AR_TRANSACTION_TYPE_ID = 3 AND AT2.GROSS_AMOUNT > 0) " + "THEN 'J/E' " + "END AS TRANSACTION_REFERENCE, " + "AT2.GROSS_AMOUNT, " + "AA.APPLIED_AMOUNT AS AMOUNT_APPLIED, " + "(AT2.GROSS_AMOUNT - AA.APPLIED_AMOUNT) AS CURRENT_BALANCE, " + "AT2.PO_OR_CHECK_NUMBER, " + "AT2.CUSTOMER_ID, " + "AT2.REF_AR_TRANSACTION_TYPE_ID, " + "AT2.TRANSACTION_IDENTIFIER, " + "AT2.ACCOUNTING_DAY, " + "AT2.SALES_YEAR_MONTH, " + "I.ID AS INVOICE_ID, " + "IF AT2.TRANSACTION_IDENTIFIER IS NOT NULL AND AT2.TRANSACTION_IDENTIFIER > 0 " + "THEN (SELECT TOP 1 AT_PMT.TRANSACTION_DATE " + "FROM AR_TRANSACTION AS AT_PMT " + "WHERE AT_PMT.TRANSACTION_REFERENCE = AT2.TRANSACTION_REFERENCE " + "AND AT_PMT.TRANSACTION_IDENTIFIER = 0 " + "AND AT_PMT.LOC = AT2.LOC " + "AND AT_PMT.CUSTOMER_ID = AT2.CUSTOMER_ID " + "AND AT_PMT.ACCOUNTING_DAY = AT2.ACCOUNTING_DAY " + "AND AT_PMT.SALES_YEAR_MONTH = AT2.SALES_YEAR_MONTH) " + "ELSE NULL " + "ENDIF AS ORIGINAL_TRANSACTION_DATE, " + "IF AT2.TRANSACTION_IDENTIFIER IS NOT NULL AND AT2.TRANSACTION_IDENTIFIER > 0 " + "THEN (SELECT TOP 1 AT_PMT.GROSS_AMOUNT " + "FROM AR_TRANSACTION AS AT_PMT " + "WHERE AT_PMT.TRANSACTION_REFERENCE = AT2.TRANSACTION_REFERENCE " + "AND AT_PMT.TRANSACTION_IDENTIFIER = 0 " + "AND AT_PMT.LOC = AT2.LOC " + "AND AT_PMT.CUSTOMER_ID = AT2.CUSTOMER_ID " + "AND AT_PMT.ACCOUNTING_DAY = AT2.ACCOUNTING_DAY " + "AND AT_PMT.SALES_YEAR_MONTH = AT2.SALES_YEAR_MONTH) " + "ELSE NULL " + "ENDIF AS ORIGINAL_GROSS_AMOUNT, " + "AT2.BRANCH_NUMBER " + "FROM AR_TRANSACTION AT " + "LEFT OUTER JOIN AR_APPLICATION AA ON AA.APPLIED_AR_TRANSACTION_ID = AT.ID " + "LEFT OUTER JOIN AR_TRANSACTION AT2 ON AT2.ID = AA.APPLIED_TO_AR_TRANSACTION_ID " + "LEFT OUTER JOIN INVOICE I ON I.INVOICE_NUMBER = AT.TRANSACTION_REFERENCE " + "AND I.CUSTOMER_ID = AT.CUSTOMER_ID " + "WHERE AT.ID = ? " + "AND AT.LOC = 1 " + "ORDER BY AT2.TRANSACTION_DATE DESC, " + "AT2.TRANSACTION_REFERENCE ASC "; public com.sssw.rt.jform.AgcJButton pbViewTransaction; public javax.swing.ButtonGroup DefaultJButtonGroup = new javax.swing.ButtonGroup(); private static final Logger logger = Logger.getLogger(FrmAR_PaymentProcessing_PaymentHistory.class); public com.sssw.rt.form.AgcData agcDSOTransaction; public com.sssw.rt.form.AgcData agcDSOPayment; public javax.swing.JScrollPane tbl_open_transactionsScrollPane; public javax.swing.JScrollPane tbl_unapplied_paymentsScrollPane; public javax.swing.ButtonGroup Tab1Pane2JButtonGroup = new javax.swing.ButtonGroup(); public com.sssw.rt.jform.AgcJButton pbFindTransaction; public com.sssw.rt.jform.AgcJTable tbl_open_transactions; public javax.swing.JScrollPane tbl_open_transScrollPane; public com.sssw.rt.jform.AgcJButton pbFindPayment; public com.sssw.rt.jform.AgcJTable tbl_unapplied_payments; public javax.swing.JScrollPane tbl_unapplied_pymntsScrollPane; public com.sssw.rt.form.AgcRectangle rectPayments; public com.sssw.rt.form.AgcRectangle rectTransactions; public com.sssw.rt.jform.AgcJButton PushButton13; public com.sssw.rt.jform.AgcJLabel Label6; public com.sssw.rt.jform.AgcJLabel Label5; public javax.swing.ButtonGroup Tab1Pane1JButtonGroup = new javax.swing.ButtonGroup(); public com.sssw.rt.jform.AgcJButton PushButton2; public com.sssw.rt.jform.AgcJButton PushButton1; public com.sssw.rt.jform.AgcJLabel Label3; public com.sssw.rt.jform.AgcJLabel Label2; public com.sssw.rt.jform.AgcJLabel RadioButton2; public com.sssw.rt.jform.AgcJRadioButton RadioButton1; public com.sssw.rt.jform.AgcJRadioButton Label52; public com.sssw.rt.form.AgcRectangle Rectangle7; public com.sssw.rt.jform.AgcJTable tbl_payment; public javax.swing.JScrollPane tbl_paymentScrollPane; public TsoJTableMgr m_TblMgrPayment; // Instance of Table Manager for Payment private int[] m_displayableColPayment = {2, 16, 3, 4, 17, 5, 6, 7, 9}; private int[] m_displayableColPaymentMexico = {2, 16, 3, 4, 17, 5, 6, 7, 9, 14, 15}; public TsoJTableMgr m_TblMgrTransaction; // Instance of Table Manager for Transaction private int[] m_displayableColTransaction = {2, 16, 3, 4, 5, 6, 7}; private int m_selectedRowTransaction = 0; private Integer m_iTransactionId; private Integer m_iTransactionLoc; private BigDecimal m_bdCurrentBalance; private BigDecimal m_bdGrossAmount; // Declare 2 member variable to determine which Jtable had focus to implement sort functionality private boolean m_bTblMgrPaymentHasFocus = false; private boolean m_bTblMgrTransactionHasFocus = false; // Instance of Form Master private TamsFormMaster FM; private Hashtable m_findAR_PaymentParams; private Hashtable m_findAR_TransactionParams; private Integer m_customerId; private String m_customerNumber = null; private Integer m_arPaymentId; private Integer m_loc; // Bug #31626, added the following declaration private Hashtable m_returnParams = null; private boolean refElectronicInvoiceVendorIdExists = false; private Integer transactionTblId; private boolean transactionTblIdIsInvoiceId; private static final String PERIOD = "."; // Core Bank CR, added the following declaration private String m_customerName = null; private static final String ORIGINAL_TRANSACTION_DATE = "ORIGINAL_TRANSACTION_DATE"; private static final String ORIGINAL_GROSS_AMOUNT = "ORIGINAL_GROSS_AMOUNT"; private static final String STATUS_STAMPED = ".statusStamped"; private static final String STATUS_PARTIALLY_STAMPED = ".statusPartiallyStamped"; private static final String STATUS_NOT_STAMPED = ".statusNotStamped"; private static final String STATUS_CANCELLED = ".statusCancelled"; private static final String STATUS = "STATUS"; private static final String STAMPED = "STAMPED"; private static final String STAMPED_AMOUNT = "STAMPED_AMOUNT"; private static final String AMOUNT_APPLIED = "AMOUNT_APPLIED"; private static final String DB_CR = "DB_CR"; private static final String CREDIT = "CR"; private StoreTransmissionService m_storeTransmissionService; //URL Parameters private static final String PORT = ":18080"; private static final String HTTP_PROTOCAL = "http://"; private com.gpc.frame.process.FwoBoundedRangeModel m_brm; private boolean retreivingInvoice = false; private boolean isInvoiceRetreivalFailed = false; private static final String EMPTY = ""; private static final String EINVOICE_DIR = "/eInvoices/"; private ArTransmissionStoreVO[] arTransmissionStoreVOArray = new ArTransmissionStoreVO[0]; public FrmAR_PaymentProcessing_PaymentHistory() { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === } public void init() throws Exception { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === // Initialize form and data this.setTransparent(false); this.setBackground(Color.white); this.setBackgroundImageMode(2); agData.setDataMode(AgoData.DATA_MODE_FIRST_RECORD); agDataMgr.setAutomaticValidationUI(true); this.setName("FrmAR_PaymentProcessing_PaymentHistory"); this.setBounds(10, 10, 1004, 571); // Initialize pbViewTransaction pbViewTransaction = new com.sssw.rt.jform.AgcJButton(); pbViewTransaction.setName("pbViewTransaction"); pbViewTransaction.setBounds(750,535,130,25); pbViewTransaction.setContentAreaFilled(true); pbViewTransaction.setBorderPainted(true); pbViewTransaction.setMargin(new Insets(1, 1, 1, 1)); pbViewTransaction.setHorizontalAlignment(SwingConstants.CENTER); pbViewTransaction.setVerticalAlignment(SwingConstants.CENTER); pbViewTransaction.setHorizontalTextPosition(SwingConstants.RIGHT); pbViewTransaction.setVerticalTextPosition(SwingConstants.CENTER); pbViewTransaction.setText("View Transaction"); pbViewTransaction.setFont(new Font("SansSerif", 1, 12)); pbViewTransaction.setForeground(Color.black); pbViewTransaction.setBackground(Color.lightGray); // Initialize agcDSOTransaction agcDSOTransaction = new com.sssw.rt.form.AgcData(); agcDSOTransaction.setName("agcDSOTransaction"); agcDSOTransaction.setBounds(461, -6, 73, 58); agcDSOTransaction.setDataSource("com.gpc.tams.dso.dsoGeneric"); // Initialize agcDSOPayment agcDSOPayment = new com.sssw.rt.form.AgcData(); agcDSOPayment.setName("agcDSOPayment"); agcDSOPayment.setBounds(391, -6, 75, 58); agcDSOPayment.setDataSource("com.gpc.tams.dso.dsoGeneric"); // Initialize pbFindTransaction pbFindTransaction = new com.sssw.rt.jform.AgcJButton(); pbFindTransaction.setName("pbFindTransaction"); pbFindTransaction.setBounds(897, 535, 80, 25); pbFindTransaction.setContentAreaFilled(true); pbFindTransaction.setBorderPainted(true); pbFindTransaction.setMargin(new Insets(1, 1, 1, 1)); pbFindTransaction.setHorizontalAlignment(SwingConstants.CENTER); pbFindTransaction.setVerticalAlignment(SwingConstants.CENTER); pbFindTransaction.setHorizontalTextPosition(SwingConstants.RIGHT); pbFindTransaction.setVerticalTextPosition(SwingConstants.CENTER); pbFindTransaction.setText("Find"); pbFindTransaction.setFont(new Font("SansSerif", 1, 12)); pbFindTransaction.setForeground(Color.black); pbFindTransaction.setBackground(Color.lightGray); // Initialize tbl_open_transactions tbl_open_transactions = new com.sssw.rt.jform.AgcJTable(); tbl_open_transactions.setName("tbl_open_transactions"); tbl_open_transactionsScrollPane = new JScrollPane(tbl_open_transactions); tbl_open_transactionsScrollPane.setBounds(27, 263, 950, 265); tbl_open_transactions.setEditable(false); tbl_open_transactions.setCellSelectionEnabled(true); tbl_open_transactions.setShowGrid(true); tbl_open_transactions.setGridColor(Color.gray); tbl_open_transactions.setForeground(Color.black); tbl_open_transactions.setBackground(Color.white); tbl_open_transactions.setSelectionForeground(Color.white); tbl_open_transactions.setSelectionBackground(AgoColorManager.getColor(0, 0, 128)); tbl_open_transactions.setRowHeight(16); tbl_open_transactions.setRowMargin(1); tbl_open_transactions.getColumnModel().setColumnMargin(1); tbl_open_transactions.setFont(new Font("SansSerif", 0, 12)); // Initialize pbFindPayment pbFindPayment = new com.sssw.rt.jform.AgcJButton(); pbFindPayment.setName("pbFindPayment"); pbFindPayment.setBounds(897,210,80,25); pbFindPayment.setContentAreaFilled(true); pbFindPayment.setBorderPainted(true); pbFindPayment.setMargin(new Insets(1, 1, 1, 1)); pbFindPayment.setHorizontalAlignment(SwingConstants.CENTER); pbFindPayment.setVerticalAlignment(SwingConstants.CENTER); pbFindPayment.setHorizontalTextPosition(SwingConstants.RIGHT); pbFindPayment.setVerticalTextPosition(SwingConstants.CENTER); pbFindPayment.setText("Find"); pbFindPayment.setFont(new Font("SansSerif", 1, 12)); pbFindPayment.setForeground(Color.black); pbFindPayment.setBackground(Color.lightGray); // Initialize tbl_unapplied_payments tbl_unapplied_payments = new com.sssw.rt.jform.AgcJTable(); tbl_unapplied_payments.setName("tbl_unapplied_payments"); tbl_unapplied_paymentsScrollPane = new JScrollPane(tbl_unapplied_payments); tbl_unapplied_paymentsScrollPane.setBounds(27, 16, 950, 189); tbl_unapplied_payments.setEditable(false); tbl_unapplied_payments.setCellSelectionEnabled(true); tbl_unapplied_payments.setShowGrid(true); tbl_unapplied_payments.setGridColor(Color.gray); tbl_unapplied_payments.setForeground(Color.black); tbl_unapplied_payments.setBackground(Color.white); tbl_unapplied_payments.setSelectionForeground(Color.white); tbl_unapplied_payments.setSelectionBackground(AgoColorManager.getColor(0, 0, 128)); tbl_unapplied_payments.setRowHeight(16); tbl_unapplied_payments.setRowMargin(1); tbl_unapplied_payments.getColumnModel().setColumnMargin(1); tbl_unapplied_payments.setFont(new Font("SansSerif", 0, 12)); tbl_unapplied_payments.getSelectionModel().addListSelectionListener(this); // Initialize rectPayments rectPayments = new com.sssw.rt.form.AgcRectangle(); rectPayments.setName("rectPayments"); rectPayments.setBounds(18, -2, 968, 243); rectPayments.setColor(Color.lightGray); rectPayments.setBorderStyle(4); rectPayments.setText("Payments"); rectPayments.setFont(new Font("SansSerif", 1, 12)); rectPayments.setForeground(Color.black); rectPayments.setTransparent(true); // Initialize rectTransactions rectTransactions = new com.sssw.rt.form.AgcRectangle(); rectTransactions.setName("rectTransactions"); rectTransactions.setBounds(18, 243, 968, 324); rectTransactions.setColor(Color.lightGray); rectTransactions.setBorderStyle(4); rectTransactions.setText("Transactions"); rectTransactions.setFont(new Font("SansSerif", 1, 12)); rectTransactions.setForeground(Color.black); rectTransactions.setTransparent(true); addControls(); addBindings(); // Setup tab order Component[] tabOrder = { tbl_unapplied_payments, pbFindPayment, tbl_open_transactions, pbFindTransaction, pbViewTransaction, }; setUserDefinedTabOrder(tabOrder); m_storeTransmissionService = StoreTransmissionServiceFactory.getServiceInstance(); return; } protected void addAllFormControls() { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === this.add(pbViewTransaction); pbViewTransaction.addActionListener(this); this.add(agcDSOTransaction); this.add(agcDSOPayment); this.add(pbFindTransaction); pbFindTransaction.addActionListener(this); this.add(tbl_open_transactionsScrollPane); tbl_open_transactions.addFocusListener(this); tbl_open_transactions.addMouseListener(this); this.add(pbFindPayment); pbFindPayment.addActionListener(this); this.add(tbl_unapplied_paymentsScrollPane); tbl_unapplied_payments.addFocusListener(this); this.add(rectPayments); this.add(rectTransactions); } protected void addBindings() { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === addExpDependencies(); } protected void formActivate() { Vector viewExceptions = new Vector(); viewExceptions.add(tbl_unapplied_payments); viewExceptions.add(pbFindPayment); viewExceptions.add(tbl_open_transactions); viewExceptions.add(pbFindTransaction); viewExceptions.add(pbViewTransaction); FM.setEnabledViewModeComps(viewExceptions); FM.setMode(FwoFormMaster.VIEW_MODE); } public void fCheckAccess() {} public void fCheckLogin() {} public String fCreateTitle() { return (String) null; } public String fGetFormName() { return TsoConstant.FRM_CM_PAYMENT_HISTORY; } public void fLocalize() { ClientApplicationContext.getClientApplicationContext().getLocalizationMgr().localize(this); buildTablePayment(); } public void fRetrieve(java.util.Hashtable hashtable1) { logger.debug("fRetreive()"); FM.formActivate(); if (m_customerId != (Integer) hashtable1.get(TsoConstant.KEY_ID)) { try { agcDSOPayment.clearRows(); agcDSOTransaction.clearRows(); m_arPaymentId = 0; } catch (AgoApiException e) { logger.error("Unable to clear the UI tables ", e); } } if (hashtable1.containsKey(TsoConstant.KEY_ID)) { m_customerId = (Integer) hashtable1.get(TsoConstant.KEY_ID); } if (hashtable1.containsKey(TsoConstant.KEY_LOC)) { m_loc = (Integer) hashtable1.get(TsoConstant.KEY_LOC); } if (hashtable1.containsKey(TsoConstant.KEY_CUSTOMER_NUMBER)) { m_customerNumber = (String) hashtable1.get(TsoConstant.KEY_CUSTOMER_NUMBER); } if(hashtable1.containsKey("CUSTOMER_NAME")){ m_customerName = (String)hashtable1.get("CUSTOMER_NAME"); } final ClientApplicationContext clientApplicationContext = ClientApplicationContext .getClientApplicationContext(); final Integer refElectronicInvoiceVendorId = clientApplicationContext .getProfile(Profile.POINT_OF_SALE_CLIENT, clientApplicationContext.getLocation()) .getInvoicingProfile().getRefElectronicInvoiceVendorId(); if (refElectronicInvoiceVendorId != null && refElectronicInvoiceVendorId.intValue() == 1) { refElectronicInvoiceVendorIdExists = true; } buildTablePayment(); buildTableTransaction(); // Enable and disable Apply Payment buttons depending on the record found if (m_TblMgrPayment != null && m_TblMgrPayment.getRowCount() > 0) { pbFindPayment.setEnabled(true); } else { pbFindPayment.setEnabled(false); } // Enable and disable Reverse Transaction buttons depending on the record found if (m_TblMgrTransaction != null && m_TblMgrTransaction.getRowCount() > 0) { pbFindTransaction.setEnabled(true); pbViewTransaction.setEnabled(true); } else { pbFindTransaction.setEnabled(false); pbViewTransaction.setEnabled(false); } if (m_TblMgrPayment != null && m_TblMgrPayment.getRowCount() > 0) { FM.setSort(true); } else { FM.setSort(false); } tbl_unapplied_payments.requestFocus(); } public void fStylize() {} public boolean fStopLogout() { return false; } public void fSetToolBar(java.awt.Component component1) {} public com.gpc.client.backoffice.FwoFormMaster fGetFormMaster() { return FM; } public boolean fDelete() { return false; } public boolean fEdit() { return false; } public boolean fFindExec() { return false; } public boolean fFindMode() { return false; } public boolean fFirst() { return ((FwiFormEdit) this.getParentForm()).fFirst(); } public boolean fLast() { return ((FwiFormEdit) this.getParentForm()).fLast(); } public boolean fNew() { return false; } public boolean fNext() { return ((FwiFormEdit) this.getParentForm()).fNext(); } public boolean fPrevious() { return ((FwiFormEdit) this.getParentForm()).fPrevious(); } public boolean fSave() { return false; } public void fSort() { // Call sortSelectedTable() method to sort the selected table if (m_bTblMgrPaymentHasFocus) { sortSelectedTable(m_TblMgrPayment, m_TblMgrPayment.getSelectedRow()); } else { sortSelectedTable(m_TblMgrTransaction, m_selectedRowTransaction); } } private void sortSelectedTable(TsoJTableMgr tblMgr, int selectedRow) { logger.debug("sortSelectedTable()"); Hashtable hsh = new Hashtable(); hsh.put("SORT", tblMgr); try { String res = (String) FwoSessionMgr.getInstance().getNavigationMgr().showFormDialog( this, TsoConstant.FRM_TAMS_SORT, hsh); if (res != null) { tblMgr.changeSelectedRow(selectedRow); } } catch (Exception e) { logger.error("Exception in sortSelectedTable(): ", e); } FM.setComponentFocus(tblMgr.getTable()); } public boolean fValidate() { return false; } public void fCancel() {} public boolean fValidateJTableCell(com.gpc.client.common.table.FwoJTableMgr fwoJTableMgr1, int int2, int int3) { return false; } public boolean fValidateJTableRow(com.gpc.client.common.table.FwoJTableMgr fwoJTableMgr1, int int2) { logger.debug("fValidateJTableRow--------"); TsoJTableMgr tblMgr = (TsoJTableMgr) fwoJTableMgr1; int totalRows = tblMgr.getRowCount(); return true; } public boolean fNeedsUpdate() { return false; } public void fPostNew() {} public void fPostSave() {} public void fPostEdit() {} public void fPostCancel() {} public void fPostDelete() {} public boolean fValidateComponent(javax.swing.JComponent jComponent1) { return false; } public java.util.Locale fGetCurrentRecordLocale(javax.swing.JComponent jComponent1) { return (java.util.Locale) null; } public Integer fGetFunctionId() { return TsoConstant.CM_PAYMENT_PROCESSING; } protected void formLoaded() { logger.debug("formLoaded()"); AgiRowCursor navData = ((FwiFormProcess) this.getParentForm()).fGetFormMaster() .getNavData(); // Create instance of FwoToolBarDirector with these permissions Hashtable toolBarPermissions = new Hashtable(); toolBarPermissions.put(FwoToolBarDirector.NAV_OK, new Boolean(true)); toolBarPermissions.put(FwoToolBarDirector.SORT_OK, new Boolean(true)); FwoToolBarDirector toolBarDirector = new FwoToolBarDirector(toolBarPermissions); FM = new TamsFormMaster(this, (FwiFormProcess) this.getParentForm(), navData, toolBarDirector); } private void buildTablePayment() { logger.debug("buildTablePayment()"); try { int[] displayColumns = null; if (refElectronicInvoiceVendorIdExists) { displayColumns = m_displayableColPaymentMexico; } else { displayColumns = m_displayableColPayment; } int selectedRowPayment = 0; if (m_TblMgrPayment != null) { selectedRowPayment = m_TblMgrPayment.getSelectedRow(); } buildResultsetForPayment(); if (m_TblMgrPayment == null) { if (agcDSOPayment != null && agcDSOPayment.getChildEntryCount() > 0) { m_TblMgrPayment = new TsoJTableMgr(this, tbl_unapplied_payments, agcDSOPayment, displayColumns, null, null, null); if (m_TblMgrPayment.getRowCount() > 0) { m_arPaymentId = (Integer) m_TblMgrPayment.getSelectedRowRowCursor() .getProperty("ID"); } initialiseTablePayment(); m_TblMgrPayment.changeSelectedRow(selectedRowPayment); buildTableTransaction(); } } } catch (AgoSecurityException e) { logger.error(e.toString(), e); } catch (AgoTransientSystemException e) { logger.error(e.toString(), e); } catch (AgoUnrecoverableSystemException e) { logger.error(e.toString(), e); } } // This method initialises and sets column widths and format cells on Jtable private void initialiseTablePayment() { logger.debug("initialiseTablePayment()"); m_TblMgrPayment.setColumnReorderingAllowed(false); m_TblMgrPayment.setResizingAllowed(false); m_TblMgrPayment.setSelectionMode(m_TblMgrPayment.SINGLE_SELECTION); m_TblMgrPayment.setTransactionLoggingEnabled(false); m_TblMgrPayment.setMultipleNewMode(false); if (refElectronicInvoiceVendorIdExists) { m_TblMgrPayment.setColumnWidth(0, 120); m_TblMgrPayment.setColumnWidth(1, 120); m_TblMgrPayment.setColumnWidth(2, 120); m_TblMgrPayment.setColumnWidth(3, 120); m_TblMgrPayment.setColumnWidth(4, 120); m_TblMgrPayment.setColumnWidth(5, 120); m_TblMgrPayment.setColumnWidth(6, 120); m_TblMgrPayment.setColumnWidth(7, 114); m_TblMgrPayment.setColumnWidth(8, 114); FwoImageIconCell imageCell = new FwoImageIconCell(new String("Y"), new String("N")); imageCell.setRendererHorizontalAlignment(SwingConstants.CENTER); m_TblMgrPayment.setCustomCell(6, imageCell); } else { m_TblMgrPayment.setColumnWidth(0, 158); m_TblMgrPayment.setColumnWidth(1, 158); m_TblMgrPayment.setColumnWidth(2, 158); m_TblMgrPayment.setColumnWidth(3, 158); m_TblMgrPayment.setColumnWidth(4, 158); m_TblMgrPayment.setColumnWidth(5, 158); m_TblMgrPayment.setColumnWidth(6, 158); m_TblMgrPayment.setColumnWidth(7, 158); m_TblMgrPayment.setColumnWidth(8, 158); } m_TblMgrPayment.getTable().setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); FwoDecimalNumberCell decimalNumberCell = new FwoDecimalNumberCell(new BigDecimal("0.00"), new BigDecimal("9999999999.99"), 2, 2, true); FwoWholeNumberCell numberCell = new FwoWholeNumberCell(new Integer(0), new Integer(99999)); m_TblMgrPayment.setCustomCell(6, decimalNumberCell); m_TblMgrPayment.setCustomCell(7, decimalNumberCell); m_TblMgrPayment.setCustomCell(8, decimalNumberCell); } private void buildTableTransaction() { logger.debug("buildTableTransaction()"); try { buildResultsetForTransaction(); if (m_TblMgrTransaction == null) { if (agcDSOTransaction != null && agcDSOTransaction.getChildEntryCount() > 0) { m_TblMgrTransaction = new TsoJTableMgr(this, tbl_open_transactions, agcDSOTransaction, m_displayableColTransaction, null, null, null); initialiseTableTransaction(); m_TblMgrTransaction.changeSelectedRow(m_selectedRowTransaction); } } } catch (Exception e) { logger.error("Error in buildTable() : ", e); } } // This method initialises and sets column widths and format cells on Jtable private void initialiseTableTransaction() { logger.debug("initialiseTableTransaction()"); if (m_arPaymentId == null) { return; } m_TblMgrTransaction.setColumnReorderingAllowed(false); m_TblMgrTransaction.setResizingAllowed(false); m_TblMgrTransaction.setSelectionMode(m_TblMgrTransaction.SINGLE_SELECTION); m_TblMgrTransaction.setTransactionLoggingEnabled(false); m_TblMgrTransaction.setMultipleNewMode(false); m_TblMgrTransaction.setColumnWidth(0, 158); m_TblMgrTransaction.setColumnWidth(1, 158); m_TblMgrTransaction.setColumnWidth(2, 158); m_TblMgrTransaction.setColumnWidth(3, 158); m_TblMgrTransaction.setColumnWidth(4, 158); m_TblMgrTransaction.setColumnWidth(5, 158); m_TblMgrTransaction.setColumnWidth(6, 158); m_TblMgrTransaction.getTable().setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); FwoDecimalNumberCell decimalNumberCell = new FwoDecimalNumberCell(new BigDecimal("0.00"), new BigDecimal("9999999999.99"), 2, 2, true); FwoWholeNumberCell numberCell = new FwoWholeNumberCell(new Integer(0), new Integer(99999)); m_TblMgrTransaction.setCustomCell(3, decimalNumberCell); m_TblMgrTransaction.setCustomCell(4, decimalNumberCell); m_TblMgrTransaction.setCustomCell(5, decimalNumberCell); } private void buildResultsetForPayment() { logger.debug("buildResultsetForPayment()"); final Locale currentLocale = ClientApplicationContext.getClientApplicationContext().getCurrentLocale(); final ResourceBundleReader resourceBundleReader = ApplicationContext.getInstance().getResourceBundleReader(); final String statusStamped = resourceBundleReader.getLocalizedText( ResourceBundleReader.UI, TsoConstant.FRM_CM_PAYMENT_HISTORY + STATUS_STAMPED,currentLocale); final String statusPartiallyStamped = resourceBundleReader.getLocalizedText( ResourceBundleReader.UI, TsoConstant.FRM_CM_PAYMENT_HISTORY + STATUS_PARTIALLY_STAMPED,currentLocale); String statusNotStamped = resourceBundleReader.getLocalizedText( ResourceBundleReader.UI, TsoConstant.FRM_CM_PAYMENT_HISTORY + STATUS_NOT_STAMPED,currentLocale); String statusCancelled = resourceBundleReader.getLocalizedText( ResourceBundleReader.UI, TsoConstant.FRM_CM_PAYMENT_HISTORY + STATUS_CANCELLED,currentLocale); Hashtable ht = new Hashtable(); // build Band Descriptor TsoGenericBandDescriptor bandDescriptor = new TsoGenericBandDescriptor( Sch_Tables.AR_PAYMENT, Sch_Tables.AR_PAYMENT); bandDescriptor.addColumn(Sch_ARPayment.ID, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARPayment.LOC, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARPayment.PAYMENT_DATE, DatatypeCodes.TYPE_DATE, true); bandDescriptor.addColumn(Sch_ARPayment.PAYMENT_REFERENCE, DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn("TRANSACTION_TYPE", DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn(Sch_ARPayment.CHECK_NUMBER, DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn(Sch_ARPayment.PAYMENT_AMOUNT, DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn("AMOUNT_APPLIED", DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn("STAMPED_AMOUNT", DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn(Sch_ARPayment.UNAPPLIED_AMOUNT, DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn(Sch_ARPayment.CUSTOMER_ID, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARPayment.DISCOUNT_TAKEN, DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn("INVOICE_ID", DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARPayment.REF_AR_PAYMENT_ORIGINATION_CD, DatatypeCodes.TYPE_STRING, true); // Bug fix 31998, 31999 bandDescriptor.addColumn(STAMPED, DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn(STATUS, DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn(Sch_ARPayment.BRANCH_NUMBER, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn("TENDER_TYPE", DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn(DB_CR, DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn("THIS_BRANCH", DatatypeCodes.TYPE_STRING, true); String sSQL = paymentQuery.replaceAll("\\?", String.valueOf(m_customerId)); logger.debug("SQL: " + sSQL); ht.put(com.gpc.tams.dso.dsoGeneric.SQL, sSQL); ht.put(com.gpc.tams.dso.dsoGeneric.BAND_DESCRIPTOR, bandDescriptor); try { SilverStreamExceptionHelper.invokeQuery(agcDSOPayment, ht); com.gpc.backofficecommon.util.TamsMisc.printRowCursorProperties(agcDSOPayment); } catch (ApplicationException e) { logger.error(e.toString(), e); } } private void buildResultsetForTransaction() { logger.debug("buildResultsetForTransaction()"); if (m_TblMgrPayment == null || m_TblMgrPayment.getSelectedRowRowCursor() == null) { return; } try { Hashtable ht = new Hashtable(); // build band descriptor for query TsoGenericBandDescriptor bandDescriptor = new TsoGenericBandDescriptor( Sch_Tables.AR_TRANSACTION, Sch_Tables.AR_TRANSACTION); bandDescriptor.addColumn(Sch_Tables.AR_TRANSACTION + PERIOD + Sch_ARTransaction.ID, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARTransaction.LOC, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARTransaction.TRANSACTION_DATE, DatatypeCodes.TYPE_DATE, true); bandDescriptor.addColumn(Sch_ARTransaction.TRANSACTION_REFERENCE, DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn(Sch_ARTransaction.GROSS_AMOUNT, DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn("AMOUNT_APPLIED", DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn(Sch_ARTransaction.CURRENT_BALANCE, DatatypeCodes.TYPE_NUMERIC, true); bandDescriptor.addColumn(Sch_ARTransaction.PO_OR_CHECK_NUMBER, DatatypeCodes.TYPE_STRING, true); bandDescriptor.addColumn(Sch_ARTransaction.CUSTOMER_ID, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARTransaction.REF_AR_TRANSACTION_TYPE_ID, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARTransaction.TRANSACTION_IDENTIFIER, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARTransaction.ACCOUNTING_DAY, DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(Sch_ARTransaction.SALES_YEAR_MONTH, DatatypeCodes.TYPE_DATE, true); bandDescriptor.addColumn("INVOICE_ID", DatatypeCodes.TYPE_INT, true); bandDescriptor.addColumn(ORIGINAL_TRANSACTION_DATE, DatatypeCodes.TYPE_DATE, true); bandDescriptor.addColumn(ORIGINAL_GROSS_AMOUNT, DatatypeCodes.TYPE_BIGDECIMAL, true); bandDescriptor.addColumn(Sch_ARTransaction.BRANCH_NUMBER, DatatypeCodes.TYPE_INT, true); String sSQL = null; if (CREDIT.equalsIgnoreCase(m_TblMgrPayment.getSelectedRowRowCursor().getProperty(DB_CR).toString())) { sSQL = transactionQueryCR.replace("?", (m_arPaymentId != null) ? String.valueOf(m_arPaymentId) : "NULL"); } else { sSQL = transactionQueryDB.replace("?", (m_arPaymentId != null) ? String.valueOf(m_arPaymentId) : "NULL"); } logger.debug("Transaction SQL = " + sSQL); ht.put(com.gpc.tams.dso.dsoGeneric.SQL, sSQL); ht.put(com.gpc.tams.dso.dsoGeneric.BAND_DESCRIPTOR, bandDescriptor); SilverStreamExceptionHelper.invokeQuery(agcDSOTransaction, ht); if (logger.isDebugEnabled()) com.gpc.backofficecommon.util.TamsMisc.printRowCursorProperties(agcDSOTransaction); } catch (Exception e) { logger.error("Error in buildSQLForPayment() : ", e); } } private void handle_tbl_open_transactions_focusLost(FocusEvent focusEvent) { m_bTblMgrPaymentHasFocus = false; m_bTblMgrTransactionHasFocus = true; } private void handle_tbl_open_transactions_mouseClicked(MouseEvent mouseEvent) { setSelectedTransactionDetails(); } private void handle_pbFindPayment_actionPerformed(ActionEvent evt) { // Create the Hashtable if it doesn't already exist if (m_findAR_PaymentParams == null) { m_findAR_PaymentParams = new Hashtable(); m_findAR_PaymentParams.put(FrmAR_FindPayment.CUSTOMER_NUM_NAME, "CUSTOMER_NUM"); m_findAR_PaymentParams.put(FrmAR_FindPayment.PAYMENT_DATE_NAME, Sch_ARPayment.PAYMENT_DATE); m_findAR_PaymentParams.put(FrmAR_FindPayment.TRANSACTION_NUM_NAME, Sch_ARPayment.PAYMENT_REFERENCE); m_findAR_PaymentParams .put(FrmAR_FindPayment.CHECK_NUM_NAME, Sch_ARPayment.CHECK_NUMBER); m_findAR_PaymentParams.put(FrmAR_FindPayment.DISABLE_CUSTOMER_NUM, "Y"); m_findAR_PaymentParams.put(FrmAR_FindPayment.TABLE_MGR, m_TblMgrPayment); } if (m_customerNumber != null) { m_findAR_PaymentParams.put(TsoConstant.KEY_CUSTOMER_NUMBER, m_customerNumber); } // Show the dialog. The dialog will automatically select the row in the JTable and scroll it // to the top. String title = ApplicationContext.getInstance().getResourceBundleReader().getLocalizedText( ResourceBundleReader.UI, TsoConstant.FRM_AR_FIND_PAYMENT + ".title", ClientApplicationContext.getClientApplicationContext().getCurrentLocale()); try { FwoSessionMgr.getInstance().getNavigationMgr().showFormDialog(this, TsoConstant.FRM_AR_FIND_PAYMENT, title, m_findAR_PaymentParams); } catch (Exception e) { TsoSystemMonitor.print(this, e); logger.error(e.getMessage(), e); } } private void handle_pbFindTransaction_actionPerformed(ActionEvent evt) { if (m_findAR_TransactionParams == null) { m_findAR_TransactionParams = new Hashtable(); m_findAR_TransactionParams.put(FrmAR_FindTransaction.TRANSACTION_DATE, Sch_ARTransaction.TRANSACTION_DATE); m_findAR_TransactionParams.put(FrmAR_FindTransaction.PO_NUM_NAME, Sch_ARTransaction.PO_OR_CHECK_NUMBER); m_findAR_TransactionParams.put(FrmAR_FindTransaction.TRANSACTION_NUM_NAME, Sch_ARTransaction.TRANSACTION_REFERENCE); m_findAR_TransactionParams.put(FrmAR_FindTransaction.TABLE_MGR, m_TblMgrTransaction); } String title = ApplicationContext.getInstance().getResourceBundleReader().getLocalizedText( ResourceBundleReader.UI, TsoConstant.FRM_AR_FIND_TRANSACTION + ".title", ClientApplicationContext.getClientApplicationContext().getCurrentLocale()); try { FwoSessionMgr.getInstance().getNavigationMgr().showFormDialog(this, TsoConstant.FRM_AR_FIND_TRANSACTION, title, m_findAR_TransactionParams); FM.formActivate(); tbl_open_transactions.requestFocus(); } catch (Exception e) { TsoSystemMonitor.print(this, e); logger.error(e.getMessage(), e); } } private void reInitalizeForm() { logger.debug("reInitalizeForm():)"); try { buildResultsetForPayment(); if (agcDSOPayment != null) { m_TblMgrPayment.initializeTable(agcDSOPayment, refElectronicInvoiceVendorIdExists ? m_displayableColPaymentMexico : m_displayableColPayment, null, null); } initialiseTablePayment(); int selectedRowPayment = 0; if (m_TblMgrPayment != null) { selectedRowPayment = m_TblMgrPayment.getSelectedRow(); } m_TblMgrPayment.changeSelectedRow(selectedRowPayment); // Enable and disable Apply Payment buttons depending on the record found if (m_TblMgrPayment != null && m_TblMgrPayment.getRowCount() > 0) { pbFindPayment.setEnabled(true); } else { pbFindPayment.setEnabled(false); } }catch(Exception e){ logger.error("Error in reInitializeForm() :", e); } } private void setSelectedTransactionDetails() { try { m_selectedRowTransaction = m_TblMgrTransaction.getSelectedRow(); logger.debug("m_selectedRowTransaction = " + m_selectedRowTransaction); AgiRowCursor rc = m_TblMgrTransaction.getSelectedRowRowCursor(); m_iTransactionId = (Integer) rc.getProperty(Sch_Tables.AR_TRANSACTION + PERIOD + Sch_ARTransaction.ID); m_iTransactionLoc = (Integer) rc.getProperty(Sch_ARTransaction.LOC); m_bdCurrentBalance = (BigDecimal) rc.getProperty(Sch_ARTransaction.CURRENT_BALANCE); m_bdGrossAmount = (BigDecimal) rc.getProperty(Sch_ARTransaction.GROSS_AMOUNT); logger.debug("m_iTransactionId = " + m_iTransactionId); } catch (Exception e) { logger.error("Error in setSelectedTransactionDetails() : ", e); } } public void mouseClicked(MouseEvent mouseEvent) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === Object src = mouseEvent.getSource(); if (src == tbl_open_transactions) { handle_tbl_open_transactions_mouseClicked(mouseEvent); return; } } public void mouseEntered(MouseEvent mouseEvent) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === } public void mouseExited(MouseEvent mouseEvent) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === } public void mousePressed(MouseEvent mouseEvent) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === } public void mouseReleased(MouseEvent mouseEvent) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === } public void focusGained(FocusEvent focusEvent) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === } public void focusLost(FocusEvent focusEvent) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === Object src = focusEvent.getSource(); if (src == tbl_open_transactions) { handle_tbl_open_transactions_focusLost(focusEvent); return; } } // Method added for Core Bank private void handle_pbPaymentViewTransaction_actionPerformed(ActionEvent evt) { m_selectedRowTransaction = m_TblMgrPayment.getSelectedRow(); AgiRowCursor rc = m_TblMgrPayment.getSelectedRowRowCursor(); m_arPaymentId = (Integer)rc.getProperty("ID"); buildTableTransaction(); } private void handle_pbViewTransaction_actionPerformed(ActionEvent evt) { try { m_selectedRowTransaction = m_TblMgrTransaction.getSelectedRow(); AgiRowCursor rc = m_TblMgrTransaction.getSelectedRowRowCursor(); Integer transactionTypeID = (Integer) rc .getProperty(Sch_ARTransaction.REF_AR_TRANSACTION_TYPE_ID); Integer transactionIdentifier = (Integer) rc .getProperty(Sch_ARTransaction.TRANSACTION_IDENTIFIER); Integer invoiceID = (Integer)rc.getProperty("INVOICE_ID"); if (transactionTypeID != null && transactionTypeID.intValue() == 1 && transactionIdentifier != null && transactionIdentifier.intValue() > 0) { String transactionReference = (String) rc .getProperty(Sch_ARTransaction.TRANSACTION_REFERENCE); int position = transactionReference.indexOf('-'); if (position != -1) { transactionReference = transactionReference.substring(0, position).trim(); } Integer customerId = (Integer) rc.getProperty(Sch_ARTransaction.CUSTOMER_ID); Integer invoiceNumber = Integer.valueOf(transactionReference); Integer accountingDay = (Integer) rc.getProperty(Sch_ARTransaction.ACCOUNTING_DAY); java.sql.Date salesYearMonth = (java.sql.Date) rc .getProperty(Sch_ARTransaction.SALES_YEAR_MONTH); java.sql.Date invoiceDate = (java.sql.Date) rc .getProperty(ORIGINAL_TRANSACTION_DATE); BigDecimal grossAmount = (BigDecimal) rc.getProperty(ORIGINAL_GROSS_AMOUNT); invoiceID = getInvoiceId(m_loc, invoiceNumber, customerId, invoiceDate, grossAmount, salesYearMonth, accountingDay); } if(invoiceID != null && transactionTypeID != null && transactionTypeID.intValue() == 1){ Hashtable hshParams = new Hashtable(); hshParams.put(TsoConstant.KEY_ID, invoiceID); hshParams.put(TsoConstant.KEY_LOC, m_loc); FwoSessionMgr.getInstance().getNavigationMgr().showFormDialog(this, TsoConstant.FRM_SA_VIEW_TRANSACTION, hshParams); FM.setComponentFocus(tbl_open_transactions); }else { if(transactionTypeID != null && transactionTypeID.intValue() == 2){ //Branch Invoice retreivingInvoice = true; getProgressModel().setComplete(false); FwoFormThread countThread = new FwoFormThread(this, "GET_DATA", FwoFormThread.CANCEL_ONLY_TYPE, ApplicationContext.getInstance().getResourceBundleReader().getLocalizedText( ResourceBundleReader.UI, "FrmAR_PaymentProcessing.INVOICE_PULLING_MESSAGE", ClientApplicationContext.getClientApplicationContext().getCurrentLocale()), null, false, false, 1.0, true); countThread.start(); try { countThread.join(); } catch (InterruptedException e) { logger.error(e); } if(isInvoiceRetreivalFailed) { ClientApplicationContext.getClientApplicationContext().getMessageMgr().showMessage(this, "10801"); isInvoiceRetreivalFailed = false;//Reset } retreivingInvoice = false; //Reset }else { ClientApplicationContext.getClientApplicationContext().getMessageMgr().showMessage(this,"7104"); } } } catch (AgoUnrecoverableSystemException e) { logger .error( "AgoUnrecoverableSystemException in handle_pbViewTransaction_actionPerformed(): ", e); } catch (AgoSecurityException e) { logger.error("AgoSecurityException in handle_pbViewTransaction_actionPerformed(): ", e); } catch (RemoteException e) { logger.error("RemoteException in handle_pbViewTransaction_actionPerformed(): ", e); } catch (IOException e) { logger.error("IOException in handle_pbViewTransaction_actionPerformed(): ", e); } catch (CreateException e) { logger.error("CreateException in handle_pbViewTransaction_actionPerformed(): ", e); } catch (ApplicationException e) { logger.error("ApplicationException in handle_pbViewTransaction_actionPerformed(): ", e); } catch(Exception e){ logger.error("Error in handle_pbViewTransaction_actionPerformed() : ", e); } } @Override public void cancelProcess() { } @Override public void pauseProcess() { // TODO Auto-generated method stub } @Override public void continueProcess() { // TODO Auto-generated method stub } @Override public void run() { try { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); if(retreivingInvoice) { String fileName = null; final byte prefix = '0'; m_selectedRowTransaction = m_TblMgrTransaction.getSelectedRow(); AgiRowCursor rc = m_TblMgrTransaction.getSelectedRowRowCursor(); String transactionReference = (String) rc .getProperty(Sch_ARTransaction.TRANSACTION_REFERENCE); if(transactionReference != null) { int position = transactionReference.indexOf('-'); if (position != -1) { transactionReference = transactionReference.substring(0, position).trim(); } } List invoiceNumbers = new ArrayList<>(); invoiceNumbers.add(transactionReference); Integer intScreenBranchStoreNumber = (Integer) rc .getProperty(Sch_ARTransaction.BRANCH_NUMBER); String screenBranchStoreNumber = intScreenBranchStoreNumber != null? intScreenBranchStoreNumber.toString():""; //Append 0's if screen branch number is less than 3 digits screenBranchStoreNumber = (screenBranchStoreNumber != null && !screenBranchStoreNumber.isEmpty() && screenBranchStoreNumber.length() < 3) ? StringUtils.padString( screenBranchStoreNumber, 3, prefix, true) : screenBranchStoreNumber; String originalBranchStoreNumber = getOriginalBranchStoreNumner(screenBranchStoreNumber); Integer customerNumber = Integer.parseInt(m_customerNumber); if((invoiceNumbers != null && invoiceNumbers.size()>0) && !originalBranchStoreNumber.isEmpty() && customerNumber != null) { fileName = m_storeTransmissionService.retrieveBranchInvoiceCopy(invoiceNumbers, originalBranchStoreNumber, customerNumber); if (fileName != null && !fileName.trim().isEmpty()) { moveInvoiceCopyToAccessibleLocation(fileName, originalBranchStoreNumber); } else { isInvoiceRetreivalFailed = true; } }else { isInvoiceRetreivalFailed = true; } } } finally { // reset cursor to the pointer cursor setCursor(Cursor.getDefaultCursor()); retreivingInvoice = false; } getProgressModel().setComplete(true); } public void actionPerformed(ActionEvent evt) { // ==== Warning: SilverStream-generated method: do not edit. All changes will be lost === Object src = evt.getSource(); if (src == pbViewTransaction) { handle_pbViewTransaction_actionPerformed(evt); return; } if (src == pbFindPayment) { handle_pbFindPayment_actionPerformed(evt); return; } if (src == pbFindTransaction) { handle_pbFindTransaction_actionPerformed(evt); return; } super.actionPerformed(evt); } public void doLayout() { } /** * This method returns invoice id. * * @param loc Location. * @param invoiceNumber Invoice number. * @param customerId Customer ID. * @param invoiceDate Invoice Date. * @param invoiceTotal Invoice Total. * @param salesYearMonth Sales Year Month. * @param accountingDay Accounting Day. * @return Invoice id. * @throws RemoteException if an error occurs. * @throws CreateException if an error occurs. * @throws ApplicationException if an error occurs. */ private Integer getInvoiceId(Integer loc, Integer invoiceNumber, Integer customerId, java.sql.Date invoiceDate, BigDecimal invoiceTotal, java.sql.Date salesYearMonth, Integer accountingDay) throws RemoteException, CreateException, ApplicationException { Integer invoiceId = null; SBInvoiceHome sbInvoiceHome = (SBInvoiceHome) FwoSessionMgr.getInstance().getBeanMgr() .lookupBean(SBInvoiceHome.class, false); SBInvoice sbInvoice = sbInvoiceHome.create(); invoiceId = sbInvoice.getInvoiceId(loc, invoiceNumber, customerId, invoiceDate, invoiceTotal, salesYearMonth, accountingDay); return invoiceId; } public void valueChanged(ListSelectionEvent event) { if (m_TblMgrPayment != null && m_TblMgrPayment.getSelectedRowRowCursor() != null) { m_selectedRowTransaction = m_TblMgrPayment.getSelectedRow(); if (m_selectedRowTransaction < 0) { m_TblMgrPayment.changeSelectedRow(0); m_selectedRowTransaction = m_TblMgrPayment.getSelectedRow(); } AgiRowCursor rc = m_TblMgrPayment.getSelectedRowRowCursor(); m_arPaymentId = (Integer) rc.getProperty("ID"); buildTableTransaction(); } } public com.gpc.frame.process.FwoBoundedRangeModel getProgressModel(){ if(m_brm == null){ m_brm = new com.gpc.frame.process.FwoBoundedRangeModel(0,0,1); } return m_brm; } private String getOriginalBranchStoreNumner(String screenBranchNum) { retreiveBranchStores(); String originalBranchStoreNumber = ""; for (ArTransmissionStoreVO arTransmissionStoreVO : arTransmissionStoreVOArray) { String branchStoreNumber = arTransmissionStoreVO.getStoreNumber() != null ? arTransmissionStoreVO.getStoreNumber() : EMPTY; if (branchStoreNumber != null && screenBranchNum != null && screenBranchNum.length() > 0 && branchStoreNumber.substring(branchStoreNumber.length() - screenBranchNum.length()).equals( screenBranchNum)) { originalBranchStoreNumber = branchStoreNumber; break; } } return originalBranchStoreNumber; } /** * This method move file to accessible location so Invoice can be open from TAMS. */ private void moveInvoiceCopyToAccessibleLocation(String fileName, String branchStoreNumber) { try { if(branchStoreNumber != null && !branchStoreNumber.isEmpty()) { Thread.sleep(5000); //Waiting 5 sec for branch invoice to arrive in Main. } if (fileName != null && !fileName.trim().isEmpty() && TsoReportHelper.moveInvoiceCopyToAccessibleLocation(fileName.trim(), TsoConstant.PAYMENT_PROCESSING_BRANCH_INVOICE_COPY).booleanValue()) { openInvoiceCopyInBrowser(); } else { isInvoiceRetreivalFailed = true; } } catch (java.rmi.RemoteException e) { logger.error("Exception in moveInvoiceCopyToAccessbleFolder", e); isInvoiceRetreivalFailed = true; EJBRemoteExceptionHelper.HandleRemoteException(e); } catch (InterruptedException e) { logger.error("InterruptedException in moveInvoiceCopyToAccessbleFolder", e); isInvoiceRetreivalFailed = true; } } private void retreiveBranchStores() { try { arTransmissionStoreVOArray = ArTransmissionRequestServiceFactory.getServiceInstance() .findArBranchStores(m_loc); } catch (ApplicationException ae) { logger.error(ae.toString(), ae); } } /** * This method opens Invoice PDF in browser. */ private void openInvoiceCopyInBrowser() { try { StringBuilder url = new StringBuilder(); url.append(HTTP_PROTOCAL); url.append(ApplicationContext.getInstance().getServerInfo().getHost()); url.append(PORT).append(EINVOICE_DIR); url.append(TsoConstant.PAYMENT_PROCESSING_BRANCH_INVOICE_COPY); Desktop desktop = java.awt.Desktop.getDesktop(); URI pdfFile = new URI(url.toString()); desktop.browse(pdfFile); } catch (Exception e) { logger.error(e.getMessage()); } } }