From 162d8533f903861b508e3fd15caf16a22d6d39ea Mon Sep 17 00:00:00 2001 From: Aurince AKAKPO Date: Tue, 15 Apr 2025 23:45:26 +0100 Subject: [PATCH] revu du controleur de la fiche enquete --- .../infocad/metier/EnqueteServiceImpl.java | 35 +++++++++++++++++++ .../infocad/metier/EnqueteService.java | 1 + .../infocad/metier/EnqueteRepository.java | 2 ++ 3 files changed, 38 insertions(+) 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 da580bb..c85220a 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 @@ -400,6 +400,41 @@ public class EnqueteServiceImpl implements EnqueteService { return ficheEnqueteResponse; } + + @Override + public FicheEnqueteResponse getFicheEnqueteByNupProvisoir(String nupProvisoir) { + + Optional optionalEnquete = enqueteRepository.findFirstByParcelle_NupProvisoireOrderByDateEnqueteDesc(nupProvisoir); + + if(optionalEnquete.isPresent()){ + + List acteurConcernes = acteurConcerneRepository.findActeurConcerneByEnquete_Id(optionalEnquete.get().getId()); + + FicheEnqueteResponse ficheEnqueteResponse = new FicheEnqueteResponse(); // payload de réponse global + + FicheEnquetesResponse ficheEnquetesResponse = new FicheEnquetesResponse(); // classe payload de Enquete + + if (optionalEnquete.isPresent()) { + ficheEnquetesResponse = modelMapper.map(optionalEnquete.get(), FicheEnquetesResponse.class); + } + List caracteristiqueParcelles = caracteristiqueParcelleRepository.findAllByEnquete_Id(optionalEnquete.get().getId()); + + List enqueteBatiments = enqueteBatimentRepository.findAllByEnquete_Id(optionalEnquete.get().getId()); + + List enqueteUniteLogements = enqueteUniteLogementRepository.findAllByEnquete_Id(optionalEnquete.get().getId()); + + ficheEnquetesResponse.setCaracteristiquesParcelles(caracteristiqueParcelles); + ficheEnquetesResponse.setEnquetesBatiments(enqueteBatiments); + ficheEnquetesResponse.setEnquetesUniteLogements(enqueteUniteLogements); + ficheEnqueteResponse.setEnquete(ficheEnquetesResponse); + ficheEnqueteResponse.setActeurConcernes(acteurConcernes); + + return ficheEnqueteResponse; + }else{ + return null; + } + } + @Override public List getEnqueteValideNonSynch(Long terminalId) { return enqueteRepository.getEnqueteValNonSync(terminalId); diff --git a/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/EnqueteService.java b/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/EnqueteService.java index 46a1f18..108273b 100755 --- a/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/EnqueteService.java +++ b/src/main/java/io/gmss/fiscad/interfaces/infocad/metier/EnqueteService.java @@ -50,6 +50,7 @@ public interface EnqueteService { public UserDecoupageEnqResponses getDecoupageAdminUserConnecterAndStat(); public FicheEnqueteResponse getFicheEnquete(Long EnqueteId); + public FicheEnqueteResponse getFicheEnqueteByNupProvisoir(String nupProvisoire); public List getEnqueteValideNonSynch(Long terminalId); diff --git a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/EnqueteRepository.java b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/EnqueteRepository.java index ee81af1..2ad90d5 100755 --- a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/EnqueteRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/EnqueteRepository.java @@ -204,4 +204,6 @@ public interface EnqueteRepository extends JpaRepository { " WHERE p.deleted is false and e.bloc_id = ?1 and ac.role_acteur=?2 ", nativeQuery = true) List getEnqueteByBloc(Long BlocId, String roleActeur); + + Optional findFirstByParcelle_NupProvisoireOrderByDateEnqueteDesc(String numProvisoire); }