public void grabarTarifa(ActionEvent event) throws EJBFactoryException {
    log.info(
        "-------------------------------------Debugging TipoCambioController.grabarTarifa-------------------------------------");
    Tarifa tipoCambio = null;

    if (!validarTarifa()) {
      MessageController message =
          (MessageController) FacesContextUtil.getSessionBean("messageController");
      message.setWarningMessage(
          "Datos no válidos ingresados. Verifque los mensajes de error y corrija.");
      return;
    }

    GeneralFacadeRemote generalFacade =
        (GeneralFacadeRemote) EJBFactory.getRemote(GeneralFacadeRemote.class);
    if (getBeanTarifa() != null && getBeanTarifa().getId() != null) {

      if (getBeanTarifa().getId().getIntPersEmpresaTarifa() == null
          && getBeanTarifa().getId().getIntParaTipoTarifaCod() != null
          && getBeanTarifa().getId().getDtParaTarifaDesde() != null) {
        // Grabar Tipo de Cambio
        getBeanTarifa().getId().setIntPersEmpresaTarifa(Constante.PARAM_EMPRESASESION);
        getBeanTarifa().setIntPersEmpresaUsuario(Constante.PARAM_EMPRESASESION);
        getBeanTarifa().setIntPersPersonaUsuario(Constante.PARAM_USUARIOSESION);
        try {
          tipoCambio = generalFacade.grabarTarifa(getBeanTarifa());
        } catch (BusinessException e) {
          FacesContextUtil.setMessageError(FacesContextUtil.MESSAGE_ERROR_ONSAVE);
          log.error(e);
        }
      } else if (getBeanTarifa().getId().getIntPersEmpresaTarifa() != null
          && getBeanTarifa().getId().getIntParaTipoTarifaCod() != null
          && getBeanTarifa().getId().getDtParaTarifaDesde() != null) {
        // Actualizar Tipo de Cambio
        try {
          tipoCambio = generalFacade.modificarTarifa(getBeanTarifa());
        } catch (BusinessException e) {
          FacesContextUtil.setMessageError(FacesContextUtil.MESSAGE_ERROR_ONSAVE);
          log.error(e);
        }
      }
    }

    if (tipoCambio != null) {
      FacesContextUtil.setMessageSuccess(FacesContextUtil.MESSAGE_SUCCESS_ONSAVE);
    }

    // Refrescar la busqueda
    try {
      busquedaTarifa();
    } catch (BusinessException e) {
      FacesContextUtil.setMessageError(FacesContextUtil.MESSAGE_ERROR_ONSEARCH);
      log.error(e);
    }
    setBlnShowDivFormTarifa(false);
  }
  public void busquedaTarifa() throws EJBFactoryException, BusinessException {
    List<Tarifa> lista = null;

    if (getTarifaBusq().getId().getIntParaTipoTarifaCod() == 0)
      getTarifaBusq().getId().setIntParaTipoTarifaCod(null);

    GeneralFacadeRemote generalFacade =
        (GeneralFacadeRemote) EJBFactory.getRemote(GeneralFacadeRemote.class);
    lista = generalFacade.getListaTarifaBusqueda(getTarifaBusq());
    System.out.println("listTarifa.size: " + lista.size());
    setListTarifa(lista);
  }
  private Archivo obtenerArchivo(SolicitudPersonal solicitudPersonal) throws Exception {
    ArchivoId archivoId = new ArchivoId();
    archivoId.setIntParaTipoCod(solicitudPersonal.getIntParaTipoSustento());
    archivoId.setIntItemArchivo(solicitudPersonal.getIntItemArchivoSustento());
    archivoId.setIntItemHistorico(solicitudPersonal.getIntItemHistoricoSustento());

    return generalFacade.getArchivoPorPK(archivoId);
  }