Buscar una fecha y hora en un rango

Busca si una fecha y hora esta en el rango

En el Sevices

Busca los documentos de ese usuario e inicia el filtro.

  // <editor-fold defaultstate="collapsed" desc="coincidenciaEnRango(Solicitud solicitud)">

    /**
     * coincide en el rango con la orden que se devuelve o un entity si no coincide
     * @param solicitud
     * @return 
     */

  public  Optional<Solicitud> coincidenciaEnRango(Solicitud solicitud) {
        Integer idsolicitud=0;
        try {

              List<Solicitud> list = repository.findBy(new Document("usuario.username", solicitud.getUsuario().getUsername()), new Document("idsolicitud", -1));
            if (!list.isEmpty()) {
                for (Solicitud s : list) {
                    if (JsfUtil.dateBetween(solicitud.getFechahorapartida(), s.getFechahorapartida(), s.getFechahoraregreso())
                            || JsfUtil.dateBetween(solicitud.getFechahoraregreso(), s.getFechahorapartida(), s.getFechahoraregreso())) {

// coincide en el rango de fecha y hora con la solicitud s
                        return Optional.of(s);
                    }
                }
            }
        } catch (Exception e) {
              JsfUtil.errorMessage("coincidenciaEnRango() " + e.getLocalizedMessage());
        }
        return Optional.empty();
    }

    // </editor-fold>

En el Controller

Optional<Solicitud> optionalRango = solicitudServices.coincidenciaEnRango(solicitud);
if(optionalRango.isPresent()){
       JsfUtil.warningDialog(rf.getAppMessage("warning.view"),rf.getMessage("warning.solicitudnumero")+ " " + optionalRango.get().getIdsolicitud().toString() + "  " + rf.getMessage("warning.solicitudfechahoraenrango"));
                        return ""; 
}

Last updated