package com.fitbank.hb.persistence.soli;

import com.fitbank.common.hb.AbstractExpire;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.sql.Timestamp;
import java.sql.Date;
import java.math.BigDecimal;
import com.fitbank.common.TransportBean;

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TSOLICITUDLIQUIDACION*/
public class Tsolicitudeliquidation extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TSOLICITUDLIQUIDACION */
public static final String TABLE_NAME = "TSOLICITUDLIQUIDACION";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tsolicitudeliquidation
*/
private TsolicitudeliquidationKey pk;
/**
* Fecha desde la que estan vigentes los datos de la secuencia de liquidacion de la cuenta
*/
private Timestamp fdesde;

/**
* Fecha de liquidacion
*/
private Date fliquidacion;

/**
* Codigo del subsistema
*/
private String csubsistema;

/**
* Codigo de transaccion con la cual se realiza cobros de cargos comisiones o impuestos al momento de liquidar un credito.
*/
private String ctransaccion;

/**
* Version de transaccion con la cual se realiza cobros de cargos comisiones o impuestos al momento de liquidar un credito.
*/
private String versiontransaccion;

/**
* Secuencia de rubro dentro de la transaccion.
*/
private Integer rubro;

/**
* Porcentaje del tarifario al momento de la liquidacion
*/
private BigDecimal porcentajetarifario;

/**
* Tasa del tarifario al momento de la liquidacion
*/
private BigDecimal tasatarifario;

/**
* Valor del tarifario al momento de la liquidacion
*/
private BigDecimal valortarifario;

/**
* Porcentaje aplicado para el cobro
*/
private BigDecimal porcentajeaplicado;

/**
* Tasa aplicada para el cobro
*/
private BigDecimal tasataaplicada;

/**
* Valor aplicado para el cobro
*/
private BigDecimal valoraplicado;

/**
* Moneda del tarifario aplicado al momento del desglose
*/
private String cmoneda;

/**
* Fecha efectiva de aplicacion de los componentes
*/
private Timestamp fefectiva;

/**
* Marca si el valor se descuenta del capital de la operacion o no
*/
private String descuento;

/**
* Marca si el valor incrementa el capital de la operacion o no
*/
private String incremento;

/**
* Marca si el valor se incluira en las cuotas o no
*/
private String cuota;

/**
* Marca si el valor se debitara de una cuenta o no
*/
private String debito;

/**
* Marca si el valor se cobrara en caja o no
*/
private String caja;

/**
* Marca si el valor se cobrara por transferencia externa
*/
private String transferencia;

/**
* Define si el componente se distribuye en las cuotas o se calcula con el capital reducido
*/
private String distribuyecuota;

/**
* Numero de mensaje con el que se procesa la liquidacion del rubro en la cuenta
*/
private String numeromensaje;

/**
* Define si el valor se descuenta del monto a entregar o no
*/
private String disminuyeentrega;

/**
* Identifica si la categoria contable de la cuota lleva el saldo adeudado o solo el cobrado en la tabla de saldos
*/
private String registraensaldos;

/**
* Define si el valor se podra negociar o no
*/
private String negociable;

/**
* Define el numero de cuota desde la cual se realiza la distribucion
*/
private Integer cuotadesde;

/**
* Define el numero de cuota hasta la cual se realiza la distribucion
*/
private Integer cuotahasta;

/**
* Manejo de optimistic loking
*/
private Integer versioncontrol;

/**
* Valor total a distruibuir en las cuotas.
*/
private BigDecimal montoadistribuir;

/**
* Define si se debe aplicar el plazo de la operacion en el calculo del valor del rubro o no.
*/
private String aplicaplazo;

/**
* Plazo del tarifario para el calculo del rubro de cargo, comision o impuesto.
*/
private Integer plazotarifario;

/**
* Plazo aplicado para el calculo del  rubro de cargo, comision o impuesto.
*/
private Integer plazoaplicado;

/**
* Permite definir si el tarifario forma parte de la devolucion del Encaje
*/
private String encaje;

/**
* Permite definir si el tarifario debe considerarse para el calculo del TEA
*/
private String afectatea;

/**
* Permite excluir cargos por grupo y producto
*/
private String permiteexcluir;

/**Contructor por defecto*/
public Tsolicitudeliquidation(){}
/**Contructor de Tsolicitudeliquidation
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que estan vigentes los datos de la secuencia de liquidacion de la cuenta
*/
public Tsolicitudeliquidation(TsolicitudeliquidationKey pPk,Timestamp pFdesde){
 pk=pPk;
 fdesde=pFdesde;
}
/**Entrega la Clave primaria de Tsolicitudeliquidation
@return El objeto que referencia a la Clave primaria de Tsolicitudeliquidation
*/
public TsolicitudeliquidationKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tsolicitudeliquidation
@param pPk El objeto que referencia a la nueva Clave primaria de Tsolicitudeliquidation
*/
public void setPk(TsolicitudeliquidationKey pPk){
  pk=pPk;
}
public static final String FDESDE="FDESDE";
/**Obtiene el valor de fdesde
@return valor de fdesde*/
public Timestamp getFdesde(){
  return fdesde;
}
/**Fija el valor de fdesde
@param pFdesde nuevo Valor de fdesde*/
public void setFdesde(Timestamp pFdesde){
  fdesde=pFdesde;
}

public static final String FLIQUIDACION="FLIQUIDACION";
/**Obtiene el valor de fliquidacion
@return valor de fliquidacion*/
public Date getFliquidacion(){
  return fliquidacion;
}
/**Fija el valor de fliquidacion
@param pFliquidacion nuevo Valor de fliquidacion*/
public void setFliquidacion(Date pFliquidacion){
  fliquidacion=pFliquidacion;
}

public static final String CSUBSISTEMA="CSUBSISTEMA";
/**Obtiene el valor de csubsistema
@return valor de csubsistema*/
public String getCsubsistema(){
  return csubsistema;
}
/**Fija el valor de csubsistema
@param pCsubsistema nuevo Valor de csubsistema*/
public void setCsubsistema(String pCsubsistema){
  csubsistema=pCsubsistema;
}

public static final String CTRANSACCION="CTRANSACCION";
/**Obtiene el valor de ctransaccion
@return valor de ctransaccion*/
public String getCtransaccion(){
  return ctransaccion;
}
/**Fija el valor de ctransaccion
@param pCtransaccion nuevo Valor de ctransaccion*/
public void setCtransaccion(String pCtransaccion){
  ctransaccion=pCtransaccion;
}

public static final String VERSIONTRANSACCION="VERSIONTRANSACCION";
/**Obtiene el valor de versiontransaccion
@return valor de versiontransaccion*/
public String getVersiontransaccion(){
  return versiontransaccion;
}
/**Fija el valor de versiontransaccion
@param pVersiontransaccion nuevo Valor de versiontransaccion*/
public void setVersiontransaccion(String pVersiontransaccion){
  versiontransaccion=pVersiontransaccion;
}

public static final String RUBRO="RUBRO";
/**Obtiene el valor de rubro
@return valor de rubro*/
public Integer getRubro(){
  return rubro;
}
/**Fija el valor de rubro
@param pRubro nuevo Valor de rubro*/
public void setRubro(Integer pRubro){
  rubro=pRubro;
}

public static final String PORCENTAJETARIFARIO="PORCENTAJETARIFARIO";
/**Obtiene el valor de porcentajetarifario
@return valor de porcentajetarifario*/
public BigDecimal getPorcentajetarifario(){
  return porcentajetarifario;
}
/**Fija el valor de porcentajetarifario
@param pPorcentajetarifario nuevo Valor de porcentajetarifario*/
public void setPorcentajetarifario(BigDecimal pPorcentajetarifario){
  porcentajetarifario=pPorcentajetarifario;
}

public static final String TASATARIFARIO="TASATARIFARIO";
/**Obtiene el valor de tasatarifario
@return valor de tasatarifario*/
public BigDecimal getTasatarifario(){
  return tasatarifario;
}
/**Fija el valor de tasatarifario
@param pTasatarifario nuevo Valor de tasatarifario*/
public void setTasatarifario(BigDecimal pTasatarifario){
  tasatarifario=pTasatarifario;
}

public static final String VALORTARIFARIO="VALORTARIFARIO";
/**Obtiene el valor de valortarifario
@return valor de valortarifario*/
public BigDecimal getValortarifario(){
  return valortarifario;
}
/**Fija el valor de valortarifario
@param pValortarifario nuevo Valor de valortarifario*/
public void setValortarifario(BigDecimal pValortarifario){
  valortarifario=pValortarifario;
}

public static final String PORCENTAJEAPLICADO="PORCENTAJEAPLICADO";
/**Obtiene el valor de porcentajeaplicado
@return valor de porcentajeaplicado*/
public BigDecimal getPorcentajeaplicado(){
  return porcentajeaplicado;
}
/**Fija el valor de porcentajeaplicado
@param pPorcentajeaplicado nuevo Valor de porcentajeaplicado*/
public void setPorcentajeaplicado(BigDecimal pPorcentajeaplicado){
  porcentajeaplicado=pPorcentajeaplicado;
}

public static final String TASATAAPLICADA="TASATAAPLICADA";
/**Obtiene el valor de tasataaplicada
@return valor de tasataaplicada*/
public BigDecimal getTasataaplicada(){
  return tasataaplicada;
}
/**Fija el valor de tasataaplicada
@param pTasataaplicada nuevo Valor de tasataaplicada*/
public void setTasataaplicada(BigDecimal pTasataaplicada){
  tasataaplicada=pTasataaplicada;
}

public static final String VALORAPLICADO="VALORAPLICADO";
/**Obtiene el valor de valoraplicado
@return valor de valoraplicado*/
public BigDecimal getValoraplicado(){
  return valoraplicado;
}
/**Fija el valor de valoraplicado
@param pValoraplicado nuevo Valor de valoraplicado*/
public void setValoraplicado(BigDecimal pValoraplicado){
  valoraplicado=pValoraplicado;
}

public static final String CMONEDA="CMONEDA";
/**Obtiene el valor de cmoneda
@return valor de cmoneda*/
public String getCmoneda(){
  return cmoneda;
}
/**Fija el valor de cmoneda
@param pCmoneda nuevo Valor de cmoneda*/
public void setCmoneda(String pCmoneda){
  cmoneda=pCmoneda;
}

public static final String FEFECTIVA="FEFECTIVA";
/**Obtiene el valor de fefectiva
@return valor de fefectiva*/
public Timestamp getFefectiva(){
  return fefectiva;
}
/**Fija el valor de fefectiva
@param pFefectiva nuevo Valor de fefectiva*/
public void setFefectiva(Timestamp pFefectiva){
  fefectiva=pFefectiva;
}

public static final String DESCUENTO="DESCUENTO";
/**Obtiene el valor de descuento
@return valor de descuento*/
public String getDescuento(){
  return descuento;
}
/**Fija el valor de descuento
@param pDescuento nuevo Valor de descuento*/
public void setDescuento(String pDescuento){
  descuento=pDescuento;
}

public static final String INCREMENTO="INCREMENTO";
/**Obtiene el valor de incremento
@return valor de incremento*/
public String getIncremento(){
  return incremento;
}
/**Fija el valor de incremento
@param pIncremento nuevo Valor de incremento*/
public void setIncremento(String pIncremento){
  incremento=pIncremento;
}

public static final String CUOTA="CUOTA";
/**Obtiene el valor de cuota
@return valor de cuota*/
public String getCuota(){
  return cuota;
}
/**Fija el valor de cuota
@param pCuota nuevo Valor de cuota*/
public void setCuota(String pCuota){
  cuota=pCuota;
}

public static final String DEBITO="DEBITO";
/**Obtiene el valor de debito
@return valor de debito*/
public String getDebito(){
  return debito;
}
/**Fija el valor de debito
@param pDebito nuevo Valor de debito*/
public void setDebito(String pDebito){
  debito=pDebito;
}

public static final String CAJA="CAJA";
/**Obtiene el valor de caja
@return valor de caja*/
public String getCaja(){
  return caja;
}
/**Fija el valor de caja
@param pCaja nuevo Valor de caja*/
public void setCaja(String pCaja){
  caja=pCaja;
}

public static final String TRANSFERENCIA="TRANSFERENCIA";
/**Obtiene el valor de transferencia
@return valor de transferencia*/
public String getTransferencia(){
  return transferencia;
}
/**Fija el valor de transferencia
@param pTransferencia nuevo Valor de transferencia*/
public void setTransferencia(String pTransferencia){
  transferencia=pTransferencia;
}

public static final String DISTRIBUYECUOTA="DISTRIBUYECUOTA";
/**Obtiene el valor de distribuyecuota
@return valor de distribuyecuota*/
public String getDistribuyecuota(){
  return distribuyecuota;
}
/**Fija el valor de distribuyecuota
@param pDistribuyecuota nuevo Valor de distribuyecuota*/
public void setDistribuyecuota(String pDistribuyecuota){
  distribuyecuota=pDistribuyecuota;
}

public static final String NUMEROMENSAJE="NUMEROMENSAJE";
/**Obtiene el valor de numeromensaje
@return valor de numeromensaje*/
public String getNumeromensaje(){
  return numeromensaje;
}
/**Fija el valor de numeromensaje
@param pNumeromensaje nuevo Valor de numeromensaje*/
public void setNumeromensaje(String pNumeromensaje){
  numeromensaje=pNumeromensaje;
}

public static final String DISMINUYEENTREGA="DISMINUYEENTREGA";
/**Obtiene el valor de disminuyeentrega
@return valor de disminuyeentrega*/
public String getDisminuyeentrega(){
  return disminuyeentrega;
}
/**Fija el valor de disminuyeentrega
@param pDisminuyeentrega nuevo Valor de disminuyeentrega*/
public void setDisminuyeentrega(String pDisminuyeentrega){
  disminuyeentrega=pDisminuyeentrega;
}

public static final String REGISTRAENSALDOS="REGISTRAENSALDOS";
/**Obtiene el valor de registraensaldos
@return valor de registraensaldos*/
public String getRegistraensaldos(){
  return registraensaldos;
}
/**Fija el valor de registraensaldos
@param pRegistraensaldos nuevo Valor de registraensaldos*/
public void setRegistraensaldos(String pRegistraensaldos){
  registraensaldos=pRegistraensaldos;
}

public static final String NEGOCIABLE="NEGOCIABLE";
/**Obtiene el valor de negociable
@return valor de negociable*/
public String getNegociable(){
  return negociable;
}
/**Fija el valor de negociable
@param pNegociable nuevo Valor de negociable*/
public void setNegociable(String pNegociable){
  negociable=pNegociable;
}

public static final String CUOTADESDE="CUOTADESDE";
/**Obtiene el valor de cuotadesde
@return valor de cuotadesde*/
public Integer getCuotadesde(){
  return cuotadesde;
}
/**Fija el valor de cuotadesde
@param pCuotadesde nuevo Valor de cuotadesde*/
public void setCuotadesde(Integer pCuotadesde){
  cuotadesde=pCuotadesde;
}

public static final String CUOTAHASTA="CUOTAHASTA";
/**Obtiene el valor de cuotahasta
@return valor de cuotahasta*/
public Integer getCuotahasta(){
  return cuotahasta;
}
/**Fija el valor de cuotahasta
@param pCuotahasta nuevo Valor de cuotahasta*/
public void setCuotahasta(Integer pCuotahasta){
  cuotahasta=pCuotahasta;
}

public static final String VERSIONCONTROL="VERSIONCONTROL";
/**Obtiene el valor de versioncontrol
@return valor de versioncontrol*/
public Integer getVersioncontrol(){
  return versioncontrol;
}
/**Fija el valor de versioncontrol
@param pVersioncontrol nuevo Valor de versioncontrol*/
public void setVersioncontrol(Integer pVersioncontrol){
  versioncontrol=pVersioncontrol;
}

public static final String MONTOADISTRIBUIR="MONTOADISTRIBUIR";
/**Obtiene el valor de montoadistribuir
@return valor de montoadistribuir*/
public BigDecimal getMontoadistribuir(){
  return montoadistribuir;
}
/**Fija el valor de montoadistribuir
@param pMontoadistribuir nuevo Valor de montoadistribuir*/
public void setMontoadistribuir(BigDecimal pMontoadistribuir){
  montoadistribuir=pMontoadistribuir;
}

public static final String APLICAPLAZO="APLICAPLAZO";
/**Obtiene el valor de aplicaplazo
@return valor de aplicaplazo*/
public String getAplicaplazo(){
  return aplicaplazo;
}
/**Fija el valor de aplicaplazo
@param pAplicaplazo nuevo Valor de aplicaplazo*/
public void setAplicaplazo(String pAplicaplazo){
  aplicaplazo=pAplicaplazo;
}

public static final String PLAZOTARIFARIO="PLAZOTARIFARIO";
/**Obtiene el valor de plazotarifario
@return valor de plazotarifario*/
public Integer getPlazotarifario(){
  return plazotarifario;
}
/**Fija el valor de plazotarifario
@param pPlazotarifario nuevo Valor de plazotarifario*/
public void setPlazotarifario(Integer pPlazotarifario){
  plazotarifario=pPlazotarifario;
}

public static final String PLAZOAPLICADO="PLAZOAPLICADO";
/**Obtiene el valor de plazoaplicado
@return valor de plazoaplicado*/
public Integer getPlazoaplicado(){
  return plazoaplicado;
}
/**Fija el valor de plazoaplicado
@param pPlazoaplicado nuevo Valor de plazoaplicado*/
public void setPlazoaplicado(Integer pPlazoaplicado){
  plazoaplicado=pPlazoaplicado;
}

public static final String ENCAJE="ENCAJE";
/**Obtiene el valor de encaje
@return valor de encaje*/
public String getEncaje(){
  return encaje;
}
/**Fija el valor de encaje
@param pEncaje nuevo Valor de encaje*/
public void setEncaje(String pEncaje){
  encaje=pEncaje;
}

public static final String AFECTATEA="AFECTATEA";
/**Obtiene el valor de afectatea
@return valor de afectatea*/
public String getAfectatea(){
  return afectatea;
}
/**Fija el valor de afectatea
@param pAfectatea nuevo Valor de afectatea*/
public void setAfectatea(String pAfectatea){
  afectatea=pAfectatea;
}

public static final String PERMITEEXCLUIR="PERMITEEXCLUIR";
/**Obtiene el valor de permiteexcluir
@return valor de permiteexcluir*/
public String getPermiteexcluir(){
  return permiteexcluir;
}
/**Fija el valor de permiteexcluir
@param pPermiteexcluir nuevo Valor de permiteexcluir*/
public void setPermiteexcluir(String pPermiteexcluir){
  permiteexcluir=pPermiteexcluir;
}

/**Implementacion de la comparacion de la entidad Tsolicitudeliquidation
@param rhs Elemento de Comparacion
@return el resultado de la comparacion
*/
public boolean equals(Object rhs){
    if (rhs == null){return false;}
    if (! (rhs instanceof Tsolicitudeliquidation)){return false;}
    Tsolicitudeliquidation that = (Tsolicitudeliquidation) rhs;
    if (this.getPk() == null || that.getPk() == null){
        return false;}
    return (this.getPk().equals(that.getPk()));
}
/**Implementaciï¿½n del metodo hashCode de la la entidad Tsolicitudeliquidation
@return el hashCode la instancia
*/
public int hashCode()    {
    if (this.hashValue == 0){
        int result = 17;
        if (this.getPk() == null){
            result = super.hashCode();
        }else{
            result = this.getPk().hashCode();
        }
        this.hashValue = result;
    }
    return this.hashValue;
}
/**Implementaci�n toString
*/
public String toString() {
	Field[]fs=this.getClass().getDeclaredFields();
	String data="";
	for(Field f:fs){
	 try{	
	 String name=f.getName();
	 if(name.compareTo("hashValue")==0||name.compareTo("serialVersionUID")==0){continue;}
		data+=name+"="+f.get(this)+";";
	 }catch(Exception e){
		 continue;
	 }
		}
		if(data.compareTo("")==0){
		data=super.toString();
		}
	return data;
	}
/**Implementaci�n de la creaci�n de un bean en blancoTsolicitudeliquidation
*/
public Object createInstance() throws Exception{
 Tsolicitudeliquidation instance=new Tsolicitudeliquidation();	
 instance.setPk(new TsolicitudeliquidationKey());
 return instance;
}
public Object cloneMe() throws Exception{
  Tsolicitudeliquidation p=(Tsolicitudeliquidation)this.clone();
  p.setPk((TsolicitudeliquidationKey)this.pk.cloneMe());
  return p;
}
public Object getId() {
  return this.pk;
}
}
