package com.fitbank.hb.persistence.acco;

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 TCUENTAFECHACONTABLE*/
public class Taccountingdateaccount implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TCUENTAFECHACONTABLE */
public static final String TABLE_NAME = "TCUENTAFECHACONTABLE";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Taccountingdateaccount
*/
private TaccountingdateaccountKey pk;
/**
* Fecha contablke de ultimo cierre de cuenta
*/
private Date fultimocierre;

/**
* Codigo de resultado del proceso de fin dia 
*/
private String cresultado;

/**
* Resultado del proceso de fin de dia
*/
private String textoerror;

/**
* Fecha real de cierre de la cuenta.
*/
private Timestamp frealproceso;

/**
* Indica si el proceso ejecutado es de fin de dia o no
*/
private String procesofindedia;

/**
* Codigo del proceso batch a realizarse para la cuenta en la fecha
*/
private String ccodigoprocesar;

/**Contructor por defecto*/
public Taccountingdateaccount(){}
/**Contructor de Taccountingdateaccount
@param pPk Clave Primaria del entity
*/
public Taccountingdateaccount(TaccountingdateaccountKey pPk){
 pk=pPk;
}
/**Entrega la Clave primaria de Taccountingdateaccount
@return El objeto que referencia a la Clave primaria de Taccountingdateaccount
*/
public TaccountingdateaccountKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Taccountingdateaccount
@param pPk El objeto que referencia a la nueva Clave primaria de Taccountingdateaccount
*/
public void setPk(TaccountingdateaccountKey pPk){
  pk=pPk;
}
public static final String FULTIMOCIERRE="FULTIMOCIERRE";
/**Obtiene el valor de fultimocierre
@return valor de fultimocierre*/
public Date getFultimocierre(){
  return fultimocierre;
}
/**Fija el valor de fultimocierre
@param pFultimocierre nuevo Valor de fultimocierre*/
public void setFultimocierre(Date pFultimocierre){
  fultimocierre=pFultimocierre;
}

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 FREALPROCESO="FREALPROCESO";
/**Obtiene el valor de frealproceso
@return valor de frealproceso*/
public Timestamp getFrealproceso(){
  return frealproceso;
}
/**Fija el valor de frealproceso
@param pFrealproceso nuevo Valor de frealproceso*/
public void setFrealproceso(Timestamp pFrealproceso){
  frealproceso=pFrealproceso;
}

public static final String PROCESOFINDEDIA="PROCESOFINDEDIA";
/**Obtiene el valor de procesofindedia
@return valor de procesofindedia*/
public String getProcesofindedia(){
  return procesofindedia;
}
/**Fija el valor de procesofindedia
@param pProcesofindedia nuevo Valor de procesofindedia*/
public void setProcesofindedia(String pProcesofindedia){
  procesofindedia=pProcesofindedia;
}

public static final String CCODIGOPROCESAR="CCODIGOPROCESAR";
/**Obtiene el valor de ccodigoprocesar
@return valor de ccodigoprocesar*/
public String getCcodigoprocesar(){
  return ccodigoprocesar;
}
/**Fija el valor de ccodigoprocesar
@param pCcodigoprocesar nuevo Valor de ccodigoprocesar*/
public void setCcodigoprocesar(String pCcodigoprocesar){
  ccodigoprocesar=pCcodigoprocesar;
}

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