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 TSOLICITUDPERSONAPRESTAMOS*/
public class Tsolicitudepersonloans extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TSOLICITUDPERSONAPRESTAMOS */
public static final String TABLE_NAME = "TSOLICITUDPERSONAPRESTAMOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tsolicitudepersonloans
*/
private TsolicitudepersonloansKey pk;
/**
* Manejo de optimistic locking.
*/
private Integer versioncontrol;

/**
* Fecha desde la que estan vigentes los datos de referencia de prestamos de una persona natural
*/
private Timestamp fdesde;

/**
* Codigo del tipo de prestamo del prestamo de referencia de una persona natural
*/
private String ctipoprestamo;

/**
* Codigo de moneda
*/
private String cmoneda;

/**
* Codigo de la frecuencia
*/
private Integer cfrecuencia;

/**
* Codigo de relacion del cliente con el producto
*/
private String crelacionproducto;

/**
* Codigo de persona de la empresa prestamista
*/
private Integer cpersona_empresaprestamista;

/**
* Monto original del prestamo
*/
private BigDecimal montooriginal;

/**
* Saldo del prestamo
*/
private BigDecimal saldoprestamo;

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

/**
* Pago mensual del prestamo
*/
private BigDecimal pagomensual;

/**
* Codigo de calificacion del prestamo en la entidad que otorgo el credito
*/
private String ccalificacioncredito;

/**
* Nombre del prestamista en caso de no estar ingresado como persona al sistema
*/
private String nombreprestamista;

/**
* 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;

/**
* Indica si el registro corresponde al negocio o no. 
*/
private String negocio;

/**
* Fecha de vencimiento de la operacion de credito
*/
private Date fvencimientoprestamo;

/**
* Plazo de la operacion de credito
*/
private Integer plazoprestamo;

/**
* Indica si la empres prestamista corresponde a un proveedor o no
*/
private String proveedor;

/**
* Numero de cuotas en los pasivos corriente y no corrientes
*/
private Integer numerocuotas;

/**
* Numero de cuotas pendientes en los pasivos corriente y no corrientes
*/
private Integer numerocuotaspendientes;

/**
* Fuente de la informacion del prestamo que indica si fue proporcionada por la institucion bancaria o el organismo de control.
*/
private String fuente;

/**
* Fecha del registro del organismo de control.
*/
private Date fregistro;

/**
* Detalle del producto de la empresa prestamista
*/
private String detalleproducto;

/**
* Indica si el registro es de C=Compra deuda, M=Modificada o I=Incluida.
*/
private String compradeuda;

/**
* Indica si el prestamo esta VIG=Vigente, VEN=Vencido, DEM=En Demanda.
*/
private String estadoprestamo;

/**
* Comentarios del registro del prestamo para indicar los motivos de anulacion o cambio de saldo.
*/
private String comentarios;

/**
* Valor de la cuota de la deuda comprada
*/
private BigDecimal cuotadeudacomprada;

/**
* Numero de la operacion de credito en la entidad que otorgo el credito.
*/
private String cuentaexterna;

/**Contructor por defecto*/
public Tsolicitudepersonloans(){}
/**Contructor de Tsolicitudepersonloans
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que estan vigentes los datos de referencia de prestamos de una persona natural
*/
public Tsolicitudepersonloans(TsolicitudepersonloansKey pPk,Timestamp pFdesde){
 pk=pPk;
 fdesde=pFdesde;
}
/**Entrega la Clave primaria de Tsolicitudepersonloans
@return El objeto que referencia a la Clave primaria de Tsolicitudepersonloans
*/
public TsolicitudepersonloansKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tsolicitudepersonloans
@param pPk El objeto que referencia a la nueva Clave primaria de Tsolicitudepersonloans
*/
public void setPk(TsolicitudepersonloansKey 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 CTIPOPRESTAMO="CTIPOPRESTAMO";
/**Obtiene el valor de ctipoprestamo
@return valor de ctipoprestamo*/
public String getCtipoprestamo(){
  return ctipoprestamo;
}
/**Fija el valor de ctipoprestamo
@param pCtipoprestamo nuevo Valor de ctipoprestamo*/
public void setCtipoprestamo(String pCtipoprestamo){
  ctipoprestamo=pCtipoprestamo;
}

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 CFRECUENCIA="CFRECUENCIA";
/**Obtiene el valor de cfrecuencia
@return valor de cfrecuencia*/
public Integer getCfrecuencia(){
  return cfrecuencia;
}
/**Fija el valor de cfrecuencia
@param pCfrecuencia nuevo Valor de cfrecuencia*/
public void setCfrecuencia(Integer pCfrecuencia){
  cfrecuencia=pCfrecuencia;
}

public static final String CRELACIONPRODUCTO="CRELACIONPRODUCTO";
/**Obtiene el valor de crelacionproducto
@return valor de crelacionproducto*/
public String getCrelacionproducto(){
  return crelacionproducto;
}
/**Fija el valor de crelacionproducto
@param pCrelacionproducto nuevo Valor de crelacionproducto*/
public void setCrelacionproducto(String pCrelacionproducto){
  crelacionproducto=pCrelacionproducto;
}

public static final String CPERSONA_EMPRESAPRESTAMISTA="CPERSONA_EMPRESAPRESTAMISTA";
/**Obtiene el valor de cpersona_empresaprestamista
@return valor de cpersona_empresaprestamista*/
public Integer getCpersona_empresaprestamista(){
  return cpersona_empresaprestamista;
}
/**Fija el valor de cpersona_empresaprestamista
@param pCpersona_empresaprestamista nuevo Valor de cpersona_empresaprestamista*/
public void setCpersona_empresaprestamista(Integer pCpersona_empresaprestamista){
  cpersona_empresaprestamista=pCpersona_empresaprestamista;
}

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 SALDOPRESTAMO="SALDOPRESTAMO";
/**Obtiene el valor de saldoprestamo
@return valor de saldoprestamo*/
public BigDecimal getSaldoprestamo(){
  return saldoprestamo;
}
/**Fija el valor de saldoprestamo
@param pSaldoprestamo nuevo Valor de saldoprestamo*/
public void setSaldoprestamo(BigDecimal pSaldoprestamo){
  saldoprestamo=pSaldoprestamo;
}

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 CCALIFICACIONCREDITO="CCALIFICACIONCREDITO";
/**Obtiene el valor de ccalificacioncredito
@return valor de ccalificacioncredito*/
public String getCcalificacioncredito(){
  return ccalificacioncredito;
}
/**Fija el valor de ccalificacioncredito
@param pCcalificacioncredito nuevo Valor de ccalificacioncredito*/
public void setCcalificacioncredito(String pCcalificacioncredito){
  ccalificacioncredito=pCcalificacioncredito;
}

public static final String NOMBREPRESTAMISTA="NOMBREPRESTAMISTA";
/**Obtiene el valor de nombreprestamista
@return valor de nombreprestamista*/
public String getNombreprestamista(){
  return nombreprestamista;
}
/**Fija el valor de nombreprestamista
@param pNombreprestamista nuevo Valor de nombreprestamista*/
public void setNombreprestamista(String pNombreprestamista){
  nombreprestamista=pNombreprestamista;
}

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 NEGOCIO="NEGOCIO";
/**Obtiene el valor de negocio
@return valor de negocio*/
public String getNegocio(){
  return negocio;
}
/**Fija el valor de negocio
@param pNegocio nuevo Valor de negocio*/
public void setNegocio(String pNegocio){
  negocio=pNegocio;
}

public static final String FVENCIMIENTOPRESTAMO="FVENCIMIENTOPRESTAMO";
/**Obtiene el valor de fvencimientoprestamo
@return valor de fvencimientoprestamo*/
public Date getFvencimientoprestamo(){
  return fvencimientoprestamo;
}
/**Fija el valor de fvencimientoprestamo
@param pFvencimientoprestamo nuevo Valor de fvencimientoprestamo*/
public void setFvencimientoprestamo(Date pFvencimientoprestamo){
  fvencimientoprestamo=pFvencimientoprestamo;
}

public static final String PLAZOPRESTAMO="PLAZOPRESTAMO";
/**Obtiene el valor de plazoprestamo
@return valor de plazoprestamo*/
public Integer getPlazoprestamo(){
  return plazoprestamo;
}
/**Fija el valor de plazoprestamo
@param pPlazoprestamo nuevo Valor de plazoprestamo*/
public void setPlazoprestamo(Integer pPlazoprestamo){
  plazoprestamo=pPlazoprestamo;
}

public static final String PROVEEDOR="PROVEEDOR";
/**Obtiene el valor de proveedor
@return valor de proveedor*/
public String getProveedor(){
  return proveedor;
}
/**Fija el valor de proveedor
@param pProveedor nuevo Valor de proveedor*/
public void setProveedor(String pProveedor){
  proveedor=pProveedor;
}

public static final String NUMEROCUOTAS="NUMEROCUOTAS";
/**Obtiene el valor de numerocuotas
@return valor de numerocuotas*/
public Integer getNumerocuotas(){
  return numerocuotas;
}
/**Fija el valor de numerocuotas
@param pNumerocuotas nuevo Valor de numerocuotas*/
public void setNumerocuotas(Integer pNumerocuotas){
  numerocuotas=pNumerocuotas;
}

public static final String NUMEROCUOTASPENDIENTES="NUMEROCUOTASPENDIENTES";
/**Obtiene el valor de numerocuotaspendientes
@return valor de numerocuotaspendientes*/
public Integer getNumerocuotaspendientes(){
  return numerocuotaspendientes;
}
/**Fija el valor de numerocuotaspendientes
@param pNumerocuotaspendientes nuevo Valor de numerocuotaspendientes*/
public void setNumerocuotaspendientes(Integer pNumerocuotaspendientes){
  numerocuotaspendientes=pNumerocuotaspendientes;
}

public static final String FUENTE="FUENTE";
/**Obtiene el valor de fuente
@return valor de fuente*/
public String getFuente(){
  return fuente;
}
/**Fija el valor de fuente
@param pFuente nuevo Valor de fuente*/
public void setFuente(String pFuente){
  fuente=pFuente;
}

public static final String FREGISTRO="FREGISTRO";
/**Obtiene el valor de fregistro
@return valor de fregistro*/
public Date getFregistro(){
  return fregistro;
}
/**Fija el valor de fregistro
@param pFregistro nuevo Valor de fregistro*/
public void setFregistro(Date pFregistro){
  fregistro=pFregistro;
}

public static final String DETALLEPRODUCTO="DETALLEPRODUCTO";
/**Obtiene el valor de detalleproducto
@return valor de detalleproducto*/
public String getDetalleproducto(){
  return detalleproducto;
}
/**Fija el valor de detalleproducto
@param pDetalleproducto nuevo Valor de detalleproducto*/
public void setDetalleproducto(String pDetalleproducto){
  detalleproducto=pDetalleproducto;
}

public static final String COMPRADEUDA="COMPRADEUDA";
/**Obtiene el valor de compradeuda
@return valor de compradeuda*/
public String getCompradeuda(){
  return compradeuda;
}
/**Fija el valor de compradeuda
@param pCompradeuda nuevo Valor de compradeuda*/
public void setCompradeuda(String pCompradeuda){
  compradeuda=pCompradeuda;
}

public static final String ESTADOPRESTAMO="ESTADOPRESTAMO";
/**Obtiene el valor de estadoprestamo
@return valor de estadoprestamo*/
public String getEstadoprestamo(){
  return estadoprestamo;
}
/**Fija el valor de estadoprestamo
@param pEstadoprestamo nuevo Valor de estadoprestamo*/
public void setEstadoprestamo(String pEstadoprestamo){
  estadoprestamo=pEstadoprestamo;
}

public static final String COMENTARIOS="COMENTARIOS";
/**Obtiene el valor de comentarios
@return valor de comentarios*/
public String getComentarios(){
  return comentarios;
}
/**Fija el valor de comentarios
@param pComentarios nuevo Valor de comentarios*/
public void setComentarios(String pComentarios){
  comentarios=pComentarios;
}

public static final String CUOTADEUDACOMPRADA="CUOTADEUDACOMPRADA";
/**Obtiene el valor de cuotadeudacomprada
@return valor de cuotadeudacomprada*/
public BigDecimal getCuotadeudacomprada(){
  return cuotadeudacomprada;
}
/**Fija el valor de cuotadeudacomprada
@param pCuotadeudacomprada nuevo Valor de cuotadeudacomprada*/
public void setCuotadeudacomprada(BigDecimal pCuotadeudacomprada){
  cuotadeudacomprada=pCuotadeudacomprada;
}

public static final String CUENTAEXTERNA="CUENTAEXTERNA";
/**Obtiene el valor de cuentaexterna
@return valor de cuentaexterna*/
public String getCuentaexterna(){
  return cuentaexterna;
}
/**Fija el valor de cuentaexterna
@param pCuentaexterna nuevo Valor de cuentaexterna*/
public void setCuentaexterna(String pCuentaexterna){
  cuentaexterna=pCuentaexterna;
}

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