maia/.svn/pristine/28/287b66187c7083609b714466da3...

613 lines
15 KiB
Plaintext
Executable File

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;
}
}