package com.fitbank.hb.persistence.lote;

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 TLOTETRANSACCIONENCABEZADOS*/
public class Theadlinetransactionlote implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TLOTETRANSACCIONENCABEZADOS */
public static final String TABLE_NAME = "TLOTETRANSACCIONENCABEZADOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Theadlinetransactionlote
*/
private TheadlinetransactionloteKey pk;
/**
* Codigo del subsistema de FitBank de la transaccion a procesar
*/
private String csubsistema;

/**
* Codigo de trasaccion de FitBank a procesar
*/
private String ctransaccion;

/**
* Version de la transaccion de FitBank a procesar
*/
private String versiontransaccion;

/**
* Fecha contable de la transaccion a procesar
*/
private Date fcontable;

/**
* Codigo de persona de la compania origen de la transacicon
*/
private Integer cpersona_companiaorigen;

/**
* Codigo de la sucursal origen de la transaccio a procesar
*/
private Integer csucursal_origen;

/**
* Codigo de la oficina origen de la transaccio a procesar
*/
private Integer coficina_origen;

/**
* Codigo de persona de la compania destino de la transacicon
*/
private Integer cpersona_companiadestino;

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

/**
* Numero del documento o referencia de la transaccion a procesar
*/
private String numerodocumento;

/**
* Marca el modo en que se esta procesando la transaccion: Normal o Imperativo
*/
private String modotransaccion;

/**
* Numero del mensaje con el que se procesa la transaccion
*/
private String numeromensaje;

/**
* Codigo de resultado del procedimiento almacenado que proceso la transaccion
*/
private String cresultado;

/**
* Texto informativo del resultado del proceso de la transaccion
*/
private String textoerror;

/**
* Numero del mensaje con el que se procesa el reverso de la transaccion
*/
private String numeromensajereverso;

/**
* Codigo de resultado del procedimiento almacenado que procesa el reverso de la transaccion
*/
private String cresultadoreverso;

/**
* Texto informativo del resultado del proceso de reverso de la transaccion
*/
private String textoerrorreverso;

/**
* Fecha real de proceso del lote
*/
private Timestamp fproceso;

/**
* Fecha del documento de la transaccion a procesar
*/
private Date fdocumento;

/**
* Codigo de imagen del documento asociado a un mensaje financiero
*/
private Long cimagen_documento;

/**
* Descripcion adicional de la transaccion
*/
private String descripcionadicional;

/**
* Marca si el cheque fue pagado con sobregiro en el proceso de lotes de la camara de compensacion
*/
private String procesocheque;

/**
* Codigo del estatus del cheque
*/
private String cestatuscheque;

/**
* Codigo del motivo o causa del estatus del cheque
*/
private Integer cmotivoestatuscheque;

/**
* Fecha del lote correspondiente a camara
*/
private Date fechalote_camara;

/**
* Numero de lote correspondiente a camara
*/
private Long numerolote_camara;

/**
* Secuencial del numero de lote correspondiente a camara
*/
private Long secuencialote_camara;

/**Contructor por defecto*/
public Theadlinetransactionlote(){}
/**Contructor de Theadlinetransactionlote
@param pPk Clave Primaria del entity
@param pCsubsistema Codigo del subsistema de FitBank de la transaccion a procesar
@param pCtransaccion Codigo de trasaccion de FitBank a procesar
@param pVersiontransaccion Version de la transaccion de FitBank a procesar
@param pFcontable Fecha contable de la transaccion a procesar
@param pCpersona_companiaorigen Codigo de persona de la compania origen de la transacicon
@param pCsucursal_origen Codigo de la sucursal origen de la transaccio a procesar
@param pCoficina_origen Codigo de la oficina origen de la transaccio a procesar
*/
public Theadlinetransactionlote(TheadlinetransactionloteKey pPk,String pCsubsistema,String pCtransaccion,String pVersiontransaccion,Date pFcontable,Integer pCpersona_companiaorigen,Integer pCsucursal_origen,Integer pCoficina_origen){
 pk=pPk;
 csubsistema=pCsubsistema;
 ctransaccion=pCtransaccion;
 versiontransaccion=pVersiontransaccion;
 fcontable=pFcontable;
 cpersona_companiaorigen=pCpersona_companiaorigen;
 csucursal_origen=pCsucursal_origen;
 coficina_origen=pCoficina_origen;
}
/**Entrega la Clave primaria de Theadlinetransactionlote
@return El objeto que referencia a la Clave primaria de Theadlinetransactionlote
*/
public TheadlinetransactionloteKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Theadlinetransactionlote
@param pPk El objeto que referencia a la nueva Clave primaria de Theadlinetransactionlote
*/
public void setPk(TheadlinetransactionloteKey pPk){
  pk=pPk;
}
public static final String CSUBSISTEMA="CSUBSISTEMA";
/**Obtiene el valor de csubsistema
@return valor de csubsistema*/
public String getCsubsistema(){
  return csubsistema;
}
/**Fija el valor de csubsistema
@param pCsubsistema nuevo Valor de csubsistema*/
public void setCsubsistema(String pCsubsistema){
  csubsistema=pCsubsistema;
}

public static final String CTRANSACCION="CTRANSACCION";
/**Obtiene el valor de ctransaccion
@return valor de ctransaccion*/
public String getCtransaccion(){
  return ctransaccion;
}
/**Fija el valor de ctransaccion
@param pCtransaccion nuevo Valor de ctransaccion*/
public void setCtransaccion(String pCtransaccion){
  ctransaccion=pCtransaccion;
}

public static final String VERSIONTRANSACCION="VERSIONTRANSACCION";
/**Obtiene el valor de versiontransaccion
@return valor de versiontransaccion*/
public String getVersiontransaccion(){
  return versiontransaccion;
}
/**Fija el valor de versiontransaccion
@param pVersiontransaccion nuevo Valor de versiontransaccion*/
public void setVersiontransaccion(String pVersiontransaccion){
  versiontransaccion=pVersiontransaccion;
}

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 CPERSONA_COMPANIAORIGEN="CPERSONA_COMPANIAORIGEN";
/**Obtiene el valor de cpersona_companiaorigen
@return valor de cpersona_companiaorigen*/
public Integer getCpersona_companiaorigen(){
  return cpersona_companiaorigen;
}
/**Fija el valor de cpersona_companiaorigen
@param pCpersona_companiaorigen nuevo Valor de cpersona_companiaorigen*/
public void setCpersona_companiaorigen(Integer pCpersona_companiaorigen){
  cpersona_companiaorigen=pCpersona_companiaorigen;
}

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 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 CPERSONA_COMPANIADESTINO="CPERSONA_COMPANIADESTINO";
/**Obtiene el valor de cpersona_companiadestino
@return valor de cpersona_companiadestino*/
public Integer getCpersona_companiadestino(){
  return cpersona_companiadestino;
}
/**Fija el valor de cpersona_companiadestino
@param pCpersona_companiadestino nuevo Valor de cpersona_companiadestino*/
public void setCpersona_companiadestino(Integer pCpersona_companiadestino){
  cpersona_companiadestino=pCpersona_companiadestino;
}

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 NUMERODOCUMENTO="NUMERODOCUMENTO";
/**Obtiene el valor de numerodocumento
@return valor de numerodocumento*/
public String getNumerodocumento(){
  return numerodocumento;
}
/**Fija el valor de numerodocumento
@param pNumerodocumento nuevo Valor de numerodocumento*/
public void setNumerodocumento(String pNumerodocumento){
  numerodocumento=pNumerodocumento;
}

public static final String MODOTRANSACCION="MODOTRANSACCION";
/**Obtiene el valor de modotransaccion
@return valor de modotransaccion*/
public String getModotransaccion(){
  return modotransaccion;
}
/**Fija el valor de modotransaccion
@param pModotransaccion nuevo Valor de modotransaccion*/
public void setModotransaccion(String pModotransaccion){
  modotransaccion=pModotransaccion;
}

public static final String NUMEROMENSAJE="NUMEROMENSAJE";
/**Obtiene el valor de numeromensaje
@return valor de numeromensaje*/
public String getNumeromensaje(){
  return numeromensaje;
}
/**Fija el valor de numeromensaje
@param pNumeromensaje nuevo Valor de numeromensaje*/
public void setNumeromensaje(String pNumeromensaje){
  numeromensaje=pNumeromensaje;
}

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 NUMEROMENSAJEREVERSO="NUMEROMENSAJEREVERSO";
/**Obtiene el valor de numeromensajereverso
@return valor de numeromensajereverso*/
public String getNumeromensajereverso(){
  return numeromensajereverso;
}
/**Fija el valor de numeromensajereverso
@param pNumeromensajereverso nuevo Valor de numeromensajereverso*/
public void setNumeromensajereverso(String pNumeromensajereverso){
  numeromensajereverso=pNumeromensajereverso;
}

public static final String CRESULTADOREVERSO="CRESULTADOREVERSO";
/**Obtiene el valor de cresultadoreverso
@return valor de cresultadoreverso*/
public String getCresultadoreverso(){
  return cresultadoreverso;
}
/**Fija el valor de cresultadoreverso
@param pCresultadoreverso nuevo Valor de cresultadoreverso*/
public void setCresultadoreverso(String pCresultadoreverso){
  cresultadoreverso=pCresultadoreverso;
}

public static final String TEXTOERRORREVERSO="TEXTOERRORREVERSO";
/**Obtiene el valor de textoerrorreverso
@return valor de textoerrorreverso*/
public String getTextoerrorreverso(){
  return textoerrorreverso;
}
/**Fija el valor de textoerrorreverso
@param pTextoerrorreverso nuevo Valor de textoerrorreverso*/
public void setTextoerrorreverso(String pTextoerrorreverso){
  textoerrorreverso=pTextoerrorreverso;
}

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

public static final String FDOCUMENTO="FDOCUMENTO";
/**Obtiene el valor de fdocumento
@return valor de fdocumento*/
public Date getFdocumento(){
  return fdocumento;
}
/**Fija el valor de fdocumento
@param pFdocumento nuevo Valor de fdocumento*/
public void setFdocumento(Date pFdocumento){
  fdocumento=pFdocumento;
}

public static final String CIMAGEN_DOCUMENTO="CIMAGEN_DOCUMENTO";
/**Obtiene el valor de cimagen_documento
@return valor de cimagen_documento*/
public Long getCimagen_documento(){
  return cimagen_documento;
}
/**Fija el valor de cimagen_documento
@param pCimagen_documento nuevo Valor de cimagen_documento*/
public void setCimagen_documento(Long pCimagen_documento){
  cimagen_documento=pCimagen_documento;
}

public static final String DESCRIPCIONADICIONAL="DESCRIPCIONADICIONAL";
/**Obtiene el valor de descripcionadicional
@return valor de descripcionadicional*/
public String getDescripcionadicional(){
  return descripcionadicional;
}
/**Fija el valor de descripcionadicional
@param pDescripcionadicional nuevo Valor de descripcionadicional*/
public void setDescripcionadicional(String pDescripcionadicional){
  descripcionadicional=pDescripcionadicional;
}

public static final String PROCESOCHEQUE="PROCESOCHEQUE";
/**Obtiene el valor de procesocheque
@return valor de procesocheque*/
public String getProcesocheque(){
  return procesocheque;
}
/**Fija el valor de procesocheque
@param pProcesocheque nuevo Valor de procesocheque*/
public void setProcesocheque(String pProcesocheque){
  procesocheque=pProcesocheque;
}

public static final String CESTATUSCHEQUE="CESTATUSCHEQUE";
/**Obtiene el valor de cestatuscheque
@return valor de cestatuscheque*/
public String getCestatuscheque(){
  return cestatuscheque;
}
/**Fija el valor de cestatuscheque
@param pCestatuscheque nuevo Valor de cestatuscheque*/
public void setCestatuscheque(String pCestatuscheque){
  cestatuscheque=pCestatuscheque;
}

public static final String CMOTIVOESTATUSCHEQUE="CMOTIVOESTATUSCHEQUE";
/**Obtiene el valor de cmotivoestatuscheque
@return valor de cmotivoestatuscheque*/
public Integer getCmotivoestatuscheque(){
  return cmotivoestatuscheque;
}
/**Fija el valor de cmotivoestatuscheque
@param pCmotivoestatuscheque nuevo Valor de cmotivoestatuscheque*/
public void setCmotivoestatuscheque(Integer pCmotivoestatuscheque){
  cmotivoestatuscheque=pCmotivoestatuscheque;
}

public static final String FECHALOTE_CAMARA="FECHALOTE_CAMARA";
/**Obtiene el valor de fechalote_camara
@return valor de fechalote_camara*/
public Date getFechalote_camara(){
  return fechalote_camara;
}
/**Fija el valor de fechalote_camara
@param pFechalote_camara nuevo Valor de fechalote_camara*/
public void setFechalote_camara(Date pFechalote_camara){
  fechalote_camara=pFechalote_camara;
}

public static final String NUMEROLOTE_CAMARA="NUMEROLOTE_CAMARA";
/**Obtiene el valor de numerolote_camara
@return valor de numerolote_camara*/
public Long getNumerolote_camara(){
  return numerolote_camara;
}
/**Fija el valor de numerolote_camara
@param pNumerolote_camara nuevo Valor de numerolote_camara*/
public void setNumerolote_camara(Long pNumerolote_camara){
  numerolote_camara=pNumerolote_camara;
}

public static final String SECUENCIALOTE_CAMARA="SECUENCIALOTE_CAMARA";
/**Obtiene el valor de secuencialote_camara
@return valor de secuencialote_camara*/
public Long getSecuencialote_camara(){
  return secuencialote_camara;
}
/**Fija el valor de secuencialote_camara
@param pSecuencialote_camara nuevo Valor de secuencialote_camara*/
public void setSecuencialote_camara(Long pSecuencialote_camara){
  secuencialote_camara=pSecuencialote_camara;
}

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