Skip to content

Commit

Permalink
Issue #640 (#641)
Browse files Browse the repository at this point in the history
Aggiunto filtro per escludere i flussi di rendicontazione obsoleti dalle ricerche.
Aggiunto filtro di tipo slider alla console per poter utilizzare il filtro nella maschera di ricerca dei flussi di rendicontazione.
  • Loading branch information
pintorig committed Oct 25, 2023
1 parent 4e02366 commit 697f9cd
Show file tree
Hide file tree
Showing 17 changed files with 209 additions and 18 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Feature: Ricerca per filtro escludiObsoleti

Background:

* def pathServizio = '/flussiRendicontazione'

* callonce read('classpath:utils/api/v1/ragioneria/bunch-riconciliazioni-v2.feature')

Scenario: Ricerca flussiRendicontazione senza filtri

Given url backofficeBaseurl
And path pathServizio
And headers gpAdminBasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
maxRisultati: '#notnull',
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#ignore',
risultati: '#[]'
}
"""

Scenario: Ricerca flussiRendicontazione senza filtri

Given url backofficeBaseurl
And path pathServizio
And param escludiObsoleti = true
And headers gpAdminBasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
maxRisultati: '#notnull',
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#ignore',
risultati: '#[]'
}
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Feature: Ricerca per filtro escludiObsoleti

Background:

* def pathServizio = '/flussiRendicontazione'

* callonce read('classpath:utils/api/v1/ragioneria/bunch-riconciliazioni-v2.feature')

* def ragioneriaBaseurl = getGovPayApiBaseUrl({api: 'ragioneria', versione: 'v2', autenticazione: 'basic'})

Scenario: Ricerca flussiRendicontazione senza filtri

Given url ragioneriaBaseurl
And path pathServizio
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#ignore',
risultati: '#[]'
}
"""

Scenario: Ricerca flussiRendicontazione senza filtri

Given url ragioneriaBaseurl
And path pathServizio
And param escludiObsoleti = true
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#ignore',
risultati: '#[]'
}
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
Feature: Ricerca per filtro escludiObsoleti

Background:

* def pathServizio = '/flussiRendicontazione'

* callonce read('classpath:utils/api/v1/ragioneria/bunch-riconciliazioni-v2.feature')

* def ragioneriaBaseurl = getGovPayApiBaseUrl({api: 'ragioneria', versione: 'v3', autenticazione: 'basic'})

Scenario: Ricerca flussiRendicontazione senza filtri

Given url ragioneriaBaseurl
And path pathServizio
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#ignore',
risultati: '#[]'
}
"""

Scenario: Ricerca flussiRendicontazione senza filtri

Given url ragioneriaBaseurl
And path pathServizio
And param escludiObsoleti = true
And headers idA2ABasicAutenticationHeader
When method get
Then status 200
And match response ==
"""
{
numRisultati: '#notnull',
numPagine: '#notnull',
risultatiPerPagina: '#notnull',
pagina: '#notnull',
prossimiRisultati: '#ignore',
risultati: '#[]'
}
"""
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ public Response getFlussoRendicontazione(@Context UriInfo uriInfo, @Context Http
@Path("/")

@Produces({ "application/json" })
public Response findFlussiRendicontazione(@Context UriInfo uriInfo, @Context HttpHeaders httpHeaders, @QueryParam(value=Costanti.PARAMETRO_PAGINA) @DefaultValue(value="1") Integer pagina, @QueryParam(value=Costanti.PARAMETRO_RISULTATI_PER_PAGINA) @DefaultValue(value="25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("idDominio") String idDominio, @QueryParam("incassato") Boolean incassato, @QueryParam("idFlusso") String idFlusso, @QueryParam("stato") String stato, @QueryParam("iuv") String iuv, @QueryParam("metadatiPaginazione") @DefaultValue(value="true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue(value="true") Boolean maxRisultati){
public Response findFlussiRendicontazione(@Context UriInfo uriInfo, @Context HttpHeaders httpHeaders, @QueryParam(value=Costanti.PARAMETRO_PAGINA) @DefaultValue(value="1") Integer pagina, @QueryParam(value=Costanti.PARAMETRO_RISULTATI_PER_PAGINA) @DefaultValue(value="25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("idDominio") String idDominio, @QueryParam("incassato") Boolean incassato, @QueryParam("idFlusso") String idFlusso, @QueryParam("stato") String stato, @QueryParam("iuv") String iuv, @QueryParam("metadatiPaginazione") @DefaultValue(value="true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue(value="true") Boolean maxRisultati, @QueryParam("escludiObsoleti") Boolean escludiObsoleti){
this.buildContext();
return this.controller.findFlussiRendicontazione(this.getUser(), uriInfo, httpHeaders, pagina, risultatiPerPagina, ordinamento, dataDa, dataA, idDominio, incassato, idFlusso, stato, iuv, metadatiPaginazione, maxRisultati);
return this.controller.findFlussiRendicontazione(this.getUser(), uriInfo, httpHeaders, pagina, risultatiPerPagina, ordinamento, dataDa, dataA, idDominio, incassato, idFlusso, stato, iuv, metadatiPaginazione, maxRisultati, escludiObsoleti);
}

@GET
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ public Rendicontazioni() {
@Path("/")

@Produces({ "application/json" })
public Response findRendicontazioni(@Context UriInfo uriInfo, @Context HttpHeaders httpHeaders, @QueryParam(value=Costanti.PARAMETRO_PAGINA) @DefaultValue(value="1") Integer pagina, @QueryParam(value=Costanti.PARAMETRO_RISULTATI_PER_PAGINA) @DefaultValue(value="25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("campi") String campi, @QueryParam("flussoRendicontazione.dataFlussoDa") String flussoRendicontazioneDataFlussoDa, @QueryParam("flussoRendicontazione.dataFlussoA") String flussoRendicontazioneDataFlussoA, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("idFlusso") String idFlusso, @QueryParam("iuv") String iuv, @QueryParam("direzione") List<String> direzione, @QueryParam("divisione") List<String> divisione, @QueryParam("metadatiPaginazione") @DefaultValue(value="true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue(value="true") Boolean maxRisultati){
public Response findRendicontazioni(@Context UriInfo uriInfo, @Context HttpHeaders httpHeaders, @QueryParam(value=Costanti.PARAMETRO_PAGINA) @DefaultValue(value="1") Integer pagina, @QueryParam(value=Costanti.PARAMETRO_RISULTATI_PER_PAGINA) @DefaultValue(value="25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("campi") String campi, @QueryParam("flussoRendicontazione.dataFlussoDa") String flussoRendicontazioneDataFlussoDa, @QueryParam("flussoRendicontazione.dataFlussoA") String flussoRendicontazioneDataFlussoA, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("idFlusso") String idFlusso, @QueryParam("iuv") String iuv, @QueryParam("direzione") List<String> direzione, @QueryParam("divisione") List<String> divisione, @QueryParam("metadatiPaginazione") @DefaultValue(value="true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue(value="true") Boolean maxRisultati, @QueryParam("escludiObsoleti") @DefaultValue(value="true") Boolean escludiObsoleti){
this.buildContext();
return this.controller.findRendicontazioni(this.getUser(), uriInfo, httpHeaders, pagina, risultatiPerPagina, ordinamento, campi, flussoRendicontazioneDataFlussoDa, flussoRendicontazioneDataFlussoA, dataDa, dataA, idFlusso, iuv, direzione, divisione, metadatiPaginazione, maxRisultati);
return this.controller.findRendicontazioni(this.getUser(), uriInfo, httpHeaders, pagina, risultatiPerPagina, ordinamento, campi, flussoRendicontazioneDataFlussoDa, flussoRendicontazioneDataFlussoA, dataDa, dataA, idFlusso, iuv, direzione, divisione, metadatiPaginazione, maxRisultati, escludiObsoleti);
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public FlussiRendicontazioneController(String nomeServizio,Logger log) {

}

public Response findFlussiRendicontazione(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , Integer pagina, Integer risultatiPerPagina, String ordinamento, String dataDa, String dataA, String idDominio, Boolean incassato, String idFlusso, String stato, String iuv, Boolean metadatiPaginazione, Boolean maxRisultati) {
public Response findFlussiRendicontazione(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , Integer pagina, Integer risultatiPerPagina, String ordinamento, String dataDa, String dataA, String idDominio, Boolean incassato, String idFlusso, String stato, String iuv, Boolean metadatiPaginazione, Boolean maxRisultati, Boolean escludiObsoleti) {
String methodName = "findFlussiRendicontazione";
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName));
Expand Down Expand Up @@ -105,7 +105,9 @@ public Response findFlussiRendicontazione(Authentication user, UriInfo uriInfo,
// Autorizzazione sulle uo
List<IdUnitaOperativa> uo = AuthorizationManager.getUoAutorizzate(user);
findRendicontazioniDTO.setUnitaOperative(uo);
//findRendicontazioniDTO.setObsoleto(false);
if(escludiObsoleti != null && escludiObsoleti.booleanValue()) {
findRendicontazioniDTO.setFrObsoleto(!escludiObsoleti);
}
findRendicontazioniDTO.setIuv(iuv);
findRendicontazioniDTO.setRicercaFR(true);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public RendicontazioniController(String nomeServizio,Logger log) {

public Response findRendicontazioni(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , Integer pagina, Integer risultatiPerPagina, String ordinamento, String campi,
String flussoRendicontazioneDataFlussoDa, String flussoRendicontazioneDataFlussoA, String dataRendicontazioneDa, String dataRendicontazioneA,
String idFlusso, String iuv, List<String> direzione, List<String> divisione, Boolean metadatiPaginazione, Boolean maxRisultati) {
String idFlusso, String iuv, List<String> direzione, List<String> divisione, Boolean metadatiPaginazione, Boolean maxRisultati, Boolean escludiObsoleti) {
String methodName = "findRendicontazioni";
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName));
Expand Down Expand Up @@ -93,7 +93,9 @@ public Response findRendicontazioni(Authentication user, UriInfo uriInfo, HttpHe
findRendicontazioniDTO.setIuv(iuv);
findRendicontazioniDTO.setDirezione(direzione);
findRendicontazioniDTO.setDivisione(divisione);
findRendicontazioniDTO.setFrObsoleto(false);
if(escludiObsoleti != null && escludiObsoleti.booleanValue()) {
findRendicontazioniDTO.setFrObsoleto(!escludiObsoleti);
}

// Autorizzazione sulle uo
List<IdUnitaOperativa> uo = AuthorizationManager.getUoAutorizzate(user);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
openapi: 3.0.0
info:
version: "1.37.0"
version: "1.38.0"
title: GovPay - API Backoffice
contact:
name: GitHub Project Page
Expand Down Expand Up @@ -3250,6 +3250,7 @@ paths:
- $ref: '#/components/parameters/iuv'
- $ref: '#/components/parameters/metadatiPaginazione'
- $ref: '#/components/parameters/maxRisultati'
- $ref: '#/components/parameters/escludiObsoleti'
responses:
'200':
description: Lista dei flussi rendicontazione
Expand Down Expand Up @@ -3420,6 +3421,7 @@ paths:
- $ref: '#/components/parameters/divisioni'
- $ref: '#/components/parameters/metadatiPaginazione'
- $ref: '#/components/parameters/maxRisultati'
- $ref: '#/components/parameters/escludiObsoletiDefaultTrue'
responses:
'200':
description: Lista paginata dei dati ricercati
Expand Down Expand Up @@ -4125,6 +4127,22 @@ components:
type: array
items:
type: string
escludiObsoleti:
in: query
name: escludiObsoleti
description: Esclude dai risultati della ricerca i flussi di rendicontazione obsoleti
required: false
schema:
type: boolean
default: false
escludiObsoletiDefaultTrue:
in: query
name: escludiObsoleti
description: Esclude dai risultati della ricerca i flussi di rendicontazione obsoleti
required: false
schema:
type: boolean
default: true
esitoEvento:
name: esito
in: query
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ public Response getFlussoRendicontazione(@Context UriInfo uriInfo, @Context Http
@GET
@Path("/")
@Produces({ "application/json" })
public Response findFlussiRendicontazione(@Context UriInfo uriInfo, @Context HttpHeaders httpHeaders, @QueryParam(value=Costanti.PARAMETRO_PAGINA) @DefaultValue(value="1") Integer pagina, @QueryParam(value=Costanti.PARAMETRO_RISULTATI_PER_PAGINA) @DefaultValue(value="25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("idDominio") String idDominio, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("stato") String stato, @QueryParam("metadatiPaginazione") @DefaultValue(value="true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue(value="true") Boolean maxRisultati, @QueryParam("iuv") String iuv, @QueryParam("idFlusso") String idFlusso){
public Response findFlussiRendicontazione(@Context UriInfo uriInfo, @Context HttpHeaders httpHeaders, @QueryParam(value=Costanti.PARAMETRO_PAGINA) @DefaultValue(value="1") Integer pagina, @QueryParam(value=Costanti.PARAMETRO_RISULTATI_PER_PAGINA) @DefaultValue(value="25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("idDominio") String idDominio, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("stato") String stato, @QueryParam("metadatiPaginazione") @DefaultValue(value="true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue(value="true") Boolean maxRisultati, @QueryParam("iuv") String iuv, @QueryParam("idFlusso") String idFlusso, @QueryParam("escludiObsoleti") Boolean escludiObsoleti){
this.buildContext();
return this.controller.findFlussiRendicontazione(this.getUser(), uriInfo, httpHeaders, pagina, risultatiPerPagina, ordinamento, dataDa, dataA, idDominio, stato, metadatiPaginazione, maxRisultati, iuv, idFlusso);
return this.controller.findFlussiRendicontazione(this.getUser(), uriInfo, httpHeaders, pagina, risultatiPerPagina, ordinamento, dataDa, dataA, idDominio, stato, metadatiPaginazione, maxRisultati, iuv, idFlusso, escludiObsoleti);
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ public Response getFlussoRendicontazione(Authentication user, UriInfo uriInfo, H



public Response findFlussiRendicontazione(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , Integer pagina, Integer risultatiPerPagina, String ordinamento, String dataDa, String dataA, String idDominio, String stato, Boolean metadatiPaginazione, Boolean maxRisultati, String iuv, String idFlusso) {
public Response findFlussiRendicontazione(Authentication user, UriInfo uriInfo, HttpHeaders httpHeaders , Integer pagina, Integer risultatiPerPagina, String ordinamento, String dataDa, String dataA, String idDominio, String stato, Boolean metadatiPaginazione, Boolean maxRisultati, String iuv, String idFlusso, Boolean escludiObsoleti) {
String methodName = "findFlussiRendicontazione";
String transactionId = ContextThreadLocal.get().getTransactionId();
this.log.debug(MessageFormat.format(BaseController.LOG_MSG_ESECUZIONE_METODO_IN_CORSO, methodName));
Expand Down Expand Up @@ -160,7 +160,9 @@ public Response findFlussiRendicontazione(Authentication user, UriInfo uriInfo,
// Autorizzazione sulle uo
List<IdUnitaOperativa> uo = AuthorizationManager.getUoAutorizzate(user);
findRendicontazioniDTO.setUnitaOperative(uo);
// findRendicontazioniDTO.setObsoleto(false);
if(escludiObsoleti != null && escludiObsoleti.booleanValue()) {
findRendicontazioniDTO.setFrObsoleto(!escludiObsoleti);
}
findRendicontazioniDTO.setIuv(iuv);
findRendicontazioniDTO.setRicercaIdFlussoCaseInsensitive(true);
findRendicontazioniDTO.setCodFlusso(idFlusso);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public interface RendicontazioniApi {
@ApiResponse(responseCode = "401", description = "Richiesta non autenticata"),
@ApiResponse(responseCode = "403", description = "Richiesta non autorizzata"),
@ApiResponse(responseCode = "500", description = "Servizio non disponibile", content = @Content(mediaType = "application/json", schema = @Schema(implementation = FaultBean.class))) })
public Response findFlussiRendicontazione(@QueryParam("pagina") @DefaultValue("1") Integer pagina, @QueryParam("risultatiPerPagina") @Max(200) @DefaultValue("25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("idDominio") @Pattern(regexp="(^([0-9]){11}$)") String idDominio, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("stato") String stato, @QueryParam("metadatiPaginazione") @DefaultValue("true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue("true") Boolean maxRisultati, @QueryParam("iuv") @Pattern(regexp="(^([0-9A-Za-z]){1,35}$)") String iuv, @QueryParam("idFlusso") String idFlusso);
public Response findFlussiRendicontazione(@QueryParam("pagina") @DefaultValue("1") Integer pagina, @QueryParam("risultatiPerPagina") @Max(200) @DefaultValue("25") Integer risultatiPerPagina, @QueryParam("ordinamento") String ordinamento, @QueryParam("idDominio") @Pattern(regexp="(^([0-9]){11}$)") String idDominio, @QueryParam("dataDa") String dataDa, @QueryParam("dataA") String dataA, @QueryParam("stato") String stato, @QueryParam("metadatiPaginazione") @DefaultValue("true") Boolean metadatiPaginazione, @QueryParam("maxRisultati") @DefaultValue("true") Boolean maxRisultati, @QueryParam("iuv") @Pattern(regexp="(^([0-9A-Za-z]){1,35}$)") String iuv, @QueryParam("idFlusso") String idFlusso, @QueryParam("escludiObsoleti") Boolean escludiObsoleti);

/**
* Acquisizione di un flusso di rendicontazione
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public RendicontazioniApiServiceImpl() {
*
*/
@Override
public Response findFlussiRendicontazione(Integer pagina, Integer risultatiPerPagina, String ordinamento, String idDominio, String dataDa, String dataA, String stato, Boolean metadatiPaginazione, Boolean maxRisultati, String iuv, String idFlusso) {
public Response findFlussiRendicontazione(Integer pagina, Integer risultatiPerPagina, String ordinamento, String idDominio, String dataDa, String dataA, String stato, Boolean metadatiPaginazione, Boolean maxRisultati, String iuv, String idFlusso, Boolean escludiObsoleti) {
this.buildContext();
Authentication user = this.getUser();
String methodName = "findFlussiRendicontazione";
Expand Down Expand Up @@ -103,6 +103,9 @@ public Response findFlussiRendicontazione(Integer pagina, Integer risultatiPerPa
// Autorizzazione sui domini
List<String> dominiAutorizzati = AuthorizationManager.getDominiAutorizzati(user);
findRendicontazioniDTO.setCodDomini(dominiAutorizzati);
if(escludiObsoleti != null && escludiObsoleti.booleanValue()) {
findRendicontazioniDTO.setFrObsoleto(!escludiObsoleti);
}
// findRendicontazioniDTO.setObsoleto(false);
findRendicontazioniDTO.setIuv(iuv);
findRendicontazioniDTO.setRicercaIdFlussoCaseInsensitive(true);
Expand Down

0 comments on commit 697f9cd

Please sign in to comment.