package com.fp.sessionbeans.ejb.interfaces;

import java.math.BigDecimal;
import java.sql.Date;

import javax.ejb.Local;

import com.fp.dto.save.SaveRequest;

/**
 * Interface de ejb de contabilizacion de contabilizacion en cobis. 
 * @author Jorge Vaca.
 * @version 2.1
 */
@Local
public interface ContabilizaCobisLocal {

	/**
	 * Metodo que ejecuta la transaccion en cobis.
	 * @param pSaveRequest  Mensaje de entrada de ejecucion de la transaccion.
	 * @param pAmount  Monto de la afectacion contable.
	 * @param pCurrency MOneda de la afectacion contable.
	 * @param pProfile  Perfil de afectacion contable.
	 * @param pServer  Codigo de servidor cobis con el que se ejecuta una transaccion.
	 * @param pOffcie  Codigo de oficina cobis con la que se ejecuta la transaccion.
	 * @throws Exception
	 */
    public void process(SaveRequest pSaveRequest,BigDecimal pAmount,Integer pCurrency,String pProfile,
    		String pServer,Integer pOffcie,Integer pArea) 	throws Exception;

    /**
     * Metodo que se encarga de contabilizar valores del repositorio unico.
     * @param pSaveRequest  Datos del request original.
     * @param pServer  Nombre del servidor cobis.
     * @param pOffcie  Codigo de oficina.
     * @param pDate    Fecha de contabilizacion.
     * @param pUser  Codigo de usuario.
     * @param pTransaction  Codigo de transaccion cobis 2804,
     * @param pOperation  Codigo de operacion "C"
     * @param pProduct  Codigo de producto ach 33
     * @throws Exception
     */
    public void processRepository(SaveRequest pSaveRequest,String pServer,Integer pOffcie,
    		Date pDate,String pUser,Integer pTransaction,String pOperation,Integer pProduct) 	throws Exception;

}
