package com.fp.dto.fin; import java.math.BigDecimal; import java.sql.Date; import com.fp.dto.AbstractDataTransport; /** * Clase utilizada en el procesos de transacciones financieras. * * @author Jorge Vaca. * @version 2.1 */ public class FinancialItem extends AbstractDataTransport implements Cloneable { private static final long serialVersionUID = 1L; /** Codigo de rubro asociado a una transaccion monetaria. */ private Integer itemCode; /** * Numero de cuenta que se afecta con el rubro. Si el valor del atributo esta vacio se toma la cuenta que llega en * el FinancialRequest, dependiendo de la definicion del rubro si es debito o credito. */ private String account; /** Codigo de compania a la que pertenece la cuenta. */ private Integer companyAccount; /** * Numero de cuota de una tabla de pagos que se afecta, utilizado en cuentas que manejan tablas de pagos ejemplo * pago, prestamos. */ private Integer quotaNumber; /** * Secuencia interna de la cuota de una tabla de pagos que se afecta, utilizado en cuentas que manejan tablas de * pagos ejemplo pago, prestamos. */ private Integer quotaSequence; /** * Codigo contable que se afecta con el movimiento, si llega un valor en este atributo se respeta es valor * casocontrario el codigo contable lo obtiene la aplicacion. */ private String accountingCode; /** * Sucursal destino del movimiento, si afecta a una cuenta producto se toma la sucursal de la cuenta. tambien se * utiliza en el manejod e intersucursales. */ private Integer destinyBranch; /** * Oficina destino del movimiento, si afecta a una cuenta producto se toma la sucursal de la cuenta. tambien se * utiliza en el manejod e intersucursales. */ private Integer destinyOffice; /** * Sucursal origen del movimiento, si afecta a una cuenta producto se toma la sucursal de la cuenta. tambien se * utiliza en el manejod e intersucursales. */ private Integer originBranch; /** * Oficina origen del movimiento, si afecta a una cuenta producto se toma la sucursal de la cuenta. tambien se * utiliza en el manejod e intersucursales. */ private Integer originOffice; /** Monto de la transaccion */ private BigDecimal amount; /** Codigo de moneda en la que esta expresado el valor del rubro. */ private String currecy; /** * Estatus de la cuenta con el que se afecta el moviento, si es una cuneta producto, si llega en blanco se toma de * la cuenta producto */ private String accountStatus; /** * Indica que con el mismo rubro de la transaccion se va a registrar varios asientos en el journal, ejemplo, * registro de comprobantes contables, contabilizacion de cuotas de plazo fijo o prestamos. */ private boolean repeating = false; /** Tipo de sobregito , ejemplo CONTRACTED,OCASIONAL,INDIRECT, etc */ private String overdrawCatalog; /** Codigo de tabla de tipo de sobregiro OVERDRAWTYPE. */ private String overdrawCatalogCode; /** Codigo de tipo de credito que se afecta con la transaccion. */ private String creditType; /** Codigo de estatus de la operacion que se afecta con la transaccion. */ private String operationStatus; /** Fecha de inicio de la cuota o del sobregiro. */ private Date beginingDate; /** Fecha de vencimiento de la cuota o del sobregiro. */ private Date expirationDate; /** Indica si el tipo de saldo actualiza saldos. Ejm false, en contabilizacion de desembolso de un credito. */ private boolean updateBalance = true; /** * Cotizacion de compra o venta, con el cual se calcula el valor en moneda local para grabar en la tbala de journal. */ private BigDecimal exchangeQuote; /** Codigo de modulo utilizado en el registro contable de provisiones */ private String accountmodule; /** Codigo de producto utilizado en el registro contable de provisiones */ private String accountproduct; /** Codigo de subproducto utilizado en el registro contable de provisiones */ private String accountsubproduct; /** * Crea una instancia de FinancialItem, vacia. */ public FinancialItem() { } /** * Crea una instancia de FinancialItem. * * @param pItemCode Codigo de rubro con el cual se ejecuta la transaccion. * @param pAmount Monto en el que se afecta el rubro. * @param pCurrency Codigo de moneda en la que se expresa el monto del rubro. * @throws Exception */ public FinancialItem(Integer pItemCode, BigDecimal pAmount, String pCurrency) throws Exception { this.itemCode = pItemCode; this.amount = pAmount; this.currecy = pCurrency; } /** * Entrega una copia de la instancia de FinancialItem. * * @return FinancialItem * @throws CloneNotSupportedException */ public FinancialItem cloneMe() throws CloneNotSupportedException { return (FinancialItem) super.clone(); } /** * Entrega el valor de: itemCode * * @return Integer */ public Integer getItemCode() { return this.itemCode; } /** * Fija el valor de itemCode * * @param code */ public void setItemCode(Integer itemCode) { this.itemCode = itemCode; } /** * Entrega el valor de: account * * @return String */ public String getAccount() { return this.account; } /** * Fija el valor de account * * @param account */ public void setAccount(String account) { this.account = account; } /** * Entrega el valor de: companyAccount * * @return Integer */ public Integer getCompanyAccount() { return this.companyAccount; } /** * Fija el valor de companyAccount * * @param companyAccount */ public void setCompanyAccount(Integer companyAccount) { this.companyAccount = companyAccount; } /** * Entrega el valor de: quotaNumber * * @return Integer */ public Integer getQuotaNumber() { return this.quotaNumber; } /** * Fija el valor de quotaNumber * * @param quotaNumber */ public void setQuotaNumber(Integer quotaNumber) { this.quotaNumber = quotaNumber; } /** * Entrega el valor de: quotaSequence * * @return Integer */ public Integer getQuotaSequence() { return this.quotaSequence; } /** * Fija el valor de quotaSequence * * @param quotaSequence value to set */ public void setQuotaSequence(Integer quotaSequence) { this.quotaSequence = quotaSequence; } /** * Entrega el valor de: accountingCode * * @return String */ public String getAccountingCode() { return this.accountingCode; } /** * Fija el valor de accountingCode * * @param accountingCode */ public void setAccountingCode(String accountingCode) { this.accountingCode = accountingCode; } /** * Entrega el valor de: destinyBranch * * @return Integer */ public Integer getDestinyBranch() { return this.destinyBranch; } /** * Fija el valor de destinyBranch * * @param destinyBranch */ public void setDestinyBranch(Integer destinyBranch) { this.destinyBranch = destinyBranch; } /** * Entrega el valor de: destinyOffice * * @return Integer */ public Integer getDestinyOffice() { return this.destinyOffice; } /** * Fija el valor de destinyOffice * * @param destinyOffice */ public void setDestinyOffice(Integer destinyOffice) { this.destinyOffice = destinyOffice; } /** * Entrega el valor de: originBranch * * @return Integer */ public Integer getOriginBranch() { return this.originBranch; } /** * Fija el valor de: originBranch * * @param originBranch value to set */ public void setOriginBranch(Integer originBranch) { this.originBranch = originBranch; } /** * Entrega el valor de: originOffice * * @return Integer */ public Integer getOriginOffice() { return this.originOffice; } /** * Fija el valor de: originOffice * * @param originOffice value to set */ public void setOriginOffice(Integer originOffice) { this.originOffice = originOffice; } /** * Entrega el valor de: amount * * @return BigDecimal */ public BigDecimal getAmount() { return this.amount; } /** * Fija el valor de amount * * @param amount */ public void setAmount(BigDecimal amount) { this.amount = amount; } /** * Entrega el valor de: accountStatus * * @return String */ public String getAccountStatus() { return this.accountStatus; } /** * Fija el valor de accountStatus * * @param accountStatus */ public void setAccountStatus(String accountStatus) { this.accountStatus = accountStatus; } /** * Entrega el valor de: repeating * * @return boolean */ public boolean isRepeating() { return this.repeating; } /** * Fija el valor de: repeating * * @param repeating */ public void setRepeating(boolean repeating) { this.repeating = repeating; } /** * Entrega el valor de: currecy * * @return String */ public String getCurrecy() { return this.currecy; } /** * Fija el valor de: currecy * * @param currecy */ public void setCurrecy(String currecy) { this.currecy = currecy; } @Override public String toString() { String data = "itemCode:" + this.itemCode + " currecy:" + this.currecy + " account:" + this.account + " cia:" + this.companyAccount + " amount:" + this.amount + " qn: " + this.quotaNumber; return data; } /** * Entrega el valor de: overdrawCatalog * * @return String */ public String getOverdrawCatalog() { return this.overdrawCatalog; } /** * Fija el valor de overdrawCatalog * * @param overdrawCatalog value to set */ public void setOverdrawCatalog(String overdrawCatalog) { this.overdrawCatalog = overdrawCatalog; } /** * Entrega el valor de: overdrawCatalogCode * * @return String */ public String getOverdrawCatalogCode() { return this.overdrawCatalogCode; } /** * Fija el valor de overdrawCatalogCode * * @param overdrawCatalogCode value to set */ public void setOverdrawCatalogCode(String overdrawCatalogCode) { this.overdrawCatalogCode = overdrawCatalogCode; } /** * Entrega el valor de: creditType * * @return String */ public String getCreditType() { return this.creditType; } /** * Fija el valor de creditType * * @param creditType value to set */ public void setCreditType(String creditType) { this.creditType = creditType; } /** * Entrega el valor de: operationStatus * * @return String */ public String getOperationStatus() { return this.operationStatus; } /** * Fija el valor de: operationStatus * * @param operationStatus value to set */ public void setOperationStatus(String operationStatus) { this.operationStatus = operationStatus; } /** * Entrega el valor de: beginingDate * * @return Date */ public Date getBeginingDate() { return this.beginingDate; } /** * Fija el valor de beginingDate * * @param beginingDate value to set */ public void setBeginingDate(Date beginingDate) { this.beginingDate = beginingDate; } /** * Entrega el valor de: expirationDate * * @return Date */ public Date getExpirationDate() { return this.expirationDate; } /** * Fija el valor de expirationDate * * @param expirationDate value to set */ public void setExpirationDate(Date expirationDate) { this.expirationDate = expirationDate; } /** * Entrega el valor de: updateBalance * * @return boolean */ public boolean isUpdateBalance() { return this.updateBalance; } /** * Fija el valor de updateBalance * * @param updateBalance value to set */ public void setUpdateBalance(boolean updateBalance) { this.updateBalance = updateBalance; } /** * Entrega el valor de: exchangeQuote * * @return BigDecimal */ public BigDecimal getExchangeQuote() { return this.exchangeQuote; } /** * Fija el valor de: exchangeQuote * * @param exchangeQuote */ public void setExchangeQuote(BigDecimal exchangeQuote) { this.exchangeQuote = exchangeQuote; } /** * Entrega el valor de: accountmodule * * @return String */ public String getAccountmodule() { return this.accountmodule; } /** * Fija el valor de: accountmodule * * @param accountmodule value to set */ public void setAccountmodule(String accountmodule) { this.accountmodule = accountmodule; } /** * Entrega el valor de: accountproduct * * @return String */ public String getAccountproduct() { return this.accountproduct; } /** * Fija el valor de: accountproduct * * @param accountproduct value to set */ public void setAccountproduct(String accountproduct) { this.accountproduct = accountproduct; } /** * Entrega el valor de: accountsubproduct * * @return String */ public String getAccountsubproduct() { return this.accountsubproduct; } /** * Fija el valor de: accountsubproduct * * @param accountsubproduct value to set */ public void setAccountsubproduct(String accountsubproduct) { this.accountsubproduct = accountsubproduct; } }