package com.fitbank.hb.persistence.person;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TPERSONAESTATUSECONOMICO*/
public class Teconomicstatusperson extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TPERSONAESTATUSECONOMICO */
public static final String TABLE_NAME = "TPERSONAESTATUSECONOMICO";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Teconomicstatusperson
*/
private TeconomicstatuspersonKey pk;
/**
* Codigo del estatus economico de una persona natural o juridica
*/
private String cestatuseconomico;

/**
* Fecha desde la que esta vigente la informacion del estatus economico de la persona
*/
private Timestamp fdesde;

/**
* Fecha en la que se presento la demanda del caso
*/
private Date fdemanda;

/**
* Numero del caso en el que se instancia la demanda
*/
private String caso;

/**
* Fecha en la que se presento justificacion del caso
*/
private Date freclamacion;

/**
* Fecha en que la corte le quita la proteccion de quiebra al cliente, esto debido a que el cliente deja de pagar su plan de pago a la corte
*/
private Date fdesestimado;

/**
* Fecha en que el cliente termina de pagar el plan de pago cuando pasa eso ya la persona no debe nada pero los co-deudores si
*/
private Date fdescargado;

/**
* Fecha en que se radica el caso a la corte
*/
private Date fradicado;

/**
* Codigo persona del abogado que presenta la demanda
*/
private Integer cpersona_abogado;

/**
* Codigo de persona encargada en la corte de quiebra a determinar si es meritorio que la persona se debe ir a la quiebra
*/
private Integer cpersona_sindico;

/**
* Codigo del usuario que ingresa o modifica la informacion del estatus economico de la persona
*/
private String cusuario;

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

/**Contructor por defecto*/
public Teconomicstatusperson(){}
/**Contructor de Teconomicstatusperson
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la informacion del estatus economico de la persona
@param pCpersona_abogado Codigo persona del abogado que presenta la demanda
*/
public Teconomicstatusperson(TeconomicstatuspersonKey pPk,Timestamp pFdesde,Integer pCpersona_abogado){
 pk=pPk;
 fdesde=pFdesde;
 cpersona_abogado=pCpersona_abogado;
}
/**Entrega la Clave primaria de Teconomicstatusperson
@return El objeto que referencia a la Clave primaria de Teconomicstatusperson
*/
public TeconomicstatuspersonKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Teconomicstatusperson
@param pPk El objeto que referencia a la nueva Clave primaria de Teconomicstatusperson
*/
public void setPk(TeconomicstatuspersonKey pPk){
  pk=pPk;
}
public static final String CESTATUSECONOMICO="CESTATUSECONOMICO";
/**Obtiene el valor de cestatuseconomico
@return valor de cestatuseconomico*/
public String getCestatuseconomico(){
  return cestatuseconomico;
}
/**Fija el valor de cestatuseconomico
@param pCestatuseconomico nuevo Valor de cestatuseconomico*/
public void setCestatuseconomico(String pCestatuseconomico){
  cestatuseconomico=pCestatuseconomico;
}

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 FDEMANDA="FDEMANDA";
/**Obtiene el valor de fdemanda
@return valor de fdemanda*/
public Date getFdemanda(){
  return fdemanda;
}
/**Fija el valor de fdemanda
@param pFdemanda nuevo Valor de fdemanda*/
public void setFdemanda(Date pFdemanda){
  fdemanda=pFdemanda;
}

public static final String CASO="CASO";
/**Obtiene el valor de caso
@return valor de caso*/
public String getCaso(){
  return caso;
}
/**Fija el valor de caso
@param pCaso nuevo Valor de caso*/
public void setCaso(String pCaso){
  caso=pCaso;
}

public static final String FRECLAMACION="FRECLAMACION";
/**Obtiene el valor de freclamacion
@return valor de freclamacion*/
public Date getFreclamacion(){
  return freclamacion;
}
/**Fija el valor de freclamacion
@param pFreclamacion nuevo Valor de freclamacion*/
public void setFreclamacion(Date pFreclamacion){
  freclamacion=pFreclamacion;
}

public static final String FDESESTIMADO="FDESESTIMADO";
/**Obtiene el valor de fdesestimado
@return valor de fdesestimado*/
public Date getFdesestimado(){
  return fdesestimado;
}
/**Fija el valor de fdesestimado
@param pFdesestimado nuevo Valor de fdesestimado*/
public void setFdesestimado(Date pFdesestimado){
  fdesestimado=pFdesestimado;
}

public static final String FDESCARGADO="FDESCARGADO";
/**Obtiene el valor de fdescargado
@return valor de fdescargado*/
public Date getFdescargado(){
  return fdescargado;
}
/**Fija el valor de fdescargado
@param pFdescargado nuevo Valor de fdescargado*/
public void setFdescargado(Date pFdescargado){
  fdescargado=pFdescargado;
}

public static final String FRADICADO="FRADICADO";
/**Obtiene el valor de fradicado
@return valor de fradicado*/
public Date getFradicado(){
  return fradicado;
}
/**Fija el valor de fradicado
@param pFradicado nuevo Valor de fradicado*/
public void setFradicado(Date pFradicado){
  fradicado=pFradicado;
}

public static final String CPERSONA_ABOGADO="CPERSONA_ABOGADO";
/**Obtiene el valor de cpersona_abogado
@return valor de cpersona_abogado*/
public Integer getCpersona_abogado(){
  return cpersona_abogado;
}
/**Fija el valor de cpersona_abogado
@param pCpersona_abogado nuevo Valor de cpersona_abogado*/
public void setCpersona_abogado(Integer pCpersona_abogado){
  cpersona_abogado=pCpersona_abogado;
}

public static final String CPERSONA_SINDICO="CPERSONA_SINDICO";
/**Obtiene el valor de cpersona_sindico
@return valor de cpersona_sindico*/
public Integer getCpersona_sindico(){
  return cpersona_sindico;
}
/**Fija el valor de cpersona_sindico
@param pCpersona_sindico nuevo Valor de cpersona_sindico*/
public void setCpersona_sindico(Integer pCpersona_sindico){
  cpersona_sindico=pCpersona_sindico;
}

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

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