package com.fitbank.hb.persistence.creditline;

import java.sql.Timestamp;
import java.io.Serializable;
import java.math.BigDecimal;
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 TLINEASCREDITOMOVIMIENTOS*/
public class Tcreditlinemovement extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TLINEASCREDITOMOVIMIENTOS */
public static final String TABLE_NAME = "TLINEASCREDITOMOVIMIENTOS";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tcreditlinemovement
*/
private String pk;
/**
* Número de cuenta de la línea de crédito.
*/
private String ccuenta_linea;

/**
* Código de la persona de la compañía.
*/
private Integer cpersona_compania;

/**
* Número del sub límite.
*/
private Integer numerosublimite;

/**
* Número del documento (producto).
*/
private String numerodocumento;

/**
* Fecha real en que se realizó el movimiento.
*/
private Timestamp freal;

/**
* Fecha contable.
*/
private Date fcontable;

/**
* Valor del movimiento.
*/
private BigDecimal valor;

/**
* Define si la transacción de la cuenta se aplica al D=Debito o C=Crédito.
*/
private String debitocredito;

/**
* Usuario que realiza el movimiento.
*/
private String cusuario;

/**
* Indica si la transacción  fue reversada. 0=No, 1=Sí.
*/
private String reverso;

/**
* Referencia que identifica al movimiento.
*/
private String referencia;

/**Contructor por defecto*/
public Tcreditlinemovement(){}
/**Contructor de Tcreditlinemovement
@param pPk Clave Primaria del entity
@param pCcuenta_linea Número de cuenta de la línea de crédito.
@param pCpersona_compania Código de la persona de la compañía.
@param pNumerodocumento Número del documento (producto).
@param pFreal Fecha real en que se realizó el movimiento.
@param pFcontable Fecha contable.
@param pValor Valor del movimiento.
@param pDebitocredito Define si la transacción de la cuenta se aplica al D=Debito o C=Crédito.
@param pCusuario Usuario que realiza el movimiento.
@param pReverso Indica si la transacción  fue reversada. 0=No, 1=Sí.
*/
public Tcreditlinemovement(String pPk,String pCcuenta_linea,Integer pCpersona_compania,String pNumerodocumento,Timestamp pFreal,Date pFcontable,BigDecimal pValor,String pDebitocredito,String pCusuario,String pReverso){
 pk=pPk;
 ccuenta_linea=pCcuenta_linea;
 cpersona_compania=pCpersona_compania;
 numerodocumento=pNumerodocumento;
 freal=pFreal;
 fcontable=pFcontable;
 valor=pValor;
 debitocredito=pDebitocredito;
 cusuario=pCusuario;
 reverso=pReverso;
}
/**Entrega la Clave primaria de Tcreditlinemovement
@return El objeto que referencia a la Clave primaria de Tcreditlinemovement
*/
public String getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tcreditlinemovement
@param pPk El objeto que referencia a la nueva Clave primaria de Tcreditlinemovement
*/
public void setPk(String pPk){
  pk=pPk;
}
public static final String CCUENTA_LINEA="CCUENTA_LINEA";
/**Obtiene el valor de ccuenta_linea
@return valor de ccuenta_linea*/
public String getCcuenta_linea(){
  return ccuenta_linea;
}
/**Fija el valor de ccuenta_linea
@param pCcuenta_linea nuevo Valor de ccuenta_linea*/
public void setCcuenta_linea(String pCcuenta_linea){
  ccuenta_linea=pCcuenta_linea;
}

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 NUMEROSUBLIMITE="NUMEROSUBLIMITE";
/**Obtiene el valor de numerosublimite
@return valor de numerosublimite*/
public Integer getNumerosublimite(){
  return numerosublimite;
}
/**Fija el valor de numerosublimite
@param pNumerosublimite nuevo Valor de numerosublimite*/
public void setNumerosublimite(Integer pNumerosublimite){
  numerosublimite=pNumerosublimite;
}

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 FREAL="FREAL";
/**Obtiene el valor de freal
@return valor de freal*/
public Timestamp getFreal(){
  return freal;
}
/**Fija el valor de freal
@param pFreal nuevo Valor de freal*/
public void setFreal(Timestamp pFreal){
  freal=pFreal;
}

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 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 DEBITOCREDITO="DEBITOCREDITO";
/**Obtiene el valor de debitocredito
@return valor de debitocredito*/
public String getDebitocredito(){
  return debitocredito;
}
/**Fija el valor de debitocredito
@param pDebitocredito nuevo Valor de debitocredito*/
public void setDebitocredito(String pDebitocredito){
  debitocredito=pDebitocredito;
}

public static final String CUSUARIO="CUSUARIO";
/**Obtiene el valor de cusuario
@return valor de cusuario*/
public String getCusuario(){
  return cusuario;
}
/**Fija el valor de cusuario
@param pCusuario nuevo Valor de cusuario*/
public void setCusuario(String pCusuario){
  cusuario=pCusuario;
}

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 REFERENCIA="REFERENCIA";
/**Obtiene el valor de referencia
@return valor de referencia*/
public String getReferencia(){
  return referencia;
}
/**Fija el valor de referencia
@param pReferencia nuevo Valor de referencia*/
public void setReferencia(String pReferencia){
  referencia=pReferencia;
}

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