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;
import java.sql.Date;

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

/**
* Fecha desde la que esta vigente la consulta de evaluacion de credito
*/
private Timestamp fdesde;

/**
* Codigo del usuario que solicita la evaluacion de credito
*/
private String cusuario;

/**
* Fecha de la evaluacion de credito
*/
private Date fevaluacion;

/**
* Numero de solicitud de evaluacion
*/
private Long solicitudid;

/**
* Numero unico de la evaluacion
*/
private Long scoreid;

/**
* Score obtenido
*/
private BigDecimal score;

/**
* Calificacion del score
*/
private String calificacion;

/**
* Probabilidad de incumplimiento
*/
private BigDecimal incumplimiento;

/**
* Monto total perdida
*/
private BigDecimal exposicion;

/**
* Perdida luego de ejercer cobranza
*/
private BigDecimal severidad;

/**
* Monto total de la perdida en funcion del riesgo
*/
private BigDecimal perdidaesperada;

/**
* Recomendacion del modelo matematico
*/
private String recomendacion;

/**
* Ingreso neto al momento de la solicitud de credito
*/
private BigDecimal ingresoneto;

/**
* Valor de la cuota solicitada
*/
private BigDecimal valorcuota;

/**
* Capacidad de pago estimada: Ingreso Neto - Valor cuota 
*/
private BigDecimal capacidadpago;

/**
* Porcentaje capacidad de pago Valor Cuota / Ingreso Neto
*/
private BigDecimal porcentaje;

/**
* Decision que toma el asesor de credito ACP = Aceptar, RCH = Rechazar, REA = Realizar
*/
private String decision;

/**
* Causal de la negacion de la operacion, definido por el comite de credito
*/
private String causal;

/**
* Saldo total de endeudamiento del solicitante
*/
private BigDecimal saldoadeudado;

/**
* Peor calificacion de riesgo que ha tenido al momento el solicitante
*/
private String peorcalificacion;

/**
* Codigo del factor para scoring
*/
private Integer cfactorscoring;

/**
* Guarda el total de desaprobados con factor indispensable
*/
private BigDecimal desaprobadosindispensable;

/**
* Guarda el total de desaprobados con factor estandar
*/
private BigDecimal desaprobadosestandar;

/**
* Guarda el total de desaprobados con factor critico.
*/
private BigDecimal desaprobadoscriticos;

/**
* Guarda el resultado final de la evaluacion.
*/
private String resultadofinal;

/**Contructor por defecto*/
public Tcreditevaluation(){}
/**Contructor de Tcreditevaluation
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la consulta de evaluacion de credito
@param pCusuario Codigo del usuario que solicita la evaluacion de credito
*/
public Tcreditevaluation(TcreditevaluationKey pPk,Timestamp pFdesde,String pCusuario){
 pk=pPk;
 fdesde=pFdesde;
 cusuario=pCusuario;
}
/**Entrega la Clave primaria de Tcreditevaluation
@return El objeto que referencia a la Clave primaria de Tcreditevaluation
*/
public TcreditevaluationKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tcreditevaluation
@param pPk El objeto que referencia a la nueva Clave primaria de Tcreditevaluation
*/
public void setPk(TcreditevaluationKey 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 FEVALUACION="FEVALUACION";
/**Obtiene el valor de fevaluacion
@return valor de fevaluacion*/
public Date getFevaluacion(){
  return fevaluacion;
}
/**Fija el valor de fevaluacion
@param pFevaluacion nuevo Valor de fevaluacion*/
public void setFevaluacion(Date pFevaluacion){
  fevaluacion=pFevaluacion;
}

public static final String SOLICITUDID="SOLICITUDID";
/**Obtiene el valor de solicitudid
@return valor de solicitudid*/
public Long getSolicitudid(){
  return solicitudid;
}
/**Fija el valor de solicitudid
@param pSolicitudid nuevo Valor de solicitudid*/
public void setSolicitudid(Long pSolicitudid){
  solicitudid=pSolicitudid;
}

public static final String SCOREID="SCOREID";
/**Obtiene el valor de scoreid
@return valor de scoreid*/
public Long getScoreid(){
  return scoreid;
}
/**Fija el valor de scoreid
@param pScoreid nuevo Valor de scoreid*/
public void setScoreid(Long pScoreid){
  scoreid=pScoreid;
}

public static final String SCORE="SCORE";
/**Obtiene el valor de score
@return valor de score*/
public BigDecimal getScore(){
  return score;
}
/**Fija el valor de score
@param pScore nuevo Valor de score*/
public void setScore(BigDecimal pScore){
  score=pScore;
}

public static final String CALIFICACION="CALIFICACION";
/**Obtiene el valor de calificacion
@return valor de calificacion*/
public String getCalificacion(){
  return calificacion;
}
/**Fija el valor de calificacion
@param pCalificacion nuevo Valor de calificacion*/
public void setCalificacion(String pCalificacion){
  calificacion=pCalificacion;
}

public static final String INCUMPLIMIENTO="INCUMPLIMIENTO";
/**Obtiene el valor de incumplimiento
@return valor de incumplimiento*/
public BigDecimal getIncumplimiento(){
  return incumplimiento;
}
/**Fija el valor de incumplimiento
@param pIncumplimiento nuevo Valor de incumplimiento*/
public void setIncumplimiento(BigDecimal pIncumplimiento){
  incumplimiento=pIncumplimiento;
}

public static final String EXPOSICION="EXPOSICION";
/**Obtiene el valor de exposicion
@return valor de exposicion*/
public BigDecimal getExposicion(){
  return exposicion;
}
/**Fija el valor de exposicion
@param pExposicion nuevo Valor de exposicion*/
public void setExposicion(BigDecimal pExposicion){
  exposicion=pExposicion;
}

public static final String SEVERIDAD="SEVERIDAD";
/**Obtiene el valor de severidad
@return valor de severidad*/
public BigDecimal getSeveridad(){
  return severidad;
}
/**Fija el valor de severidad
@param pSeveridad nuevo Valor de severidad*/
public void setSeveridad(BigDecimal pSeveridad){
  severidad=pSeveridad;
}

public static final String PERDIDAESPERADA="PERDIDAESPERADA";
/**Obtiene el valor de perdidaesperada
@return valor de perdidaesperada*/
public BigDecimal getPerdidaesperada(){
  return perdidaesperada;
}
/**Fija el valor de perdidaesperada
@param pPerdidaesperada nuevo Valor de perdidaesperada*/
public void setPerdidaesperada(BigDecimal pPerdidaesperada){
  perdidaesperada=pPerdidaesperada;
}

public static final String RECOMENDACION="RECOMENDACION";
/**Obtiene el valor de recomendacion
@return valor de recomendacion*/
public String getRecomendacion(){
  return recomendacion;
}
/**Fija el valor de recomendacion
@param pRecomendacion nuevo Valor de recomendacion*/
public void setRecomendacion(String pRecomendacion){
  recomendacion=pRecomendacion;
}

public static final String INGRESONETO="INGRESONETO";
/**Obtiene el valor de ingresoneto
@return valor de ingresoneto*/
public BigDecimal getIngresoneto(){
  return ingresoneto;
}
/**Fija el valor de ingresoneto
@param pIngresoneto nuevo Valor de ingresoneto*/
public void setIngresoneto(BigDecimal pIngresoneto){
  ingresoneto=pIngresoneto;
}

public static final String VALORCUOTA="VALORCUOTA";
/**Obtiene el valor de valorcuota
@return valor de valorcuota*/
public BigDecimal getValorcuota(){
  return valorcuota;
}
/**Fija el valor de valorcuota
@param pValorcuota nuevo Valor de valorcuota*/
public void setValorcuota(BigDecimal pValorcuota){
  valorcuota=pValorcuota;
}

public static final String CAPACIDADPAGO="CAPACIDADPAGO";
/**Obtiene el valor de capacidadpago
@return valor de capacidadpago*/
public BigDecimal getCapacidadpago(){
  return capacidadpago;
}
/**Fija el valor de capacidadpago
@param pCapacidadpago nuevo Valor de capacidadpago*/
public void setCapacidadpago(BigDecimal pCapacidadpago){
  capacidadpago=pCapacidadpago;
}

public static final String PORCENTAJE="PORCENTAJE";
/**Obtiene el valor de porcentaje
@return valor de porcentaje*/
public BigDecimal getPorcentaje(){
  return porcentaje;
}
/**Fija el valor de porcentaje
@param pPorcentaje nuevo Valor de porcentaje*/
public void setPorcentaje(BigDecimal pPorcentaje){
  porcentaje=pPorcentaje;
}

public static final String DECISION="DECISION";
/**Obtiene el valor de decision
@return valor de decision*/
public String getDecision(){
  return decision;
}
/**Fija el valor de decision
@param pDecision nuevo Valor de decision*/
public void setDecision(String pDecision){
  decision=pDecision;
}

public static final String CAUSAL="CAUSAL";
/**Obtiene el valor de causal
@return valor de causal*/
public String getCausal(){
  return causal;
}
/**Fija el valor de causal
@param pCausal nuevo Valor de causal*/
public void setCausal(String pCausal){
  causal=pCausal;
}

public static final String SALDOADEUDADO="SALDOADEUDADO";
/**Obtiene el valor de saldoadeudado
@return valor de saldoadeudado*/
public BigDecimal getSaldoadeudado(){
  return saldoadeudado;
}
/**Fija el valor de saldoadeudado
@param pSaldoadeudado nuevo Valor de saldoadeudado*/
public void setSaldoadeudado(BigDecimal pSaldoadeudado){
  saldoadeudado=pSaldoadeudado;
}

public static final String PEORCALIFICACION="PEORCALIFICACION";
/**Obtiene el valor de peorcalificacion
@return valor de peorcalificacion*/
public String getPeorcalificacion(){
  return peorcalificacion;
}
/**Fija el valor de peorcalificacion
@param pPeorcalificacion nuevo Valor de peorcalificacion*/
public void setPeorcalificacion(String pPeorcalificacion){
  peorcalificacion=pPeorcalificacion;
}

public static final String CFACTORSCORING="CFACTORSCORING";
/**Obtiene el valor de cfactorscoring
@return valor de cfactorscoring*/
public Integer getCfactorscoring(){
  return cfactorscoring;
}
/**Fija el valor de cfactorscoring
@param pCfactorscoring nuevo Valor de cfactorscoring*/
public void setCfactorscoring(Integer pCfactorscoring){
  cfactorscoring=pCfactorscoring;
}

public static final String DESAPROBADOSINDISPENSABLE="DESAPROBADOSINDISPENSABLE";
/**Obtiene el valor de desaprobadosindispensable
@return valor de desaprobadosindispensable*/
public BigDecimal getDesaprobadosindispensable(){
  return desaprobadosindispensable;
}
/**Fija el valor de desaprobadosindispensable
@param pDesaprobadosindispensable nuevo Valor de desaprobadosindispensable*/
public void setDesaprobadosindispensable(BigDecimal pDesaprobadosindispensable){
  desaprobadosindispensable=pDesaprobadosindispensable;
}

public static final String DESAPROBADOSESTANDAR="DESAPROBADOSESTANDAR";
/**Obtiene el valor de desaprobadosestandar
@return valor de desaprobadosestandar*/
public BigDecimal getDesaprobadosestandar(){
  return desaprobadosestandar;
}
/**Fija el valor de desaprobadosestandar
@param pDesaprobadosestandar nuevo Valor de desaprobadosestandar*/
public void setDesaprobadosestandar(BigDecimal pDesaprobadosestandar){
  desaprobadosestandar=pDesaprobadosestandar;
}

public static final String DESAPROBADOSCRITICOS="DESAPROBADOSCRITICOS";
/**Obtiene el valor de desaprobadoscriticos
@return valor de desaprobadoscriticos*/
public BigDecimal getDesaprobadoscriticos(){
  return desaprobadoscriticos;
}
/**Fija el valor de desaprobadoscriticos
@param pDesaprobadoscriticos nuevo Valor de desaprobadoscriticos*/
public void setDesaprobadoscriticos(BigDecimal pDesaprobadoscriticos){
  desaprobadoscriticos=pDesaprobadoscriticos;
}

public static final String RESULTADOFINAL="RESULTADOFINAL";
/**Obtiene el valor de resultadofinal
@return valor de resultadofinal*/
public String getResultadofinal(){
  return resultadofinal;
}
/**Fija el valor de resultadofinal
@param pResultadofinal nuevo Valor de resultadofinal*/
public void setResultadofinal(String pResultadofinal){
  resultadofinal=pResultadofinal;
}

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