package com.fitbank.hb.persistence.acco;

import com.fitbank.common.hb.AbstractExpire;
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 TCUENTADESEMBOLSO*/
public class Taccountdisbursement extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TCUENTADESEMBOLSO */
public static final String TABLE_NAME = "TCUENTADESEMBOLSO";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Taccountdisbursement
*/
private TaccountdisbursementKey pk;
/**
* Fecha desde la que estan vigentes los datos de pagos de una cuenta
*/
private Timestamp fdesde;

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

/**
* Codigo de la forma de desmbolso de una cuenta
*/
private String cformadesembolso;

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

/**
* Monto del desembolso
*/
private BigDecimal monto;

/**
* Porcentaje del valor total que se distribuye
*/
private BigDecimal porcentaje;

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

/**
* Numero de cuenta a acreditar
*/
private String ccuenta_credito;

/**
* Codigo de la persona beneficiaria del desembolso
*/
private Integer cpersona_beneficiario;

/**
* Identificacion del beneficiario
*/
private String identificacionbeneficiario;

/**
* Nombre del beneficiario
*/
private String nombrebeneficiario;

/**
* Numero del documento de la transaccion
*/
private String numerodocumento;

/**
* Numero de cuenta de gerencia del documento en el caso de la emision del cheque
*/
private String ccuenta_documento;

/**
* Comentarios sobre el proceso de desembolso de una cuenta
*/
private String comentarios;

/**
* Numero de mensaje con el que se procesa el desembolso de una cuenta
*/
private String numeromensaje;

/**
* Codigo del subsistema de la operacion contable
*/
private String csubsistema_operacion;

/**
* Codigo contable.
*/
private String codigocontable;

/**
* Numero de cuenta auxiliar de la operacion contable
*/
private String ccuenta_auxiliar;

/**
* Manejo de optimistic loking
*/
private Integer versioncontrol;

/**
* Codigo del tipo de cuenta para ordenes de pagos
*/
private String ctipocuentaordenpago;

/**
* Codigo de persona del Banco de la cuenta para ordenes de pago.
*/
private Integer cpersona_banco;

/**
* Numero de cuenta para ordenes de pago.
*/
private String cuentaordenpago;

/**Contructor por defecto*/
public Taccountdisbursement(){}
/**Contructor de Taccountdisbursement
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que estan vigentes los datos de pagos de una cuenta
@param pCformadesembolso Codigo de la forma de desmbolso de una cuenta
@param pCmoneda Codigo de moneda del desembolso
@param pMonto Monto del desembolso
*/
public Taccountdisbursement(TaccountdisbursementKey pPk,Timestamp pFdesde,String pCformadesembolso,String pCmoneda,BigDecimal pMonto){
 pk=pPk;
 fdesde=pFdesde;
 cformadesembolso=pCformadesembolso;
 cmoneda=pCmoneda;
 monto=pMonto;
}
/**Entrega la Clave primaria de Taccountdisbursement
@return El objeto que referencia a la Clave primaria de Taccountdisbursement
*/
public TaccountdisbursementKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Taccountdisbursement
@param pPk El objeto que referencia a la nueva Clave primaria de Taccountdisbursement
*/
public void setPk(TaccountdisbursementKey pPk){
  pk=pPk;
}
public static final String FDESDE="FDESDE";
/**Obtiene el valor de fdesde
@return valor de fdesde*/
public Timestamp getFdesde(){
  return fdesde;
}
/**Fija el valor de fdesde
@param pFdesde nuevo Valor de fdesde*/
public void setFdesde(Timestamp pFdesde){
  fdesde=pFdesde;
}

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 CFORMADESEMBOLSO="CFORMADESEMBOLSO";
/**Obtiene el valor de cformadesembolso
@return valor de cformadesembolso*/
public String getCformadesembolso(){
  return cformadesembolso;
}
/**Fija el valor de cformadesembolso
@param pCformadesembolso nuevo Valor de cformadesembolso*/
public void setCformadesembolso(String pCformadesembolso){
  cformadesembolso=pCformadesembolso;
}

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 MONTO="MONTO";
/**Obtiene el valor de monto
@return valor de monto*/
public BigDecimal getMonto(){
  return monto;
}
/**Fija el valor de monto
@param pMonto nuevo Valor de monto*/
public void setMonto(BigDecimal pMonto){
  monto=pMonto;
}

public static final String PORCENTAJE="PORCENTAJE";
/**Obtiene el valor de porcentaje
@return valor de porcentaje*/
public BigDecimal getPorcentaje(){
  return porcentaje;
}
/**Fija el valor de porcentaje
@param pPorcentaje nuevo Valor de porcentaje*/
public void setPorcentaje(BigDecimal pPorcentaje){
  porcentaje=pPorcentaje;
}

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 CCUENTA_CREDITO="CCUENTA_CREDITO";
/**Obtiene el valor de ccuenta_credito
@return valor de ccuenta_credito*/
public String getCcuenta_credito(){
  return ccuenta_credito;
}
/**Fija el valor de ccuenta_credito
@param pCcuenta_credito nuevo Valor de ccuenta_credito*/
public void setCcuenta_credito(String pCcuenta_credito){
  ccuenta_credito=pCcuenta_credito;
}

public static final String CPERSONA_BENEFICIARIO="CPERSONA_BENEFICIARIO";
/**Obtiene el valor de cpersona_beneficiario
@return valor de cpersona_beneficiario*/
public Integer getCpersona_beneficiario(){
  return cpersona_beneficiario;
}
/**Fija el valor de cpersona_beneficiario
@param pCpersona_beneficiario nuevo Valor de cpersona_beneficiario*/
public void setCpersona_beneficiario(Integer pCpersona_beneficiario){
  cpersona_beneficiario=pCpersona_beneficiario;
}

public static final String IDENTIFICACIONBENEFICIARIO="IDENTIFICACIONBENEFICIARIO";
/**Obtiene el valor de identificacionbeneficiario
@return valor de identificacionbeneficiario*/
public String getIdentificacionbeneficiario(){
  return identificacionbeneficiario;
}
/**Fija el valor de identificacionbeneficiario
@param pIdentificacionbeneficiario nuevo Valor de identificacionbeneficiario*/
public void setIdentificacionbeneficiario(String pIdentificacionbeneficiario){
  identificacionbeneficiario=pIdentificacionbeneficiario;
}

public static final String NOMBREBENEFICIARIO="NOMBREBENEFICIARIO";
/**Obtiene el valor de nombrebeneficiario
@return valor de nombrebeneficiario*/
public String getNombrebeneficiario(){
  return nombrebeneficiario;
}
/**Fija el valor de nombrebeneficiario
@param pNombrebeneficiario nuevo Valor de nombrebeneficiario*/
public void setNombrebeneficiario(String pNombrebeneficiario){
  nombrebeneficiario=pNombrebeneficiario;
}

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 CCUENTA_DOCUMENTO="CCUENTA_DOCUMENTO";
/**Obtiene el valor de ccuenta_documento
@return valor de ccuenta_documento*/
public String getCcuenta_documento(){
  return ccuenta_documento;
}
/**Fija el valor de ccuenta_documento
@param pCcuenta_documento nuevo Valor de ccuenta_documento*/
public void setCcuenta_documento(String pCcuenta_documento){
  ccuenta_documento=pCcuenta_documento;
}

public static final String COMENTARIOS="COMENTARIOS";
/**Obtiene el valor de comentarios
@return valor de comentarios*/
public String getComentarios(){
  return comentarios;
}
/**Fija el valor de comentarios
@param pComentarios nuevo Valor de comentarios*/
public void setComentarios(String pComentarios){
  comentarios=pComentarios;
}

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 CSUBSISTEMA_OPERACION="CSUBSISTEMA_OPERACION";
/**Obtiene el valor de csubsistema_operacion
@return valor de csubsistema_operacion*/
public String getCsubsistema_operacion(){
  return csubsistema_operacion;
}
/**Fija el valor de csubsistema_operacion
@param pCsubsistema_operacion nuevo Valor de csubsistema_operacion*/
public void setCsubsistema_operacion(String pCsubsistema_operacion){
  csubsistema_operacion=pCsubsistema_operacion;
}

public static final String CODIGOCONTABLE="CODIGOCONTABLE";
/**Obtiene el valor de codigocontable
@return valor de codigocontable*/
public String getCodigocontable(){
  return codigocontable;
}
/**Fija el valor de codigocontable
@param pCodigocontable nuevo Valor de codigocontable*/
public void setCodigocontable(String pCodigocontable){
  codigocontable=pCodigocontable;
}

public static final String CCUENTA_AUXILIAR="CCUENTA_AUXILIAR";
/**Obtiene el valor de ccuenta_auxiliar
@return valor de ccuenta_auxiliar*/
public String getCcuenta_auxiliar(){
  return ccuenta_auxiliar;
}
/**Fija el valor de ccuenta_auxiliar
@param pCcuenta_auxiliar nuevo Valor de ccuenta_auxiliar*/
public void setCcuenta_auxiliar(String pCcuenta_auxiliar){
  ccuenta_auxiliar=pCcuenta_auxiliar;
}

public static final String VERSIONCONTROL="VERSIONCONTROL";
/**Obtiene el valor de versioncontrol
@return valor de versioncontrol*/
public Integer getVersioncontrol(){
  return versioncontrol;
}
/**Fija el valor de versioncontrol
@param pVersioncontrol nuevo Valor de versioncontrol*/
public void setVersioncontrol(Integer pVersioncontrol){
  versioncontrol=pVersioncontrol;
}

public static final String CTIPOCUENTAORDENPAGO="CTIPOCUENTAORDENPAGO";
/**Obtiene el valor de ctipocuentaordenpago
@return valor de ctipocuentaordenpago*/
public String getCtipocuentaordenpago(){
  return ctipocuentaordenpago;
}
/**Fija el valor de ctipocuentaordenpago
@param pCtipocuentaordenpago nuevo Valor de ctipocuentaordenpago*/
public void setCtipocuentaordenpago(String pCtipocuentaordenpago){
  ctipocuentaordenpago=pCtipocuentaordenpago;
}

public static final String CPERSONA_BANCO="CPERSONA_BANCO";
/**Obtiene el valor de cpersona_banco
@return valor de cpersona_banco*/
public Integer getCpersona_banco(){
  return cpersona_banco;
}
/**Fija el valor de cpersona_banco
@param pCpersona_banco nuevo Valor de cpersona_banco*/
public void setCpersona_banco(Integer pCpersona_banco){
  cpersona_banco=pCpersona_banco;
}

public static final String CUENTAORDENPAGO="CUENTAORDENPAGO";
/**Obtiene el valor de cuentaordenpago
@return valor de cuentaordenpago*/
public String getCuentaordenpago(){
  return cuentaordenpago;
}
/**Fija el valor de cuentaordenpago
@param pCuentaordenpago nuevo Valor de cuentaordenpago*/
public void setCuentaordenpago(String pCuentaordenpago){
  cuentaordenpago=pCuentaordenpago;
}

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