From 0eea855af0f6c61a9b9c413da197bcfb83545477 Mon Sep 17 00:00:00 2001 From: Aurince AKAKPO Date: Fri, 24 Jul 2026 14:07:14 +0100 Subject: [PATCH] reajustement secteur decoupage perimetre --- .../controllers/user/FonctionController.java | 2 +- .../infocad/metier/EnqueteServiceImpl.java | 18 ++++++++++++++++++ .../rfu/metier/FonctionServiceImpl.java | 7 ++++++- .../interfaces/rfu/metier/FonctionService.java | 1 + .../service/EntityFromPayLoadService.java | 5 +++-- 5 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/gmss/fiscad/controllers/user/FonctionController.java b/src/main/java/io/gmss/fiscad/controllers/user/FonctionController.java index 5e89045..d17f78b 100644 --- a/src/main/java/io/gmss/fiscad/controllers/user/FonctionController.java +++ b/src/main/java/io/gmss/fiscad/controllers/user/FonctionController.java @@ -165,7 +165,7 @@ public class FonctionController { public ResponseEntity getFonctionById(@PathVariable Long id) { try { return new ResponseEntity<>( - new ApiResponse<>(true, fonctionService.getFonctionById(id), "Fonction trouvée avec succès."), + new ApiResponse<>(true, fonctionService.getFonctionByIdToDTO(id).orElse(null), "Fonction trouvée avec succès."), HttpStatus.OK ); } catch (HttpClientErrorException.MethodNotAllowed e) { diff --git a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/EnqueteServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/EnqueteServiceImpl.java index 87ace33..d30f969 100644 --- a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/EnqueteServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/EnqueteServiceImpl.java @@ -1,5 +1,6 @@ package io.gmss.fiscad.implementations.infocad.metier; +import io.gmss.fiscad.entities.decoupage.Quartier; import io.gmss.fiscad.entities.decoupage.Secteur; import io.gmss.fiscad.entities.infocad.metier.*; import io.gmss.fiscad.entities.infocad.parametre.Personne; @@ -34,6 +35,7 @@ import io.gmss.fiscad.paylaods.response.FicheResponse.* ; import io.gmss.fiscad.paylaods.response.synchronisation.EnqueteNonSyncResponse; import io.gmss.fiscad.persistence.repositories.decoupage.ArrondissementRepository; import io.gmss.fiscad.persistence.repositories.decoupage.CommuneRepository; +import io.gmss.fiscad.persistence.repositories.decoupage.QuartierRepository; import io.gmss.fiscad.persistence.repositories.decoupage.SecteurRepository; import io.gmss.fiscad.persistence.repositories.infocad.metier.*; import io.gmss.fiscad.persistence.repositories.infocad.parametre.BlocRepository; @@ -88,6 +90,7 @@ public class EnqueteServiceImpl implements EnqueteService { private final EntityFromPayLoadService entityFromPayLoadService ; private final SecteurService secteurService ; private final EdeclarationProprieteService edeclarationProprieteService ; + private final QuartierRepository quartierRepository ; ; @PersistenceContext @@ -99,6 +102,20 @@ public class EnqueteServiceImpl implements EnqueteService { @Transactional public EnquetePayLoadWeb createEnquete(EnquetePayLoadWeb enquetePayLoadWeb) throws BadRequestException { + if((enquetePayLoadWeb.getParcelleQ()==null || enquetePayLoadWeb.getParcelleI()==null || enquetePayLoadWeb.getParcelleP()!=null) && enquetePayLoadWeb.getParcelleNup()==null){ + throw new BadRequestException("Echec de l'enregistrement : Vous devez préciser le QIP ou le NUP"); + } + + + if (enquetePayLoadWeb.getQuartierId()==null) { + throw new BadRequestException("Echec de l'enregistrement : Vous devez préciser le quartier"); + } + + Optional optionalQuartier = quartierRepository.findById(enquetePayLoadWeb.getQuartierId()); + if (!optionalQuartier.isPresent()) { + throw new BadRequestException("Echec de l'enregistrement : Quartier inexistant"); + } + Optional optionalUser = userRepository.findById(enquetePayLoadWeb.getEnqueteurId()); if (!optionalUser.isPresent()) { throw new BadRequestException("Echec de l'enregistrement : Enquêteur inexistant"); @@ -166,6 +183,7 @@ public class EnqueteServiceImpl implements EnqueteService { parcellePayLoadWeb.setProprietaireId(enquetePayLoadWeb.getPersonneId()); parcellePayLoadWeb.setNatureDomaineId(enquetePayLoadWeb.getNatureDomaineId()); parcellePayLoadWeb.setNatureDomaineId(enquetePayLoadWeb.getNatureDomaineId()); + return parcellePayLoadWeb; } diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/FonctionServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/FonctionServiceImpl.java index 62ac6d7..d70e335 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/FonctionServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/FonctionServiceImpl.java @@ -85,8 +85,13 @@ public class FonctionServiceImpl implements FonctionService { if (fonctionRepository.existsById(id)) { return fonctionRepository.findById(id); } else { - throw new NotFoundException("Impossible de trouver la caractéristique spécifiée dans la base de données."); + throw new NotFoundException("Impossible de trouver la fonction spécifiée dans la base de données."); } } + + @Override + public Optional getFonctionByIdToDTO(Long id) { + return fonctionRepository.findFonctionToDtoById(id); + } } diff --git a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/FonctionService.java b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/FonctionService.java index 833f10a..0edb561 100755 --- a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/FonctionService.java +++ b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/FonctionService.java @@ -27,4 +27,5 @@ public interface FonctionService { Page getFonctionListToDtoPageable(Pageable pageable); Optional getFonctionById(Long id); + Optional getFonctionByIdToDTO(Long id); } diff --git a/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java b/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java index 99891c3..a3bde0b 100644 --- a/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java +++ b/src/main/java/io/gmss/fiscad/service/EntityFromPayLoadService.java @@ -1013,13 +1013,14 @@ public class EntityFromPayLoadService { if (optionalNatureDomaine.isPresent()) { parcelle.setNatureDomaine(optionalNatureDomaine.orElse(null)); } + Optional optionalQuartier = quartierRepository.findById(parcellePayLoadWeb.getQuartierId()); - if (!optionalQuartier.isPresent()) { + if (optionalQuartier.isPresent()) { parcelle.setQuartier(optionalQuartier.orElse(null)); } Optional optionalTypeDomaine = typeDomaineRepository.findById(parcellePayLoadWeb.getTypeDomaineId()); - if (!optionalTypeDomaine.isPresent()) { + if (optionalTypeDomaine.isPresent()) { parcelle.setTypeDomaine(optionalTypeDomaine.orElse(null)); } parcelle.setP(parcellePayLoadWeb.getP()); -- 2.49.1