package com.fitbank.hb.persistence.acco;

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

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

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

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

/**
* Codigo del usuario que ingresa o modifica el comentario
*/
private String cusuario;

/**
* 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,APR=Aprobado,NEG=Negado
*/
private String estadocomentario;

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

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

/**
* Codigos de las acciones a tomar en el seguimiento de comentarios de reclamo, mercadeo de las personas naturales o juridicas
*/
private String caccioncomentario;

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

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

/**
* Codigo de oficina que ingresa el comentario
*/
private Integer coficina;

/**
* Codigo de la sucursal que ingresa el comentario
*/
private Integer csucursal;

/**
* Codigo de usuario que autoriza la accion del seguimiento del comentario
*/
private String cusuario_autorizador;

/**Contructor por defecto*/
public Tcommentaccount(){}
/**Contructor de Tcommentaccount
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que estan vigentes el comentario sobre la cuenta
@param pCcodigocomentario Codigo identificativo del comentario
@param pCusuario Codigo del usuario que ingresa o modifica el comentario
@param pFingreso Fecha de ingreso del comentario
*/
public Tcommentaccount(TcommentaccountKey pPk,Timestamp pFdesde,String pCcodigocomentario,String pCusuario,Date pFingreso){
 pk=pPk;
 fdesde=pFdesde;
 ccodigocomentario=pCcodigocomentario;
 cusuario=pCusuario;
 fingreso=pFingreso;
}
/**Entrega la Clave primaria de Tcommentaccount
@return El objeto que referencia a la Clave primaria de Tcommentaccount
*/
public TcommentaccountKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tcommentaccount
@param pPk El objeto que referencia a la nueva Clave primaria de Tcommentaccount
*/
public void setPk(TcommentaccountKey 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 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 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 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 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_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 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 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 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;
}

public static final String COFICINA="COFICINA";
/**Obtiene el valor de coficina
@return valor de coficina*/
public Integer getCoficina(){
  return coficina;
}
/**Fija el valor de coficina
@param pCoficina nuevo Valor de coficina*/
public void setCoficina(Integer pCoficina){
  coficina=pCoficina;
}

public static final String CSUCURSAL="CSUCURSAL";
/**Obtiene el valor de csucursal
@return valor de csucursal*/
public Integer getCsucursal(){
  return csucursal;
}
/**Fija el valor de csucursal
@param pCsucursal nuevo Valor de csucursal*/
public void setCsucursal(Integer pCsucursal){
  csucursal=pCsucursal;
}

public static final String CUSUARIO_AUTORIZADOR="CUSUARIO_AUTORIZADOR";
/**Obtiene el valor de cusuario_autorizador
@return valor de cusuario_autorizador*/
public String getCusuario_autorizador(){
  return cusuario_autorizador;
}
/**Fija el valor de cusuario_autorizador
@param pCusuario_autorizador nuevo Valor de cusuario_autorizador*/
public void setCusuario_autorizador(String pCusuario_autorizador){
  cusuario_autorizador=pCusuario_autorizador;
}

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