package com.fitbank.hb.persistence.billing;

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

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

/**
* Numero de documento sea de la factura, nd, nc, o cobros
*/
private String numerodocumento;

/**
* Periodo del documento generado.
*/
private String cperiodo;

/**
* Codigo del tipo de documento de inventario
*/
private String ctipodocumentoinventario;

/**
* Descripcion del tipo de documento de inventario
*/
private String dtipodocumento;

/**
* El numero de cuota de la factura
*/
private Integer cuota;

/**
* Fecha en la que se realizo el movimiento
*/
private Date fregistro;

/**
* El numero de factura que se realizo dicho nd, nc o cobro
*/
private String numerodocumento_referencia;

/**
* Periodo de la factura que se realizo dicho nd, nc o cobro 
*/
private String cperiodo_referencia;

/**
* Valor debito
*/
private BigDecimal debito;

/**
* Valor credito
*/
private BigDecimal credito;

/**
* Valor obtenido de la resta del debito  y credito
*/
private BigDecimal saldo;

/**
* Usuario que ejecuta la orden
*/
private String cusuario;

/**Contructor por defecto*/
public Tstateaccountclient(){}
/**Contructor de Tstateaccountclient
@param pPk Clave Primaria del entity
*/
public Tstateaccountclient(Integer pPk){
 pk=pPk;
}
/**Entrega la Clave primaria de Tstateaccountclient
@return El objeto que referencia a la Clave primaria de Tstateaccountclient
*/
public Integer getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tstateaccountclient
@param pPk El objeto que referencia a la nueva Clave primaria de Tstateaccountclient
*/
public void setPk(Integer 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 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 CPERIODO="CPERIODO";
/**Obtiene el valor de cperiodo
@return valor de cperiodo*/
public String getCperiodo(){
  return cperiodo;
}
/**Fija el valor de cperiodo
@param pCperiodo nuevo Valor de cperiodo*/
public void setCperiodo(String pCperiodo){
  cperiodo=pCperiodo;
}

public static final String CTIPODOCUMENTOINVENTARIO="CTIPODOCUMENTOINVENTARIO";
/**Obtiene el valor de ctipodocumentoinventario
@return valor de ctipodocumentoinventario*/
public String getCtipodocumentoinventario(){
  return ctipodocumentoinventario;
}
/**Fija el valor de ctipodocumentoinventario
@param pCtipodocumentoinventario nuevo Valor de ctipodocumentoinventario*/
public void setCtipodocumentoinventario(String pCtipodocumentoinventario){
  ctipodocumentoinventario=pCtipodocumentoinventario;
}

public static final String DTIPODOCUMENTO="DTIPODOCUMENTO";
/**Obtiene el valor de dtipodocumento
@return valor de dtipodocumento*/
public String getDtipodocumento(){
  return dtipodocumento;
}
/**Fija el valor de dtipodocumento
@param pDtipodocumento nuevo Valor de dtipodocumento*/
public void setDtipodocumento(String pDtipodocumento){
  dtipodocumento=pDtipodocumento;
}

public static final String CUOTA="CUOTA";
/**Obtiene el valor de cuota
@return valor de cuota*/
public Integer getCuota(){
  return cuota;
}
/**Fija el valor de cuota
@param pCuota nuevo Valor de cuota*/
public void setCuota(Integer pCuota){
  cuota=pCuota;
}

public static final String FREGISTRO="FREGISTRO";
/**Obtiene el valor de fregistro
@return valor de fregistro*/
public Date getFregistro(){
  return fregistro;
}
/**Fija el valor de fregistro
@param pFregistro nuevo Valor de fregistro*/
public void setFregistro(Date pFregistro){
  fregistro=pFregistro;
}

public static final String NUMERODOCUMENTO_REFERENCIA="NUMERODOCUMENTO_REFERENCIA";
/**Obtiene el valor de numerodocumento_referencia
@return valor de numerodocumento_referencia*/
public String getNumerodocumento_referencia(){
  return numerodocumento_referencia;
}
/**Fija el valor de numerodocumento_referencia
@param pNumerodocumento_referencia nuevo Valor de numerodocumento_referencia*/
public void setNumerodocumento_referencia(String pNumerodocumento_referencia){
  numerodocumento_referencia=pNumerodocumento_referencia;
}

public static final String CPERIODO_REFERENCIA="CPERIODO_REFERENCIA";
/**Obtiene el valor de cperiodo_referencia
@return valor de cperiodo_referencia*/
public String getCperiodo_referencia(){
  return cperiodo_referencia;
}
/**Fija el valor de cperiodo_referencia
@param pCperiodo_referencia nuevo Valor de cperiodo_referencia*/
public void setCperiodo_referencia(String pCperiodo_referencia){
  cperiodo_referencia=pCperiodo_referencia;
}

public static final String DEBITO="DEBITO";
/**Obtiene el valor de debito
@return valor de debito*/
public BigDecimal getDebito(){
  return debito;
}
/**Fija el valor de debito
@param pDebito nuevo Valor de debito*/
public void setDebito(BigDecimal pDebito){
  debito=pDebito;
}

public static final String CREDITO="CREDITO";
/**Obtiene el valor de credito
@return valor de credito*/
public BigDecimal getCredito(){
  return credito;
}
/**Fija el valor de credito
@param pCredito nuevo Valor de credito*/
public void setCredito(BigDecimal pCredito){
  credito=pCredito;
}

public static final String SALDO="SALDO";
/**Obtiene el valor de saldo
@return valor de saldo*/
public BigDecimal getSaldo(){
  return saldo;
}
/**Fija el valor de saldo
@param pSaldo nuevo Valor de saldo*/
public void setSaldo(BigDecimal pSaldo){
  saldo=pSaldo;
}

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

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