package com.fitbank.hb.persistence.person;

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 TPERSONACOMENTARIOS*/
public class Tcommentperson extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TPERSONACOMENTARIOS */
public static final String TABLE_NAME = "TPERSONACOMENTARIOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tcommentperson
*/
private TcommentpersonKey pk;
/**
* Fecha desde la que estan vigentes el comentario sobre la persona
*/
private Timestamp fdesde;

/**
* Codigo identificativo del comentario
*/
private String ccodigocomentario;

/**
* Tipos de comentario que clasifican a los codigos de comentario en Internos, Externos, Mercadeo.
*/
private String ctipocomentario;

/**
* Codigo de usuario
*/
private String cusuario;

/**
* Comentario sobre la persona
*/
private String comentario;

/**
* Fecha de ingreso del comentario
*/
private Date fingreso;

/**
* Fecha de caducidad del comentario
*/
private Date fcaducidad;

/**
* Estado del Comentario ING=Ingresado,ANU=Anulado,IMP=Impreso
*/
private String estadocomentario;

/**
* Contador de alertas cuando el mensaje es repetitivo
*/
private Integer contadoralerta;

/**
* Valor acumulado al presentar la alerta
*/
private BigDecimal acumuladoalerta;

/**
* Codigo de las accion a tomar en el seguimiento de comentarios de reclamo, mercadeo de una persona natural o juridica
*/
private String caccioncomentario;

/**
* Codigo de usuario que debe realizar la accion del seguimiento del comentario
*/
private String cusuario_accion;

/**
* Fecha estimada para realizar la accion del seguimiento del comentario
*/
private Date faccionestimada;

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

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

/**
* Codigo de persona de la compania
*/
private Integer cpersona_compania;

/**
* Codigo de sucursal en la que se presenta la alerta 
*/
private Integer csucursal_alerta;

/**
* Codigo de oficina en la que se presenta la alerta 
*/
private Integer coficina_alerta;

/**
* Codigo de persona conductor en la que se presenta alerta
*/
private Integer cpersona_alerta;

/**
* Observaciones realizadas al comentario
*/
private String observaciones;

/**
* Fecha de aplicacion de la regularizacion.
*/
private Date fregularizacion;

/**Contructor por defecto*/
public Tcommentperson(){}
/**Contructor de Tcommentperson
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que estan vigentes el comentario sobre la persona
@param pCcodigocomentario Codigo identificativo del comentario
@param pCtipocomentario Tipos de comentario que clasifican a los codigos de comentario en Internos, Externos, Mercadeo.
@param pCusuario Codigo de usuario
@param pFingreso Fecha de ingreso del comentario
*/
public Tcommentperson(TcommentpersonKey pPk,Timestamp pFdesde,String pCcodigocomentario,String pCtipocomentario,String pCusuario,Date pFingreso){
 pk=pPk;
 fdesde=pFdesde;
 ccodigocomentario=pCcodigocomentario;
 ctipocomentario=pCtipocomentario;
 cusuario=pCusuario;
 fingreso=pFingreso;
}
/**Entrega la Clave primaria de Tcommentperson
@return El objeto que referencia a la Clave primaria de Tcommentperson
*/
public TcommentpersonKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tcommentperson
@param pPk El objeto que referencia a la nueva Clave primaria de Tcommentperson
*/
public void setPk(TcommentpersonKey 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 CCODIGOCOMENTARIO="CCODIGOCOMENTARIO";
/**Obtiene el valor de ccodigocomentario
@return valor de ccodigocomentario*/
public String getCcodigocomentario(){
  return ccodigocomentario;
}
/**Fija el valor de ccodigocomentario
@param pCcodigocomentario nuevo Valor de ccodigocomentario*/
public void setCcodigocomentario(String pCcodigocomentario){
  ccodigocomentario=pCcodigocomentario;
}

public static final String CTIPOCOMENTARIO="CTIPOCOMENTARIO";
/**Obtiene el valor de ctipocomentario
@return valor de ctipocomentario*/
public String getCtipocomentario(){
  return ctipocomentario;
}
/**Fija el valor de ctipocomentario
@param pCtipocomentario nuevo Valor de ctipocomentario*/
public void setCtipocomentario(String pCtipocomentario){
  ctipocomentario=pCtipocomentario;
}

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 COMENTARIO="COMENTARIO";
/**Obtiene el valor de comentario
@return valor de comentario*/
public String getComentario(){
  return comentario;
}
/**Fija el valor de comentario
@param pComentario nuevo Valor de comentario*/
public void setComentario(String pComentario){
  comentario=pComentario;
}

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 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 ESTADOCOMENTARIO="ESTADOCOMENTARIO";
/**Obtiene el valor de estadocomentario
@return valor de estadocomentario*/
public String getEstadocomentario(){
  return estadocomentario;
}
/**Fija el valor de estadocomentario
@param pEstadocomentario nuevo Valor de estadocomentario*/
public void setEstadocomentario(String pEstadocomentario){
  estadocomentario=pEstadocomentario;
}

public static final String CONTADORALERTA="CONTADORALERTA";
/**Obtiene el valor de contadoralerta
@return valor de contadoralerta*/
public Integer getContadoralerta(){
  return contadoralerta;
}
/**Fija el valor de contadoralerta
@param pContadoralerta nuevo Valor de contadoralerta*/
public void setContadoralerta(Integer pContadoralerta){
  contadoralerta=pContadoralerta;
}

public static final String ACUMULADOALERTA="ACUMULADOALERTA";
/**Obtiene el valor de acumuladoalerta
@return valor de acumuladoalerta*/
public BigDecimal getAcumuladoalerta(){
  return acumuladoalerta;
}
/**Fija el valor de acumuladoalerta
@param pAcumuladoalerta nuevo Valor de acumuladoalerta*/
public void setAcumuladoalerta(BigDecimal pAcumuladoalerta){
  acumuladoalerta=pAcumuladoalerta;
}

public static final String CACCIONCOMENTARIO="CACCIONCOMENTARIO";
/**Obtiene el valor de caccioncomentario
@return valor de caccioncomentario*/
public String getCaccioncomentario(){
  return caccioncomentario;
}
/**Fija el valor de caccioncomentario
@param pCaccioncomentario nuevo Valor de caccioncomentario*/
public void setCaccioncomentario(String pCaccioncomentario){
  caccioncomentario=pCaccioncomentario;
}

public static final String CUSUARIO_ACCION="CUSUARIO_ACCION";
/**Obtiene el valor de cusuario_accion
@return valor de cusuario_accion*/
public String getCusuario_accion(){
  return cusuario_accion;
}
/**Fija el valor de cusuario_accion
@param pCusuario_accion nuevo Valor de cusuario_accion*/
public void setCusuario_accion(String pCusuario_accion){
  cusuario_accion=pCusuario_accion;
}

public static final String FACCIONESTIMADA="FACCIONESTIMADA";
/**Obtiene el valor de faccionestimada
@return valor de faccionestimada*/
public Date getFaccionestimada(){
  return faccionestimada;
}
/**Fija el valor de faccionestimada
@param pFaccionestimada nuevo Valor de faccionestimada*/
public void setFaccionestimada(Date pFaccionestimada){
  faccionestimada=pFaccionestimada;
}

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 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 CPERSONA_COMPANIA="CPERSONA_COMPANIA";
/**Obtiene el valor de cpersona_compania
@return valor de cpersona_compania*/
public Integer getCpersona_compania(){
  return cpersona_compania;
}
/**Fija el valor de cpersona_compania
@param pCpersona_compania nuevo Valor de cpersona_compania*/
public void setCpersona_compania(Integer pCpersona_compania){
  cpersona_compania=pCpersona_compania;
}

public static final String CSUCURSAL_ALERTA="CSUCURSAL_ALERTA";
/**Obtiene el valor de csucursal_alerta
@return valor de csucursal_alerta*/
public Integer getCsucursal_alerta(){
  return csucursal_alerta;
}
/**Fija el valor de csucursal_alerta
@param pCsucursal_alerta nuevo Valor de csucursal_alerta*/
public void setCsucursal_alerta(Integer pCsucursal_alerta){
  csucursal_alerta=pCsucursal_alerta;
}

public static final String COFICINA_ALERTA="COFICINA_ALERTA";
/**Obtiene el valor de coficina_alerta
@return valor de coficina_alerta*/
public Integer getCoficina_alerta(){
  return coficina_alerta;
}
/**Fija el valor de coficina_alerta
@param pCoficina_alerta nuevo Valor de coficina_alerta*/
public void setCoficina_alerta(Integer pCoficina_alerta){
  coficina_alerta=pCoficina_alerta;
}

public static final String CPERSONA_ALERTA="CPERSONA_ALERTA";
/**Obtiene el valor de cpersona_alerta
@return valor de cpersona_alerta*/
public Integer getCpersona_alerta(){
  return cpersona_alerta;
}
/**Fija el valor de cpersona_alerta
@param pCpersona_alerta nuevo Valor de cpersona_alerta*/
public void setCpersona_alerta(Integer pCpersona_alerta){
  cpersona_alerta=pCpersona_alerta;
}

public static final String OBSERVACIONES="OBSERVACIONES";
/**Obtiene el valor de observaciones
@return valor de observaciones*/
public String getObservaciones(){
  return observaciones;
}
/**Fija el valor de observaciones
@param pObservaciones nuevo Valor de observaciones*/
public void setObservaciones(String pObservaciones){
  observaciones=pObservaciones;
}

public static final String FREGULARIZACION="FREGULARIZACION";
/**Obtiene el valor de fregularizacion
@return valor de fregularizacion*/
public Date getFregularizacion(){
  return fregularizacion;
}
/**Fija el valor de fregularizacion
@param pFregularizacion nuevo Valor de fregularizacion*/
public void setFregularizacion(Date pFregularizacion){
  fregularizacion=pFregularizacion;
}

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