package com.fitbank.hb.persistence.accounting;

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 TCOMPROBANTESCONTABLES*/
public class Taccountantvoucher extends AbstractExpire  implements Serializable,TransportBean,Cloneable,com.fitbank.common.hb.AbstractId{
/** Nombre de la Tabla TCOMPROBANTESCONTABLES */
public static final String TABLE_NAME = "TCOMPROBANTESCONTABLES";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Taccountantvoucher
*/
private TaccountantvoucherKey pk;
/**
* Fecha desde la que esta vigente la informacion del comprobante contable
*/
private Timestamp fdesde;

/**
* Codigo del concepto contable
*/
private Integer cconceptocontable;

/**
* Codigo de oficina
*/
private Integer coficina;

/**
* Codigo de la sucursal
*/
private Integer csucursal;

/**
* Fecha contable del comprobante
*/
private Date fcontable;

/**
* Estatus de seguimiento del comprobante contable: I=Ingresado, A=Autorizado, P=Procesado, C=Cancelado o anulado
*/
private String estatuscomprobante;

/**
* Marca si el comprobante contable cuadra su detalle o no
*/
private String cuadrado;

/**
* Codigo del usuario que ingresa el comprobante contable
*/
private String cusuario_ingreso;

/**
* Fecha de ingreso del comprobante contable
*/
private Date fingreso;

/**
* Codigo del usuario que modifica el comprobante contable
*/
private String cusuario_modificacion;

/**
* Codigo del usuario que revisa y autoriza la aplicacion del comprobante contable
*/
private String cusuario_autorizacion;

/**
* Fecha de autorizacion de proceso del comprobante contable
*/
private Date fautorizacion;

/**
* Fecha en la que se pasa el comprobabte contable a la tabla de transacciones y saldos
*/
private Date fproceso;

/**
* Numero del comprobante original que contiene los datos de overhead
*/
private Long numerocomprobanteoriginal;

/**
* Codigo de area: cre = credito, ope=operaciones, etc
*/
private String carea;

/**
* Codigo de la plantilla contable
*/
private String ccodigoplantilla;

/**
* Detalle del concepto del comprobante contable
*/
private String detalleconcepto;

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

/**
* Codigo de area origen del comprobante contable: cre = credito, ope=operaciones, etc
*/
private String carea_origen;

/**
* Codigo de oficina origen del comprobante contable
*/
private Integer coficina_origen;

/**
* Codigo de la sucursal origen del comprobante contable
*/
private Integer csucursal_origen;

/**
* Numero del comprobante anterior por migracion
*/
private String numerocomprobanteanterior;

/**
* Codigo del tipo de comprobante contable
*/
private String ctipocomprobante;

/**
* Numero del comprobante contable al cual se reversa
*/
private Long numerocomprobante_reverso;

/**
* Indica si el comprobante fue reversado, se marca a nivel del comprobante original
*/
private String reverso;

/**Contructor por defecto*/
public Taccountantvoucher(){}
/**Contructor de Taccountantvoucher
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que esta vigente la informacion del comprobante contable
@param pFcontable Fecha contable del comprobante
@param pEstatuscomprobante Estatus de seguimiento del comprobante contable: I=Ingresado, A=Autorizado, P=Procesado, C=Cancelado o anulado
@param pCuadrado Marca si el comprobante contable cuadra su detalle o no
@param pCusuario_ingreso Codigo del usuario que ingresa el comprobante contable
@param pFingreso Fecha de ingreso del comprobante contable
*/
public Taccountantvoucher(TaccountantvoucherKey pPk,Timestamp pFdesde,Date pFcontable,String pEstatuscomprobante,String pCuadrado,String pCusuario_ingreso,Date pFingreso){
 pk=pPk;
 fdesde=pFdesde;
 fcontable=pFcontable;
 estatuscomprobante=pEstatuscomprobante;
 cuadrado=pCuadrado;
 cusuario_ingreso=pCusuario_ingreso;
 fingreso=pFingreso;
}
/**Entrega la Clave primaria de Taccountantvoucher
@return El objeto que referencia a la Clave primaria de Taccountantvoucher
*/
public TaccountantvoucherKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Taccountantvoucher
@param pPk El objeto que referencia a la nueva Clave primaria de Taccountantvoucher
*/
public void setPk(TaccountantvoucherKey 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 CCONCEPTOCONTABLE="CCONCEPTOCONTABLE";
/**Obtiene el valor de cconceptocontable
@return valor de cconceptocontable*/
public Integer getCconceptocontable(){
  return cconceptocontable;
}
/**Fija el valor de cconceptocontable
@param pCconceptocontable nuevo Valor de cconceptocontable*/
public void setCconceptocontable(Integer pCconceptocontable){
  cconceptocontable=pCconceptocontable;
}

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 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 ESTATUSCOMPROBANTE="ESTATUSCOMPROBANTE";
/**Obtiene el valor de estatuscomprobante
@return valor de estatuscomprobante*/
public String getEstatuscomprobante(){
  return estatuscomprobante;
}
/**Fija el valor de estatuscomprobante
@param pEstatuscomprobante nuevo Valor de estatuscomprobante*/
public void setEstatuscomprobante(String pEstatuscomprobante){
  estatuscomprobante=pEstatuscomprobante;
}

public static final String CUADRADO="CUADRADO";
/**Obtiene el valor de cuadrado
@return valor de cuadrado*/
public String getCuadrado(){
  return cuadrado;
}
/**Fija el valor de cuadrado
@param pCuadrado nuevo Valor de cuadrado*/
public void setCuadrado(String pCuadrado){
  cuadrado=pCuadrado;
}

public static final String CUSUARIO_INGRESO="CUSUARIO_INGRESO";
/**Obtiene el valor de cusuario_ingreso
@return valor de cusuario_ingreso*/
public String getCusuario_ingreso(){
  return cusuario_ingreso;
}
/**Fija el valor de cusuario_ingreso
@param pCusuario_ingreso nuevo Valor de cusuario_ingreso*/
public void setCusuario_ingreso(String pCusuario_ingreso){
  cusuario_ingreso=pCusuario_ingreso;
}

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 CUSUARIO_MODIFICACION="CUSUARIO_MODIFICACION";
/**Obtiene el valor de cusuario_modificacion
@return valor de cusuario_modificacion*/
public String getCusuario_modificacion(){
  return cusuario_modificacion;
}
/**Fija el valor de cusuario_modificacion
@param pCusuario_modificacion nuevo Valor de cusuario_modificacion*/
public void setCusuario_modificacion(String pCusuario_modificacion){
  cusuario_modificacion=pCusuario_modificacion;
}

public static final String CUSUARIO_AUTORIZACION="CUSUARIO_AUTORIZACION";
/**Obtiene el valor de cusuario_autorizacion
@return valor de cusuario_autorizacion*/
public String getCusuario_autorizacion(){
  return cusuario_autorizacion;
}
/**Fija el valor de cusuario_autorizacion
@param pCusuario_autorizacion nuevo Valor de cusuario_autorizacion*/
public void setCusuario_autorizacion(String pCusuario_autorizacion){
  cusuario_autorizacion=pCusuario_autorizacion;
}

public static final String FAUTORIZACION="FAUTORIZACION";
/**Obtiene el valor de fautorizacion
@return valor de fautorizacion*/
public Date getFautorizacion(){
  return fautorizacion;
}
/**Fija el valor de fautorizacion
@param pFautorizacion nuevo Valor de fautorizacion*/
public void setFautorizacion(Date pFautorizacion){
  fautorizacion=pFautorizacion;
}

public static final String FPROCESO="FPROCESO";
/**Obtiene el valor de fproceso
@return valor de fproceso*/
public Date getFproceso(){
  return fproceso;
}
/**Fija el valor de fproceso
@param pFproceso nuevo Valor de fproceso*/
public void setFproceso(Date pFproceso){
  fproceso=pFproceso;
}

public static final String NUMEROCOMPROBANTEORIGINAL="NUMEROCOMPROBANTEORIGINAL";
/**Obtiene el valor de numerocomprobanteoriginal
@return valor de numerocomprobanteoriginal*/
public Long getNumerocomprobanteoriginal(){
  return numerocomprobanteoriginal;
}
/**Fija el valor de numerocomprobanteoriginal
@param pNumerocomprobanteoriginal nuevo Valor de numerocomprobanteoriginal*/
public void setNumerocomprobanteoriginal(Long pNumerocomprobanteoriginal){
  numerocomprobanteoriginal=pNumerocomprobanteoriginal;
}

public static final String CAREA="CAREA";
/**Obtiene el valor de carea
@return valor de carea*/
public String getCarea(){
  return carea;
}
/**Fija el valor de carea
@param pCarea nuevo Valor de carea*/
public void setCarea(String pCarea){
  carea=pCarea;
}

public static final String CCODIGOPLANTILLA="CCODIGOPLANTILLA";
/**Obtiene el valor de ccodigoplantilla
@return valor de ccodigoplantilla*/
public String getCcodigoplantilla(){
  return ccodigoplantilla;
}
/**Fija el valor de ccodigoplantilla
@param pCcodigoplantilla nuevo Valor de ccodigoplantilla*/
public void setCcodigoplantilla(String pCcodigoplantilla){
  ccodigoplantilla=pCcodigoplantilla;
}

public static final String DETALLECONCEPTO="DETALLECONCEPTO";
/**Obtiene el valor de detalleconcepto
@return valor de detalleconcepto*/
public String getDetalleconcepto(){
  return detalleconcepto;
}
/**Fija el valor de detalleconcepto
@param pDetalleconcepto nuevo Valor de detalleconcepto*/
public void setDetalleconcepto(String pDetalleconcepto){
  detalleconcepto=pDetalleconcepto;
}

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 CAREA_ORIGEN="CAREA_ORIGEN";
/**Obtiene el valor de carea_origen
@return valor de carea_origen*/
public String getCarea_origen(){
  return carea_origen;
}
/**Fija el valor de carea_origen
@param pCarea_origen nuevo Valor de carea_origen*/
public void setCarea_origen(String pCarea_origen){
  carea_origen=pCarea_origen;
}

public static final String COFICINA_ORIGEN="COFICINA_ORIGEN";
/**Obtiene el valor de coficina_origen
@return valor de coficina_origen*/
public Integer getCoficina_origen(){
  return coficina_origen;
}
/**Fija el valor de coficina_origen
@param pCoficina_origen nuevo Valor de coficina_origen*/
public void setCoficina_origen(Integer pCoficina_origen){
  coficina_origen=pCoficina_origen;
}

public static final String CSUCURSAL_ORIGEN="CSUCURSAL_ORIGEN";
/**Obtiene el valor de csucursal_origen
@return valor de csucursal_origen*/
public Integer getCsucursal_origen(){
  return csucursal_origen;
}
/**Fija el valor de csucursal_origen
@param pCsucursal_origen nuevo Valor de csucursal_origen*/
public void setCsucursal_origen(Integer pCsucursal_origen){
  csucursal_origen=pCsucursal_origen;
}

public static final String NUMEROCOMPROBANTEANTERIOR="NUMEROCOMPROBANTEANTERIOR";
/**Obtiene el valor de numerocomprobanteanterior
@return valor de numerocomprobanteanterior*/
public String getNumerocomprobanteanterior(){
  return numerocomprobanteanterior;
}
/**Fija el valor de numerocomprobanteanterior
@param pNumerocomprobanteanterior nuevo Valor de numerocomprobanteanterior*/
public void setNumerocomprobanteanterior(String pNumerocomprobanteanterior){
  numerocomprobanteanterior=pNumerocomprobanteanterior;
}

public static final String CTIPOCOMPROBANTE="CTIPOCOMPROBANTE";
/**Obtiene el valor de ctipocomprobante
@return valor de ctipocomprobante*/
public String getCtipocomprobante(){
  return ctipocomprobante;
}
/**Fija el valor de ctipocomprobante
@param pCtipocomprobante nuevo Valor de ctipocomprobante*/
public void setCtipocomprobante(String pCtipocomprobante){
  ctipocomprobante=pCtipocomprobante;
}

public static final String NUMEROCOMPROBANTE_REVERSO="NUMEROCOMPROBANTE_REVERSO";
/**Obtiene el valor de numerocomprobante_reverso
@return valor de numerocomprobante_reverso*/
public Long getNumerocomprobante_reverso(){
  return numerocomprobante_reverso;
}
/**Fija el valor de numerocomprobante_reverso
@param pNumerocomprobante_reverso nuevo Valor de numerocomprobante_reverso*/
public void setNumerocomprobante_reverso(Long pNumerocomprobante_reverso){
  numerocomprobante_reverso=pNumerocomprobante_reverso;
}

public static final String REVERSO="REVERSO";
/**Obtiene el valor de reverso
@return valor de reverso*/
public String getReverso(){
  return reverso;
}
/**Fija el valor de reverso
@param pReverso nuevo Valor de reverso*/
public void setReverso(String pReverso){
  reverso=pReverso;
}

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