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 TPERSONAVISITAS*/
public class Tvisitperson extends AbstractExpire  implements Serializable,TransportBean,Cloneable,com.fitbank.common.hb.AbstractId {
/** Nombre de la Tabla TPERSONAVISITAS */
public static final String TABLE_NAME = "TPERSONAVISITAS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tvisitperson
*/
private TvisitpersonKey pk;
/**
* Fecha desde la que esta vigente los datos del informe de la visita a una persona natural o juridica
*/
private Timestamp fdesde;

/**
* Codigo del usuario que ingreso o modifico el informe de la visita a una persona natural o juridica
*/
private String cusuario;

/**
* Participantes en el informe de la visita a una persona natural o juridica
*/
private String participantes;

/**
* Proposito del informe de la visita a una persona natural o juridica
*/
private String proposito;

/**
* Desarrollo del informe de la visita a una persona natural o juridica
*/
private String desarrollo;

/**
* Relevamiento de los aspectos economicos realizado en la visita a una persona natural o juridica
*/
private String aspectoseconomicos;

/**
* Relevamiento de los riesgos principales realizado en la visita a una persona natural o juridica
*/
private String riesgosprincipales;

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

/**Contructor por defecto*/
public Tvisitperson(){}
/**Contructor de Tvisitperson
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente los datos del informe de la visita a una persona natural o juridica
@param pCusuario Codigo del usuario que ingreso o modifico el informe de la visita a una persona natural o juridica
*/
public Tvisitperson(TvisitpersonKey pPk,Timestamp pFdesde,String pCusuario){
 pk=pPk;
 fdesde=pFdesde;
 cusuario=pCusuario;
}
/**Entrega la Clave primaria de Tvisitperson
@return El objeto que referencia a la Clave primaria de Tvisitperson
*/
public TvisitpersonKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tvisitperson
@param pPk El objeto que referencia a la nueva Clave primaria de Tvisitperson
*/
public void setPk(TvisitpersonKey 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 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 PARTICIPANTES="PARTICIPANTES";
/**Obtiene el valor de participantes
@return valor de participantes*/
public String getParticipantes(){
  return participantes;
}
/**Fija el valor de participantes
@param pParticipantes nuevo Valor de participantes*/
public void setParticipantes(String pParticipantes){
  participantes=pParticipantes;
}

public static final String PROPOSITO="PROPOSITO";
/**Obtiene el valor de proposito
@return valor de proposito*/
public String getProposito(){
  return proposito;
}
/**Fija el valor de proposito
@param pProposito nuevo Valor de proposito*/
public void setProposito(String pProposito){
  proposito=pProposito;
}

public static final String DESARROLLO="DESARROLLO";
/**Obtiene el valor de desarrollo
@return valor de desarrollo*/
public String getDesarrollo(){
  return desarrollo;
}
/**Fija el valor de desarrollo
@param pDesarrollo nuevo Valor de desarrollo*/
public void setDesarrollo(String pDesarrollo){
  desarrollo=pDesarrollo;
}

public static final String ASPECTOSECONOMICOS="ASPECTOSECONOMICOS";
/**Obtiene el valor de aspectoseconomicos
@return valor de aspectoseconomicos*/
public String getAspectoseconomicos(){
  return aspectoseconomicos;
}
/**Fija el valor de aspectoseconomicos
@param pAspectoseconomicos nuevo Valor de aspectoseconomicos*/
public void setAspectoseconomicos(String pAspectoseconomicos){
  aspectoseconomicos=pAspectoseconomicos;
}

public static final String RIESGOSPRINCIPALES="RIESGOSPRINCIPALES";
/**Obtiene el valor de riesgosprincipales
@return valor de riesgosprincipales*/
public String getRiesgosprincipales(){
  return riesgosprincipales;
}
/**Fija el valor de riesgosprincipales
@param pRiesgosprincipales nuevo Valor de riesgosprincipales*/
public void setRiesgosprincipales(String pRiesgosprincipales){
  riesgosprincipales=pRiesgosprincipales;
}

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