Eventos en el <p:calendar> entre fechas

 <p:calendar id="hasta" pattern="dd/MM/yyyy" 
     class="fullWidth required"
         selectOtherMonths="true"
         navigator="true"
         value="#{ordentrabajoController.fechahasta}" title="#{msg.hasta}" >
       <p:ajax event="dateSelect" process="form" listener="#{ordentrabajoController.onDateSelectOrden}" update=":form:table,:form:msgs :form:ordentrabajoDataTable" />
  </p:calendar>

 public String onDateSelectOrden(SelectEvent event) {
        try {
            total = 0.0;
            serviciosordentrabajoList = new ArrayList<>();
            ordentrabajoList = new ArrayList<>();
            serviciosordentrabajoList = serviciosordentrabajoFacade.findByEntreFechas(fechadesde1, fechahasta);
            if (serviciosordentrabajoList.isEmpty()) {
                JsfUtil.addWarningMessage(rf.getMensaje("warning.elvehiculotieneordentrabajo"));
            } else {
                serviciosordentrabajoList.forEach((s) -> {
                    Boolean encontrado = false;
                    for (Ordentrabajo o : ordentrabajoList) {
                        if (o.getIdordentrabajo() == s.getIdordentrabajo().getIdordentrabajo()) {
                            encontrado = true;
                        }
                    }
                    if (!encontrado) {
                        ordentrabajoList.add(s.getIdordentrabajo());
                    }
                    total += s.getTotal();
                });
            }
        } catch (Exception e) {
            JsfUtil.addErrorMessage("onDateSelect()" + e.getLocalizedMessage());
            LOG.info("onDateSelect()" + e.getLocalizedMessage());
        }
        return null;
    }

Last updated