package com.fitbank.hb.persistence.batch;

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 TLOGPROCESOBATCH*/
public class Tlogbatchprocess implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TLOGPROCESOBATCH */
public static final String TABLE_NAME = "TLOGPROCESOBATCH";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tlogbatchprocess
*/
private TlogbatchprocessKey pk;
/**
* Fecha contable general anterior al proceso batch
*/
private Date fcontableanterior;

/**
* Fecha contable general proxima al proceso batch
*/
private Date fcontableproxima;

/**
* Fecha real de finalizacion del proceso del batch
*/
private Timestamp frealfinalizaproceso;

/**
* Numero de cuentas procesadas
*/
private Integer cuentasprocesadas;

/**
* Numero de cuentas a procesar en la corrida, se excluye las cuentas procesadas exitosamente en el dia
*/
private Integer cuentasaprocesar;

/**
* Numero de cuentas procesadas exitosamente
*/
private Integer cuentasprocesadascorrectamente;

/**
* Numero de cuentas procesadas con error
*/
private Integer cuentasprocesadasconerror;

/**
* Codigo de resultado del comando que procesa la llamada al batch del subsistema
*/
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 Tlogbatchprocess(){}
/**Contructor de Tlogbatchprocess
@param pPk Clave Primaria del entity
*/
public Tlogbatchprocess(TlogbatchprocessKey pPk){
 pk=pPk;
}
/**Entrega la Clave primaria de Tlogbatchprocess
@return El objeto que referencia a la Clave primaria de Tlogbatchprocess
*/
public TlogbatchprocessKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tlogbatchprocess
@param pPk El objeto que referencia a la nueva Clave primaria de Tlogbatchprocess
*/
public void setPk(TlogbatchprocessKey pPk){
  pk=pPk;
}
public static final String FCONTABLEANTERIOR="FCONTABLEANTERIOR";
/**Obtiene el valor de fcontableanterior
@return valor de fcontableanterior*/
public Date getFcontableanterior(){
  return fcontableanterior;
}
/**Fija el valor de fcontableanterior
@param pFcontableanterior nuevo Valor de fcontableanterior*/
public void setFcontableanterior(Date pFcontableanterior){
  fcontableanterior=pFcontableanterior;
}

public static final String FCONTABLEPROXIMA="FCONTABLEPROXIMA";
/**Obtiene el valor de fcontableproxima
@return valor de fcontableproxima*/
public Date getFcontableproxima(){
  return fcontableproxima;
}
/**Fija el valor de fcontableproxima
@param pFcontableproxima nuevo Valor de fcontableproxima*/
public void setFcontableproxima(Date pFcontableproxima){
  fcontableproxima=pFcontableproxima;
}

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 CUENTASPROCESADAS="CUENTASPROCESADAS";
/**Obtiene el valor de cuentasprocesadas
@return valor de cuentasprocesadas*/
public Integer getCuentasprocesadas(){
  return cuentasprocesadas;
}
/**Fija el valor de cuentasprocesadas
@param pCuentasprocesadas nuevo Valor de cuentasprocesadas*/
public void setCuentasprocesadas(Integer pCuentasprocesadas){
  cuentasprocesadas=pCuentasprocesadas;
}

public static final String CUENTASAPROCESAR="CUENTASAPROCESAR";
/**Obtiene el valor de cuentasaprocesar
@return valor de cuentasaprocesar*/
public Integer getCuentasaprocesar(){
  return cuentasaprocesar;
}
/**Fija el valor de cuentasaprocesar
@param pCuentasaprocesar nuevo Valor de cuentasaprocesar*/
public void setCuentasaprocesar(Integer pCuentasaprocesar){
  cuentasaprocesar=pCuentasaprocesar;
}

public static final String CUENTASPROCESADASCORRECTAMENTE="CUENTASPROCESADASCORRECTAMENTE";
/**Obtiene el valor de cuentasprocesadascorrectamente
@return valor de cuentasprocesadascorrectamente*/
public Integer getCuentasprocesadascorrectamente(){
  return cuentasprocesadascorrectamente;
}
/**Fija el valor de cuentasprocesadascorrectamente
@param pCuentasprocesadascorrectamente nuevo Valor de cuentasprocesadascorrectamente*/
public void setCuentasprocesadascorrectamente(Integer pCuentasprocesadascorrectamente){
  cuentasprocesadascorrectamente=pCuentasprocesadascorrectamente;
}

public static final String CUENTASPROCESADASCONERROR="CUENTASPROCESADASCONERROR";
/**Obtiene el valor de cuentasprocesadasconerror
@return valor de cuentasprocesadasconerror*/
public Integer getCuentasprocesadasconerror(){
  return cuentasprocesadasconerror;
}
/**Fija el valor de cuentasprocesadasconerror
@param pCuentasprocesadasconerror nuevo Valor de cuentasprocesadasconerror*/
public void setCuentasprocesadasconerror(Integer pCuentasprocesadasconerror){
  cuentasprocesadasconerror=pCuentasprocesadasconerror;
}

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