package com.fitbank.hb.persistence.uci;

import java.io.Serializable;
import java.math.BigDecimal;
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 TCANALTRANSACCIONES*/
public class Ttransactionchannel implements Serializable,TransportBean,Cloneable,com.fitbank.common.hb.AbstractId{
/** Nombre de la Tabla TCANALTRANSACCIONES */
public static final String TABLE_NAME = "TCANALTRANSACCIONES";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Ttransactionchannel
*/
private TtransactionchannelKey pk;
/**
* Codigo de persona de la compania
*/
private Integer cpersona_compania;

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

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

/**
* Codigo del subsistema
*/
private String csubsistema;

/**
* Codigo de la transaccion
*/
private String ctransaccion;

/**
* Version de la transaccion
*/
private String versiontransaccion;

/**
* Tipo de transaccion
*/
private String tipotransaccion;

/**
* Tipo de dispositivo
*/
private String tipodispositivo;

/**
* Id del Dispositivo
*/
private String id_dispositivo;

/**
* Fecha y hora de la transaccion
*/
private Timestamp ftransaccion;

/**
* Id de la transaccion del canal
*/
private String id_transaccion;

/**
* Numero de cuenta o PAN de la tarjeta origen
*/
private String cuenta_origen;

/**
* Numero de la tarjeta destino
*/
private String cuenta_destino;

/**
* Codigo de moneda
*/
private String cmoneda;

/**
* Valor del movimiento en la moneda de la cuenta
*/
private BigDecimal valor;

/**
* Identificador de la institucion que origina el mensaje
*/
private String aba;

/**
* Numero de documento
*/
private String numerodocumento;

/**
* Identifica si la transaccion tiene Reverso total o parcial
*/
private String reverso;

/**
* Identifica si la transaccion es en Diferido
*/
private String diferido;

/**
* Codigo de respuesta FIT
*/
private String crespuestafit;

/**
* Texto de respuesta de FIT
*/
private String textofit;

/**
* Codigo de respuesta del canal
*/
private String crespuestacanal;

/**
* Texto de respuesta del canal
*/
private String textocanal;

/**Contructor por defecto*/
public Ttransactionchannel(){}
/**Contructor de Ttransactionchannel
@param pPk Clave Primaria del entity
*/
public Ttransactionchannel(TtransactionchannelKey pPk){
 pk=pPk;
}
/**Entrega la Clave primaria de Ttransactionchannel
@return El objeto que referencia a la Clave primaria de Ttransactionchannel
*/
public TtransactionchannelKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Ttransactionchannel
@param pPk El objeto que referencia a la nueva Clave primaria de Ttransactionchannel
*/
public void setPk(TtransactionchannelKey pPk){
  pk=pPk;
}
public static final String CPERSONA_COMPANIA="CPERSONA_COMPANIA";
/**Obtiene el valor de cpersona_compania
@return valor de cpersona_compania*/
public Integer getCpersona_compania(){
  return cpersona_compania;
}
/**Fija el valor de cpersona_compania
@param pCpersona_compania nuevo Valor de cpersona_compania*/
public void setCpersona_compania(Integer pCpersona_compania){
  cpersona_compania=pCpersona_compania;
}

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 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 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 TIPOTRANSACCION="TIPOTRANSACCION";
/**Obtiene el valor de tipotransaccion
@return valor de tipotransaccion*/
public String getTipotransaccion(){
  return tipotransaccion;
}
/**Fija el valor de tipotransaccion
@param pTipotransaccion nuevo Valor de tipotransaccion*/
public void setTipotransaccion(String pTipotransaccion){
  tipotransaccion=pTipotransaccion;
}

public static final String TIPODISPOSITIVO="TIPODISPOSITIVO";
/**Obtiene el valor de tipodispositivo
@return valor de tipodispositivo*/
public String getTipodispositivo(){
  return tipodispositivo;
}
/**Fija el valor de tipodispositivo
@param pTipodispositivo nuevo Valor de tipodispositivo*/
public void setTipodispositivo(String pTipodispositivo){
  tipodispositivo=pTipodispositivo;
}

public static final String ID_DISPOSITIVO="ID_DISPOSITIVO";
/**Obtiene el valor de id_dispositivo
@return valor de id_dispositivo*/
public String getId_dispositivo(){
  return id_dispositivo;
}
/**Fija el valor de id_dispositivo
@param pId_dispositivo nuevo Valor de id_dispositivo*/
public void setId_dispositivo(String pId_dispositivo){
  id_dispositivo=pId_dispositivo;
}

public static final String FTRANSACCION="FTRANSACCION";
/**Obtiene el valor de ftransaccion
@return valor de ftransaccion*/
public Timestamp getFtransaccion(){
  return ftransaccion;
}
/**Fija el valor de ftransaccion
@param pFtransaccion nuevo Valor de ftransaccion*/
public void setFtransaccion(Timestamp pFtransaccion){
  ftransaccion=pFtransaccion;
}

public static final String ID_TRANSACCION="ID_TRANSACCION";
/**Obtiene el valor de id_transaccion
@return valor de id_transaccion*/
public String getId_transaccion(){
  return id_transaccion;
}
/**Fija el valor de id_transaccion
@param pId_transaccion nuevo Valor de id_transaccion*/
public void setId_transaccion(String pId_transaccion){
  id_transaccion=pId_transaccion;
}

public static final String CUENTA_ORIGEN="CUENTA_ORIGEN";
/**Obtiene el valor de cuenta_origen
@return valor de cuenta_origen*/
public String getCuenta_origen(){
  return cuenta_origen;
}
/**Fija el valor de cuenta_origen
@param pCuenta_origen nuevo Valor de cuenta_origen*/
public void setCuenta_origen(String pCuenta_origen){
  cuenta_origen=pCuenta_origen;
}

public static final String CUENTA_DESTINO="CUENTA_DESTINO";
/**Obtiene el valor de cuenta_destino
@return valor de cuenta_destino*/
public String getCuenta_destino(){
  return cuenta_destino;
}
/**Fija el valor de cuenta_destino
@param pCuenta_destino nuevo Valor de cuenta_destino*/
public void setCuenta_destino(String pCuenta_destino){
  cuenta_destino=pCuenta_destino;
}

public static final String CMONEDA="CMONEDA";
/**Obtiene el valor de cmoneda
@return valor de cmoneda*/
public String getCmoneda(){
  return cmoneda;
}
/**Fija el valor de cmoneda
@param pCmoneda nuevo Valor de cmoneda*/
public void setCmoneda(String pCmoneda){
  cmoneda=pCmoneda;
}

public static final String VALOR="VALOR";
/**Obtiene el valor de valor
@return valor de valor*/
public BigDecimal getValor(){
  return valor;
}
/**Fija el valor de valor
@param pValor nuevo Valor de valor*/
public void setValor(BigDecimal pValor){
  valor=pValor;
}

public static final String ABA="ABA";
/**Obtiene el valor de aba
@return valor de aba*/
public String getAba(){
  return aba;
}
/**Fija el valor de aba
@param pAba nuevo Valor de aba*/
public void setAba(String pAba){
  aba=pAba;
}

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 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;
}

public static final String DIFERIDO="DIFERIDO";
/**Obtiene el valor de diferido
@return valor de diferido*/
public String getDiferido(){
  return diferido;
}
/**Fija el valor de diferido
@param pDiferido nuevo Valor de diferido*/
public void setDiferido(String pDiferido){
  diferido=pDiferido;
}

public static final String CRESPUESTAFIT="CRESPUESTAFIT";
/**Obtiene el valor de crespuestafit
@return valor de crespuestafit*/
public String getCrespuestafit(){
  return crespuestafit;
}
/**Fija el valor de crespuestafit
@param pCrespuestafit nuevo Valor de crespuestafit*/
public void setCrespuestafit(String pCrespuestafit){
  crespuestafit=pCrespuestafit;
}

public static final String TEXTOFIT="TEXTOFIT";
/**Obtiene el valor de textofit
@return valor de textofit*/
public String getTextofit(){
  return textofit;
}
/**Fija el valor de textofit
@param pTextofit nuevo Valor de textofit*/
public void setTextofit(String pTextofit){
  textofit=pTextofit;
}

public static final String CRESPUESTACANAL="CRESPUESTACANAL";
/**Obtiene el valor de crespuestacanal
@return valor de crespuestacanal*/
public String getCrespuestacanal(){
  return crespuestacanal;
}
/**Fija el valor de crespuestacanal
@param pCrespuestacanal nuevo Valor de crespuestacanal*/
public void setCrespuestacanal(String pCrespuestacanal){
  crespuestacanal=pCrespuestacanal;
}

public static final String TEXTOCANAL="TEXTOCANAL";
/**Obtiene el valor de textocanal
@return valor de textocanal*/
public String getTextocanal(){
  return textocanal;
}
/**Fija el valor de textocanal
@param pTextocanal nuevo Valor de textocanal*/
public void setTextocanal(String pTextocanal){
  textocanal=pTextocanal;
}

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