From bfe7b319c274c2fdff5e0634b2eb89a360d0befd Mon Sep 17 00:00:00 2001 From: Aurince AKAKPO Date: Fri, 20 Mar 2026 14:38:30 +0100 Subject: [PATCH] fusion maj parcelle,batiment,ulo et leur enquete --- .../infocad/metier/ParcelleController.java | 2 +- .../rfu/metier/BatimentController.java | 24 ++++++ .../DonneesImpositionTfuController.java | 26 +++++++ .../rfu/metier/UniteLogementController.java | 26 +++++++ .../infocad/metier/EnqueteServiceImpl.java | 15 ++-- .../infocad/metier/ParcelleServiceImpl.java | 11 ++- .../rfu/metier/BatimentServiceImpl.java | 5 ++ .../DonneesImpositionTfuServiceImpl.java | 5 ++ .../metier/EnqueteBatimentServiceImpl.java | 6 +- .../EnqueteUniteLogementServiceImpl.java | 10 +-- .../rfu/metier/UniteLogementServiceImpl.java | 5 ++ .../rfu/metier/BatimentService.java | 4 + .../metier/DonneesImpositionTfuService.java | 3 +- .../rfu/metier/UniteLogementService.java | 3 + .../rfu/metier/BatimentRepository.java | 63 +++++++++++++++ .../DonneesImpositionTfuRepository.java | 77 +++++++++++++++++++ .../EnqueteUniteLogementRepository.java | 2 +- .../rfu/metier/UniteLogementRepository.java | 64 +++++++++++++++ src/main/resources/application.properties | 4 +- 19 files changed, 330 insertions(+), 25 deletions(-) diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleController.java index f086b4a..b6f1c7e 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleController.java @@ -154,7 +154,7 @@ public class ParcelleController { ); Long userId = currentUser.getUser().getId(); return new ResponseEntity<>( - new ApiResponse<>(true, parcelleService.getParcelleByIdToDto(userId,id), "enquete trouvé avec succès."), + new ApiResponse<>(true, parcelleService.getParcelleByIdToDto(userId,id), "parcelle trouvée avec succès."), HttpStatus.OK ); } catch (HttpClientErrorException.MethodNotAllowed e) { diff --git a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/BatimentController.java b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/BatimentController.java index 65c8f47..c99e5e2 100644 --- a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/BatimentController.java +++ b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/BatimentController.java @@ -223,4 +223,28 @@ public class BatimentController { return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK); } } + + @GetMapping("/all-paged/by-quartier-id/{quartierId}") + public ResponseEntity getAllBatimentByQuartierPaged(@PathVariable Long quartierId, @RequestParam int pageNo, @RequestParam int pageSize) { + try { + Pageable pageable = PageRequest.of(pageNo, pageSize); + return new ResponseEntity<>( + new ApiResponse<>(true, batimentService.getBatimentListByquartierPageable(quartierId,pageable), "Liste des batiments chargée avec succès."), + HttpStatus.OK + ); + } catch (HttpClientErrorException.MethodNotAllowed e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK); + } catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException | + FileStorageException e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK); + } catch (NullPointerException e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK); + } catch (Exception e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK); + } + } } diff --git a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DonneesImpositionTfuController.java b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DonneesImpositionTfuController.java index 89a9a5f..7ce5f2f 100644 --- a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DonneesImpositionTfuController.java +++ b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/DonneesImpositionTfuController.java @@ -434,4 +434,30 @@ public class DonneesImpositionTfuController { return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK); } } + + + @GetMapping("/all-page/by-exercice-id/by-structure-id/{exerciceId}/{structureId}") + public ResponseEntity getAllDonneesImpositionTfuByExerciceIdAndStructureIdPaged(@PathVariable Long exerciceId, @PathVariable Long structureId,@RequestParam int pageNo, @RequestParam int pageSize) { + try { + Pageable pageable = PageRequest.of(pageNo, pageSize); + System.out.println("NOUS SOMMES ICI"); + return new ResponseEntity<>( + new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByExerciceAndStructureIdPageable(exerciceId,structureId, pageable), "Liste des caractéristiques chargée avec succès."), + HttpStatus.OK + ); + } catch (HttpClientErrorException.MethodNotAllowed e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK); + } catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException | + FileStorageException e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK); + } catch (NullPointerException e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK); + } catch (Exception e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK); + } + } } diff --git a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/UniteLogementController.java b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/UniteLogementController.java index 59c1f51..fd061c4 100644 --- a/src/main/java/io/gmss/fiscad/controllers/rfu/metier/UniteLogementController.java +++ b/src/main/java/io/gmss/fiscad/controllers/rfu/metier/UniteLogementController.java @@ -247,4 +247,30 @@ public class UniteLogementController { return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK); } } + + + @GetMapping("/all-paged/by-quartier-id/{quartierId}") + public ResponseEntity getAllUniteLogementByQuartierPaged(@PathVariable Long quartierId, @RequestParam int pageNo, @RequestParam int pageSize) { + try { + Pageable pageable = PageRequest.of(pageNo, pageSize); + + return new ResponseEntity<>( + new ApiResponse<>(true, enqueteUniteLogementService.getUniteLogementListByQuartierPageable(quartierId,pageable), "Liste des unites de logements chargée avec succès."), + HttpStatus.OK + ); + } catch (HttpClientErrorException.MethodNotAllowed e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK); + } catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException | + FileStorageException e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK); + } catch (NullPointerException e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK); + } catch (Exception e) { + logger.error(e.getLocalizedMessage()); + return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK); + } + } } 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 9af6f53..9899348 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 @@ -121,7 +121,7 @@ public class EnqueteServiceImpl implements EnqueteService { ParcellePayLoadWeb parcellePayLoadWeb= getParcellePayloadFromEnquetePl(enquetePayLoadWeb); - if(enquetePayLoadWeb.getParcelleId()==null){ + if(parcellePayLoadWeb.getId()==null){ parcellePayLoadWeb=parcelleService.createParcelle(parcellePayLoadWeb); }else{ parcellePayLoadWeb=parcelleService.updateParcelle(parcellePayLoadWeb.getId(),parcellePayLoadWeb); @@ -138,7 +138,7 @@ public class EnqueteServiceImpl implements EnqueteService { private ParcellePayLoadWeb getParcellePayloadFromEnquetePl(EnquetePayLoadWeb enquetePayLoadWeb) { ParcellePayLoadWeb parcellePayLoadWeb=new ParcellePayLoadWeb(); - parcellePayLoadWeb.setId(enquetePayLoadWeb.getId()); + parcellePayLoadWeb.setId(enquetePayLoadWeb.getParcelleId()); parcellePayLoadWeb.setQ(enquetePayLoadWeb.getParcelleQ()); parcellePayLoadWeb.setI(enquetePayLoadWeb.getParcelleI()); parcellePayLoadWeb.setP(enquetePayLoadWeb.getParcelleP()); @@ -175,7 +175,6 @@ public class EnqueteServiceImpl implements EnqueteService { throw new BadRequestException("Impossible d'enregistrer une enquête avec une parcelle inexistante"); } - Optional optionalParcelle=Optional.empty(); Optional optionalUser = userRepository.findById(enquetePayLoadWeb.getEnqueteurId()); if (!optionalUser.isPresent()) { throw new BadRequestException("Echec de l'enregistrement : Enquêteur inexistant"); @@ -190,15 +189,17 @@ public class EnqueteServiceImpl implements EnqueteService { throw new BadRequestException("Echec de l'enregistrement : zone inexistante"); } - if (enquetePayLoadWeb.getParcelleId() == null) { - throw new ApplicationException("Echec de l'enregistrement : La parcelle non renseignée."); + if(enquetePayLoadWeb.getParcelleId()!=null) { + Optional optionalParcelle = parcelleRepository.findById(enquetePayLoadWeb.getParcelleId()); + if (!optionalParcelle.isPresent()) { + throw new BadRequestException("Echec de l'enregistrement : Parcelle inexistante"); + } } - ParcellePayLoadWeb parcellePayLoadWeb= getParcellePayloadFromEnquetePl(enquetePayLoadWeb); - if(enquetePayLoadWeb.getParcelleId()==null){ + if(parcellePayLoadWeb.getId()==null){ parcellePayLoadWeb=parcelleService.createParcelle(parcellePayLoadWeb); }else{ parcellePayLoadWeb=parcelleService.updateParcelle(parcellePayLoadWeb.getId(),parcellePayLoadWeb); diff --git a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/ParcelleServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/ParcelleServiceImpl.java index 4367c81..77c6192 100644 --- a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/ParcelleServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/ParcelleServiceImpl.java @@ -78,10 +78,13 @@ public class ParcelleServiceImpl implements ParcelleService { @Override public ParcellePayLoadWeb updateParcelle(Long id, ParcellePayLoadWeb parcellePayLoadWeb) throws NotFoundException { - Optional optionalParcelle = parcelleRepository.findById(parcellePayLoadWeb.getId()); - if (!optionalParcelle.isPresent()) { - throw new NotFoundException("Impossible de trouver la parcelle que vous désirer modifier"); - } + if(parcellePayLoadWeb.getId()!=null) { + Optional optionalParcelle = parcelleRepository.findById(parcellePayLoadWeb.getId()); + if (!optionalParcelle.isPresent()) { + throw new NotFoundException("Impossible de trouver la parcelle que vous désirer modifier"); + } + } + Parcelle parcelle = new Parcelle(); parcelle = entityFromPayLoadService.getParcelleFromPayload(parcellePayLoadWeb); parcelle= parcelleRepository.save(parcelle); diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/BatimentServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/BatimentServiceImpl.java index 0dd086d..f71c1a9 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/BatimentServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/BatimentServiceImpl.java @@ -118,4 +118,9 @@ public class BatimentServiceImpl implements BatimentService { } } + + @Override + public Page getBatimentListByquartierPageable(Long quartierId, Pageable pageable) { + return batimentRepository.findAllBatimentsAvecOccupantCourantByQuartierToDtoPageble(quartierId,pageable); + } } diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DonneesImpositionTfuServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DonneesImpositionTfuServiceImpl.java index dcdcd1d..41b2821 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DonneesImpositionTfuServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/DonneesImpositionTfuServiceImpl.java @@ -164,4 +164,9 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ public Page getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(Long impositionsTfuId, Pageable pageable) { return donneesImpositionTfuRepository.findAllByImpositionTfuIdBatieUniteLogPageable(impositionsTfuId,pageable); } + + @Override + public Page getDonneesFiscalesByExerciceAndStructureIdPageable(Long exerciceId, Long structureId, Pageable pageable) { + return donneesImpositionTfuRepository.findAllByExericeIdStructureIdPageable(exerciceId,structureId,pageable); + } } diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteBatimentServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteBatimentServiceImpl.java index b36d713..8f3adef 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteBatimentServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteBatimentServiceImpl.java @@ -60,7 +60,7 @@ public class EnqueteBatimentServiceImpl implements EnqueteBatimentService { } BatimentPaylaodWeb batimentPaylaodWeb= getBatimentPayloadFromEnqueteBat(enqueteBatimentPayloadWeb); - if(enqueteBatimentPayloadWeb.getBatimentId()==null){ + if(batimentPaylaodWeb.getId()==null){ batimentPaylaodWeb=batimentService.createBatiment(batimentPaylaodWeb); }else{ batimentPaylaodWeb=batimentService.updateBatiment(batimentPaylaodWeb.getId(),batimentPaylaodWeb); @@ -76,7 +76,7 @@ public class EnqueteBatimentServiceImpl implements EnqueteBatimentService { private BatimentPaylaodWeb getBatimentPayloadFromEnqueteBat(EnqueteBatimentPayloadWeb enqueteBatimentPayloadWeb) { BatimentPaylaodWeb batimentPaylaodWeb= new BatimentPaylaodWeb(); - batimentPaylaodWeb.setId(enqueteBatimentPayloadWeb.getId()); + batimentPaylaodWeb.setId(enqueteBatimentPayloadWeb.getBatimentId()); batimentPaylaodWeb.setNub(enqueteBatimentPayloadWeb.getNub()); batimentPaylaodWeb.setCode(enqueteBatimentPayloadWeb.getCode()); batimentPaylaodWeb.setDateConstruction(enqueteBatimentPayloadWeb.getDateConstruction()); @@ -111,7 +111,7 @@ public class EnqueteBatimentServiceImpl implements EnqueteBatimentService { BatimentPaylaodWeb batimentPaylaodWeb= getBatimentPayloadFromEnqueteBat(enqueteBatimentPayloadWeb); - if(enqueteBatimentPayloadWeb.getBatimentId()==null){ + if(batimentPaylaodWeb.getId()==null){ batimentPaylaodWeb=batimentService.createBatiment(batimentPaylaodWeb); }else{ batimentPaylaodWeb=batimentService.updateBatiment(batimentPaylaodWeb.getId(),batimentPaylaodWeb); diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteUniteLogementServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteUniteLogementServiceImpl.java index 6a6fb39..f602197 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteUniteLogementServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/EnqueteUniteLogementServiceImpl.java @@ -59,10 +59,10 @@ public class EnqueteUniteLogementServiceImpl implements EnqueteUniteLogementServ UniteLogementPaylaodWeb uniteLogementPaylaodWeb=getUniteLogementPayloadFromEnqueteUl(enqueteUniteLogementPayloadWeb); - if(enqueteUniteLogementPayloadWeb.getId()==null){ + if(uniteLogementPaylaodWeb.getId()==null){ uniteLogementPaylaodWeb= uniteLogementService.createUniteLogement(uniteLogementPaylaodWeb); }else{ - uniteLogementPaylaodWeb= uniteLogementService.createUniteLogement(uniteLogementPaylaodWeb); + uniteLogementPaylaodWeb= uniteLogementService.updateUniteLogement(uniteLogementPaylaodWeb.getId(),uniteLogementPaylaodWeb); } enqueteUniteLogementPayloadWeb.setUniteLogementId(uniteLogementPaylaodWeb.getId()); @@ -74,7 +74,7 @@ public class EnqueteUniteLogementServiceImpl implements EnqueteUniteLogementServ private UniteLogementPaylaodWeb getUniteLogementPayloadFromEnqueteUl(EnqueteUniteLogementPayloadWeb enqueteUniteLogementPayloadWeb) { UniteLogementPaylaodWeb uniteLogementPaylaodWeb=new UniteLogementPaylaodWeb(); - uniteLogementPaylaodWeb.setId(enqueteUniteLogementPayloadWeb.getId()); + uniteLogementPaylaodWeb.setId(enqueteUniteLogementPayloadWeb.getUniteLogementId()); uniteLogementPaylaodWeb.setNul(enqueteUniteLogementPayloadWeb.getNul()); uniteLogementPaylaodWeb.setNumeroEtage(enqueteUniteLogementPayloadWeb.getNumeroEtage()); uniteLogementPaylaodWeb.setCode(enqueteUniteLogementPayloadWeb.getCode()); @@ -114,10 +114,10 @@ public class EnqueteUniteLogementServiceImpl implements EnqueteUniteLogementServ UniteLogementPaylaodWeb uniteLogementPaylaodWeb=getUniteLogementPayloadFromEnqueteUl(enqueteUniteLogementPayloadWeb); - if(enqueteUniteLogementPayloadWeb.getId()==null){ + if(uniteLogementPaylaodWeb.getId()==null){ uniteLogementPaylaodWeb= uniteLogementService.createUniteLogement(uniteLogementPaylaodWeb); }else{ - uniteLogementPaylaodWeb= uniteLogementService.createUniteLogement(uniteLogementPaylaodWeb); + uniteLogementPaylaodWeb= uniteLogementService.updateUniteLogement(uniteLogementPaylaodWeb.getId(),uniteLogementPaylaodWeb); } enqueteUniteLogementPayloadWeb.setUniteLogementId(uniteLogementPaylaodWeb.getId()); diff --git a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/UniteLogementServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/UniteLogementServiceImpl.java index 739c129..9590ae7 100644 --- a/src/main/java/io/gmss/fiscad/implementations/rfu/metier/UniteLogementServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/rfu/metier/UniteLogementServiceImpl.java @@ -111,4 +111,9 @@ public class UniteLogementServiceImpl implements UniteLogementService { public List getUniteLogementListByParcelle(Long parcelleId) { return uniteLogementRepository.findAllUnitesLogementAvecOccupantCourantByParcelleToDto(parcelleId); } + + @Override + public Page getUniteLogementListByQuartierPageable(Long quartierId, Pageable pageable) { + return uniteLogementRepository.findUnitesLogementAvecOccupantCourantByQuartierToDtoPageable(quartierId,pageable); + } } diff --git a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/BatimentService.java b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/BatimentService.java index 67403d6..fc90c1a 100755 --- a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/BatimentService.java +++ b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/BatimentService.java @@ -27,4 +27,8 @@ public interface BatimentService { List getBatimentListByParcelle(Long parcelleId); Optional getBatimentById(Long id); + + + Page getBatimentListByquartierPageable(Long quartierId, Pageable pageable); + } diff --git a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/DonneesImpositionTfuService.java b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/DonneesImpositionTfuService.java index ed0cfff..fc2d88e 100755 --- a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/DonneesImpositionTfuService.java +++ b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/DonneesImpositionTfuService.java @@ -35,7 +35,6 @@ public interface DonneesImpositionTfuService { Page getDonneesFiscalesByImpositionTfuIdNonBatiePageable(Long impositionsTfuId, Pageable pageable); Page getDonneesFiscalesByImpositionTfuIdBatieBatimentPageable(Long impositionsTfuId, Pageable pageable); Page getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(Long impositionsTfuId, Pageable pageable); - - + Page getDonneesFiscalesByExerciceAndStructureIdPageable(Long exerciceId, Long structureId, Pageable pageable); } diff --git a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/UniteLogementService.java b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/UniteLogementService.java index 9c90f42..c6ed88c 100755 --- a/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/UniteLogementService.java +++ b/src/main/java/io/gmss/fiscad/interfaces/rfu/metier/UniteLogementService.java @@ -30,4 +30,7 @@ public interface UniteLogementService { List getUniteLogementListByBatiment(Long batimentId); List getUniteLogementListByParcelle(Long parcelleId); + + Page getUniteLogementListByQuartierPageable(Long quartierId, Pageable pageable); + } diff --git a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/BatimentRepository.java b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/BatimentRepository.java index 2997b56..d700e43 100755 --- a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/BatimentRepository.java +++ b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/BatimentRepository.java @@ -300,4 +300,67 @@ public interface BatimentRepository extends JpaRepository { Pageable pageable ); + + @Query( + value = """ + SELECT new io.gmss.fiscad.paylaods.request.crudweb.BatimentPaylaodWeb( + b.id, + b.nub, + b.code, + b.dateConstruction, + p.id, + p.nup, + p.q, + p.i, + p.p, + per.id, + per.nom, + per.prenom, + per.raisonSociale, + eb.superficieAuSol, + eb.superficieLouee, + eb.id, + cb.id, + cb.code, + cb.standing, + eb.nombrePiscine, + eb.montantLocatifAnnuelDeclare, + eb.montantLocatifAnnuelCalcule, + eb.valeurBatimentEstime, + eb.valeurBatimentReel, + eb.montantMensuelLocation, + us.id, + us.nom , + eb.montantLocatifAnnuelEstime, + eb.valeurBatimentCalcule, + eb.nbreUniteLogement + ) + FROM Batiment b + JOIN b.parcelle p + JOIN p.quartier q + LEFT JOIN b.categorieBatiment cb + LEFT JOIN EnqueteBatiment eb + ON eb.batiment = b + AND eb.dateEnquete = ( + SELECT MAX(eb2.dateEnquete) + FROM EnqueteBatiment eb2 + WHERE eb2.batiment = b + ) + LEFT JOIN eb.personne per + LEFT JOIN eb.usage us + WHERE q.id = :quartierId + """, + countQuery = """ + SELECT COUNT(b) + FROM Batiment b + join b.parcelle p + join p.quartier q + WHERE q.id = :quartierId + """ + ) + Page findAllBatimentsAvecOccupantCourantByQuartierToDtoPageble( + @Param("quartierId") Long quartierId, + Pageable pageable + ); + } diff --git a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DonneesImpositionTfuRepository.java b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DonneesImpositionTfuRepository.java index 9078bb8..049d720 100755 --- a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DonneesImpositionTfuRepository.java +++ b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/DonneesImpositionTfuRepository.java @@ -530,4 +530,81 @@ SELECT new io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb( + + @Query(""" +SELECT new io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb( + d.id, + d.annee, + d.codeDepartement, + d.nomDepartement, + d.codeCommune, + d.nomCommune, + d.codeArrondissement, + d.nomArrondissement, + d.codeQuartierVillage, + d.nomQuartierVillage, + d.q, + d.ilot, + d.parcelle, + d.nup, + d.titreFoncier, + d.numBatiment, + d.numUniteLogement, + d.ifu, + d.npi, + d.telProp, + d.emailProp, + d.nomProp, + d.prenomProp, + d.raisonSociale, + d.adresseProp, + d.telSc, + d.emailSc, + d.nomSc, + d.prenomSc, + d.adresseSc, + d.longitude, + d.latitude, + d.superficieParc, + d.superficieAuSolBat, + d.superficieAuSolUlog, + d.batie, + d.exonere, + d.batimentExonere, + d.uniteLogementExonere, + d.valeurLocativeAdm, + d.montantLoyerAnnuel, + d.tfuMetreCarre, + d.tfuMinimum, + d.standingBat, + d.categorieBat, + d.nombrePiscine, + d.nombreUlog, + d.nombreBat, + d.dateEnquete, + s.id, + z.id, + d.valeurAdminParcelleNb, + d.natureImpot, + s.code, + z.nom, + d.valeurBatiment, + d.valeurParcelle, + d.valeurLocativeAdmMetreCarre, + d.valeurAdminParcelleNbMetreCarre, + d.montantTaxe + ) + FROM DonneesImpositionTfu d + JOIN d.impositionsTfu itfu + LEFT join d.structure s + LEFT join d.zoneRfu z + WHERE itfu.exercice.id = :exerciceId + and s.id= :structureId + order by d.nomProp,d.nomProp asc + """) + Page findAllByExericeIdStructureIdPageable( + Long exerciceId, + Long structureId, + Pageable pageable + ); } diff --git a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/EnqueteUniteLogementRepository.java b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/EnqueteUniteLogementRepository.java index 96abea4..6f1636d 100755 --- a/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/EnqueteUniteLogementRepository.java +++ b/src/main/java/io/gmss/fiscad/persistence/repositories/rfu/metier/EnqueteUniteLogementRepository.java @@ -133,7 +133,7 @@ public interface EnqueteUniteLogementRepository extends JpaRepository findAllUnitesLogementAvecOccupantCourantByParcelleToDto(@Param("parcelleId") Long parcelleId); + + @Query( + value = """ + SELECT new io.gmss.fiscad.paylaods.request.crudweb.UniteLogementPaylaodWeb( + ul.id, + ul.nul, + ul.numeroEtage, + ul.code, + + b.id, + eul.superficieAuSol, + eul.superficieLouee, + b.nub, + eul.observation, + ul.dateConstruction, + + per.id, + per.nom, + per.prenom, + per.raisonSociale, + eul.id, + cb.id, + cb.code, + cb.standing, + eul.montantMensuelLocation, + eul.montantLocatifAnnuelDeclare, + eul.montantLocatifAnnuelCalcule, + eul.valeurUniteLogementEstime, + eul.valeurUniteLogementReel, + eul.nombrePiscine , + us.id, + us.nom , + eul.montantLocatifAnnuelEstime , + eul.valeurUniteLogementCalcule + ) + FROM UniteLogement ul + JOIN ul.batiment b + JOIN b.parcelle p + JOIN p.quartier q + LEFT JOIN ul.categorieBatiment cb + LEFT JOIN EnqueteUniteLogement eul + ON eul.uniteLogement = ul + AND eul.dateEnquete = ( + SELECT MAX(eul2.dateEnquete) + FROM EnqueteUniteLogement eul2 + WHERE eul2.uniteLogement = ul + ) + LEFT JOIN eul.personne per + LEFT JOIN eul.usage us + WHERE q.id = :quartierId + """, + countQuery = """ + SELECT COUNT(ul) + FROM UniteLogement ul + JOIN ul.batiment b + JOIN b.parcelle p + JOIN p.quartier q + WHERE q.id = :quartierId + """ + ) + Page findUnitesLogementAvecOccupantCourantByQuartierToDtoPageable( + @Param("quartierId") Long quartierId, + Pageable pageable + ); } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7a2dd25..17ab386 100755 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,6 +1,6 @@ -spring.profiles.active=${SPRING_PROFILES_ACTIVE} +#spring.profiles.active=${SPRING_PROFILES_ACTIVE} #spring.profiles.active=abomey -#spring.profiles.active=test +spring.profiles.active=test spring.jpa.properties.hibernate.id.new_generator_mappings=false spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true spring.jpa.open-in-view=false