diff --git a/ms-ente/src/main/java/it/pa/repdgt/ente/repository/EnteRepository.java b/ms-ente/src/main/java/it/pa/repdgt/ente/repository/EnteRepository.java index 6281a2501..50f6065f1 100644 --- a/ms-ente/src/main/java/it/pa/repdgt/ente/repository/EnteRepository.java +++ b/ms-ente/src/main/java/it/pa/repdgt/ente/repository/EnteRepository.java @@ -264,7 +264,7 @@ public List> findAllProgrammiFiltrati( +" AND ( COALESCE(:idsProgetti) IS NULL OR prgt.ID IN (:idsProgetti) )" +" ) AS progetti " +" WHERE 1=1 " - +" AND ( :policy IS NULL OR progetti.POLICY = :policy ) " + +" AND ( COALESCE(:policies) IS NULL OR progetti.POLICY IN (:policies) ) " +" AND ( :criterioRicerca IS NULL " +" OR CONVERT( progetti.ID_ENTE, CHAR ) = :criterioRicerca " +" OR UPPER( progetti.NOME_ENTE ) LIKE UPPER( :criterioRicercaLike ) " @@ -278,7 +278,7 @@ public List> findAllProgettiFiltrati( @Param("idsProgrammi") List idsProgrammi, @Param("idsProgetti") List idsProgetti, @Param("profiliEnte") List profiliEnte, - @Param("policy") String policy + @Param("policies") List policies ); diff --git a/ms-ente/src/main/java/it/pa/repdgt/ente/request/FiltroRequest.java b/ms-ente/src/main/java/it/pa/repdgt/ente/request/FiltroRequest.java index 38af8a1e5..95190035c 100644 --- a/ms-ente/src/main/java/it/pa/repdgt/ente/request/FiltroRequest.java +++ b/ms-ente/src/main/java/it/pa/repdgt/ente/request/FiltroRequest.java @@ -26,4 +26,7 @@ public class FiltroRequest implements Serializable { @JsonProperty(value = "idsProgetti") private List idsProgetti; + + @JsonProperty(value = "filtroPolicies") + private List policies; } \ No newline at end of file diff --git a/ms-ente/src/main/java/it/pa/repdgt/ente/service/EnteService.java b/ms-ente/src/main/java/it/pa/repdgt/ente/service/EnteService.java index 46e67d2a4..65b53ea1a 100644 --- a/ms-ente/src/main/java/it/pa/repdgt/ente/service/EnteService.java +++ b/ms-ente/src/main/java/it/pa/repdgt/ente/service/EnteService.java @@ -377,8 +377,7 @@ public List> getAllProgettiFiltrati(FiltroRequest filtro) { .map(profilo -> profilo.toUpperCase()) .collect(Collectors.toList()); } - String policy = null; - return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policy); + return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, filtro.getPolicies()); } private List getAllEntiPerDSCUFiltrati(FiltroRequest filtro) { @@ -426,8 +425,8 @@ public List> getAllProgettiPerDSCUFiltrati(FiltroRequest fil .map(profilo -> profilo.toUpperCase()) .collect(Collectors.toList()); } - String policy = PolicyEnum.SCD.toString(); - return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policy); + List policies = Arrays.asList(PolicyEnum.SCD.toString()); + return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policies); } @LogMethod @@ -460,8 +459,8 @@ private List> getAllProgettiGestoreProgrammaByIdProgrammaFil .map(profilo -> profilo.toUpperCase()) .collect(Collectors.toList()); } - String policy = null; - return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policy); + List policies = null; + return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policies); } private List getAllEntiGestoreProgetto(EntiPaginatiParam entiPaginatiParam) { @@ -492,8 +491,8 @@ private List> getAllProgettiGestoreProgetto(EntiPaginatiPara .map(profilo -> profilo.toUpperCase()) .collect(Collectors.toList()); } - String policy = null; - return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policy); + List policies = null; + return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policies); } private List getAllEntiPartnerProgetto(EntiPaginatiParam entiPaginatiParam) { @@ -526,8 +525,8 @@ private List> getAllProgettiPartnerProgetto(EntiPaginatiPara .map(profilo -> profilo.toUpperCase()) .collect(Collectors.toList()); } - String policy = null; - return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policy); + List policies = null; + return this.enteRepository.findAllProgettiFiltrati(criterioRicerca, "%" + criterioRicerca + "%", idsProgrammi, idsProgetti, profiliEnteUpperCase, policies); } private List> getProgrammaById(Long idProgramma) { diff --git a/ms-ente/src/test/java/it/pa/repdgt/ente/service/EnteServiceTest.java b/ms-ente/src/test/java/it/pa/repdgt/ente/service/EnteServiceTest.java index fd89c6ebb..4114b8260 100644 --- a/ms-ente/src/test/java/it/pa/repdgt/ente/service/EnteServiceTest.java +++ b/ms-ente/src/test/java/it/pa/repdgt/ente/service/EnteServiceTest.java @@ -374,7 +374,7 @@ public void getAllProgettiDropdownDSCUTest() { filtro.getIdsProgrammi(), filtro.getIdsProgetti(), filtro.getProfili(), - PolicyEnum.SCD.toString()); + filtro.getPolicies()); } @Test