public void seleccionarPersona(ActionEvent event) {
   try {
     Persona personaSeleccionada = (Persona) event.getComponent().getAttributes().get("item");
     // habilitarComboTipoPersona es True cuando se llama desde el formulario principal
     if (habilitarComboTipoPersona) {
       solicitudPersonalNuevo.setIntPersEmpresaPersona(EMPRESA_USUARIO);
       solicitudPersonalNuevo.setIntPersPersonaGiro(personaSeleccionada.getIntIdPersona());
       solicitudPersonalNuevo.setPersona(personaSeleccionada);
     } else {
       solicitudPersonalDetalleNuevo.setIntPersEmpresaAbonado(EMPRESA_USUARIO);
       solicitudPersonalDetalleNuevo.setIntPersPersonaAbonado(
           personaSeleccionada.getIntIdPersona());
       solicitudPersonalDetalleNuevo.setPersona(personaSeleccionada);
     }
   } catch (Exception e) {
     log.error(e.getMessage(), e);
   }
 }
 public void abrirPopUpBuscarPersonaDetalle() {
   try {
     personaFiltro = new Persona();
     personaFiltro.setIntTipoPersonaCod(Constante.PARAM_T_TIPOPERSONA_NATURAL);
     listaPersonaBuscar = new ArrayList<Persona>();
     habilitarComboTipoPersona = Boolean.FALSE;
   } catch (Exception e) {
     log.error(e.getMessage(), e);
   }
 }
  public void buscarPersona() {
    try {
      if (personaFiltro.getIntTipoPersonaCod().equals(Constante.PARAM_T_TIPOPERSONA_JURIDICA)) {
        listaPersonaBuscar =
            personaFacade.buscarListaPersonaParaFiltro(
                Constante.PARAM_T_OPCIONPERSONABUSQ_RUC, personaFiltro.getStrRuc());
        List<Persona> listaTemp = new ArrayList<Persona>();
        for (Persona persona : listaPersonaBuscar) {
          if (persona.getIntTipoPersonaCod().equals(Constante.PARAM_T_TIPOPERSONA_JURIDICA)) {
            persona.setJuridica(personaFacade.getJuridicaPorPK(persona.getIntIdPersona()));
            listaTemp.add(persona);
          } else if (persona.getIntTipoPersonaCod().equals(Constante.PARAM_T_TIPOPERSONA_NATURAL)) {
            persona.setDocumento(
                contactoFacade.getDocumentoPorIdPersonaYTipoIdentidad(
                    persona.getIntIdPersona(), Constante.PARAM_T_INT_TIPODOCUMENTO_DNI));
            persona.setNatural(personaFacade.getNaturalPorPK(persona.getIntIdPersona()));
            MyUtil.agregarNombreCompleto(persona);
            listaTemp.add(persona);
          }
        }
        listaPersonaBuscar = listaTemp;

      } else if (personaFiltro
          .getIntTipoPersonaCod()
          .equals(Constante.PARAM_T_TIPOPERSONA_NATURAL)) {
        listaPersonaBuscar =
            personaFacade.buscarListaPersonaParaFiltro(
                Constante.PARAM_T_OPCIONPERSONABUSQ_DNI, personaFiltro.getStrRuc());
        for (Persona persona : listaPersonaBuscar) {
          persona.setDocumento(
              contactoFacade.getDocumentoPorIdPersonaYTipoIdentidad(
                  persona.getIntIdPersona(), Constante.PARAM_T_INT_TIPODOCUMENTO_DNI));
          persona.setNatural(personaFacade.getNaturalPorPK(persona.getIntIdPersona()));
          MyUtil.agregarNombreCompleto(persona);
        }
      }
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }
  public void buscar() {
    try {
      cargarUsuario();
      solicitudPersonalFiltro.getId().setIntPersEmpresa(EMPRESA_USUARIO);

      listaSolicitudPersonal = new ArrayList<SolicitudPersonal>();
      listaPersonaFiltroBuqueda = new ArrayList<Persona>();
      if (personaFiltroBusqueda.getStrEtiqueta() != null
          && !personaFiltroBusqueda.getStrEtiqueta().isEmpty()) {
        personaFiltroBusqueda.getStrEtiqueta().trim();
        listaPersonaFiltroBuqueda =
            personaFacade.buscarListaPersonaParaFiltro(
                personaFiltroBusqueda.getIntEstadoCod(), personaFiltroBusqueda.getStrEtiqueta());
        if (listaPersonaFiltroBuqueda.isEmpty()) return;
      }

      for (Persona persona : listaPersonaFiltroBuqueda) {
        log.info(persona);
      }

      if (solicitudPersonalFiltro.getIntAño().equals(Constante.OPCION_SELECCIONAR)) {
        solicitudPersonalFiltro.setIntAño(null);
        solicitudPersonalFiltro.setIntMes(null);
      } else {
        if (solicitudPersonalFiltro.getIntMes().intValue() < 10)
          solicitudPersonalFiltro.setIntPeriodoPago(
              Integer.parseInt(
                  solicitudPersonalFiltro.getIntAño() + "0" + solicitudPersonalFiltro.getIntMes()));
        else
          solicitudPersonalFiltro.setIntPeriodoPago(
              Integer.parseInt(
                  solicitudPersonalFiltro.getIntAño() + "" + solicitudPersonalFiltro.getIntMes()));
      }

      if (solicitudPersonalFiltro.getIntParaDocumentoGeneral().equals(Constante.OPCION_SELECCIONAR))
        solicitudPersonalFiltro.setIntParaDocumentoGeneral(null);

      if (solicitudPersonalFiltro
          .getIntParaEstado()
          .equals(Constante.PARAM_T_ESTADOUNIVERSAL_TODOS))
        solicitudPersonalFiltro.setIntParaEstado(null);

      if (solicitudPersonalFiltro.getIntParaEstadoPago().equals(Constante.OPCION_SELECCIONAR))
        solicitudPersonalFiltro.setIntParaEstadoPago(null);

      listaSolicitudPersonal =
          egresoFacade.buscarSolicitudPersonal(solicitudPersonalFiltro, listaPersonaFiltroBuqueda);

      for (SolicitudPersonal solicitudPersonal : listaSolicitudPersonal) {
        solicitudPersonal.setPersona(
            personaFacade.devolverPersonaCargada(solicitudPersonal.getIntPersPersonaGiro()));
        if (solicitudPersonal.getIntSucuIdSucursal() != null)
          solicitudPersonal.setSucursal(
              MyUtil.obtenerSucursalDeLista(
                  solicitudPersonal.getIntSucuIdSucursal(), listaSucursal));
        if (solicitudPersonal.getIntSudeIdSubsucursal() != null)
          solicitudPersonal.setSubsucursal(
              MyUtil.obtenerSubsucursalDeLista(
                  solicitudPersonal.getIntSudeIdSubsucursal(),
                  solicitudPersonal.getSucursal().getListaSubSucursal()));
      }

      Collections.sort(
          listaSolicitudPersonal,
          new Comparator<SolicitudPersonal>() {
            public int compare(SolicitudPersonal uno, SolicitudPersonal otro) {
              return uno.getId()
                  .getIntItemSolicitudPersonal()
                  .compareTo(otro.getId().getIntItemSolicitudPersonal());
            }
          });
      ocultarMensaje();
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }