package com.fitbank.hb.persistence.cash;

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 TCONTROLPROCESOCONTABILIZACION*/
public class Taccountingprocesscontrol implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TCONTROLPROCESOCONTABILIZACION */
public static final String TABLE_NAME = "TCONTROLPROCESOCONTABILIZACION";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Taccountingprocesscontrol
*/
private TaccountingprocesscontrolKey pk;
/**
* Fecha real de finalizacion del proceso de generacion saldos contable
*/
private Timestamp frealfinalizaproceso;

/**
* Fecha contable general del proceso de generacion saldos contable
*/
private Date fcontable;

/**
* Codigo de resultado del comando que procesa la generacion de saldos contables
*/
private String cresultado;

/**
* Texto informativo del resultado del proceso
*/
private String textoerror;

/**
* Contiene el log de error del proceso
*/
private String logerror;

/**Contructor por defecto*/
public Taccountingprocesscontrol(){}
/**Contructor de Taccountingprocesscontrol
@param pPk Clave Primaria del entity
@param pFcontable Fecha contable general del proceso de generacion saldos contable
*/
public Taccountingprocesscontrol(TaccountingprocesscontrolKey pPk,Date pFcontable){
 pk=pPk;
 fcontable=pFcontable;
}
/**Entrega la Clave primaria de Taccountingprocesscontrol
@return El objeto que referencia a la Clave primaria de Taccountingprocesscontrol
*/
public TaccountingprocesscontrolKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Taccountingprocesscontrol
@param pPk El objeto que referencia a la nueva Clave primaria de Taccountingprocesscontrol
*/
public void setPk(TaccountingprocesscontrolKey pPk){
  pk=pPk;
}
public static final String FREALFINALIZAPROCESO="FREALFINALIZAPROCESO";
/**Obtiene el valor de frealfinalizaproceso
@return valor de frealfinalizaproceso*/
public Timestamp getFrealfinalizaproceso(){
  return frealfinalizaproceso;
}
/**Fija el valor de frealfinalizaproceso
@param pFrealfinalizaproceso nuevo Valor de frealfinalizaproceso*/
public void setFrealfinalizaproceso(Timestamp pFrealfinalizaproceso){
  frealfinalizaproceso=pFrealfinalizaproceso;
}

public static final String FCONTABLE="FCONTABLE";
/**Obtiene el valor de fcontable
@return valor de fcontable*/
public Date getFcontable(){
  return fcontable;
}
/**Fija el valor de fcontable
@param pFcontable nuevo Valor de fcontable*/
public void setFcontable(Date pFcontable){
  fcontable=pFcontable;
}

public static final String CRESULTADO="CRESULTADO";
/**Obtiene el valor de cresultado
@return valor de cresultado*/
public String getCresultado(){
  return cresultado;
}
/**Fija el valor de cresultado
@param pCresultado nuevo Valor de cresultado*/
public void setCresultado(String pCresultado){
  cresultado=pCresultado;
}

public static final String TEXTOERROR="TEXTOERROR";
/**Obtiene el valor de textoerror
@return valor de textoerror*/
public String getTextoerror(){
  return textoerror;
}
/**Fija el valor de textoerror
@param pTextoerror nuevo Valor de textoerror*/
public void setTextoerror(String pTextoerror){
  textoerror=pTextoerror;
}

public static final String LOGERROR="LOGERROR";
/**Obtiene el valor de logerror
@return valor de logerror*/
public String getLogerror(){
  return logerror;
}
/**Fija el valor de logerror
@param pLogerror nuevo Valor de logerror*/
public void setLogerror(String pLogerror){
  logerror=pLogerror;
}

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