From 513ed6003ccc8c647eb685867fdc1234fa5e4d7e Mon Sep 17 00:00:00 2001 From: Aurince AKAKPO Date: Thu, 23 Jul 2026 11:44:55 +0100 Subject: [PATCH] reajustement secteur decoupage perimetre --- .../controllers/user/FonctionController.java | 4 +-- .../rfu/metier/FonctionServiceImpl.java | 13 +++++--- .../rfu/metier/FonctionService.java | 4 +-- .../rfu/metier/FonctionRepository.java | 33 +++++++++++++++++++ 4 files changed, 45 insertions(+), 9 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 65e0b86..5e89045 100644 --- a/src/main/java/io/gmss/fiscad/controllers/user/FonctionController.java +++ b/src/main/java/io/gmss/fiscad/controllers/user/FonctionController.java @@ -41,9 +41,9 @@ public class FonctionController { @PreAuthorize("hasAuthority('CREATE_FONCTION')") public ResponseEntity createFonction(@RequestBody @Valid @Validated FonctionPaylaodWeb fonctionPaylaodWeb) { try { - Fonction fonction = fonctionService.createFonction(fonctionPaylaodWeb); + fonctionPaylaodWeb = fonctionService.createFonction(fonctionPaylaodWeb); return new ResponseEntity<>( - new ApiResponse<>(true, fonction, "Secteur affecté avec succès."), + new ApiResponse<>(true, fonctionPaylaodWeb, "Secteur affecté avec succès."), HttpStatus.OK ); } catch (HttpClientErrorException.MethodNotAllowed e) { 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 cb23a35..62ac6d7 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 @@ -24,17 +24,19 @@ public class FonctionServiceImpl implements FonctionService { @Override - public Fonction createFonction(FonctionPaylaodWeb fonctionPaylaodWeb) throws BadRequestException { + public FonctionPaylaodWeb createFonction(FonctionPaylaodWeb fonctionPaylaodWeb) throws BadRequestException { if (fonctionPaylaodWeb.getId() != null) { throw new BadRequestException("Impossible de créer un nouveau fonction ayant un id non null."); } Fonction fonction = entityFromPayLoadService.getFonctionFromPayLoadWeb(fonctionPaylaodWeb); + fonction = fonctionRepository.save(fonction); + fonctionPaylaodWeb = fonctionRepository.findFonctionToDtoById(fonction.getId()).orElse(null); - return fonctionRepository.save(fonction); + return fonctionPaylaodWeb ; } @Override - public Fonction updateFonction(Long id, FonctionPaylaodWeb fonctionPaylaodWeb) throws NotFoundException { + public FonctionPaylaodWeb updateFonction(Long id, FonctionPaylaodWeb fonctionPaylaodWeb) throws NotFoundException { if (fonctionPaylaodWeb.getId() == null) { throw new BadRequestException("Impossible de mettre à jour un nouveau fonction ayant un id null."); } @@ -42,8 +44,9 @@ public class FonctionServiceImpl implements FonctionService { throw new NotFoundException("Impossible de trouver le fonction spécifié dans notre base de données."); } Fonction fonction = entityFromPayLoadService.getFonctionFromPayLoadWeb(fonctionPaylaodWeb); - - return fonctionRepository.save(fonction); + fonction = fonctionRepository.save(fonction); + fonctionPaylaodWeb = fonctionRepository.findFonctionToDtoById(fonction.getId()).orElse(null); + return fonctionPaylaodWeb ; } @Override 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 fd93018..833f10a 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 @@ -12,9 +12,9 @@ import java.util.Optional; public interface FonctionService { - Fonction createFonction(FonctionPaylaodWeb fonctionPaylaodWeb) throws BadRequestException; + FonctionPaylaodWeb createFonction(FonctionPaylaodWeb fonctionPaylaodWeb) throws BadRequestException; - Fonction updateFonction(Long id, FonctionPaylaodWeb fonctionPaylaodWeb) throws NotFoundException; + FonctionPaylaodWeb updateFonction(Long id, FonctionPaylaodWeb fonctionPaylaodWeb) throws NotFoundException; void deleteFonction(Long id) throws NotFoundException; diff --git a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/FonctionRepository.java b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/FonctionRepository.java index 844b2b0..21716b0 100755 --- a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/FonctionRepository.java +++ b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/FonctionRepository.java @@ -6,8 +6,10 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import java.util.List; +import java.util.Optional; public interface FonctionRepository extends JpaRepository { @@ -40,6 +42,37 @@ public interface FonctionRepository extends JpaRepository { """) List findAllFonctionToDto(); + + @Query(""" + SELECT new io.gmss.fiscad.paylaods.request.crudweb.FonctionPaylaodWeb( + f.id, + f.code, + f.nom, + sec.id, + sec.code, + sec.nom, + se.id, + se.nom, + se.code, + st.id, + st.code, + st.nom, + p.id, + p.nom, + d.id, + d.code, + d.nom + ) + FROM Fonction f + LEFT JOIN f.secteur sec + LEFT JOIN f.section se + LEFT JOIN f.structure st + LEFT JOIN f.profile p + LEFT JOIN f.departement d + WHERE f.id = :idFonction + """) + Optional findFonctionToDtoById(@Param("idFonction") Long idFonction); + @Query( value = """ SELECT DISTINCT new io.gmss.fiscad.paylaods.request.crudweb.FonctionPaylaodWeb( -- 2.49.1