package com.fitbank.hb.persistence.gene;

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 TTARJETADEBITOSOLICITUD*/
public class Tsolicituddebitcard extends AbstractExpire  implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TTARJETADEBITOSOLICITUD */
public static final String TABLE_NAME = "TTARJETADEBITOSOLICITUD";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Tsolicituddebitcard
*/
private TsolicituddebitcardKey pk;
/**
* Manejo de optimistic locking.
*/
private Integer versioncontrol;

/**
* Fecha desde la que estan vigentes los datos del servicio de la persona
*/
private Timestamp fdesde;

/**
* Codigo del estatus del plastico de una tarjeta de debito,credito,identificacion,parqueadero,etc.
*/
private String cestatusplastico;

/**
* Codigo de la compania
*/
private Integer cpersona_compania;

/**
* Numero de la cuenta a la vista asignada a la tarjeta de debito,credito,identificacion,parqueadero,etc.
*/
private String ccuenta;

/**
* Indica si la cuenta asociada es la principal de la tarjeta de debito,credito,identificacion,parqueadero,etc., para transacciones de POS cuando es referenciada con el tipo Universal, asimismo sera la cuenta de la que se realizaran los debitos por costos de emision y renovacion
*/
private String principal;

/**
* Codigo del usuario que ingresa la solicitud de servicio
*/
private String cusuario_ingreso;

/**
* Codigo de la sucursal que ingresa la solicitud de servicio
*/
private Integer csucursal_ingreso;

/**
* Codigo de la oficina que ingresa la solicitud de servicio
*/
private Integer coficina_ingreso;

/**
* Codigo de sucursal de retiro de la tarjeta
*/
private Integer csucursal_retiro;

/**
* Codigo de oficina de retiro de la tarjeta
*/
private Integer coficina_retiro;

/**
* Codigo de modelo del plastico de una tarjeta de debito,credito,identificacion,parqueadero,etc.
*/
private String cmodeloplastico;

/**
* Numero del lote de fabricacion de la tarjeta de debito,credito,identificacion,parqueadero,etc.
*/
private Integer numerolote;

/**
* Nombre que se colocara en el plastico de una tarjeta de debito,credito,identificacion,parqueadero,etc.
*/
private String nombreenplastico;

/**
* Texto para saludo en los cajeros automaticos
*/
private String textosaludo;

/**
* Marca si la tarjeta es principal o adicional P/A
*/
private String principaladicional;

/**
* Tipo de cupo. C=canal (asignado por el Banco), P=personal (dado por el cliente)
*/
private String tipocupo;

/**
* Codigo de auspicio de tarjeta de debito
*/
private String causpicio;

/**
* Codigo del tipo de tarjeta
*/
private String ctipotarjeta;

/**
* Cupo maximo de retiro en cajeros propios en la modalidad fuera de linea
*/
private BigDecimal cupofueradelinea;

/**Contructor por defecto*/
public Tsolicituddebitcard(){}
/**Contructor de Tsolicituddebitcard
@param pPk Clave Primaria del entity
@param pFdesde Fecha desde la que estan vigentes los datos del servicio de la persona
@param pCestatusplastico Codigo del estatus del plastico de una tarjeta de debito,credito,identificacion,parqueadero,etc.
@param pCpersona_compania Codigo de la compania
@param pCcuenta Numero de la cuenta a la vista asignada a la tarjeta de debito,credito,identificacion,parqueadero,etc.
@param pPrincipal Indica si la cuenta asociada es la principal de la tarjeta de debito,credito,identificacion,parqueadero,etc., para transacciones de POS cuando es referenciada con el tipo Universal, asimismo sera la cuenta de la que se realizaran los debitos por costos de emision y renovacion
@param pCmodeloplastico Codigo de modelo del plastico de una tarjeta de debito,credito,identificacion,parqueadero,etc.
@param pNombreenplastico Nombre que se colocara en el plastico de una tarjeta de debito,credito,identificacion,parqueadero,etc.
@param pTextosaludo Texto para saludo en los cajeros automaticos
@param pPrincipaladicional Marca si la tarjeta es principal o adicional P/A
*/
public Tsolicituddebitcard(TsolicituddebitcardKey pPk,Timestamp pFdesde,String pCestatusplastico,Integer pCpersona_compania,String pCcuenta,String pPrincipal,String pCmodeloplastico,String pNombreenplastico,String pTextosaludo,String pPrincipaladicional){
 pk=pPk;
 fdesde=pFdesde;
 cestatusplastico=pCestatusplastico;
 cpersona_compania=pCpersona_compania;
 ccuenta=pCcuenta;
 principal=pPrincipal;
 cmodeloplastico=pCmodeloplastico;
 nombreenplastico=pNombreenplastico;
 textosaludo=pTextosaludo;
 principaladicional=pPrincipaladicional;
}
/**Entrega la Clave primaria de Tsolicituddebitcard
@return El objeto que referencia a la Clave primaria de Tsolicituddebitcard
*/
public TsolicituddebitcardKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Tsolicituddebitcard
@param pPk El objeto que referencia a la nueva Clave primaria de Tsolicituddebitcard
*/
public void setPk(TsolicituddebitcardKey pPk){
  pk=pPk;
}
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 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 CESTATUSPLASTICO="CESTATUSPLASTICO";
/**Obtiene el valor de cestatusplastico
@return valor de cestatusplastico*/
public String getCestatusplastico(){
  return cestatusplastico;
}
/**Fija el valor de cestatusplastico
@param pCestatusplastico nuevo Valor de cestatusplastico*/
public void setCestatusplastico(String pCestatusplastico){
  cestatusplastico=pCestatusplastico;
}

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 PRINCIPAL="PRINCIPAL";
/**Obtiene el valor de principal
@return valor de principal*/
public String getPrincipal(){
  return principal;
}
/**Fija el valor de principal
@param pPrincipal nuevo Valor de principal*/
public void setPrincipal(String pPrincipal){
  principal=pPrincipal;
}

public static final String CUSUARIO_INGRESO="CUSUARIO_INGRESO";
/**Obtiene el valor de cusuario_ingreso
@return valor de cusuario_ingreso*/
public String getCusuario_ingreso(){
  return cusuario_ingreso;
}
/**Fija el valor de cusuario_ingreso
@param pCusuario_ingreso nuevo Valor de cusuario_ingreso*/
public void setCusuario_ingreso(String pCusuario_ingreso){
  cusuario_ingreso=pCusuario_ingreso;
}

public static final String CSUCURSAL_INGRESO="CSUCURSAL_INGRESO";
/**Obtiene el valor de csucursal_ingreso
@return valor de csucursal_ingreso*/
public Integer getCsucursal_ingreso(){
  return csucursal_ingreso;
}
/**Fija el valor de csucursal_ingreso
@param pCsucursal_ingreso nuevo Valor de csucursal_ingreso*/
public void setCsucursal_ingreso(Integer pCsucursal_ingreso){
  csucursal_ingreso=pCsucursal_ingreso;
}

public static final String COFICINA_INGRESO="COFICINA_INGRESO";
/**Obtiene el valor de coficina_ingreso
@return valor de coficina_ingreso*/
public Integer getCoficina_ingreso(){
  return coficina_ingreso;
}
/**Fija el valor de coficina_ingreso
@param pCoficina_ingreso nuevo Valor de coficina_ingreso*/
public void setCoficina_ingreso(Integer pCoficina_ingreso){
  coficina_ingreso=pCoficina_ingreso;
}

public static final String CSUCURSAL_RETIRO="CSUCURSAL_RETIRO";
/**Obtiene el valor de csucursal_retiro
@return valor de csucursal_retiro*/
public Integer getCsucursal_retiro(){
  return csucursal_retiro;
}
/**Fija el valor de csucursal_retiro
@param pCsucursal_retiro nuevo Valor de csucursal_retiro*/
public void setCsucursal_retiro(Integer pCsucursal_retiro){
  csucursal_retiro=pCsucursal_retiro;
}

public static final String COFICINA_RETIRO="COFICINA_RETIRO";
/**Obtiene el valor de coficina_retiro
@return valor de coficina_retiro*/
public Integer getCoficina_retiro(){
  return coficina_retiro;
}
/**Fija el valor de coficina_retiro
@param pCoficina_retiro nuevo Valor de coficina_retiro*/
public void setCoficina_retiro(Integer pCoficina_retiro){
  coficina_retiro=pCoficina_retiro;
}

public static final String CMODELOPLASTICO="CMODELOPLASTICO";
/**Obtiene el valor de cmodeloplastico
@return valor de cmodeloplastico*/
public String getCmodeloplastico(){
  return cmodeloplastico;
}
/**Fija el valor de cmodeloplastico
@param pCmodeloplastico nuevo Valor de cmodeloplastico*/
public void setCmodeloplastico(String pCmodeloplastico){
  cmodeloplastico=pCmodeloplastico;
}

public static final String NUMEROLOTE="NUMEROLOTE";
/**Obtiene el valor de numerolote
@return valor de numerolote*/
public Integer getNumerolote(){
  return numerolote;
}
/**Fija el valor de numerolote
@param pNumerolote nuevo Valor de numerolote*/
public void setNumerolote(Integer pNumerolote){
  numerolote=pNumerolote;
}

public static final String NOMBREENPLASTICO="NOMBREENPLASTICO";
/**Obtiene el valor de nombreenplastico
@return valor de nombreenplastico*/
public String getNombreenplastico(){
  return nombreenplastico;
}
/**Fija el valor de nombreenplastico
@param pNombreenplastico nuevo Valor de nombreenplastico*/
public void setNombreenplastico(String pNombreenplastico){
  nombreenplastico=pNombreenplastico;
}

public static final String TEXTOSALUDO="TEXTOSALUDO";
/**Obtiene el valor de textosaludo
@return valor de textosaludo*/
public String getTextosaludo(){
  return textosaludo;
}
/**Fija el valor de textosaludo
@param pTextosaludo nuevo Valor de textosaludo*/
public void setTextosaludo(String pTextosaludo){
  textosaludo=pTextosaludo;
}

public static final String PRINCIPALADICIONAL="PRINCIPALADICIONAL";
/**Obtiene el valor de principaladicional
@return valor de principaladicional*/
public String getPrincipaladicional(){
  return principaladicional;
}
/**Fija el valor de principaladicional
@param pPrincipaladicional nuevo Valor de principaladicional*/
public void setPrincipaladicional(String pPrincipaladicional){
  principaladicional=pPrincipaladicional;
}

public static final String TIPOCUPO="TIPOCUPO";
/**Obtiene el valor de tipocupo
@return valor de tipocupo*/
public String getTipocupo(){
  return tipocupo;
}
/**Fija el valor de tipocupo
@param pTipocupo nuevo Valor de tipocupo*/
public void setTipocupo(String pTipocupo){
  tipocupo=pTipocupo;
}

public static final String CAUSPICIO="CAUSPICIO";
/**Obtiene el valor de causpicio
@return valor de causpicio*/
public String getCauspicio(){
  return causpicio;
}
/**Fija el valor de causpicio
@param pCauspicio nuevo Valor de causpicio*/
public void setCauspicio(String pCauspicio){
  causpicio=pCauspicio;
}

public static final String CTIPOTARJETA="CTIPOTARJETA";
/**Obtiene el valor de ctipotarjeta
@return valor de ctipotarjeta*/
public String getCtipotarjeta(){
  return ctipotarjeta;
}
/**Fija el valor de ctipotarjeta
@param pCtipotarjeta nuevo Valor de ctipotarjeta*/
public void setCtipotarjeta(String pCtipotarjeta){
  ctipotarjeta=pCtipotarjeta;
}

public static final String CUPOFUERADELINEA="CUPOFUERADELINEA";
/**Obtiene el valor de cupofueradelinea
@return valor de cupofueradelinea*/
public BigDecimal getCupofueradelinea(){
  return cupofueradelinea;
}
/**Fija el valor de cupofueradelinea
@param pCupofueradelinea nuevo Valor de cupofueradelinea*/
public void setCupofueradelinea(BigDecimal pCupofueradelinea){
  cupofueradelinea=pCupofueradelinea;
}

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