package com.fitbank.hb.persistence.soli;

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;

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TSOLICITUDOBSERVACIONES*/
public class Tobservationsolicitude extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TSOLICITUDOBSERVACIONES */
public static final String TABLE_NAME = "TSOLICITUDOBSERVACIONES";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tobservationsolicitude
*/
private TobservationsolicitudeKey pk;
/**
* Fecha desde la que esta vigente la observacion para la cuenta
*/
private Timestamp fdesde;

/**
* Codigo del oficial de credito que ingresa las observaciones
*/
private String cusuario;

/**
* Informacion del objetivo o proposito de la solicitud de la cuenta
*/
private String objetivo;

/**
* Planteamiento de la solicitud para porcentaje de repago
*/
private BigDecimal porcentajerepago;

/**
* Planteamiento de la solicitud para cada cuantos (dias) de repago
*/
private Integer cadacuantosdias;

/**
* Planteamiento de la solicitud para plazo total de repago
*/
private Integer plazototaldias;

/**
* Informacion de la situacion actual de la solicitud
*/
private String situacionactual;

/**
* Informacion de la situacion financiera
*/
private String situacionfinanciera;

/**
* Informacion de riesgos y garantias
*/
private String riesgogarantias;

/**
* Informacion de fortalezas y riesgos
*/
private String fortalezariesgo;

/**
* Recomendaciones
*/
private String recomendaciones;

/**
* Observaciones operativas de la aprobacion de la solicitud
*/
private String observacionesoperativas;

/**
* Monto de la observacion
*/
private BigDecimal montoobservacion;

/**
* Marca si la informacion es valida o no
*/
private String informacionvalida;

/**
* Codigo del usuario que verifico la informacion
*/
private String cusuario_verificacion;

/**
* Marca si la observacion esta marcada en la solicitud o no
*/
private String marcaobservacion;

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

/**
* Codigo del tipo de observacion.
*/
private String ctipoobservacion;

/**
* Codigo de la persona de la observacion.
*/
private Integer cpersona;

/**Contructor por defecto*/
public Tobservationsolicitude(){}
/**Contructor de Tobservationsolicitude
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la observacion para la cuenta
*/
public Tobservationsolicitude(TobservationsolicitudeKey pPk,Timestamp pFdesde){
 pk=pPk;
 fdesde=pFdesde;
}
/**Entrega la Clave primaria de Tobservationsolicitude
@return El objeto que referencia a la Clave primaria de Tobservationsolicitude
*/
public TobservationsolicitudeKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tobservationsolicitude
@param pPk El objeto que referencia a la nueva Clave primaria de Tobservationsolicitude
*/
public void setPk(TobservationsolicitudeKey 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 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 OBJETIVO="OBJETIVO";
/**Obtiene el valor de objetivo
@return valor de objetivo*/
public String getObjetivo(){
  return objetivo;
}
/**Fija el valor de objetivo
@param pObjetivo nuevo Valor de objetivo*/
public void setObjetivo(String pObjetivo){
  objetivo=pObjetivo;
}

public static final String PORCENTAJEREPAGO="PORCENTAJEREPAGO";
/**Obtiene el valor de porcentajerepago
@return valor de porcentajerepago*/
public BigDecimal getPorcentajerepago(){
  return porcentajerepago;
}
/**Fija el valor de porcentajerepago
@param pPorcentajerepago nuevo Valor de porcentajerepago*/
public void setPorcentajerepago(BigDecimal pPorcentajerepago){
  porcentajerepago=pPorcentajerepago;
}

public static final String CADACUANTOSDIAS="CADACUANTOSDIAS";
/**Obtiene el valor de cadacuantosdias
@return valor de cadacuantosdias*/
public Integer getCadacuantosdias(){
  return cadacuantosdias;
}
/**Fija el valor de cadacuantosdias
@param pCadacuantosdias nuevo Valor de cadacuantosdias*/
public void setCadacuantosdias(Integer pCadacuantosdias){
  cadacuantosdias=pCadacuantosdias;
}

public static final String PLAZOTOTALDIAS="PLAZOTOTALDIAS";
/**Obtiene el valor de plazototaldias
@return valor de plazototaldias*/
public Integer getPlazototaldias(){
  return plazototaldias;
}
/**Fija el valor de plazototaldias
@param pPlazototaldias nuevo Valor de plazototaldias*/
public void setPlazototaldias(Integer pPlazototaldias){
  plazototaldias=pPlazototaldias;
}

public static final String SITUACIONACTUAL="SITUACIONACTUAL";
/**Obtiene el valor de situacionactual
@return valor de situacionactual*/
public String getSituacionactual(){
  return situacionactual;
}
/**Fija el valor de situacionactual
@param pSituacionactual nuevo Valor de situacionactual*/
public void setSituacionactual(String pSituacionactual){
  situacionactual=pSituacionactual;
}

public static final String SITUACIONFINANCIERA="SITUACIONFINANCIERA";
/**Obtiene el valor de situacionfinanciera
@return valor de situacionfinanciera*/
public String getSituacionfinanciera(){
  return situacionfinanciera;
}
/**Fija el valor de situacionfinanciera
@param pSituacionfinanciera nuevo Valor de situacionfinanciera*/
public void setSituacionfinanciera(String pSituacionfinanciera){
  situacionfinanciera=pSituacionfinanciera;
}

public static final String RIESGOGARANTIAS="RIESGOGARANTIAS";
/**Obtiene el valor de riesgogarantias
@return valor de riesgogarantias*/
public String getRiesgogarantias(){
  return riesgogarantias;
}
/**Fija el valor de riesgogarantias
@param pRiesgogarantias nuevo Valor de riesgogarantias*/
public void setRiesgogarantias(String pRiesgogarantias){
  riesgogarantias=pRiesgogarantias;
}

public static final String FORTALEZARIESGO="FORTALEZARIESGO";
/**Obtiene el valor de fortalezariesgo
@return valor de fortalezariesgo*/
public String getFortalezariesgo(){
  return fortalezariesgo;
}
/**Fija el valor de fortalezariesgo
@param pFortalezariesgo nuevo Valor de fortalezariesgo*/
public void setFortalezariesgo(String pFortalezariesgo){
  fortalezariesgo=pFortalezariesgo;
}

public static final String RECOMENDACIONES="RECOMENDACIONES";
/**Obtiene el valor de recomendaciones
@return valor de recomendaciones*/
public String getRecomendaciones(){
  return recomendaciones;
}
/**Fija el valor de recomendaciones
@param pRecomendaciones nuevo Valor de recomendaciones*/
public void setRecomendaciones(String pRecomendaciones){
  recomendaciones=pRecomendaciones;
}

public static final String OBSERVACIONESOPERATIVAS="OBSERVACIONESOPERATIVAS";
/**Obtiene el valor de observacionesoperativas
@return valor de observacionesoperativas*/
public String getObservacionesoperativas(){
  return observacionesoperativas;
}
/**Fija el valor de observacionesoperativas
@param pObservacionesoperativas nuevo Valor de observacionesoperativas*/
public void setObservacionesoperativas(String pObservacionesoperativas){
  observacionesoperativas=pObservacionesoperativas;
}

public static final String MONTOOBSERVACION="MONTOOBSERVACION";
/**Obtiene el valor de montoobservacion
@return valor de montoobservacion*/
public BigDecimal getMontoobservacion(){
  return montoobservacion;
}
/**Fija el valor de montoobservacion
@param pMontoobservacion nuevo Valor de montoobservacion*/
public void setMontoobservacion(BigDecimal pMontoobservacion){
  montoobservacion=pMontoobservacion;
}

public static final String INFORMACIONVALIDA="INFORMACIONVALIDA";
/**Obtiene el valor de informacionvalida
@return valor de informacionvalida*/
public String getInformacionvalida(){
  return informacionvalida;
}
/**Fija el valor de informacionvalida
@param pInformacionvalida nuevo Valor de informacionvalida*/
public void setInformacionvalida(String pInformacionvalida){
  informacionvalida=pInformacionvalida;
}

public static final String CUSUARIO_VERIFICACION="CUSUARIO_VERIFICACION";
/**Obtiene el valor de cusuario_verificacion
@return valor de cusuario_verificacion*/
public String getCusuario_verificacion(){
  return cusuario_verificacion;
}
/**Fija el valor de cusuario_verificacion
@param pCusuario_verificacion nuevo Valor de cusuario_verificacion*/
public void setCusuario_verificacion(String pCusuario_verificacion){
  cusuario_verificacion=pCusuario_verificacion;
}

public static final String MARCAOBSERVACION="MARCAOBSERVACION";
/**Obtiene el valor de marcaobservacion
@return valor de marcaobservacion*/
public String getMarcaobservacion(){
  return marcaobservacion;
}
/**Fija el valor de marcaobservacion
@param pMarcaobservacion nuevo Valor de marcaobservacion*/
public void setMarcaobservacion(String pMarcaobservacion){
  marcaobservacion=pMarcaobservacion;
}

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 CTIPOOBSERVACION="CTIPOOBSERVACION";
/**Obtiene el valor de ctipoobservacion
@return valor de ctipoobservacion*/
public String getCtipoobservacion(){
  return ctipoobservacion;
}
/**Fija el valor de ctipoobservacion
@param pCtipoobservacion nuevo Valor de ctipoobservacion*/
public void setCtipoobservacion(String pCtipoobservacion){
  ctipoobservacion=pCtipoobservacion;
}

public static final String CPERSONA="CPERSONA";
/**Obtiene el valor de cpersona
@return valor de cpersona*/
public Integer getCpersona(){
  return cpersona;
}
/**Fija el valor de cpersona
@param pCpersona nuevo Valor de cpersona*/
public void setCpersona(Integer pCpersona){
  cpersona=pCpersona;
}

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