From 494dcdfbd604f7ef0374651f66f6c36fd5ce083e Mon Sep 17 00:00:00 2001 From: Arturo Buono Date: Fri, 12 Jan 2024 10:24:41 +0100 Subject: [PATCH] feat(fd-update): updates 20240112 --- .../surveymgmt/service/ServizioService.java | 274 ++++++++++-------- 1 file changed, 152 insertions(+), 122 deletions(-) diff --git a/ms-questionario-cittadino/src/main/java/it/pa/repdgt/surveymgmt/service/ServizioService.java b/ms-questionario-cittadino/src/main/java/it/pa/repdgt/surveymgmt/service/ServizioService.java index 663214bf3..c147a53d7 100644 --- a/ms-questionario-cittadino/src/main/java/it/pa/repdgt/surveymgmt/service/ServizioService.java +++ b/ms-questionario-cittadino/src/main/java/it/pa/repdgt/surveymgmt/service/ServizioService.java @@ -62,114 +62,119 @@ public class ServizioService { private QuestionarioTemplateSqlService questionarioTemplateSqlService; /** - * Recupera l'elenco dei servizi paginati sulla base della profilazione dell'utente loggato e dei filtri in input - * - ProfilazioneParama - contiene i dati della profilazione dell'utente loggato - * - FiltroListaServiziParam - contiene tutti i filtri da applicare all'elenco dei servizi + * Recupera l'elenco dei servizi paginati sulla base della profilazione + * dell'utente loggato e dei filtri in input + * - ProfilazioneParama - contiene i dati della profilazione dell'utente loggato + * - FiltroListaServiziParam - contiene tutti i filtri da applicare all'elenco + * dei servizi * - * */ + */ @LogMethod @LogExecutionTime public Page getAllServiziPaginatiByProfilazioneAndFiltri( @NotNull @Valid final SceltaProfiloParam profilazione, @NotNull @Valid final FiltroListaServiziParam filtroListaServizi, - @NotNull final Pageable pagina ) { - // Recupero tutti i Servizi in base al ruolo profilato dell'utente loggato e in base ai filtri selezionati - final List listaServizi = this.getAllServiziByProfilazioneUtenteLoggatoAndFiltri(profilazione, filtroListaServizi); - + @NotNull final Pageable pagina) { + // Recupero tutti i Servizi in base al ruolo profilato dell'utente loggato e in + // base ai filtri selezionati + final List listaServizi = this.getAllServiziByProfilazioneUtenteLoggatoAndFiltri(profilazione, + filtroListaServizi); + // Effettuo la paginazione della lista dei servizi recuperati in precedenza int start = (int) pagina.getOffset(); int end = Math.min((start + pagina.getPageSize()), listaServizi.size()); - if(start > end) { + if (start > end) { throw new ServizioException("ERRORE: pagina richiesta inesistente", CodiceErroreEnum.G03); } return new PageImpl(listaServizi.subList(start, end), pagina, listaServizi.size()); } - + /** - * Recupera l'elenco dei servizi sulla base della profilazione dell'utente loggato e dei filtri in input - * - ProfilazioneParama - contiene i dati della profilazione dell'utente loggato - * - FiltroListaServiziParam - contiene tutti i filtri da applicare all'elenco dei servizi + * Recupera l'elenco dei servizi sulla base della profilazione dell'utente + * loggato e dei filtri in input + * - ProfilazioneParama - contiene i dati della profilazione dell'utente loggato + * - FiltroListaServiziParam - contiene tutti i filtri da applicare all'elenco + * dei servizi * - * */ + */ @LogMethod @LogExecutionTime public List getAllServiziByProfilazioneUtenteLoggatoAndFiltri( @NotNull @Valid SceltaProfiloParam profilazione, @NotNull @Valid FiltroListaServiziParam filtroListaServizi) { - // Recupero codiceFiscale e codiceRuolo con cui si è profilato l'utente loggato alla piattaforma + // Recupero codiceFiscale e codiceRuolo con cui si è profilato l'utente loggato + // alla piattaforma final String codiceFiscaleUtenteLoggato = profilazione.getCfUtenteLoggato().trim().toUpperCase(); - final String codiceRuoloUtenteLoggato = profilazione.getCodiceRuoloUtenteLoggato().toString().trim().toUpperCase(); - - if(filtroListaServizi.getCriterioRicerca() != null) { + final String codiceRuoloUtenteLoggato = profilazione.getCodiceRuoloUtenteLoggato().toString().trim() + .toUpperCase(); + + if (filtroListaServizi.getCriterioRicerca() != null) { filtroListaServizi.setCriterioRicerca( - "%".concat(filtroListaServizi.getCriterioRicerca()).concat("%") - ); + "%".concat(filtroListaServizi.getCriterioRicerca()).concat("%")); } - // Devo mostare l'elenco dei servizi sulla base del ruolo con cui si è profiliato l'utente loggato + // Devo mostare l'elenco dei servizi sulla base del ruolo con cui si è + // profiliato l'utente loggato switch (codiceRuoloUtenteLoggato) { // Utente loggato si è profilato con ruolo DSCU case RuoliUtentiConstants.DSCU: return this.servizioSQLService.getAllServiziByPolicySCDAndFiltro( filtroListaServizi.getCriterioRicerca(), filtroListaServizi.getTipologieServizi(), - filtroListaServizi.getStatiServizio() - ); - - // Se: Utente loggato si è profilato con ruolo Referente/Delegato Ente Gestore Programma + filtroListaServizi.getStatiServizio()); + + // Se: Utente loggato si è profilato con ruolo Referente/Delegato Ente Gestore + // Programma case RuoliUtentiConstants.REG: case RuoliUtentiConstants.DEG: return this.servizioSQLService.getAllServiziByReferenteODelegatoGestoreProgrammaAndFiltro( filtroListaServizi.getCriterioRicerca(), - Arrays.asList( profilazione.getIdProgramma().toString() ), + Arrays.asList(profilazione.getIdProgramma().toString()), filtroListaServizi.getTipologieServizi(), - filtroListaServizi.getStatiServizio() - ); + filtroListaServizi.getStatiServizio()); - // Se: Utente loggato si è profilato con ruolo Referente/Delegato Ente Gestore Partner + // Se: Utente loggato si è profilato con ruolo Referente/Delegato Ente Gestore + // Partner case RuoliUtentiConstants.REPP: case RuoliUtentiConstants.DEPP: return this.servizioSQLService.getAllServiziByReferenteODelegatoEntePartnerAndFiltro( filtroListaServizi.getCriterioRicerca(), - Arrays.asList( profilazione.getIdProgramma().toString() ), - Arrays.asList( profilazione.getIdProgetto().toString() ), + Arrays.asList(profilazione.getIdProgramma().toString()), + Arrays.asList(profilazione.getIdProgetto().toString()), profilazione.getIdEnte(), filtroListaServizi.getTipologieServizi(), - filtroListaServizi.getStatiServizio() - ); - - // Se: Utente loggato si è profilato con ruolo Referente/Delegato Ente Gestore Progetto + filtroListaServizi.getStatiServizio()); + + // Se: Utente loggato si è profilato con ruolo Referente/Delegato Ente Gestore + // Progetto case RuoliUtentiConstants.REGP: case RuoliUtentiConstants.DEGP: return this.servizioSQLService.getAllServiziByReferenteODelegatoGestoreProgettoAndFiltro( filtroListaServizi.getCriterioRicerca(), - Arrays.asList( profilazione.getIdProgramma().toString() ), - Arrays.asList( profilazione.getIdProgetto().toString() ), + Arrays.asList(profilazione.getIdProgramma().toString()), + Arrays.asList(profilazione.getIdProgetto().toString()), filtroListaServizi.getTipologieServizi(), - filtroListaServizi.getStatiServizio() - ); - + filtroListaServizi.getStatiServizio()); + // Se: Utente loggato si è profilato con ruolo FACILITATORE // Se: Utente loggato si è profilato con ruolo VOLONTARIO case RuoliUtentiConstants.VOLONTARIO: case RuoliUtentiConstants.FACILITATORE: return this.servizioSQLService.getAllServiziByFacilitatoreOVolontarioAndFiltro( filtroListaServizi.getCriterioRicerca(), - Arrays.asList( profilazione.getIdProgramma().toString() ), - Arrays.asList( profilazione.getIdProgetto().toString() ), + Arrays.asList(profilazione.getIdProgramma().toString()), + Arrays.asList(profilazione.getIdProgetto().toString()), profilazione.getIdEnte(), filtroListaServizi.getTipologieServizi(), filtroListaServizi.getStatiServizio(), - codiceFiscaleUtenteLoggato - ); - + codiceFiscaleUtenteLoggato); + // Se: Utente loggato si è profilato con ruolo di DTD/ruolo_custom default: return this.servizioSQLService.getAllServiziByFiltro( filtroListaServizi.getCriterioRicerca(), filtroListaServizi.getTipologieServizi(), - filtroListaServizi.getStatiServizio() - ); + filtroListaServizi.getStatiServizio()); } } @@ -179,32 +184,29 @@ public List getAllServiziByProfilazioneUtenteLoggatoAndFiltri( public ServizioEntity creaServizio( @NotNull final ServizioRequest servizioRequest) { - String nomeServizio = servizioRequest.getNomeServizio(); - Optional servizioDBFetch = this.servizioSQLService.getServizioByNome(nomeServizio); - if(servizioDBFetch.isPresent()) { - final String messaggioErrore = String.format("Impossibile creare servizio. Servizio con nome=%s già esistente", nomeServizio); - throw new ServizioException(messaggioErrore, CodiceErroreEnum.S08); - } final String codiceFiscaletenteLoggato = servizioRequest.getCfUtenteLoggato(); final String ruoloUtenteLoggato = servizioRequest.getCodiceRuoloUtenteLoggato().toString(); - - if( ! this.utenteService.isUtenteFacilitatore(codiceFiscaletenteLoggato, ruoloUtenteLoggato) ) { - final String messaggioErrore = String.format("Impossibile creare servizio. Utente con codice fiscale '%s' non ha ruolo FACILITATORE", codiceFiscaletenteLoggato); + + if (!this.utenteService.isUtenteFacilitatore(codiceFiscaletenteLoggato, ruoloUtenteLoggato)) { + final String messaggioErrore = String.format( + "Impossibile creare servizio. Utente con codice fiscale '%s' non ha ruolo FACILITATORE", + codiceFiscaletenteLoggato); throw new ServizioException(messaggioErrore, CodiceErroreEnum.S05); } - + // creo SezioneQ3Mongo final SezioneQ3Collection sezioneQ3Compilato = this.creaSezioneQ3(servizioRequest); - + // salvo servizio su MySql - ServizioEntity servizioCreato = this.servizioSQLService.salvaServizio(servizioRequest, sezioneQ3Compilato.getId()); - + ServizioEntity servizioCreato = this.servizioSQLService.salvaServizio(servizioRequest, + sezioneQ3Compilato.getId()); + // salvo SezioneQ3Compilato su MongoDB this.sezioneQ3Repository.save(sezioneQ3Compilato); - + return servizioCreato; } - + @LogMethod @LogExecutionTime public SezioneQ3Collection creaSezioneQ3(@NotNull final ServizioRequest servizioRequest) { @@ -214,53 +216,62 @@ public SezioneQ3Collection creaSezioneQ3(@NotNull final ServizioRequest servizio sezioneQ3Collection.setDataOraUltimoAggiornamento(sezioneQ3Collection.getDataOraCreazione()); return sezioneQ3Collection; } - + @LogMethod @LogExecutionTime @Transactional(rollbackOn = Exception.class) public void aggiornaServizio( - @NotNull Long idServizioDaAggiornare, + @NotNull Long idServizioDaAggiornare, @NotNull @Valid ServizioRequest servizioDaAggiornareRequest) { - if(!isAutorizzatoForGetSchedaDettaglioServizioAndEliminaServizio(idServizioDaAggiornare, servizioDaAggiornareRequest)) { + if (!isAutorizzatoForGetSchedaDettaglioServizioAndEliminaServizio(idServizioDaAggiornare, + servizioDaAggiornareRequest)) { throw new ServizioException("Errore permesso accesso alla risorsa", CodiceErroreEnum.A02); } final String codiceFiscaletenteLoggato = servizioDaAggiornareRequest.getCfUtenteLoggato(); final String ruoloUtenteLoggato = servizioDaAggiornareRequest.getCodiceRuoloUtenteLoggato().toString(); - + String nomeServizio = servizioDaAggiornareRequest.getNomeServizio(); - Optional servizioDBFetch = this.servizioSQLService.getServizioByNomeUpdate(nomeServizio, idServizioDaAggiornare); - if(servizioDBFetch.isPresent()) { - final String messaggioErrore = String.format("Impossibile aggiornare il servizio. Servizio con nome=%s già esistente", nomeServizio); + Optional servizioDBFetch = this.servizioSQLService.getServizioByNomeUpdate(nomeServizio, + idServizioDaAggiornare); + if (servizioDBFetch.isPresent()) { + final String messaggioErrore = String + .format("Impossibile aggiornare il servizio. Servizio con nome=%s già esistente", nomeServizio); throw new ServizioException(messaggioErrore, CodiceErroreEnum.S08); } - - if( !this.utenteService.isUtenteFacilitatore(codiceFiscaletenteLoggato, ruoloUtenteLoggato) ) { - final String messaggioErrore = String.format("Impossibile aggiornare servizio. Utente con codice fiscale '%s' non ha ruolo FACILITATORE", codiceFiscaletenteLoggato); + + if (!this.utenteService.isUtenteFacilitatore(codiceFiscaletenteLoggato, ruoloUtenteLoggato)) { + final String messaggioErrore = String.format( + "Impossibile aggiornare servizio. Utente con codice fiscale '%s' non ha ruolo FACILITATORE", + codiceFiscaletenteLoggato); throw new ServizioException(messaggioErrore, CodiceErroreEnum.S05); } - + // Aggiorno servizio su MySql - final ServizioEntity servizioAggiornato = this.servizioSQLService.aggiornaServizio(idServizioDaAggiornare, servizioDaAggiornareRequest); + final ServizioEntity servizioAggiornato = this.servizioSQLService.aggiornaServizio(idServizioDaAggiornare, + servizioDaAggiornareRequest); // Recupero SezioneQ3Compilato final String idSezioneQ3Compilato = servizioAggiornato.getIdTemplateCompilatoQ3(); final SezioneQ3Collection sezioneQ3CompilatoDBFetch = this.sezioneQ3Repository .findById(idSezioneQ3Compilato) - .orElseThrow(() -> new ResourceNotFoundException(String.format("SezioneQ3Compilato con id=%s non presente", idSezioneQ3Compilato), CodiceErroreEnum.C01)); + .orElseThrow(() -> new ResourceNotFoundException( + String.format("SezioneQ3Compilato con id=%s non presente", idSezioneQ3Compilato), + CodiceErroreEnum.C01)); - // Salvo SezioneQ3Compilato con i dati da aggiornare su MongoDB - final SezioneQ3Collection sezioneQ3DaAggiornare = this.servizioMapper.toCollectionFrom(servizioDaAggiornareRequest); + final SezioneQ3Collection sezioneQ3DaAggiornare = this.servizioMapper + .toCollectionFrom(servizioDaAggiornareRequest); sezioneQ3CompilatoDBFetch.setDataOraUltimoAggiornamento(new Date()); sezioneQ3CompilatoDBFetch.setSezioneQ3Compilato(sezioneQ3DaAggiornare.getSezioneQ3Compilato()); this.sezioneQ3Repository.save(sezioneQ3CompilatoDBFetch); } /** - * Recupera tutte le 'tipologie di servizio' associati ai servizi dell'utente che si è loggato + * Recupera tutte le 'tipologie di servizio' associati ai servizi dell'utente + * che si è loggato * con un determinato profilo * - * */ + */ @LogMethod @LogExecutionTime public List getAllTipologiaServizioFiltroDropdown( @@ -268,7 +279,7 @@ public List getAllTipologiaServizioFiltroDropdown( @NotNull @Valid final FiltroListaServiziParam filtroListaServizi) { return this.getAllServiziByProfilazioneUtenteLoggatoAndFiltri(profilazione, filtroListaServizi) .stream() - .flatMap( servizio -> servizio.getListaTipologiaServizi().stream() ) + .flatMap(servizio -> servizio.getListaTipologiaServizi().stream()) .map(tipologiaServizio -> tipologiaServizio.getTitolo()) .distinct() .collect(Collectors.toList()); @@ -278,55 +289,63 @@ public List getAllTipologiaServizioFiltroDropdown( * Recupera tutti gli stati servizi relativi all'utente che si è loggato * con un determinato profilo * - * */ + */ @LogMethod @LogExecutionTime public List getAllStatiServizioFiltroDropdown( @NotNull @Valid final SceltaProfiloParam profilazione, @NotNull @Valid final FiltroListaServiziParam filtroListaServizi) { - // Recupero tutti i servizi in base all'utente profilato che si è loggato + // Recupero tutti i servizi in base all'utente profilato che si è loggato // e dei servizi recuperati prendo solo il campo stato return this.getAllServiziByProfilazioneUtenteLoggatoAndFiltri(profilazione, filtroListaServizi) - .stream() - .map(ServizioEntity::getStato) - .distinct() - .collect(Collectors.toList()); + .stream() + .map(ServizioEntity::getStato) + .distinct() + .collect(Collectors.toList()); } public boolean isAutorizzatoForGetSchedaDettaglioServizioAndEliminaServizio(@NotNull Long idServizio, SceltaProfiloParam profilazioneParam) { - switch(profilazioneParam.getCodiceRuoloUtenteLoggato()) { - case RuoliUtentiConstants.REGP: - case RuoliUtentiConstants.DEGP: - return this.servizioSQLService.isServizioAssociatoARegpDegp(idServizio, profilazioneParam.getIdProgetto()) > 0; - case RuoliUtentiConstants.REPP: - case RuoliUtentiConstants.DEPP: - return this.servizioSQLService.isServizioAssociatoAReppDepp(idServizio, profilazioneParam.getIdProgetto(), profilazioneParam.getIdEnte()) > 0; - case RuoliUtentiConstants.FACILITATORE: - case RuoliUtentiConstants.VOLONTARIO: - return this.servizioSQLService.isServizioAssociatoAUtenteProgettoEnte(idServizio, profilazioneParam.getIdProgetto(), profilazioneParam.getIdEnte(), profilazioneParam.getCfUtenteLoggato()) > 0; - default: - return false; - } + switch (profilazioneParam.getCodiceRuoloUtenteLoggato()) { + case RuoliUtentiConstants.REGP: + case RuoliUtentiConstants.DEGP: + return this.servizioSQLService.isServizioAssociatoARegpDegp(idServizio, + profilazioneParam.getIdProgetto()) > 0; + case RuoliUtentiConstants.REPP: + case RuoliUtentiConstants.DEPP: + return this.servizioSQLService.isServizioAssociatoAReppDepp(idServizio, + profilazioneParam.getIdProgetto(), profilazioneParam.getIdEnte()) > 0; + case RuoliUtentiConstants.FACILITATORE: + case RuoliUtentiConstants.VOLONTARIO: + return this.servizioSQLService.isServizioAssociatoAUtenteProgettoEnte(idServizio, + profilazioneParam.getIdProgetto(), profilazioneParam.getIdEnte(), + profilazioneParam.getCfUtenteLoggato()) > 0; + default: + return false; + } } - + /** * Recupera i dati da mostrare nella scheda 'Dettaglio servizio' a partire * dall'id del servizio * - * */ + */ @LogMethod @LogExecutionTime - public SchedaDettaglioServizioBean getSchedaDettaglioServizio(@NotNull final Long idServizio, final SceltaProfiloParam profilazioneParam) { - if(profilazioneParam != null && !isAutorizzatoForGetSchedaDettaglioServizioAndEliminaServizio(idServizio, profilazioneParam)) { + public SchedaDettaglioServizioBean getSchedaDettaglioServizio(@NotNull final Long idServizio, + final SceltaProfiloParam profilazioneParam) { + if (profilazioneParam != null + && !isAutorizzatoForGetSchedaDettaglioServizioAndEliminaServizio(idServizio, profilazioneParam)) { throw new ServizioException("Errore permesso accesso alla risorsa", CodiceErroreEnum.A02); } // Recupero servizio final ServizioEntity servizioEntity = this.servizioSQLService.getServizioById(idServizio); // Recupero ente che eroga il servizio e su quale sede - final EnteEntity enteEntity = this.enteService.getById(servizioEntity.getIdEnteSedeProgettoFacilitatore().getIdEnte()); - final SedeEntity sedeEntity = this.sedeService.getById(servizioEntity.getIdEnteSedeProgettoFacilitatore().getIdSede()); - + final EnteEntity enteEntity = this.enteService + .getById(servizioEntity.getIdEnteSedeProgettoFacilitatore().getIdEnte()); + final SedeEntity sedeEntity = this.sedeService + .getById(servizioEntity.getIdEnteSedeProgettoFacilitatore().getIdSede()); + final SchedaDettaglioServizioBean schedaDettaglioServizioBean = new SchedaDettaglioServizioBean(); final DettaglioServizioBean dettaglioServizioBean = new DettaglioServizioBean(); dettaglioServizioBean.setNomeServizio(servizioEntity.getNome()); @@ -335,32 +354,41 @@ public SchedaDettaglioServizioBean getSchedaDettaglioServizio(@NotNull final Lon dettaglioServizioBean.setListaTipologiaServizio(servizioEntity.getListaTipologiaServizi()); dettaglioServizioBean.setStatoServizio(servizioEntity.getStato()); String idFacilitatore = servizioEntity.getIdEnteSedeProgettoFacilitatore().getIdFacilitatore(); - String nominativoFacilitatore = this.servizioSQLService.getNominativoFacilitatoreByIdFacilitatoreAndIdServizio(idFacilitatore, servizioEntity.getId()); + String nominativoFacilitatore = this.servizioSQLService + .getNominativoFacilitatoreByIdFacilitatoreAndIdServizio(idFacilitatore, servizioEntity.getId()); dettaglioServizioBean.setNominativoFacilitatore(nominativoFacilitatore); // verifico se il questionarioTemplate associato al servizio è presente su Mysql try { - this.questionarioTemplateSqlService.getQuestionarioTemplateById(servizioEntity.getIdQuestionarioTemplateSnapshot()); + this.questionarioTemplateSqlService + .getQuestionarioTemplateById(servizioEntity.getIdQuestionarioTemplateSnapshot()); } catch (ResourceNotFoundException ex) { - String errorMessage = String.format("QuestionarioTemplate con id=%s associato al servizio non presente in MySql", servizioEntity.getIdQuestionarioTemplateSnapshot()); + String errorMessage = String.format( + "QuestionarioTemplate con id=%s associato al servizio non presente in MySql", + servizioEntity.getIdQuestionarioTemplateSnapshot()); throw new ServizioException(errorMessage, ex, CodiceErroreEnum.QT05); } - // verifico se il questionarioTemplate associato al servizio è presente su MongoDb + // verifico se il questionarioTemplate associato al servizio è presente su + // MongoDb QuestionarioTemplateCollection questionarioTemplateAssociatoAlServizio = null; try { - questionarioTemplateAssociatoAlServizio = questionarioTemplateService.getQuestionarioTemplateById(servizioEntity.getIdQuestionarioTemplateSnapshot()); + questionarioTemplateAssociatoAlServizio = questionarioTemplateService + .getQuestionarioTemplateById(servizioEntity.getIdQuestionarioTemplateSnapshot()); } catch (ResourceNotFoundException ex) { - String errorMessage = String.format("QuestionarioTemplate con id=%s associato al servizio non presente in MongoDB", servizioEntity.getIdQuestionarioTemplateSnapshot()); + String errorMessage = String.format( + "QuestionarioTemplate con id=%s associato al servizio non presente in MongoDB", + servizioEntity.getIdQuestionarioTemplateSnapshot()); throw new ServizioException(errorMessage, ex, CodiceErroreEnum.QT04); } dettaglioServizioBean.setQuestionarioTemplateSnapshot(questionarioTemplateAssociatoAlServizio); - final Optional sezioneQ3Compilato = this.sezioneQ3Repository.findById(servizioEntity.getIdTemplateCompilatoQ3()); + final Optional sezioneQ3Compilato = this.sezioneQ3Repository + .findById(servizioEntity.getIdTemplateCompilatoQ3()); dettaglioServizioBean.setSezioneQ3compilato(sezioneQ3Compilato.orElse(null)); - + schedaDettaglioServizioBean.setDettaglioServizio(dettaglioServizioBean); - + final List progettiProjection = this.progettoService.getProgettiByServizio(idServizio); schedaDettaglioServizioBean.setProgettiAssociatiAlServizio(progettiProjection); return schedaDettaglioServizioBean; @@ -370,25 +398,27 @@ public SchedaDettaglioServizioBean getSchedaDettaglioServizio(@NotNull final Lon @LogExecutionTime @Transactional(rollbackOn = Exception.class) public void eliminaServizio(@NotNull final Long idServizio, final SceltaProfiloParam profilazioneParam) { - if(profilazioneParam != null && !isAutorizzatoForGetSchedaDettaglioServizioAndEliminaServizio(idServizio, profilazioneParam)) { + if (profilazioneParam != null + && !isAutorizzatoForGetSchedaDettaglioServizioAndEliminaServizio(idServizio, profilazioneParam)) { throw new ServizioException("Errore permesso accesso alla risorsa", CodiceErroreEnum.G01); } final ServizioEntity servizioEntity = this.servizioSQLService.getServizioById(idServizio); - + // Verifico se posso eliminare il servizio final String statoServizio = servizioEntity.getStato(); - if(! this.isServizioEliminabile(statoServizio)) { - final String messaggioErrore = String.format("Impossibile eliminare Servizio con id=%s. Stato Servizio = '%s'", idServizio, statoServizio); + if (!this.isServizioEliminabile(statoServizio)) { + final String messaggioErrore = String.format( + "Impossibile eliminare Servizio con id=%s. Stato Servizio = '%s'", idServizio, statoServizio); throw new ServizioException(messaggioErrore, CodiceErroreEnum.S07); } - + // cancello servizio su MySql this.servizioSQLService.cancellaServivio(servizioEntity); - + // cancello SezioneQ3Compilato su MongoDB this.sezioneQ3Repository.deleteByIdSezioneQ3(servizioEntity.getIdTemplateCompilatoQ3()); } - + @LogMethod @LogExecutionTime public boolean isServizioEliminabile(@NotNull final String statoServizio) {