1.2.3 Asignar el search en el init()

Cuando deseamos que el busque automáticamente en el move() desde una configuración en el init.

// <editor-fold defaultstate="collapsed" desc="init">
    @PostConstruct
    public void init() {
        try {
            fechaDesde = DateUtil.primerDiaDelMesEnFecha(DateUtil.anioActual(),DateUtil.mesActual());
            fechaHasta= DateUtil.ultimoDiaDelMesEnFecha(DateUtil.anioActual(),DateUtil.mesActual());
            /*
            configurar el ambiente del controller
             */
            HashMap parameters = new HashMap();
            Usuario jmoordb_user = (Usuario) JmoordbContext.get("jmoordb_user");
            //    parameters.put("P_EMPRESA", jmoordb_user.getEmpresa().getDescripcion());

            JmoordbControllerEnvironment jmc = new JmoordbControllerEnvironment.Builder()
                    .withController(this)
                    .withRepository(viajeRepository)
                    .withEntity(viaje)
                    .withService(viajeServices)
                    .withNameFieldOfPage("page")
                    .withNameFieldOfRowPage("rowPage")
                    .withTypeKey("primary")
                    .withSearchLowerCase(false)
                    .withPathReportDetail("/resources/reportes/viaje/details.jasper")
                    .withPathReportAll("/resources/reportes/viaje/all.jasper")
                    .withparameters(parameters)
                    .withResetInSave(true)
                    .withAction("golist")
                    .build();

            start();

//            String action = "gonew";
//            if (getAction() != null) {
//                action = getAction();
//            }
//
//            if (action == null || action.equals("gonew") || action.equals("new") || action.equals("golist")) {
//                //inicializar
//
//            }
//            if (action.equals("view")) {
//                //view
//            }
            setSearchAndValue("searchProgramacionVehicularController", "_betweendates");
        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(), nameOfMethod(), e.getLocalizedMessage());
        }
    }// </editor-fold>

Asi en el move invocamos el _betweendate

 @Override
    public void move(Integer page) {
        try {
            programacionVehicular = new ArrayList<>();

            this.page = page;
            viajeDataModel = new ViajeDataModel(viajeList);
            Document doc;

            switch (getSearch()) {
                case "_init":
                case "_autocomplete":
                    viajeList = viajeRepository.findPagination(page, rowPage);
                    break;

                case "activo":
                    if (getValueSearch() != null) {
                        viajeSearch.setActivo(getValueSearch().toString());
                        doc = new Document("activo", viajeSearch.getActivo());
                        viajeList = viajeRepository.findPagination(doc, page, rowPage, new Document("idviaje", -1));
                    } else {
                        viajeList = viajeRepository.findPagination(page, rowPage);
                    }
                    break;

                case "_betweendates":

                    viajeList = viajeRepository.filterBetweenDatePaginationWithoutHours("activo", "si",
                            "fechahorainicioreserva", fechaDesde,
                            "fechahorafinreserva", fechaHasta,
                            page, rowPage, new Document("idviaje", -1));
                    break;

                default:
                    viajeList = viajeRepository.findPagination(page, rowPage);
                    break;
            }
            if (viajeList == null || viajeList.isEmpty()) {

            } else {
                for (Viaje v : viajeList) {
                    ProgramacionVehicular pv = new ProgramacionVehicular();
                    pv.setConductor(v.getConductor().getNombre());
                    pv.setFechahoraregreso(v.getFechahorainicioreserva());
                    pv.setFechahorasalida(v.getFechahorainicioreserva());
                    pv.setIdviaje(v.getIdviaje());
                    pv.setMarca(v.getVehiculo().getMarca());
                    pv.setModelo(v.getVehiculo().getModelo());
                    pv.setPlaca(v.getVehiculo().getPlaca());
                    pv.setNombredia(DateUtil.nameOfDay(pv.getFechahorasalida()));
                    pv.setResponsable(v.getRealizado());
                    pv.setActivo(v.getActivo());
                      pv.setMision(v.getMision());
                    //Datos de la solicitud
                    pv.setFechasolicitud(v.getFechahorainicioreserva());
                    pv.setNumerosolicitudes("");
                  
                    pv.setUnidad("");
                    pv.setResponsable("");
                    pv.setSolicita("");
                    Solicitud solicitud = new Solicitud();

                    Document search = new Document("viaje.idviaje", v.getIdviaje());
                    List<Solicitud> list = solicitudRepository.findBy(search);
                    if (list == null || list.isEmpty()) {

                    } else {
                        String unidad = "";
        
                        String numeroSolicitudes = "";
                        String responsable = "";
                        String solicita = "";
                        //Se recorren todas las solicitudes que tengan ese viaje asignado.
                        for (Solicitud s : list) {
                            pv.setFechasolicitud(s.getFecha());
                            for (Unidad u : s.getUnidad()) {
                                unidad += " " + u.getIdunidad();
                            }
                          
                            numeroSolicitudes += " " + String.valueOf(s.getIdsolicitud());
                            solicita += " " + s.getUsuario().get(0).getNombre();
                            responsable += " " + s.getUsuario().get(1).getNombre();
                        }
                        pv.setUnidad(unidad.trim());
              
                        pv.setNumerosolicitudes(numeroSolicitudes.trim());
                        pv.setResponsable(responsable.trim());
                        pv.setSolicita(solicita.trim());
                       
                    }
 programacionVehicular.add(pv);
                }
            }
            viajeDataModel = new ViajeDataModel(viajeList);

        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(), nameOfMethod(), e.getLocalizedMessage());

        }

    }// </editor-fold>

Last updated