package com.fitbank.hb.persistence.trans;

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

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

/**
* Codigo del rol
*/
private Integer crol;

/**
* Descripcion del rol
*/
private String descripcion_rol;

/**
* Codigo del idioma
*/
private String cidioma;

/**
* Codigo del subsistema de la transaccion
*/
private String csubsistema;

/**
* Descripcion del subsistema de la transaccion
*/
private String descripcion_subsistema;

/**
* Codigo del grupo de producto
*/
private String cgrupoproducto;

/**
* Descripcion del grupo de producto
*/
private String descripcion_grupoproducto;

/**
* Codigo del producto
*/
private String cproducto;

/**
* Descripcion del produco
*/
private String descripcion_producto;

/**
* Codigo del tipo de banca
*/
private String ctipobanca;

/**
* Descripcion del tipo de banca
*/
private String descripcion_tipobanca;

/**
* Codigo del estatus de la cuenta
*/
private String cestatuscuenta;

/**
* Descripcion del estatus de la cuenta
*/
private String descripcion_estatuscuenta;

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

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

/**
* Descripcion de la transaccion
*/
private String descripcion_transaccion;

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

/**
* Codigo del tipo de horario
*/
private String ctipohorario;

/**
* Descripcion del tipo de horario
*/
private String descripcion_tipohorario;

/**
* Dia de la semana en el que esta disponible la transaccion en el rol
*/
private Integer diasemana;

/**
* Hora desde la que esta disponible la transaccion en el rol
*/
private String horadesde;

/**
* Hora hasta la que esta disponible la transaccion en el rol
*/
private String horahasta;

/**
* Monto maximo permitido para la transaccion en el rol
*/
private BigDecimal montomaximo;

/**Contructor por defecto*/
public Vtransactionchedule(){}
/**Contructor de Vtransactionchedule
@param pPk Clave Primaria del entity
@param pCpersona_compania Codigo de persona de la compania
@param pCrol Codigo del rol
@param pDescripcion_rol Descripcion del rol
@param pCidioma Codigo del idioma
@param pCsubsistema Codigo del subsistema de la transaccion
@param pDescripcion_subsistema Descripcion del subsistema de la transaccion
@param pCgrupoproducto Codigo del grupo de producto
@param pDescripcion_grupoproducto Descripcion del grupo de producto
@param pCproducto Codigo del producto
@param pDescripcion_producto Descripcion del produco
@param pCtipobanca Codigo del tipo de banca
@param pDescripcion_tipobanca Descripcion del tipo de banca
@param pCestatuscuenta Codigo del estatus de la cuenta
@param pDescripcion_estatuscuenta Descripcion del estatus de la cuenta
@param pCtransaccion Codigo de la transaccion
@param pVersiontransaccion Version de la transaccion
@param pDescripcion_transaccion Descripcion de la transaccion
@param pCmoneda Codigo de la moneda
@param pCtipohorario Codigo del tipo de horario
@param pDescripcion_tipohorario Descripcion del tipo de horario
@param pDiasemana Dia de la semana en el que esta disponible la transaccion en el rol
@param pHoradesde Hora desde la que esta disponible la transaccion en el rol
@param pHorahasta Hora hasta la que esta disponible la transaccion en el rol
*/
public Vtransactionchedule(Integer pPk,Integer pCpersona_compania,Integer pCrol,String pDescripcion_rol,String pCidioma,String pCsubsistema,String pDescripcion_subsistema,String pCgrupoproducto,String pDescripcion_grupoproducto,String pCproducto,String pDescripcion_producto,String pCtipobanca,String pDescripcion_tipobanca,String pCestatuscuenta,String pDescripcion_estatuscuenta,String pCtransaccion,String pVersiontransaccion,String pDescripcion_transaccion,String pCmoneda,String pCtipohorario,String pDescripcion_tipohorario,Integer pDiasemana,String pHoradesde,String pHorahasta){
 pk=pPk;
 cpersona_compania=pCpersona_compania;
 crol=pCrol;
 descripcion_rol=pDescripcion_rol;
 cidioma=pCidioma;
 csubsistema=pCsubsistema;
 descripcion_subsistema=pDescripcion_subsistema;
 cgrupoproducto=pCgrupoproducto;
 descripcion_grupoproducto=pDescripcion_grupoproducto;
 cproducto=pCproducto;
 descripcion_producto=pDescripcion_producto;
 ctipobanca=pCtipobanca;
 descripcion_tipobanca=pDescripcion_tipobanca;
 cestatuscuenta=pCestatuscuenta;
 descripcion_estatuscuenta=pDescripcion_estatuscuenta;
 ctransaccion=pCtransaccion;
 versiontransaccion=pVersiontransaccion;
 descripcion_transaccion=pDescripcion_transaccion;
 cmoneda=pCmoneda;
 ctipohorario=pCtipohorario;
 descripcion_tipohorario=pDescripcion_tipohorario;
 diasemana=pDiasemana;
 horadesde=pHoradesde;
 horahasta=pHorahasta;
}
/**Entrega la Clave primaria de Vtransactionchedule
@return El objeto que referencia a la Clave primaria de Vtransactionchedule
*/
public Integer getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Vtransactionchedule
@param pPk El objeto que referencia a la nueva Clave primaria de Vtransactionchedule
*/
public void setPk(Integer pPk){
  pk=pPk;
}
/**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;
}

/**Obtiene el valor de crol
@return valor de crol*/
public Integer getCrol(){
  return crol;
}
/**Fija el valor de crol
@param pCrol nuevo Valor de crol*/
public void setCrol(Integer pCrol){
  crol=pCrol;
}

/**Obtiene el valor de descripcion_rol
@return valor de descripcion_rol*/
public String getDescripcion_rol(){
  return descripcion_rol;
}
/**Fija el valor de descripcion_rol
@param pDescripcion_rol nuevo Valor de descripcion_rol*/
public void setDescripcion_rol(String pDescripcion_rol){
  descripcion_rol=pDescripcion_rol;
}

/**Obtiene el valor de cidioma
@return valor de cidioma*/
public String getCidioma(){
  return cidioma;
}
/**Fija el valor de cidioma
@param pCidioma nuevo Valor de cidioma*/
public void setCidioma(String pCidioma){
  cidioma=pCidioma;
}

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

/**Obtiene el valor de descripcion_subsistema
@return valor de descripcion_subsistema*/
public String getDescripcion_subsistema(){
  return descripcion_subsistema;
}
/**Fija el valor de descripcion_subsistema
@param pDescripcion_subsistema nuevo Valor de descripcion_subsistema*/
public void setDescripcion_subsistema(String pDescripcion_subsistema){
  descripcion_subsistema=pDescripcion_subsistema;
}

/**Obtiene el valor de cgrupoproducto
@return valor de cgrupoproducto*/
public String getCgrupoproducto(){
  return cgrupoproducto;
}
/**Fija el valor de cgrupoproducto
@param pCgrupoproducto nuevo Valor de cgrupoproducto*/
public void setCgrupoproducto(String pCgrupoproducto){
  cgrupoproducto=pCgrupoproducto;
}

/**Obtiene el valor de descripcion_grupoproducto
@return valor de descripcion_grupoproducto*/
public String getDescripcion_grupoproducto(){
  return descripcion_grupoproducto;
}
/**Fija el valor de descripcion_grupoproducto
@param pDescripcion_grupoproducto nuevo Valor de descripcion_grupoproducto*/
public void setDescripcion_grupoproducto(String pDescripcion_grupoproducto){
  descripcion_grupoproducto=pDescripcion_grupoproducto;
}

/**Obtiene el valor de cproducto
@return valor de cproducto*/
public String getCproducto(){
  return cproducto;
}
/**Fija el valor de cproducto
@param pCproducto nuevo Valor de cproducto*/
public void setCproducto(String pCproducto){
  cproducto=pCproducto;
}

/**Obtiene el valor de descripcion_producto
@return valor de descripcion_producto*/
public String getDescripcion_producto(){
  return descripcion_producto;
}
/**Fija el valor de descripcion_producto
@param pDescripcion_producto nuevo Valor de descripcion_producto*/
public void setDescripcion_producto(String pDescripcion_producto){
  descripcion_producto=pDescripcion_producto;
}

/**Obtiene el valor de ctipobanca
@return valor de ctipobanca*/
public String getCtipobanca(){
  return ctipobanca;
}
/**Fija el valor de ctipobanca
@param pCtipobanca nuevo Valor de ctipobanca*/
public void setCtipobanca(String pCtipobanca){
  ctipobanca=pCtipobanca;
}

/**Obtiene el valor de descripcion_tipobanca
@return valor de descripcion_tipobanca*/
public String getDescripcion_tipobanca(){
  return descripcion_tipobanca;
}
/**Fija el valor de descripcion_tipobanca
@param pDescripcion_tipobanca nuevo Valor de descripcion_tipobanca*/
public void setDescripcion_tipobanca(String pDescripcion_tipobanca){
  descripcion_tipobanca=pDescripcion_tipobanca;
}

/**Obtiene el valor de cestatuscuenta
@return valor de cestatuscuenta*/
public String getCestatuscuenta(){
  return cestatuscuenta;
}
/**Fija el valor de cestatuscuenta
@param pCestatuscuenta nuevo Valor de cestatuscuenta*/
public void setCestatuscuenta(String pCestatuscuenta){
  cestatuscuenta=pCestatuscuenta;
}

/**Obtiene el valor de descripcion_estatuscuenta
@return valor de descripcion_estatuscuenta*/
public String getDescripcion_estatuscuenta(){
  return descripcion_estatuscuenta;
}
/**Fija el valor de descripcion_estatuscuenta
@param pDescripcion_estatuscuenta nuevo Valor de descripcion_estatuscuenta*/
public void setDescripcion_estatuscuenta(String pDescripcion_estatuscuenta){
  descripcion_estatuscuenta=pDescripcion_estatuscuenta;
}

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

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

/**Obtiene el valor de descripcion_transaccion
@return valor de descripcion_transaccion*/
public String getDescripcion_transaccion(){
  return descripcion_transaccion;
}
/**Fija el valor de descripcion_transaccion
@param pDescripcion_transaccion nuevo Valor de descripcion_transaccion*/
public void setDescripcion_transaccion(String pDescripcion_transaccion){
  descripcion_transaccion=pDescripcion_transaccion;
}

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

/**Obtiene el valor de ctipohorario
@return valor de ctipohorario*/
public String getCtipohorario(){
  return ctipohorario;
}
/**Fija el valor de ctipohorario
@param pCtipohorario nuevo Valor de ctipohorario*/
public void setCtipohorario(String pCtipohorario){
  ctipohorario=pCtipohorario;
}

/**Obtiene el valor de descripcion_tipohorario
@return valor de descripcion_tipohorario*/
public String getDescripcion_tipohorario(){
  return descripcion_tipohorario;
}
/**Fija el valor de descripcion_tipohorario
@param pDescripcion_tipohorario nuevo Valor de descripcion_tipohorario*/
public void setDescripcion_tipohorario(String pDescripcion_tipohorario){
  descripcion_tipohorario=pDescripcion_tipohorario;
}

/**Obtiene el valor de diasemana
@return valor de diasemana*/
public Integer getDiasemana(){
  return diasemana;
}
/**Fija el valor de diasemana
@param pDiasemana nuevo Valor de diasemana*/
public void setDiasemana(Integer pDiasemana){
  diasemana=pDiasemana;
}

/**Obtiene el valor de horadesde
@return valor de horadesde*/
public String getHoradesde(){
  return horadesde;
}
/**Fija el valor de horadesde
@param pHoradesde nuevo Valor de horadesde*/
public void setHoradesde(String pHoradesde){
  horadesde=pHoradesde;
}

/**Obtiene el valor de horahasta
@return valor de horahasta*/
public String getHorahasta(){
  return horahasta;
}
/**Fija el valor de horahasta
@param pHorahasta nuevo Valor de horahasta*/
public void setHorahasta(String pHorahasta){
  horahasta=pHorahasta;
}

/**Obtiene el valor de montomaximo
@return valor de montomaximo*/
public BigDecimal getMontomaximo(){
  return montomaximo;
}
/**Fija el valor de montomaximo
@param pMontomaximo nuevo Valor de montomaximo*/
public void setMontomaximo(BigDecimal pMontomaximo){
  montomaximo=pMontomaximo;
}

/**Implementación de la comparación de la entidad Vtransactionchedule
@param rhs Elemento de Comparación
@return el resultado de la comparación
*/
public boolean equals(Object rhs){
    if (rhs == null)return false;
    if (! (rhs instanceof Vtransactionchedule))return false;
    Vtransactionchedule that = (Vtransactionchedule) 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 Vtransactionchedule
@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 blancoVtransactionchedule
*/
public Object createInstance() throws Exception{
 Vtransactionchedule instance=new Vtransactionchedule();	
 return instance;
}
public Object cloneMe() throws Exception{
  Vtransactionchedule p=(Vtransactionchedule)this.clone();
  return p;
}
}
