package com.fitbank.hb.persistence.person;

import java.sql.Timestamp;
import java.io.Serializable;
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 TPERSONADOCUMENTOS*/
public class Tdocumentperson extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TPERSONADOCUMENTOS */
public static final String TABLE_NAME = "TPERSONADOCUMENTOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tdocumentperson
*/
private TdocumentpersonKey pk;
/**
* Codigo del tipo de persona
*/
private String ctipopersona;

/**
* Codigo del tipo de documento de personas naturales o juridicas
*/
private Integer ctipodocumentopersona;

/**
* Fecha desde la que esta vigente la informacion de documentos de una persona natural o juridica
*/
private Timestamp fdesde;

/**
* Numero del documento presentado por una persona natural o juridica
*/
private String numerodocumento;

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

/**
* Fecha de emision del documento
*/
private Date femision;

/**
* Fecha de caducidad del documento de una persona
*/
private Date fcaducidad;

/**
* Fecha de inscripcion o registro del documento
*/
private Date finscripcion;

/**
* Notaria en la que se ha realizado el registro o inscripcion
*/
private String notaria;

/**
* Codigo de pais de registro del documento
*/
private String cpais;

/**
* Codigo de provincia de registro del documento
*/
private String cprovincia;

/**
* Codigo de ciudad de registro del documento
*/
private String cciudad;

/**
* Fecha de entrega del documento
*/
private Date fentrega;

/**
* Codigo del usuario al que la persona entrega el documento
*/
private String cusuario_entrega;

/**
* Comentarios sobre el documento
*/
private String comentarios;

/**
* Secuencia del comentario sobre la persona natural o juridica generado por la caducidad del documento
*/
private Integer scomentario;

/**
* Numero de direccion asociada a la sucursal de una persona de la notaria
*/
private Integer numerodireccion;

/**
* Numero de tomo de registro del documento de la persona natural o juridica
*/
private Long numerotomo;

/**
* Numero de hoja de registro del documento de la persona natural o juridica
*/
private Long numerohoja;

/**
* Numero de registro del documento de la persona natural o juridica
*/
private Long numeroregistro;

/**
* Codigo de persona de la notaria en la que se ha realizado el registro o inscripcion del documento
*/
private Integer cpersona_notaria;

/**
* 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 la informacion del documento de la persona
*/
private Date fingreso;

/**
* Fecha en la que se modifican los datos del documento de una persona
*/
private Date fmodificacion;

/**
* Numero de ficha de registro del documento de la persona natural o juridica
*/
private Long numeroficha;

/**
* Numero de asiento de registro del documento de la persona natural o juridica
*/
private Long numeroasiento;

/**Contructor por defecto*/
public Tdocumentperson(){}
/**Contructor de Tdocumentperson
@param pPk Clave Primaria del entity
@param pCtipopersona Codigo del tipo de persona
@param pCtipodocumentopersona Codigo del tipo de documento de personas naturales o juridicas
@param pFdesde Fecha desde la que esta vigente la informacion de documentos de una persona natural o juridica
@param pNumerodocumento Numero del documento presentado por una persona natural o juridica
*/
public Tdocumentperson(TdocumentpersonKey pPk,String pCtipopersona,Integer pCtipodocumentopersona,Timestamp pFdesde,String pNumerodocumento){
 pk=pPk;
 ctipopersona=pCtipopersona;
 ctipodocumentopersona=pCtipodocumentopersona;
 fdesde=pFdesde;
 numerodocumento=pNumerodocumento;
}
/**Entrega la Clave primaria de Tdocumentperson
@return El objeto que referencia a la Clave primaria de Tdocumentperson
*/
public TdocumentpersonKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tdocumentperson
@param pPk El objeto que referencia a la nueva Clave primaria de Tdocumentperson
*/
public void setPk(TdocumentpersonKey pPk){
  pk=pPk;
}
public static final String CTIPOPERSONA="CTIPOPERSONA";
/**Obtiene el valor de ctipopersona
@return valor de ctipopersona*/
public String getCtipopersona(){
  return ctipopersona;
}
/**Fija el valor de ctipopersona
@param pCtipopersona nuevo Valor de ctipopersona*/
public void setCtipopersona(String pCtipopersona){
  ctipopersona=pCtipopersona;
}

public static final String CTIPODOCUMENTOPERSONA="CTIPODOCUMENTOPERSONA";
/**Obtiene el valor de ctipodocumentopersona
@return valor de ctipodocumentopersona*/
public Integer getCtipodocumentopersona(){
  return ctipodocumentopersona;
}
/**Fija el valor de ctipodocumentopersona
@param pCtipodocumentopersona nuevo Valor de ctipodocumentopersona*/
public void setCtipodocumentopersona(Integer pCtipodocumentopersona){
  ctipodocumentopersona=pCtipodocumentopersona;
}

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 NUMERODOCUMENTO="NUMERODOCUMENTO";
/**Obtiene el valor de numerodocumento
@return valor de numerodocumento*/
public String getNumerodocumento(){
  return numerodocumento;
}
/**Fija el valor de numerodocumento
@param pNumerodocumento nuevo Valor de numerodocumento*/
public void setNumerodocumento(String pNumerodocumento){
  numerodocumento=pNumerodocumento;
}

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 FEMISION="FEMISION";
/**Obtiene el valor de femision
@return valor de femision*/
public Date getFemision(){
  return femision;
}
/**Fija el valor de femision
@param pFemision nuevo Valor de femision*/
public void setFemision(Date pFemision){
  femision=pFemision;
}

public static final String FCADUCIDAD="FCADUCIDAD";
/**Obtiene el valor de fcaducidad
@return valor de fcaducidad*/
public Date getFcaducidad(){
  return fcaducidad;
}
/**Fija el valor de fcaducidad
@param pFcaducidad nuevo Valor de fcaducidad*/
public void setFcaducidad(Date pFcaducidad){
  fcaducidad=pFcaducidad;
}

public static final String FINSCRIPCION="FINSCRIPCION";
/**Obtiene el valor de finscripcion
@return valor de finscripcion*/
public Date getFinscripcion(){
  return finscripcion;
}
/**Fija el valor de finscripcion
@param pFinscripcion nuevo Valor de finscripcion*/
public void setFinscripcion(Date pFinscripcion){
  finscripcion=pFinscripcion;
}

public static final String NOTARIA="NOTARIA";
/**Obtiene el valor de notaria
@return valor de notaria*/
public String getNotaria(){
  return notaria;
}
/**Fija el valor de notaria
@param pNotaria nuevo Valor de notaria*/
public void setNotaria(String pNotaria){
  notaria=pNotaria;
}

public static final String CPAIS="CPAIS";
/**Obtiene el valor de cpais
@return valor de cpais*/
public String getCpais(){
  return cpais;
}
/**Fija el valor de cpais
@param pCpais nuevo Valor de cpais*/
public void setCpais(String pCpais){
  cpais=pCpais;
}

public static final String CPROVINCIA="CPROVINCIA";
/**Obtiene el valor de cprovincia
@return valor de cprovincia*/
public String getCprovincia(){
  return cprovincia;
}
/**Fija el valor de cprovincia
@param pCprovincia nuevo Valor de cprovincia*/
public void setCprovincia(String pCprovincia){
  cprovincia=pCprovincia;
}

public static final String CCIUDAD="CCIUDAD";
/**Obtiene el valor de cciudad
@return valor de cciudad*/
public String getCciudad(){
  return cciudad;
}
/**Fija el valor de cciudad
@param pCciudad nuevo Valor de cciudad*/
public void setCciudad(String pCciudad){
  cciudad=pCciudad;
}

public static final String FENTREGA="FENTREGA";
/**Obtiene el valor de fentrega
@return valor de fentrega*/
public Date getFentrega(){
  return fentrega;
}
/**Fija el valor de fentrega
@param pFentrega nuevo Valor de fentrega*/
public void setFentrega(Date pFentrega){
  fentrega=pFentrega;
}

public static final String CUSUARIO_ENTREGA="CUSUARIO_ENTREGA";
/**Obtiene el valor de cusuario_entrega
@return valor de cusuario_entrega*/
public String getCusuario_entrega(){
  return cusuario_entrega;
}
/**Fija el valor de cusuario_entrega
@param pCusuario_entrega nuevo Valor de cusuario_entrega*/
public void setCusuario_entrega(String pCusuario_entrega){
  cusuario_entrega=pCusuario_entrega;
}

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 SCOMENTARIO="SCOMENTARIO";
/**Obtiene el valor de scomentario
@return valor de scomentario*/
public Integer getScomentario(){
  return scomentario;
}
/**Fija el valor de scomentario
@param pScomentario nuevo Valor de scomentario*/
public void setScomentario(Integer pScomentario){
  scomentario=pScomentario;
}

public static final String NUMERODIRECCION="NUMERODIRECCION";
/**Obtiene el valor de numerodireccion
@return valor de numerodireccion*/
public Integer getNumerodireccion(){
  return numerodireccion;
}
/**Fija el valor de numerodireccion
@param pNumerodireccion nuevo Valor de numerodireccion*/
public void setNumerodireccion(Integer pNumerodireccion){
  numerodireccion=pNumerodireccion;
}

public static final String NUMEROTOMO="NUMEROTOMO";
/**Obtiene el valor de numerotomo
@return valor de numerotomo*/
public Long getNumerotomo(){
  return numerotomo;
}
/**Fija el valor de numerotomo
@param pNumerotomo nuevo Valor de numerotomo*/
public void setNumerotomo(Long pNumerotomo){
  numerotomo=pNumerotomo;
}

public static final String NUMEROHOJA="NUMEROHOJA";
/**Obtiene el valor de numerohoja
@return valor de numerohoja*/
public Long getNumerohoja(){
  return numerohoja;
}
/**Fija el valor de numerohoja
@param pNumerohoja nuevo Valor de numerohoja*/
public void setNumerohoja(Long pNumerohoja){
  numerohoja=pNumerohoja;
}

public static final String NUMEROREGISTRO="NUMEROREGISTRO";
/**Obtiene el valor de numeroregistro
@return valor de numeroregistro*/
public Long getNumeroregistro(){
  return numeroregistro;
}
/**Fija el valor de numeroregistro
@param pNumeroregistro nuevo Valor de numeroregistro*/
public void setNumeroregistro(Long pNumeroregistro){
  numeroregistro=pNumeroregistro;
}

public static final String CPERSONA_NOTARIA="CPERSONA_NOTARIA";
/**Obtiene el valor de cpersona_notaria
@return valor de cpersona_notaria*/
public Integer getCpersona_notaria(){
  return cpersona_notaria;
}
/**Fija el valor de cpersona_notaria
@param pCpersona_notaria nuevo Valor de cpersona_notaria*/
public void setCpersona_notaria(Integer pCpersona_notaria){
  cpersona_notaria=pCpersona_notaria;
}

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

public static final String NUMEROFICHA="NUMEROFICHA";
/**Obtiene el valor de numeroficha
@return valor de numeroficha*/
public Long getNumeroficha(){
  return numeroficha;
}
/**Fija el valor de numeroficha
@param pNumeroficha nuevo Valor de numeroficha*/
public void setNumeroficha(Long pNumeroficha){
  numeroficha=pNumeroficha;
}

public static final String NUMEROASIENTO="NUMEROASIENTO";
/**Obtiene el valor de numeroasiento
@return valor de numeroasiento*/
public Long getNumeroasiento(){
  return numeroasiento;
}
/**Fija el valor de numeroasiento
@param pNumeroasiento nuevo Valor de numeroasiento*/
public void setNumeroasiento(Long pNumeroasiento){
  numeroasiento=pNumeroasiento;
}

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