package com.fitbank.hb.persistence.trans;

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

/**Clase que implementa la entidad de Hibernate que hace referencia a la tabla TSUBSISTEMATRANSACCIONESID*/
public class Transactionid implements Serializable,TransportBean,Cloneable{
/** Nombre de la Tabla TSUBSISTEMATRANSACCIONESID */
public static final String TABLE_NAME = "TSUBSISTEMATRANSACCIONESID";
/** HashCode asociado con la Instancia*/
private int hashValue = 0;
/** Version de la Clase*/
private static final long serialVersionUID = 1L;
/**
* Clave primaria de la Entidad Transactionid
*/
private TransactionidKey pk;
/**
* Orden definido de presentacion de la transaccion en el menu
*/
private Integer ordenmenu;

/**
* Define si la transaccion se presenta o no en el menu
*/
private String presentarenmenu;

/**
* Define si la transaccion es interna y se genera automaticamente o no
*/
private String interna;

/**
* Define si la transaccion tiene o no formulario en la base de datos o externo (JSP)
*/
private String formulariobase;

/**
* Define si al realizarse la transaccion modifica o no la fecha del ultimo movimiento de la cuenta para efectos de inmovilizacion
*/
private String afectainmovilizacion;

/**
* Codigo del grupo de transacciones al que pertenece
*/
private String cgrupotransaccion;

/**
* Define si la transaccion se presenta o no en la consulta para reverso
*/
private String presentarenreverso;

/**
* Codigo del nivel de menu de las transacciones
*/
private String cnivelmenu;

/**
* Indica si la transaccion es una lista de valores
*/
private String listavalor;

/**
* Indica si la el registro se almacena en cache utilizado en transacciones utilizadas frecuentemente.
*/
private String usacache;

/**
* Define si suma o no los componentes al presentar la transaccion en el estado de cuenta
*/
private String sumacomponentes;

/**
* Define si la transaccion es de provision o no
*/
private String provision;

/**
* Indica si la transaccion tiene rubros adicionales para impuestos, cargos y comisones para completar la ejecucion
*/
private String completarrubros;

/**
* Indica si la transaccion se puede disparar desde un lote generico o no
*/
private String lotegenerico;

/**
* Indica si la transaccion verifica el nivel de seguridad de la cuenta para presentar en la lista de valores o no
*/
private String verificanivelseguridad;

/**
* Codigo de usuario que crea la transaccion
*/
private String cusuario_ingreso;

/**
* Fecha de creacion de la transaccion
*/
private Date fingreso;

/**
* Define si la transaccion incrementa el contador de transacciones realizadas
*/
private String acumulacontador;

/**
* Nombre del archivo que contiene la pagina de la transaccion cuando no tiene formulario en la base
*/
private String pagina;

/**
* Indica si la naturaleza de la transaccion es de origen o de destino
*/
private String origendestino;

/**
* Indica si la transaccion controla o no el efectivo recibido en caja para las alertas de los organismos de control
*/
private String controlaefectivo;

/**
* Indica si la transaccion requiere autorizacion o no
*/
private String requiereautorizacion;

/**
* Indica si la transaccion se ejecuta al momento de la autorizacion o no
*/
private String ejecutaenautorizacion;

/**
* Indica si la transaccion se reporta en facturacion o no
*/
private String reporteenfacturacion;

/**
* Registra el tipo de Transaccion definido para el RESU-UAFE
*/
private String tipotransaccion_reportar;

/**
* Registra el tipo de Transaccion definido para el ROTEF-SRI
*/
private String tipotransaccion_homologado;

/**Contructor por defecto*/
public Transactionid(){}
/**Contructor de Transactionid
@param pPk Clave Primaria del entity
*/
public Transactionid(TransactionidKey pPk){
 pk=pPk;
}
/**Entrega la Clave primaria de Transactionid
@return El objeto que referencia a la Clave primaria de Transactionid
*/
public TransactionidKey getPk(){
  return pk;
}
/**Fija un nuevo valor a la Clave primaria de Transactionid
@param pPk El objeto que referencia a la nueva Clave primaria de Transactionid
*/
public void setPk(TransactionidKey pPk){
  pk=pPk;
}
public static final String ORDENMENU="ORDENMENU";
/**Obtiene el valor de ordenmenu
@return valor de ordenmenu*/
public Integer getOrdenmenu(){
  return ordenmenu;
}
/**Fija el valor de ordenmenu
@param pOrdenmenu nuevo Valor de ordenmenu*/
public void setOrdenmenu(Integer pOrdenmenu){
  ordenmenu=pOrdenmenu;
}

public static final String PRESENTARENMENU="PRESENTARENMENU";
/**Obtiene el valor de presentarenmenu
@return valor de presentarenmenu*/
public String getPresentarenmenu(){
  return presentarenmenu;
}
/**Fija el valor de presentarenmenu
@param pPresentarenmenu nuevo Valor de presentarenmenu*/
public void setPresentarenmenu(String pPresentarenmenu){
  presentarenmenu=pPresentarenmenu;
}

public static final String INTERNA="INTERNA";
/**Obtiene el valor de interna
@return valor de interna*/
public String getInterna(){
  return interna;
}
/**Fija el valor de interna
@param pInterna nuevo Valor de interna*/
public void setInterna(String pInterna){
  interna=pInterna;
}

public static final String FORMULARIOBASE="FORMULARIOBASE";
/**Obtiene el valor de formulariobase
@return valor de formulariobase*/
public String getFormulariobase(){
  return formulariobase;
}
/**Fija el valor de formulariobase
@param pFormulariobase nuevo Valor de formulariobase*/
public void setFormulariobase(String pFormulariobase){
  formulariobase=pFormulariobase;
}

public static final String AFECTAINMOVILIZACION="AFECTAINMOVILIZACION";
/**Obtiene el valor de afectainmovilizacion
@return valor de afectainmovilizacion*/
public String getAfectainmovilizacion(){
  return afectainmovilizacion;
}
/**Fija el valor de afectainmovilizacion
@param pAfectainmovilizacion nuevo Valor de afectainmovilizacion*/
public void setAfectainmovilizacion(String pAfectainmovilizacion){
  afectainmovilizacion=pAfectainmovilizacion;
}

public static final String CGRUPOTRANSACCION="CGRUPOTRANSACCION";
/**Obtiene el valor de cgrupotransaccion
@return valor de cgrupotransaccion*/
public String getCgrupotransaccion(){
  return cgrupotransaccion;
}
/**Fija el valor de cgrupotransaccion
@param pCgrupotransaccion nuevo Valor de cgrupotransaccion*/
public void setCgrupotransaccion(String pCgrupotransaccion){
  cgrupotransaccion=pCgrupotransaccion;
}

public static final String PRESENTARENREVERSO="PRESENTARENREVERSO";
/**Obtiene el valor de presentarenreverso
@return valor de presentarenreverso*/
public String getPresentarenreverso(){
  return presentarenreverso;
}
/**Fija el valor de presentarenreverso
@param pPresentarenreverso nuevo Valor de presentarenreverso*/
public void setPresentarenreverso(String pPresentarenreverso){
  presentarenreverso=pPresentarenreverso;
}

public static final String CNIVELMENU="CNIVELMENU";
/**Obtiene el valor de cnivelmenu
@return valor de cnivelmenu*/
public String getCnivelmenu(){
  return cnivelmenu;
}
/**Fija el valor de cnivelmenu
@param pCnivelmenu nuevo Valor de cnivelmenu*/
public void setCnivelmenu(String pCnivelmenu){
  cnivelmenu=pCnivelmenu;
}

public static final String LISTAVALOR="LISTAVALOR";
/**Obtiene el valor de listavalor
@return valor de listavalor*/
public String getListavalor(){
  return listavalor;
}
/**Fija el valor de listavalor
@param pListavalor nuevo Valor de listavalor*/
public void setListavalor(String pListavalor){
  listavalor=pListavalor;
}

public static final String USACACHE="USACACHE";
/**Obtiene el valor de usacache
@return valor de usacache*/
public String getUsacache(){
  return usacache;
}
/**Fija el valor de usacache
@param pUsacache nuevo Valor de usacache*/
public void setUsacache(String pUsacache){
  usacache=pUsacache;
}

public static final String SUMACOMPONENTES="SUMACOMPONENTES";
/**Obtiene el valor de sumacomponentes
@return valor de sumacomponentes*/
public String getSumacomponentes(){
  return sumacomponentes;
}
/**Fija el valor de sumacomponentes
@param pSumacomponentes nuevo Valor de sumacomponentes*/
public void setSumacomponentes(String pSumacomponentes){
  sumacomponentes=pSumacomponentes;
}

public static final String PROVISION="PROVISION";
/**Obtiene el valor de provision
@return valor de provision*/
public String getProvision(){
  return provision;
}
/**Fija el valor de provision
@param pProvision nuevo Valor de provision*/
public void setProvision(String pProvision){
  provision=pProvision;
}

public static final String COMPLETARRUBROS="COMPLETARRUBROS";
/**Obtiene el valor de completarrubros
@return valor de completarrubros*/
public String getCompletarrubros(){
  return completarrubros;
}
/**Fija el valor de completarrubros
@param pCompletarrubros nuevo Valor de completarrubros*/
public void setCompletarrubros(String pCompletarrubros){
  completarrubros=pCompletarrubros;
}

public static final String LOTEGENERICO="LOTEGENERICO";
/**Obtiene el valor de lotegenerico
@return valor de lotegenerico*/
public String getLotegenerico(){
  return lotegenerico;
}
/**Fija el valor de lotegenerico
@param pLotegenerico nuevo Valor de lotegenerico*/
public void setLotegenerico(String pLotegenerico){
  lotegenerico=pLotegenerico;
}

public static final String VERIFICANIVELSEGURIDAD="VERIFICANIVELSEGURIDAD";
/**Obtiene el valor de verificanivelseguridad
@return valor de verificanivelseguridad*/
public String getVerificanivelseguridad(){
  return verificanivelseguridad;
}
/**Fija el valor de verificanivelseguridad
@param pVerificanivelseguridad nuevo Valor de verificanivelseguridad*/
public void setVerificanivelseguridad(String pVerificanivelseguridad){
  verificanivelseguridad=pVerificanivelseguridad;
}

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 FINGRESO="FINGRESO";
/**Obtiene el valor de fingreso
@return valor de fingreso*/
public Date getFingreso(){
  return fingreso;
}
/**Fija el valor de fingreso
@param pFingreso nuevo Valor de fingreso*/
public void setFingreso(Date pFingreso){
  fingreso=pFingreso;
}

public static final String ACUMULACONTADOR="ACUMULACONTADOR";
/**Obtiene el valor de acumulacontador
@return valor de acumulacontador*/
public String getAcumulacontador(){
  return acumulacontador;
}
/**Fija el valor de acumulacontador
@param pAcumulacontador nuevo Valor de acumulacontador*/
public void setAcumulacontador(String pAcumulacontador){
  acumulacontador=pAcumulacontador;
}

public static final String PAGINA="PAGINA";
/**Obtiene el valor de pagina
@return valor de pagina*/
public String getPagina(){
  return pagina;
}
/**Fija el valor de pagina
@param pPagina nuevo Valor de pagina*/
public void setPagina(String pPagina){
  pagina=pPagina;
}

public static final String ORIGENDESTINO="ORIGENDESTINO";
/**Obtiene el valor de origendestino
@return valor de origendestino*/
public String getOrigendestino(){
  return origendestino;
}
/**Fija el valor de origendestino
@param pOrigendestino nuevo Valor de origendestino*/
public void setOrigendestino(String pOrigendestino){
  origendestino=pOrigendestino;
}

public static final String CONTROLAEFECTIVO="CONTROLAEFECTIVO";
/**Obtiene el valor de controlaefectivo
@return valor de controlaefectivo*/
public String getControlaefectivo(){
  return controlaefectivo;
}
/**Fija el valor de controlaefectivo
@param pControlaefectivo nuevo Valor de controlaefectivo*/
public void setControlaefectivo(String pControlaefectivo){
  controlaefectivo=pControlaefectivo;
}

public static final String REQUIEREAUTORIZACION="REQUIEREAUTORIZACION";
/**Obtiene el valor de requiereautorizacion
@return valor de requiereautorizacion*/
public String getRequiereautorizacion(){
  return requiereautorizacion;
}
/**Fija el valor de requiereautorizacion
@param pRequiereautorizacion nuevo Valor de requiereautorizacion*/
public void setRequiereautorizacion(String pRequiereautorizacion){
  requiereautorizacion=pRequiereautorizacion;
}

public static final String EJECUTAENAUTORIZACION="EJECUTAENAUTORIZACION";
/**Obtiene el valor de ejecutaenautorizacion
@return valor de ejecutaenautorizacion*/
public String getEjecutaenautorizacion(){
  return ejecutaenautorizacion;
}
/**Fija el valor de ejecutaenautorizacion
@param pEjecutaenautorizacion nuevo Valor de ejecutaenautorizacion*/
public void setEjecutaenautorizacion(String pEjecutaenautorizacion){
  ejecutaenautorizacion=pEjecutaenautorizacion;
}

public static final String REPORTEENFACTURACION="REPORTEENFACTURACION";
/**Obtiene el valor de reporteenfacturacion
@return valor de reporteenfacturacion*/
public String getReporteenfacturacion(){
  return reporteenfacturacion;
}
/**Fija el valor de reporteenfacturacion
@param pReporteenfacturacion nuevo Valor de reporteenfacturacion*/
public void setReporteenfacturacion(String pReporteenfacturacion){
  reporteenfacturacion=pReporteenfacturacion;
}

public static final String TIPOTRANSACCION_REPORTAR="TIPOTRANSACCION_REPORTAR";
/**Obtiene el valor de tipotransaccion_reportar
@return valor de tipotransaccion_reportar*/
public String getTipotransaccion_reportar(){
  return tipotransaccion_reportar;
}
/**Fija el valor de tipotransaccion_reportar
@param pTipotransaccion_reportar nuevo Valor de tipotransaccion_reportar*/
public void setTipotransaccion_reportar(String pTipotransaccion_reportar){
  tipotransaccion_reportar=pTipotransaccion_reportar;
}

public static final String TIPOTRANSACCION_HOMOLOGADO="TIPOTRANSACCION_HOMOLOGADO";
/**Obtiene el valor de tipotransaccion_homologado
@return valor de tipotransaccion_homologado*/
public String getTipotransaccion_homologado(){
  return tipotransaccion_homologado;
}
/**Fija el valor de tipotransaccion_homologado
@param pTipotransaccion_homologado nuevo Valor de tipotransaccion_homologado*/
public void setTipotransaccion_homologado(String pTipotransaccion_homologado){
  tipotransaccion_homologado=pTipotransaccion_homologado;
}

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