package com.fitbank.hb.persistence.person;

import com.fitbank.common.hb.AbstractExpire;
import java.io.Serializable;
import java.math.BigDecimal;
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 TPERSONACONTINGENTES*/
public class Tcontingentperson extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TPERSONACONTINGENTES */
public static final String TABLE_NAME = "TPERSONACONTINGENTES";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tcontingentperson
*/
private TcontingentpersonKey pk;
/**
* Fecha desde la que esta vigente la informacion de garantias otorgadas por una persona natural o juridica
*/
private Timestamp fdesde;

/**
* Codigo del tipo de garantia otorgada de una persona
*/
private String ctipogarantia;

/**
* Codigo de la persona de la institucion financiera del contingente cuando esta ingresada como persona
*/
private Integer cpersona_institucion;

/**
* Nombre de la institucion financiera del contingente cuando no se ha ingresado como persona
*/
private String nombreinstitucion;

/**
* Codigo de la garantia de personas
*/
private Integer cpersona_contingente;

/**
* Nombre de la pesona garantizada cuando no esta ingresada como persona
*/
private String nombrepersona;

/**
* Codigo de moneda del valor de la garantia otorgada por una persona natural o juridica
*/
private String cmoneda;

/**
* Monto original de la garantia
*/
private BigDecimal montooriginal;

/**
* Saldo de la garantia
*/
private BigDecimal saldocontingente;

/**
* Fecha del saldo de garantias de una persona natural
*/
private Date fsaldo;

/**
* Pago mensual realizado
*/
private BigDecimal pagomensual;

/**
* Fecha de vencimiento de la garantia otorgada por una persona natural o juridica
*/
private Date fvencimiento;

/**
* Codigo de imagen del documento de la garantia otorgada por una persona natural o juridica
*/
private Long cimagen;

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

/**
* Codigo de usuario que realiza el ingreso de la informacion
*/
private String cusuario_ingreso;

/**
* Codigo de usuario que realiza modificacion de la informacion
*/
private String cusuario_modificacion;

/**
* Fecha en la que se ingresa por primera vez los datos de contingentes de una persona natural o juridica
*/
private Date fingreso;

/**
* Fecha en la que se modifican los datos de contingentes de una persona natural o juridica
*/
private Date fmodificacion;

/**Contructor por defecto*/
public Tcontingentperson(){}
/**Contructor de Tcontingentperson
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la informacion de garantias otorgadas por una persona natural o juridica
*/
public Tcontingentperson(TcontingentpersonKey pPk,Timestamp pFdesde){
 pk=pPk;
 fdesde=pFdesde;
}
/**Entrega la Clave primaria de Tcontingentperson
@return El objeto que referencia a la Clave primaria de Tcontingentperson
*/
public TcontingentpersonKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tcontingentperson
@param pPk El objeto que referencia a la nueva Clave primaria de Tcontingentperson
*/
public void setPk(TcontingentpersonKey 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 CTIPOGARANTIA="CTIPOGARANTIA";
/**Obtiene el valor de ctipogarantia
@return valor de ctipogarantia*/
public String getCtipogarantia(){
  return ctipogarantia;
}
/**Fija el valor de ctipogarantia
@param pCtipogarantia nuevo Valor de ctipogarantia*/
public void setCtipogarantia(String pCtipogarantia){
  ctipogarantia=pCtipogarantia;
}

public static final String CPERSONA_INSTITUCION="CPERSONA_INSTITUCION";
/**Obtiene el valor de cpersona_institucion
@return valor de cpersona_institucion*/
public Integer getCpersona_institucion(){
  return cpersona_institucion;
}
/**Fija el valor de cpersona_institucion
@param pCpersona_institucion nuevo Valor de cpersona_institucion*/
public void setCpersona_institucion(Integer pCpersona_institucion){
  cpersona_institucion=pCpersona_institucion;
}

public static final String NOMBREINSTITUCION="NOMBREINSTITUCION";
/**Obtiene el valor de nombreinstitucion
@return valor de nombreinstitucion*/
public String getNombreinstitucion(){
  return nombreinstitucion;
}
/**Fija el valor de nombreinstitucion
@param pNombreinstitucion nuevo Valor de nombreinstitucion*/
public void setNombreinstitucion(String pNombreinstitucion){
  nombreinstitucion=pNombreinstitucion;
}

public static final String CPERSONA_CONTINGENTE="CPERSONA_CONTINGENTE";
/**Obtiene el valor de cpersona_contingente
@return valor de cpersona_contingente*/
public Integer getCpersona_contingente(){
  return cpersona_contingente;
}
/**Fija el valor de cpersona_contingente
@param pCpersona_contingente nuevo Valor de cpersona_contingente*/
public void setCpersona_contingente(Integer pCpersona_contingente){
  cpersona_contingente=pCpersona_contingente;
}

public static final String NOMBREPERSONA="NOMBREPERSONA";
/**Obtiene el valor de nombrepersona
@return valor de nombrepersona*/
public String getNombrepersona(){
  return nombrepersona;
}
/**Fija el valor de nombrepersona
@param pNombrepersona nuevo Valor de nombrepersona*/
public void setNombrepersona(String pNombrepersona){
  nombrepersona=pNombrepersona;
}

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 MONTOORIGINAL="MONTOORIGINAL";
/**Obtiene el valor de montooriginal
@return valor de montooriginal*/
public BigDecimal getMontooriginal(){
  return montooriginal;
}
/**Fija el valor de montooriginal
@param pMontooriginal nuevo Valor de montooriginal*/
public void setMontooriginal(BigDecimal pMontooriginal){
  montooriginal=pMontooriginal;
}

public static final String SALDOCONTINGENTE="SALDOCONTINGENTE";
/**Obtiene el valor de saldocontingente
@return valor de saldocontingente*/
public BigDecimal getSaldocontingente(){
  return saldocontingente;
}
/**Fija el valor de saldocontingente
@param pSaldocontingente nuevo Valor de saldocontingente*/
public void setSaldocontingente(BigDecimal pSaldocontingente){
  saldocontingente=pSaldocontingente;
}

public static final String FSALDO="FSALDO";
/**Obtiene el valor de fsaldo
@return valor de fsaldo*/
public Date getFsaldo(){
  return fsaldo;
}
/**Fija el valor de fsaldo
@param pFsaldo nuevo Valor de fsaldo*/
public void setFsaldo(Date pFsaldo){
  fsaldo=pFsaldo;
}

public static final String PAGOMENSUAL="PAGOMENSUAL";
/**Obtiene el valor de pagomensual
@return valor de pagomensual*/
public BigDecimal getPagomensual(){
  return pagomensual;
}
/**Fija el valor de pagomensual
@param pPagomensual nuevo Valor de pagomensual*/
public void setPagomensual(BigDecimal pPagomensual){
  pagomensual=pPagomensual;
}

public static final String FVENCIMIENTO="FVENCIMIENTO";
/**Obtiene el valor de fvencimiento
@return valor de fvencimiento*/
public Date getFvencimiento(){
  return fvencimiento;
}
/**Fija el valor de fvencimiento
@param pFvencimiento nuevo Valor de fvencimiento*/
public void setFvencimiento(Date pFvencimiento){
  fvencimiento=pFvencimiento;
}

public static final String CIMAGEN="CIMAGEN";
/**Obtiene el valor de cimagen
@return valor de cimagen*/
public Long getCimagen(){
  return cimagen;
}
/**Fija el valor de cimagen
@param pCimagen nuevo Valor de cimagen*/
public void setCimagen(Long pCimagen){
  cimagen=pCimagen;
}

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 CUSUARIO_INGRESO="CUSUARIO_INGRESO";
/**Obtiene el valor de cusuario_ingreso
@return valor de cusuario_ingreso*/
public String getCusuario_ingreso(){
  return cusuario_ingreso;
}
/**Fija el valor de cusuario_ingreso
@param pCusuario_ingreso nuevo Valor de cusuario_ingreso*/
public void setCusuario_ingreso(String pCusuario_ingreso){
  cusuario_ingreso=pCusuario_ingreso;
}

public static final String CUSUARIO_MODIFICACION="CUSUARIO_MODIFICACION";
/**Obtiene el valor de cusuario_modificacion
@return valor de cusuario_modificacion*/
public String getCusuario_modificacion(){
  return cusuario_modificacion;
}
/**Fija el valor de cusuario_modificacion
@param pCusuario_modificacion nuevo Valor de cusuario_modificacion*/
public void setCusuario_modificacion(String pCusuario_modificacion){
  cusuario_modificacion=pCusuario_modificacion;
}

public static final String FINGRESO="FINGRESO";
/**Obtiene el valor de fingreso
@return valor de fingreso*/
public Date getFingreso(){
  return fingreso;
}
/**Fija el valor de fingreso
@param pFingreso nuevo Valor de fingreso*/
public void setFingreso(Date pFingreso){
  fingreso=pFingreso;
}

public static final String FMODIFICACION="FMODIFICACION";
/**Obtiene el valor de fmodificacion
@return valor de fmodificacion*/
public Date getFmodificacion(){
  return fmodificacion;
}
/**Fija el valor de fmodificacion
@param pFmodificacion nuevo Valor de fmodificacion*/
public void setFmodificacion(Date pFmodificacion){
  fmodificacion=pFmodificacion;
}

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