package com.fitbank.hb.persistence.lote;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Date;
import java.lang.reflect.Field;
import com.fitbank.common.TransportBean;

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TLOTETRANSACCIONRUBROS*/
public class Titemtransactionlote implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TLOTETRANSACCIONRUBROS */
public static final String TABLE_NAME = "TLOTETRANSACCIONRUBROS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Titemtransactionlote
*/
private TitemtransactionloteKey pk;
/**
* Codigo de persona de la compania de la cuenta de debito
*/
private Integer cpersona_compania;

/**
* Numero de cuenta de una subcuenta
*/
private String ccuenta;

/**
* Numero de subcuenta
*/
private Integer subcuenta;

/**
* Codigo de concepto de debito o credito del componente
*/
private String cconcepto;

/**
* Texto libre del concepto de debito o credito
*/
private String descripcion;

/**
* Codigo de ruta y transito del cheque
*/
private String rutatransito;

/**
* Numero de cuenta girada
*/
private String cuentagirada;

/**
* Numero del cheque girado
*/
private String chequegirado;

/**
* Valor del debito
*/
private BigDecimal valor;

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

/**
* Fecha valor aplicada al valor del debito
*/
private Date fvalor;

/**
* Codigo de persona del banco corresponsal
*/
private Integer cpersona_corresponsal;

/**
* Numero de cuenta original de referencia, Ejemplo si hace un debito de cuentas a la vista para pago de credito este campo va el numeor de credito
*/
private String ccuenta_original;

/**
* Subcuenta asociada a la cuenta origina
*/
private Integer subcuenta_original;

/**Contructor por defecto*/
public Titemtransactionlote(){}
/**Contructor de Titemtransactionlote
@param pPk Clave Primaria del entity
*/
public Titemtransactionlote(TitemtransactionloteKey pPk){
 pk=pPk;
}
/**Entrega la Clave primaria de Titemtransactionlote
@return El objeto que referencia a la Clave primaria de Titemtransactionlote
*/
public TitemtransactionloteKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Titemtransactionlote
@param pPk El objeto que referencia a la nueva Clave primaria de Titemtransactionlote
*/
public void setPk(TitemtransactionloteKey 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 CCUENTA="CCUENTA";
/**Obtiene el valor de ccuenta
@return valor de ccuenta*/
public String getCcuenta(){
  return ccuenta;
}
/**Fija el valor de ccuenta
@param pCcuenta nuevo Valor de ccuenta*/
public void setCcuenta(String pCcuenta){
  ccuenta=pCcuenta;
}

public static final String SUBCUENTA="SUBCUENTA";
/**Obtiene el valor de subcuenta
@return valor de subcuenta*/
public Integer getSubcuenta(){
  return subcuenta;
}
/**Fija el valor de subcuenta
@param pSubcuenta nuevo Valor de subcuenta*/
public void setSubcuenta(Integer pSubcuenta){
  subcuenta=pSubcuenta;
}

public static final String CCONCEPTO="CCONCEPTO";
/**Obtiene el valor de cconcepto
@return valor de cconcepto*/
public String getCconcepto(){
  return cconcepto;
}
/**Fija el valor de cconcepto
@param pCconcepto nuevo Valor de cconcepto*/
public void setCconcepto(String pCconcepto){
  cconcepto=pCconcepto;
}

public static final String DESCRIPCION="DESCRIPCION";
/**Obtiene el valor de descripcion
@return valor de descripcion*/
public String getDescripcion(){
  return descripcion;
}
/**Fija el valor de descripcion
@param pDescripcion nuevo Valor de descripcion*/
public void setDescripcion(String pDescripcion){
  descripcion=pDescripcion;
}

public static final String RUTATRANSITO="RUTATRANSITO";
/**Obtiene el valor de rutatransito
@return valor de rutatransito*/
public String getRutatransito(){
  return rutatransito;
}
/**Fija el valor de rutatransito
@param pRutatransito nuevo Valor de rutatransito*/
public void setRutatransito(String pRutatransito){
  rutatransito=pRutatransito;
}

public static final String CUENTAGIRADA="CUENTAGIRADA";
/**Obtiene el valor de cuentagirada
@return valor de cuentagirada*/
public String getCuentagirada(){
  return cuentagirada;
}
/**Fija el valor de cuentagirada
@param pCuentagirada nuevo Valor de cuentagirada*/
public void setCuentagirada(String pCuentagirada){
  cuentagirada=pCuentagirada;
}

public static final String CHEQUEGIRADO="CHEQUEGIRADO";
/**Obtiene el valor de chequegirado
@return valor de chequegirado*/
public String getChequegirado(){
  return chequegirado;
}
/**Fija el valor de chequegirado
@param pChequegirado nuevo Valor de chequegirado*/
public void setChequegirado(String pChequegirado){
  chequegirado=pChequegirado;
}

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 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 FVALOR="FVALOR";
/**Obtiene el valor de fvalor
@return valor de fvalor*/
public Date getFvalor(){
  return fvalor;
}
/**Fija el valor de fvalor
@param pFvalor nuevo Valor de fvalor*/
public void setFvalor(Date pFvalor){
  fvalor=pFvalor;
}

public static final String CPERSONA_CORRESPONSAL="CPERSONA_CORRESPONSAL";
/**Obtiene el valor de cpersona_corresponsal
@return valor de cpersona_corresponsal*/
public Integer getCpersona_corresponsal(){
  return cpersona_corresponsal;
}
/**Fija el valor de cpersona_corresponsal
@param pCpersona_corresponsal nuevo Valor de cpersona_corresponsal*/
public void setCpersona_corresponsal(Integer pCpersona_corresponsal){
  cpersona_corresponsal=pCpersona_corresponsal;
}

public static final String CCUENTA_ORIGINAL="CCUENTA_ORIGINAL";
/**Obtiene el valor de ccuenta_original
@return valor de ccuenta_original*/
public String getCcuenta_original(){
  return ccuenta_original;
}
/**Fija el valor de ccuenta_original
@param pCcuenta_original nuevo Valor de ccuenta_original*/
public void setCcuenta_original(String pCcuenta_original){
  ccuenta_original=pCcuenta_original;
}

public static final String SUBCUENTA_ORIGINAL="SUBCUENTA_ORIGINAL";
/**Obtiene el valor de subcuenta_original
@return valor de subcuenta_original*/
public Integer getSubcuenta_original(){
  return subcuenta_original;
}
/**Fija el valor de subcuenta_original
@param pSubcuenta_original nuevo Valor de subcuenta_original*/
public void setSubcuenta_original(Integer pSubcuenta_original){
  subcuenta_original=pSubcuenta_original;
}

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