package com.fitbank.hb.persistence.accounting;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TCONTROLVALIDACIONBALANCE*/
public class Tbalancevalidationcontrol extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TCONTROLVALIDACIONBALANCE */
public static final String TABLE_NAME = "TCONTROLVALIDACIONBALANCE";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tbalancevalidationcontrol
*/
private TbalancevalidationcontrolKey pk;
/**
* Manejo de optimistic locking.
*/
private Integer versioncontrol;

/**
* Fecha desdela que esta vigente el registro de validacion
*/
private Timestamp fdesde;

/**
* Codigo de usuario
*/
private String cusuario;

/**
* Indica si esta o no validado
*/
private String validado;

/**
* Fecha real de validacion 
*/
private Timestamp frealvalidacion;

/**
* Numero del comprobante contable
*/
private Long numerocomprobante_neteo;

/**
* Numero del comprobante contable generado
*/
private Long numerocomprobante_generado;

/**
* Tasa de interes aplicada
*/
private BigDecimal tasainteres;

/**Contructor por defecto*/
public Tbalancevalidationcontrol(){}
/**Contructor de Tbalancevalidationcontrol
@param pPk Clave Primaria del entity
@param pFdesde Fecha desdela que esta vigente el registro de validacion
@param pCusuario Codigo de usuario
@param pNumerocomprobante_neteo Numero del comprobante contable
@param pNumerocomprobante_generado Numero del comprobante contable generado
*/
public Tbalancevalidationcontrol(TbalancevalidationcontrolKey pPk,Timestamp pFdesde,String pCusuario,Long pNumerocomprobante_neteo,Long pNumerocomprobante_generado){
 pk=pPk;
 fdesde=pFdesde;
 cusuario=pCusuario;
 numerocomprobante_neteo=pNumerocomprobante_neteo;
 numerocomprobante_generado=pNumerocomprobante_generado;
}
/**Entrega la Clave primaria de Tbalancevalidationcontrol
@return El objeto que referencia a la Clave primaria de Tbalancevalidationcontrol
*/
public TbalancevalidationcontrolKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tbalancevalidationcontrol
@param pPk El objeto que referencia a la nueva Clave primaria de Tbalancevalidationcontrol
*/
public void setPk(TbalancevalidationcontrolKey pPk){
  pk=pPk;
}
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 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 CUSUARIO="CUSUARIO";
/**Obtiene el valor de cusuario
@return valor de cusuario*/
public String getCusuario(){
  return cusuario;
}
/**Fija el valor de cusuario
@param pCusuario nuevo Valor de cusuario*/
public void setCusuario(String pCusuario){
  cusuario=pCusuario;
}

public static final String VALIDADO="VALIDADO";
/**Obtiene el valor de validado
@return valor de validado*/
public String getValidado(){
  return validado;
}
/**Fija el valor de validado
@param pValidado nuevo Valor de validado*/
public void setValidado(String pValidado){
  validado=pValidado;
}

public static final String FREALVALIDACION="FREALVALIDACION";
/**Obtiene el valor de frealvalidacion
@return valor de frealvalidacion*/
public Timestamp getFrealvalidacion(){
  return frealvalidacion;
}
/**Fija el valor de frealvalidacion
@param pFrealvalidacion nuevo Valor de frealvalidacion*/
public void setFrealvalidacion(Timestamp pFrealvalidacion){
  frealvalidacion=pFrealvalidacion;
}

public static final String NUMEROCOMPROBANTE_NETEO="NUMEROCOMPROBANTE_NETEO";
/**Obtiene el valor de numerocomprobante_neteo
@return valor de numerocomprobante_neteo*/
public Long getNumerocomprobante_neteo(){
  return numerocomprobante_neteo;
}
/**Fija el valor de numerocomprobante_neteo
@param pNumerocomprobante_neteo nuevo Valor de numerocomprobante_neteo*/
public void setNumerocomprobante_neteo(Long pNumerocomprobante_neteo){
  numerocomprobante_neteo=pNumerocomprobante_neteo;
}

public static final String NUMEROCOMPROBANTE_GENERADO="NUMEROCOMPROBANTE_GENERADO";
/**Obtiene el valor de numerocomprobante_generado
@return valor de numerocomprobante_generado*/
public Long getNumerocomprobante_generado(){
  return numerocomprobante_generado;
}
/**Fija el valor de numerocomprobante_generado
@param pNumerocomprobante_generado nuevo Valor de numerocomprobante_generado*/
public void setNumerocomprobante_generado(Long pNumerocomprobante_generado){
  numerocomprobante_generado=pNumerocomprobante_generado;
}

public static final String TASAINTERES="TASAINTERES";
/**Obtiene el valor de tasainteres
@return valor de tasainteres*/
public BigDecimal getTasainteres(){
  return tasainteres;
}
/**Fija el valor de tasainteres
@param pTasainteres nuevo Valor de tasainteres*/
public void setTasainteres(BigDecimal pTasainteres){
  tasainteres=pTasainteres;
}

/**Implementacion de la comparacion de la entidad Tbalancevalidationcontrol
@param rhs Elemento de Comparacion
@return el resultado de la comparacion
*/
public boolean equals(Object rhs){
    if (rhs == null){return false;}
    if (! (rhs instanceof Tbalancevalidationcontrol)){return false;}
    Tbalancevalidationcontrol that = (Tbalancevalidationcontrol) 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 Tbalancevalidationcontrol
@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 blancoTbalancevalidationcontrol
*/
public Object createInstance() throws Exception{
 Tbalancevalidationcontrol instance=new Tbalancevalidationcontrol();	
 instance.setPk(new TbalancevalidationcontrolKey());
 return instance;
}
public Object cloneMe() throws Exception{
  Tbalancevalidationcontrol p=(Tbalancevalidationcontrol)this.clone();
  p.setPk((TbalancevalidationcontrolKey)this.pk.cloneMe());
  return p;
}
public Object getId() {
  return this.pk;
}
}
