/** * Met les filtres sous forme string pour affichage * * @param filtreCriticite * @param filtreEtat * @param filtreDateDebut * @param filtreEnvironnement * @param filtreNom * @param listProfil * @param filtreNom2 * @param filtrePrenom2 * @param filtreLogin2 * @param filtreEmail2 * @param filtreProfil2 */ public static JSONObject filtreToString( String filtreNom, Integer filtreEnvironnement, String filtreDateDebut, Integer filtreEtat, Integer filtreCriticite) { StringBuffer buffer = new StringBuffer(); if (filtreNom != null && !filtreNom.equals("")) { buffer.append(StringConverter.toJson("Nom", filtreNom)); } if (filtreEnvironnement != null && filtreEnvironnement != -1) { Environnement env = EnvironmentDatabaseService.get(filtreEnvironnement); buffer.append(StringConverter.toJson("Environnement", env.getEnvironnement())); } if (filtreDateDebut != null && !filtreDateDebut.equals("")) { buffer.append(StringConverter.toJson("Date de début", filtreDateDebut)); } if (filtreEtat != null && filtreEtat != -1) { Checklist_Etat etat = ChecklistEtatDatabaseService.get(filtreEtat); buffer.append(StringConverter.toJson("Etat", etat.getEtat())); } if (filtreCriticite != null && filtreCriticite != -1) { Checklist_Criticite criticite = ChecklistCriticiteDatabaseService.get(filtreCriticite); buffer.append(StringConverter.toJson("Criticité", criticite.getLibelle())); } if (buffer.length() != 0) { String result = "{" + buffer.substring(0, buffer.lastIndexOf(PilotageConstants.SEPARATEUR_3)) + "}"; return JSONObject.fromObject(result); } else return null; }
@Override protected String executeMetier() { // recuperation des taches suivant les filtres, le tri et la page if (page < 1) page = 1; else if (nrPages != 0 && page > nrPages) page = nrPages; if (nrPerPage == 0) nrPerPage = PilotageConstants.NB_TACHES_PER_PAGE; if (sens == null || "".equals(sens)) sens = "asc"; if (sort == null || "".equals(sort)) sort = "tache"; pagination = new Pagination<Checklist_Base>(page, nrPerPage); listCriticite = ChecklistCriticiteDatabaseService.getAll(); listEnvironnement = EnvironmentDatabaseService.getAll(); listEtat = ChecklistEtatDatabaseService.getAll(); // gestion du filtre Users userLogged = (Users) session.get(PilotageConstants.USER_LOGGED); Integer userLoggedId = userLogged.getId(); filtre = FiltreDatabaseService.getFiltre(userLoggedId, titrePage); if (filtre != null) { try { Integer filtreId = filtre.getId(); reloadFiltreBase(filtre.getFiltreString()); listeTaches = ChecklistBaseDatabaseService.getAll( pagination, sort, sens, filtreNom, filtreEnvironnement, filtreDateDebut, filtreEtat, filtreCriticite, filtreDemandes); filtreJson = ShowChecklistBaseAction.filtreToString( filtreNom, filtreEnvironnement, filtreDateDebut, filtreEtat, filtreCriticite); if (validForm == 1) { if (filtreNomBase != filtreNom || filtreEnvironnementBase != filtreEnvironnement || filtreDateDebutBase != filtreDateDebut || filtreEtatBase != filtreEtat || filtreCriticiteBase != filtreCriticite) { filtreJson = ShowChecklistBaseAction.filtreToString( filtreNom, filtreEnvironnement, filtreDateDebut, filtreEtat, filtreCriticite); FiltreDatabaseService.update( filtreId, filtreJson != null ? filtreJson.toString() : null); } } } catch (Exception e) { error = getText("error.message.generique") + " : " + e.getMessage(); erreurLogger.error("Update de filtre administration checklist", e); } } else { try { listeTaches = ChecklistBaseDatabaseService.getAll( pagination, sort, sens, filtreNom, filtreEnvironnement, filtreDateDebut, filtreEtat, filtreCriticite, filtreDemandes); filtreJson = ShowChecklistBaseAction.filtreToString( filtreNom, filtreEnvironnement, filtreDateDebut, filtreEtat, filtreCriticite); if (validForm == 1) { if (filtreNom != null || filtreEnvironnement != null || filtreDateDebut != null || filtreEtat != null || filtreCriticite != null) { FiltreDatabaseService.create( userLoggedId, titrePage, filtreJson != null ? filtreJson.toString() : null); } } } catch (Exception e) { error = getText("error.message.generique") + " : " + e.getMessage(); erreurLogger.error("Creation de filtre administration checklist", e); } } return OK; }