75 Commits

Author SHA1 Message Date
09d8b21909 Merge pull request 'Gestion des barem' (#142) from features/crud_entites into develop
Reviewed-on: #142
2026-03-08 13:54:26 +00:00
274b47d116 Merge pull request 'Gestion des barem' (#141) from features/crud_entites into develop
Reviewed-on: #141
2026-03-08 13:52:20 +00:00
bdb08b88fd Merge pull request 'Gestion des barem' (#140) from features/crud_entites into develop
Reviewed-on: #140
2026-03-08 13:25:13 +00:00
b86c685cd0 Merge pull request 'Gestion cloture' (#138) from features/crud_entites into develop
Reviewed-on: #138
2026-03-06 19:08:53 +00:00
d46a14626e Merge pull request 'Gestion parcelle geom et changement https://gitea.com/actions/checkout@v4 #actions/checkout@v4' (#136) from features/crud_entites into develop
Reviewed-on: #136
2026-03-01 17:33:59 +00:00
920c70c877 Merge pull request 'Gestion parcelle geom' (#135) from features/crud_entites into develop
Reviewed-on: #135
2026-03-01 17:29:34 +00:00
2ab5b9299c Merge pull request 'Gestion parcelle geom' (#133) from features/crud_entites into develop
Reviewed-on: #133
2026-03-01 01:40:41 +00:00
bf19ab6e6a Merge pull request 'features/crud_entites' (#131) from features/crud_entites into develop
Reviewed-on: #131
2026-02-22 23:17:33 +00:00
84451d5a15 Merge pull request 'features/crud_entites' (#129) from features/crud_entites into develop
Reviewed-on: #129
2026-02-22 13:53:35 +00:00
e687a9a904 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#127) from features/crud_entites into develop
Reviewed-on: #127
2026-02-21 12:42:08 +00:00
9685c73513 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#125) from features/crud_entites into develop
Reviewed-on: #125
2026-02-20 19:33:57 +00:00
650470efff Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#123) from features/crud_entites into develop
Reviewed-on: #123
2026-02-20 18:54:07 +00:00
9f5cc61726 Merge pull request 'features/crud_entites' (#121) from features/crud_entites into develop
Reviewed-on: #121
2026-02-19 20:37:58 +00:00
41175d93f0 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#119) from features/crud_entites into develop
Reviewed-on: #119
2026-02-19 19:07:35 +00:00
1ecaecdee3 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#117) from features/crud_entites into develop
Reviewed-on: #117
2026-02-19 18:33:11 +00:00
122dfcbead Merge pull request 'features/crud_entites' (#115) from features/crud_entites into develop
Reviewed-on: #115
2026-02-19 12:00:31 +00:00
d168b68d4b Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#113) from features/crud_entites into develop
Reviewed-on: #113
2026-02-18 23:05:41 +00:00
2af14dd4cd Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#111) from features/crud_entites into develop
Reviewed-on: #111
2026-02-18 20:42:05 +00:00
76f0d34e79 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#109) from features/crud_entites into develop
Reviewed-on: #109
2026-02-18 14:01:25 +00:00
666779ecce Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#107) from features/crud_entites into develop
Reviewed-on: #107
2026-02-16 22:04:26 +00:00
7fcd676fc0 Merge pull request 'features/crud_entites' (#105) from features/crud_entites into develop
Reviewed-on: #105
2026-02-16 20:55:25 +00:00
fffdef7103 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#103) from features/crud_entites into develop
Reviewed-on: #103
2026-02-16 00:15:01 +00:00
95c0dacd1e Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#101) from features/crud_entites into develop
Reviewed-on: #101
2026-02-14 14:08:19 +00:00
7ac6b953d3 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#99) from features/crud_entites into develop
Reviewed-on: #99
2026-02-13 17:54:51 +00:00
e010100472 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#97) from features/crud_entites into develop
Reviewed-on: #97
2026-02-12 21:31:24 +00:00
177a9c7b56 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#95) from features/crud_entites into develop
Reviewed-on: #95
2026-02-12 02:15:05 +00:00
3054930a86 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#93) from features/crud_entites into develop
Reviewed-on: #93
2026-02-11 21:14:57 +00:00
4397abd041 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#91) from features/crud_entites into develop
Reviewed-on: #91
2026-02-11 21:10:08 +00:00
a4b403ca20 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#89) from features/crud_entites into develop
Reviewed-on: #89
2026-02-10 00:10:39 +00:00
ff7b88f9f8 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#87) from features/crud_entites into develop
Reviewed-on: #87
2026-02-09 23:26:42 +00:00
37fdba1d85 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#85) from features/crud_entites into develop
Reviewed-on: #85
2026-02-08 22:23:08 +00:00
f50ed9aa5f Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#83) from features/crud_entites into develop
Reviewed-on: #83
2026-02-04 01:33:32 +00:00
966fd2ca7a Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#81) from features/crud_entites into develop
Reviewed-on: #81
2026-02-03 19:32:06 +00:00
a10253b2e8 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#79) from features/crud_entites into develop
Reviewed-on: #79
2026-02-03 15:08:48 +00:00
08b68f9e08 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#77) from features/crud_entites into develop
Reviewed-on: #77
2026-02-02 23:03:26 +00:00
be487d6a03 Merge pull request 'gestion revu de code en utilisant uniquement les DTO' (#75) from features/crud_entites into develop
Reviewed-on: #75
2026-02-01 22:49:00 +00:00
3be64e7f44 Merge pull request 'gestion de profil, secteur, section et arbre decoupage' (#73) from features/crud_entites into develop
Reviewed-on: #73
2026-01-27 08:58:32 +00:00
03a661cdc0 Merge pull request 'gestion de profil, secteur, section et arbre decoupage' (#72) from features/crud_entites into develop
Reviewed-on: #72
2026-01-27 08:37:52 +00:00
a68ec444cc Merge pull request 'features/crud_entites' (#70) from features/crud_entites into develop
Reviewed-on: #70
2026-01-13 20:33:17 +00:00
58f517bf31 Merge pull request 'correction creation user par defaut' (#68) from features/crud_entites into develop
Reviewed-on: #68
2025-12-20 19:03:51 +00:00
7f18f22efb Merge pull request 'correction creation user par defaut' (#66) from features/crud_entites into develop
Reviewed-on: #66
2025-12-20 18:55:42 +00:00
af3218412f Merge pull request 'correction creation user par defaut' (#64) from features/crud_entites into develop
Reviewed-on: #64
2025-12-20 17:06:19 +00:00
f35670c72e Merge pull request 'correction creation user par defaut' (#62) from features/crud_entites into develop
Reviewed-on: #62
2025-12-20 15:03:45 +00:00
a77c0e854d Merge pull request 'correction creation user par defaut' (#60) from features/crud_entites into develop
Reviewed-on: #60
2025-12-20 14:48:47 +00:00
e75eff4e20 Merge pull request 'correction lecture de secret chargement' (#58) from features/crud_entites into develop
Reviewed-on: #58
2025-12-20 14:33:59 +00:00
40d078c653 Merge pull request 'correction lecture de secret chargement' (#56) from features/crud_entites into develop
Reviewed-on: #56
2025-12-20 14:14:02 +00:00
31dd11d017 Merge pull request 'correction lecture de secret chargement' (#54) from features/crud_entites into develop
Reviewed-on: #54
2025-12-20 13:10:40 +00:00
6dfd12fae8 Merge pull request 'correction lecture de secret chargement' (#52) from features/crud_entites into develop
Reviewed-on: #52
2025-12-20 12:57:46 +00:00
a4ad0a4556 Merge pull request 'correction lecture de secret chargement' (#50) from features/crud_entites into develop
Reviewed-on: #50
2025-12-20 12:41:09 +00:00
411a6c0c2d Merge pull request 'correction lecture de secret' (#48) from features/crud_entites into develop
Reviewed-on: #48
2025-12-20 12:21:25 +00:00
bed73b2b16 Merge pull request 'correction lecture de secret' (#46) from features/crud_entites into develop
Reviewed-on: #46
2025-12-20 12:10:00 +00:00
5a0814a0ba Merge pull request 'correction lecture de secret' (#44) from features/crud_entites into develop
Reviewed-on: #44
2025-12-20 12:00:12 +00:00
126254ea94 Merge pull request 'correction lecture de secret' (#42) from features/crud_entites into develop
Reviewed-on: #42
2025-12-20 11:43:55 +00:00
f9e4681af4 Merge pull request 'correction lecture de secret' (#40) from features/crud_entites into develop
Reviewed-on: #40
2025-12-20 11:39:40 +00:00
84089d3639 Merge pull request 'correction profil actif' (#38) from features/crud_entites into develop
Reviewed-on: #38
2025-12-20 10:48:01 +00:00
02b0a937b4 Merge pull request 'correction profil actif' (#36) from features/crud_entites into develop
Reviewed-on: #36
2025-12-20 10:02:19 +00:00
c0096457fb Merge pull request 'nouvelle verson ci-cd avec gitea runner natif intallé sur hote' (#34) from features/crud_entites into develop
Reviewed-on: #34
2025-12-19 19:14:24 +00:00
b6062ba4d1 Merge pull request 'nouvelle verson ci-cd avec gitea runner natif intallé sur hote' (#33) from features/crud_entites into develop
Reviewed-on: #33
2025-12-19 10:50:02 +00:00
8dc8c974d3 Merge pull request 'correction docker composer avec les secrets' (#32) from features/crud_entites into develop
Reviewed-on: #32
2025-12-19 10:39:57 +00:00
957416df9e Merge pull request 'correction docker composer avec les secrets' (#30) from features/crud_entites into develop
Reviewed-on: #30
2025-12-18 15:47:21 +00:00
8d8af75108 Merge pull request 'correction docker composer avec les secrets' (#28) from features/crud_entites into develop
Reviewed-on: #28
2025-12-18 15:46:02 +00:00
555f13508e Merge pull request 'correction docker composer avec les secrets' (#26) from features/crud_entites into develop
Reviewed-on: #26
2025-12-18 10:36:10 +00:00
d92a2b2503 Merge pull request 'correction docker composer avec les secrets' (#24) from features/crud_entites into develop
Reviewed-on: #24
2025-12-17 17:13:46 +00:00
5ccfdb6a3f Merge pull request 'correction docker composer avec les secrets' (#22) from features/crud_entites into develop
Reviewed-on: #22
2025-12-17 16:58:50 +00:00
87b3bfbe83 Merge pull request 'correction docker composer avec les secrets' (#20) from features/crud_entites into develop
Reviewed-on: #20
2025-12-17 16:49:15 +00:00
62f25ea726 Merge pull request 'correction docker composer avec les secrets' (#18) from features/crud_entites into develop
Reviewed-on: #18
2025-12-17 16:41:46 +00:00
6125fcbd0b Merge pull request 'correction docker composer' (#16) from features/crud_entites into develop
Reviewed-on: #16
2025-12-17 16:26:17 +00:00
211af6103a Merge pull request 'features/crud_entites' (#14) from features/crud_entites into develop
Reviewed-on: #14
2025-12-17 14:12:53 +00:00
d27b622db8 Merge pull request 'Changement en DB du nom de la colonne personne_id en proprietaire_id dans la table enquete' (#12) from features/crud_entites into develop
All checks were successful
CD - Deploy on main / deploy (pull_request) Successful in 35s
Reviewed-on: #12
2025-12-16 18:22:48 +00:00
c80b40082c Merge pull request 'Changement en DB du nom de la colonne personne_id en proprietaire_id dans la table enquete' (#10) from features/crud_entites into develop
All checks were successful
CD - Deploy on main / deploy (pull_request) Successful in 44s
Reviewed-on: #10
2025-12-16 18:06:52 +00:00
4a88af6487 Merge pull request 'Changement en DB du nom de la colonne personne_id en proprietaire_id dans la table enquete' (#8) from features/crud_entites into develop
All checks were successful
CD - Deploy on main / deploy (pull_request) Successful in 34s
Reviewed-on: #8
2025-12-05 19:24:00 +00:00
966b0af1c2 Merge pull request 'Changement en DB du nom de la colonne personne_id en proprietaire_id dans la table enquete' (#6) from features/crud_entites into develop
All checks were successful
CD - Deploy on main / deploy (pull_request) Successful in 36s
Reviewed-on: #6
2025-12-05 19:20:57 +00:00
58aa088ac3 Merge pull request 'ajout de ci-cd' (#4) from features/crud_entites into develop
All checks were successful
CD - Deploy on main / deploy (pull_request) Successful in 39s
Reviewed-on: #4
2025-12-05 19:10:37 +00:00
033b430051 Merge pull request 'ajout de ci-cd' (#2) from features/crud_entites into develop
Some checks failed
CD - Deploy on main / deploy (pull_request) Failing after 39s
Reviewed-on: #2
2025-12-05 19:06:43 +00:00
b8dbc7f625 Merge pull request 'ajout de ci-cd' (#1) from features/crud_entites into develop
Reviewed-on: #1
2025-12-05 17:53:30 +00:00
34 changed files with 228 additions and 1269 deletions

View File

@@ -483,7 +483,37 @@ public class EnqueteController {
@PutMapping("/cloturer-enquete")
public ResponseEntity<?> cloturerEnquete(@CurrentUser UserPrincipal userPrincipal) {
try {
if(userPrincipal==null){
return new ResponseEntity<>(
new ApiResponse<>(true, null, "Accès non autorisé"),
HttpStatus.NOT_ACCEPTABLE
);
}
User user= userPrincipal.getUser();
return new ResponseEntity<>(
new ApiResponse<>(true, enqueteService.cloturerEnqueteParcelleBatimentUniteLogementByUserId(user.getId()), "enquete cloturées 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);
}
}
} }

View File

@@ -7,10 +7,7 @@ import io.gmss.fiscad.enums.StatusAvis;
import io.gmss.fiscad.exceptions.*; import io.gmss.fiscad.exceptions.*;
import io.gmss.fiscad.interfaces.rfu.metier.DonneesImpositionTfuService; import io.gmss.fiscad.interfaces.rfu.metier.DonneesImpositionTfuService;
import io.gmss.fiscad.paylaods.ApiResponse; import io.gmss.fiscad.paylaods.ApiResponse;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository; import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository;
import io.gmss.fiscad.security.CurrentUser;
import io.gmss.fiscad.security.UserPrincipal;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@@ -163,104 +160,6 @@ public class DonneesImpositionTfuController {
} }
} }
@GetMapping("/all-page/by-imposition-id/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdPaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdPageable(impositionId, 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);
}
}
@GetMapping("/all-page/by-imposition-id/non-batie/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdNonBatiePaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdNonBatiePageable(impositionId, 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);
}
}
@GetMapping("/all-page/by-imposition-id/batie-batiment/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdBatieBatimentPaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdBatieBatimentPageable(impositionId, 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);
}
}
@GetMapping("/all-page/by-imposition-id/batie-unite-logement/{impositionId}")
public ResponseEntity<?> getAllDonneesImpositionTfuByImpositionIdBatieUniteLogPaged(@PathVariable Long impositionId, @RequestParam int pageNo, @RequestParam int pageSize) {
try {
Pageable pageable = PageRequest.of(pageNo, pageSize);
return new ResponseEntity<>(
new ApiResponse<>(true, donneesImpositionTfuService.getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(impositionId, 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);
}
}
@GetMapping("/id/{id}") @GetMapping("/id/{id}")
public ResponseEntity<?> getDonneesImpositionTfuById(@PathVariable Long id) { public ResponseEntity<?> getDonneesImpositionTfuById(@PathVariable Long id) {
try { try {
@@ -283,91 +182,31 @@ public class DonneesImpositionTfuController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK); return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
} }
} }
@Operation(summary = "Générer les données fiscales TFU des parcelle baties") @Operation(summary = "Générer les données fiscales TFU")
@PostMapping("/generer-batie") @PostMapping("/generer")
public ResponseEntity<?> genererDonneesFiscaleBatie(@CurrentUser UserPrincipal userPrincipal, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) { public ResponseEntity<?> genererDonneesFiscale(@RequestBody ImpositionsTfu impositionsTfu) {
try { try {
Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfuPaylaodWeb.getId()); Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfu.getId());
if(optionalImpositionsTfu.isEmpty()){ if(optionalImpositionsTfu.isEmpty()){
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(false, null, "L'instance d'imposition n'est pas trouvée."), new ApiResponse<>(false, null, "L'imposition tfu n'est pas trouvée."),
HttpStatus.OK HttpStatus.OK
); );
} }
if(!optionalImpositionsTfu.get().getStatusAvis().equals(StatusAvis.TFU_FNB_GENERE)){ if(!optionalImpositionsTfu.get().getStatusAvis().equals(StatusAvis.CREE)){
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(false, null, "l'état actuel : "+optionalImpositionsTfu.get().getStatusAvis()+" ne permet pas cette opération."), new ApiResponse<>(false, null, "le statut actuel ne permet pas cette opération."),
HttpStatus.OK HttpStatus.OK
); );
} }
if(userPrincipal==null){ optionalImpositionsTfu.get().setStatusAvis(StatusAvis.GENERE);
return new ResponseEntity<>(
new ApiResponse<>(false, null, "Vous n'êtes pas autorisé à accéder à cette ressource"),
HttpStatus.OK
);
}
impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscalesParcelleBatie(impositionsTfuPaylaodWeb,userPrincipal.getUser().getId());
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true,impositionsTfuPaylaodWeb, "Données d'imposition des fonciers batis Générées avec succès."), new ApiResponse<>(true, donneesImpositionTfuService.genererDonneesFiscales(optionalImpositionsTfu.get()), "DonneesImpositionTfu trouvée avec succès."),
HttpStatus.OK 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);
}
}
@Operation(summary = "Générer les données fiscales TFU des parcelle baties")
@PostMapping("/generer-non-batie")
public ResponseEntity<?> genererDonneesImpositionNonBaties(@CurrentUser UserPrincipal userPrincipal, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
try {
Optional<ImpositionsTfu> optionalImpositionsTfu =impositionsTfuRepository.findById(impositionsTfuPaylaodWeb.getId());
if(optionalImpositionsTfu.isEmpty()){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "L'instance d'imposition n'est pas trouvée."),
HttpStatus.OK
);
}
if(!optionalImpositionsTfu.get().getStatusAvis().equals(StatusAvis.GENERATION_AUTORISE)){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "l'état actuel : "+optionalImpositionsTfu.get().getStatusAvis()+" ne permet pas cette opération."),
HttpStatus.OK
);
}
if(userPrincipal==null){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "Vous n'êtes pas autorisé à accéder à cette ressource"),
HttpStatus.OK
);
}
impositionsTfuPaylaodWeb=donneesImpositionTfuService.genererDonneesFiscalesParcelleNonBatie(impositionsTfuPaylaodWeb,userPrincipal.getUser().getId());
return new ResponseEntity<>(
new ApiResponse<>(true,impositionsTfuPaylaodWeb, "Données d'imposition pour les fonciers non batis Générées avec succès."),
HttpStatus.OK
);
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
logger.error(e.getLocalizedMessage()); logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK); return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);

View File

@@ -3,20 +3,15 @@ package io.gmss.fiscad.controllers.rfu.metier;
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu; import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
import io.gmss.fiscad.entities.user.User; import io.gmss.fiscad.entities.user.User;
import io.gmss.fiscad.enums.StatusAvis;
import io.gmss.fiscad.exceptions.*; import io.gmss.fiscad.exceptions.*;
import io.gmss.fiscad.interfaces.infocad.metier.EnqueteService;
import io.gmss.fiscad.interfaces.rfu.metier.ImpositionsTfuService; import io.gmss.fiscad.interfaces.rfu.metier.ImpositionsTfuService;
import io.gmss.fiscad.paylaods.ApiResponse; import io.gmss.fiscad.paylaods.ApiResponse;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb; import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import io.gmss.fiscad.security.CurrentUser; import io.gmss.fiscad.security.CurrentUser;
import io.gmss.fiscad.security.UserPrincipal; import io.gmss.fiscad.security.UserPrincipal;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.ws.rs.NotAcceptableException;
import lombok.AllArgsConstructor;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
@@ -30,7 +25,6 @@ import org.springframework.web.client.HttpClientErrorException;
@RestController @RestController
@AllArgsConstructor
@RequestMapping(value = "api/impositions-tfu", produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "api/impositions-tfu", produces = MediaType.APPLICATION_JSON_VALUE)
@SecurityRequirement(name = "bearer") @SecurityRequirement(name = "bearer")
@Tag(name = "Impositions TFU") @Tag(name = "Impositions TFU")
@@ -38,29 +32,15 @@ import org.springframework.web.client.HttpClientErrorException;
public class ImpositionsTfuController { public class ImpositionsTfuController {
private final ImpositionsTfuService impositionsTfuService; private final ImpositionsTfuService impositionsTfuService;
private final EnqueteService enqueteService;
private static final Logger logger = LoggerFactory.getLogger(ImpositionsTfuController.class); private static final Logger logger = LoggerFactory.getLogger(ImpositionsTfuController.class);
public ImpositionsTfuController(ImpositionsTfuService impositionsTfuService) {
this.impositionsTfuService = impositionsTfuService;
}
@PostMapping("/create") @PostMapping("/create")
public ResponseEntity<?> createImpositionsTfu(@CurrentUser UserPrincipal currentUser,@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) { public ResponseEntity<?> createImpositionsTfu(@RequestBody @Valid @Validated ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
try { try {
if(currentUser==null){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
HttpStatus.OK
);
}
User user=currentUser.getUser();
if(user.getStructure().getId()!=impositionsTfuPaylaodWeb.getStructureId()){
return new ResponseEntity<>(
new ApiResponse<>(false, null, "Vous n'etes pas autorisé à accéder à cette ressource."),
HttpStatus.OK
);
}
impositionsTfuPaylaodWeb = impositionsTfuService.createImpositionsTfu(impositionsTfuPaylaodWeb); impositionsTfuPaylaodWeb = impositionsTfuService.createImpositionsTfu(impositionsTfuPaylaodWeb);
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, impositionsTfuPaylaodWeb, "Unite de logement créé avec succès."), new ApiResponse<>(true, impositionsTfuPaylaodWeb, "Unite de logement créé avec succès."),
@@ -82,46 +62,6 @@ public class ImpositionsTfuController {
} }
} }
@PutMapping("/cloturer-enquete")
public ResponseEntity<?> cloturer(@CurrentUser UserPrincipal userPrincipal, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb ) {
try {
if(userPrincipal==null){
return new ResponseEntity<>(
new ApiResponse<>(true, null, "Accès non autorisé"),
HttpStatus.NOT_ACCEPTABLE
);
}
User user= userPrincipal.getUser();
if(user.getStructure().getId()!=impositionsTfuPaylaodWeb.getStructureId()){
return new ResponseEntity<>(
new ApiResponse<>(true,null, "Vous n'êtes pas autorisé à cloturer les enquetes du : "+user.getStructure().getNom()),
HttpStatus.OK
);
}
return new ResponseEntity<>(
new ApiResponse<>(true, impositionsTfuService.cloturerImpositionsTfu(impositionsTfuPaylaodWeb), "enquete cloturées 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);
}
}
// @PutMapping("/update/{id}") // @PutMapping("/update/{id}")
// public ResponseEntity<?> updateImpositionsTfu(@PathVariable Long id, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) { // public ResponseEntity<?> updateImpositionsTfu(@PathVariable Long id, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
// try { // try {
@@ -145,16 +85,12 @@ public class ImpositionsTfuController {
// } // }
// } // }
@Operation(
summary = "Autoriser la génération des avis d'un centre",
description = "Permet d'autoriser la génération des avis d'un centre pour un exervice données"
)
@PutMapping("/autoriser-generation-avis") @PutMapping("/valider/{id}")
public ResponseEntity<?> autoriserImpositionsTfu(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) { public ResponseEntity<?> validerImpositionsTfu(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, impositionsTfuService.autoriserGenerationImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."), new ApiResponse<>(true, impositionsTfuService.validerImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -173,11 +109,11 @@ public class ImpositionsTfuController {
} }
} }
@PutMapping("/rejeter") @PutMapping("/annuler/{id}")
public ResponseEntity<?> annulerImpositionsTfu(@RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) { public ResponseEntity<?> annulerImpositionsTfu(@PathVariable Long id, @RequestBody ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, impositionsTfuService.rejeterImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."), new ApiResponse<>(true, impositionsTfuService.annulerImpositionsTfu(impositionsTfuPaylaodWeb), "Unite de logement mise à jour avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {

View File

@@ -35,7 +35,7 @@ public class BaremRfuNonBatiController {
@PostMapping("/create") @PostMapping("/create")
public ResponseEntity<?> createBaremRfuNonBati(@RequestBody BaremRfuNonBatiPayloadWeb baremRfuNonBatiPayloadWeb) { public ResponseEntity<?> createBaremRfuNonBati(@RequestBody @Valid @Validated BaremRfuNonBatiPayloadWeb baremRfuNonBatiPayloadWeb) {
try { try {
baremRfuNonBatiPayloadWeb = baremRfuNonBatiService.createBaremRfuNonBati(baremRfuNonBatiPayloadWeb); baremRfuNonBatiPayloadWeb = baremRfuNonBatiService.createBaremRfuNonBati(baremRfuNonBatiPayloadWeb);
return new ResponseEntity<>( return new ResponseEntity<>(

View File

@@ -29,8 +29,6 @@ public class Quartier extends BaseEntity implements Serializable {
@ManyToOne @ManyToOne
private Arrondissement arrondissement; private Arrondissement arrondissement;
private String longitude;
private String latitude;
// @JsonIgnore // @JsonIgnore
// @OneToOne(mappedBy = "quartier") // @OneToOne(mappedBy = "quartier")
// private Bloc bloc; // private Bloc bloc;

View File

@@ -97,7 +97,6 @@ public class ParcelleGeom extends BaseEntity implements Serializable {
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private SourceDonnee sourceDonnees; private SourceDonnee sourceDonnees;
private String observations; private String observations;
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private StatutParcelle statutParcelle; private StatutParcelle statutParcelle;
private Long uploadId; private Long uploadId;
@@ -119,7 +118,7 @@ public class ParcelleGeom extends BaseEntity implements Serializable {
private Quartier quartier ; private Quartier quartier ;
@ColumnDefault("0") @ColumnDefault("0")
private Integer geomSrid; private int geomSrid;
@JsonSerialize(using = GeometrySerializer.class) @JsonSerialize(using = GeometrySerializer.class)
@JsonDeserialize(contentUsing = GeometryDeserializer.class) @JsonDeserialize(contentUsing = GeometryDeserializer.class)
@Column(name = "geometry",columnDefinition = "geometry(Polygon,32631)") @Column(name = "geometry",columnDefinition = "geometry(Polygon,32631)")

View File

@@ -8,9 +8,6 @@ import io.gmss.fiscad.entities.BaseEntity;
import io.gmss.fiscad.entities.infocad.metier.Enquete; import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Parcelle; import io.gmss.fiscad.entities.infocad.metier.Parcelle;
import io.gmss.fiscad.entities.infocad.metier.Tpe; import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.infocad.parametre.Structure;
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
import io.gmss.fiscad.enums.NatureImpot;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@@ -74,17 +71,11 @@ public class DonneesImpositionTfu extends BaseEntity implements Serializable {
private int superficieParc; private int superficieParc;
private Long superficieAuSolBat; private Long superficieAuSolBat;
private Long superficieAuSolUlog; private Long superficieAuSolUlog;
//private String batieOuiNon; private String batieOuiNon;
//private String exhonereOuiNon; private String exhonereOuiNon;
//private String batimentExhonereOuiNon; private String batimentExhonereOuiNon;
//private String uniteLogementExhonereOuiNon; private String uniteLogementExhonereOuiNon;
private Boolean batie;
private Boolean exonere;
private Boolean batimentExonere;
private Boolean uniteLogementExonere;
private Long valeurLocativeAdm; private Long valeurLocativeAdm;
private Long valeurLocativeAdm70Pour100;
private Long valeurLocativeAdmMetreCarre;
private Long montantLoyerAnnuel; private Long montantLoyerAnnuel;
private Long tfuMetreCarre; private Long tfuMetreCarre;
private Long tfuMinimum; private Long tfuMinimum;
@@ -97,30 +88,14 @@ public class DonneesImpositionTfu extends BaseEntity implements Serializable {
@JsonDeserialize(using = LocalDateDeserializer.class) @JsonDeserialize(using = LocalDateDeserializer.class)
private LocalDate dateEnquete; private LocalDate dateEnquete;
private Long enqueteId; private Long enqueteId;
//private Long structureId; private Long structureId;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "structure_id")
private Structure structure ;
private Long secteurId; private Long secteurId;
private Long zoneRfuId;
//private Long zoneRfuId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "zone_rfu_id")
private ZoneRfu zoneRfu ;
@ColumnDefault("0") @ColumnDefault("0")
private Long valeurAdminParcelleNb; private float tauxParcelleNonBati;
private Float tauxTfu; private Long valeurAdministrativeParcelleNonBati;
private Float montantTaxe;
private Long valeurAdminParcelleNbMetreCarre;
@JsonIgnore @JsonIgnore
@ManyToOne(fetch = FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "impositions_tfu_id", nullable = false) @JoinColumn(name = "impositions_tfu_id", nullable = false)
private ImpositionsTfu impositionsTfu ; private ImpositionsTfu impositionsTfu;
@Enumerated(EnumType.STRING)
private NatureImpot natureImpot;
private Long valeurBatiment;
private Long valeurParcelle;
} }

View File

@@ -55,10 +55,7 @@ public class ImpositionsTfu extends BaseEntity implements Serializable {
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private StatusAvis statusAvis; private StatusAvis statusAvis;
private Integer nombreAvis; private Long nombreAvis;
private Integer nombreAvisFnb;
private Integer nombreAvisBatiment;
private Integer nombreAvisUniteLog;
@Column(columnDefinition = "TEXT") @Column(columnDefinition = "TEXT")
private String motif; private String motif;
@@ -68,5 +65,7 @@ public class ImpositionsTfu extends BaseEntity implements Serializable {
@JoinColumn(name = "impositions_tfu_id") @JoinColumn(name = "impositions_tfu_id")
private List<DonneesImpositionTfu> donneesImpositionTfus; private List<DonneesImpositionTfu> donneesImpositionTfus;
public Long getNombreAvis(){
return donneesImpositionTfus==null?0l:donneesImpositionTfus.size();
}
} }

View File

@@ -23,8 +23,6 @@ public class BaremRfuNonBati extends BaseEntity implements Serializable {
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; private Long id;
private Long valeurAdministrative; private Long valeurAdministrative;
private Long valeurAdministrativeMetreCarre;
private Boolean auMetreCarre;
private Float taux; private Float taux;
@ManyToOne @ManyToOne
private Commune commune; private Commune commune;

View File

@@ -1,6 +0,0 @@
package io.gmss.fiscad.enums;
public enum NatureImpot {
TFU,
IRF
}

View File

@@ -12,8 +12,5 @@ public enum ParametersType {
CORPS_RESET_PASSWORD, CORPS_RESET_PASSWORD,
OBJET_CREATE_ACCOUNT, OBJET_CREATE_ACCOUNT,
CORPS_CREATE_ACCOUNT, CORPS_CREATE_ACCOUNT,
TOKEN_IFU_EN_LIGNE, TOKEN_IFU_EN_LIGNE ;
TAUX_TFU_HABITATION,
TAUX_TFU_PROFESSIONNELLE,
TAUX_DEFAUT_SUPERFICIE_AU_SOL;
} }

View File

@@ -1,11 +1,8 @@
package io.gmss.fiscad.enums; package io.gmss.fiscad.enums;
public enum StatusAvis { public enum StatusAvis {
EN_COURS, CREE, //Equivaut à la cloture des enquêtes et des mise à jour + Creation d'une imposition
CLOTURE, GENERE,
GENERATION_AUTORISE, ANNULE,
REJETE, VALIDE,
TFU_FNB_GENERE,
GENERE
} }

View File

@@ -2,7 +2,7 @@ package io.gmss.fiscad.enums;
public enum StatutEnquete { public enum StatutEnquete {
EN_COURS, EN_COURS,
// DECLARATION, DECLARATION,
FINALISE, FINALISE,
REJETE, REJETE,
VALIDE, VALIDE,

View File

@@ -349,7 +349,7 @@ public class EnqueteServiceImpl implements EnqueteService {
Enquete enquete = optionalEnquete.get(); Enquete enquete = optionalEnquete.get();
enquete.setDateValidation(LocalDate.now()); enquete.setDateValidation(LocalDate.now());
enquete.setStatutEnquete(StatutEnquete.VALIDE); enquete.setStatutEnquete(StatutEnquete.VALIDE);
enquete.setSynchronise(true); enquete.setSynchronise(false);
return enqueteRepository.save(enquete); return enqueteRepository.save(enquete);
} }
@@ -544,22 +544,22 @@ public class EnqueteServiceImpl implements EnqueteService {
@Override @Override
@Transactional @Transactional
public int cloturerEnqueteParcelleBatimentUniteLogementByUserIdAndExerciceId(Long userId,Long exerciceId) { public int cloturerEnqueteParcelleBatimentUniteLogementByUserId(Long userId) {
Optional<User> optionalUser= userRepository.findById(userId); Optional<User> optionalUser= userRepository.findById(userId);
int nbreEnquete=0; int nbreEnquete=0;
if(optionalUser.isPresent() && optionalUser.get().getStructure()!=null){ if(optionalUser.isPresent() && optionalUser.get().getStructure()!=null){
Long structureId=optionalUser.get().getStructure().getId(); Long structureId=optionalUser.get().getStructure().getId();
nbreEnquete=cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(structureId,exerciceId); nbreEnquete=cloturerEnqueteParcelleBatimentUniteLogementByStructureId(structureId);
} }
return nbreEnquete; return nbreEnquete;
} }
@Override @Override
@Transactional @Transactional
public int cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(Long structureId,Long exerciceId) { public int cloturerEnqueteParcelleBatimentUniteLogementByStructureId(Long structureId) {
Integer nombreParcelleImpacte=enqueteRepository.clotureEnqueteParcelle(structureId,exerciceId); Integer nombreParcelleImpacte=enqueteRepository.clotureEnqueteParcelle(structureId);
Integer nombreBatiment=enqueteBatimentRepository.clotureEnqueteBatiment(structureId,exerciceId); Integer nombreBatiment=enqueteBatimentRepository.clotureEnqueteBatiment(structureId);
Integer nombreUniteLogement=enqueteUniteLogementRepository.clotureEnqueteUniteLogement(structureId,exerciceId); Integer nombreUniteLogement=enqueteUniteLogementRepository.clotureEnqueteUniteLogement(structureId);
return nombreParcelleImpacte; return nombreParcelleImpacte;
} }

View File

@@ -4,12 +4,9 @@ import io.gmss.fiscad.entities.decoupage.Arrondissement;
import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu; import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu; import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
import io.gmss.fiscad.entities.rfu.parametre.BaremRfuNonBati; import io.gmss.fiscad.entities.rfu.parametre.BaremRfuNonBati;
import io.gmss.fiscad.enums.StatusAvis;
import io.gmss.fiscad.exceptions.BadRequestException; import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException; import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.interfaces.rfu.metier.DonneesImpositionTfuService; import io.gmss.fiscad.interfaces.rfu.metier.DonneesImpositionTfuService;
import io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse; import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse;
import io.gmss.fiscad.persistence.repositories.decoupage.ArrondissementRepository; import io.gmss.fiscad.persistence.repositories.decoupage.ArrondissementRepository;
import io.gmss.fiscad.persistence.repositories.infocad.metier.EnqueteRepository; import io.gmss.fiscad.persistence.repositories.infocad.metier.EnqueteRepository;
@@ -18,7 +15,6 @@ import io.gmss.fiscad.persistence.repositories.rfu.metier.DonneesImpositionTfuRe
import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository; import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository;
import io.gmss.fiscad.persistence.repositories.rfu.parametre.BaremRfuNonBatiRepository; import io.gmss.fiscad.persistence.repositories.rfu.parametre.BaremRfuNonBatiRepository;
import io.gmss.fiscad.persistence.repositories.rfu.parametre.ExerciceRepository; import io.gmss.fiscad.persistence.repositories.rfu.parametre.ExerciceRepository;
import io.gmss.fiscad.service.EntityFromPayLoadService;
import jakarta.transaction.Transactional; import jakarta.transaction.Transactional;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.dao.DataIntegrityViolationException; import org.springframework.dao.DataIntegrityViolationException;
@@ -40,7 +36,6 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
private final BaremRfuNonBatiRepository baremRfuNonBatiRepository; private final BaremRfuNonBatiRepository baremRfuNonBatiRepository;
private final ExerciceRepository exerciceRepository; private final ExerciceRepository exerciceRepository;
private final ArrondissementRepository arrondissementRepository; private final ArrondissementRepository arrondissementRepository;
private final EntityFromPayLoadService entityFromPayLoadService;
@@ -96,43 +91,91 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
@Override @Override
@Transactional @Transactional
public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleNonBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) { public Long genererDonneesFiscales(ImpositionsTfu impositionsTfu) {
Integer nb= donneesImpositionTfuRepository.genererDonneesTfuNonBatie(impositionsTfuPaylaodWeb.getId(),userId); List<DonneesImpositionTfuResponse> donneesImpositionTfuResponses= donneesImpositionTfuRepository.findAllDonneesImpositionTfu(impositionsTfu.getCommune().getId(),impositionsTfu.getExercice().getAnnee());
Long n=0l;
for (DonneesImpositionTfuResponse donneesImpositionTfuResponse: donneesImpositionTfuResponses){
DonneesImpositionTfu donneesImpositionTfu=new DonneesImpositionTfu();
donneesImpositionTfu.setImpositionsTfu(impositionsTfu);
donneesImpositionTfu.setZoneRfuId(donneesImpositionTfuResponse.getZoneRfuId());
donneesImpositionTfu.setCodeQuartierVillage(donneesImpositionTfuResponse.getCodeQuartierVillage());
donneesImpositionTfu.setNomQuartierVillage(donneesImpositionTfuResponse.getNomQuartierVillage());
donneesImpositionTfu.setCodeArrondissement(donneesImpositionTfuResponse.getCodeArrondissement());
donneesImpositionTfu.setNomArrondissement(donneesImpositionTfuResponse.getNomArrondissement());
donneesImpositionTfu.setCodeCommune(donneesImpositionTfuResponse.getCodeCommune());
donneesImpositionTfu.setNomCommune(donneesImpositionTfuResponse.getNomCommune());
donneesImpositionTfu.setCodeDepartement(donneesImpositionTfuResponse.getCodeDepartement());
donneesImpositionTfu.setNomDepartement(donneesImpositionTfuResponse.getNomDepartement());
donneesImpositionTfu.setQ(donneesImpositionTfuResponse.getQ());
donneesImpositionTfu.setIlot(donneesImpositionTfuResponse.getIlot());
donneesImpositionTfu.setParcelle(donneesImpositionTfuResponse.getParcelle());
donneesImpositionTfu.setLatitude(donneesImpositionTfuResponse.getLatitude());
donneesImpositionTfu.setLongitude(donneesImpositionTfuResponse.getLongitude());
donneesImpositionTfu.setNup(donneesImpositionTfuResponse.getNup());
donneesImpositionTfu.setNupProvisoire(donneesImpositionTfuResponse.getNupProvisoire());
donneesImpositionTfu.setSuperficieParc(donneesImpositionTfuResponse.getSuperficieParc());
donneesImpositionTfu.setAdresseProp(donneesImpositionTfuResponse.getAdresseProp());
donneesImpositionTfu.setAnnee(donneesImpositionTfuResponse.getAnnee());
donneesImpositionTfu.setAdresseSc(donneesImpositionTfuResponse.getAdresseSc());
donneesImpositionTfu.setBatieOuiNon(donneesImpositionTfuResponse.getBatieOuiNon());
donneesImpositionTfu.setTfuMinimum(donneesImpositionTfuResponse.getTfuMinimum());
donneesImpositionTfu.setCategorieBat(donneesImpositionTfuResponse.getCategorieBat());
donneesImpositionTfu.setDateEnquete(donneesImpositionTfuResponse.getDateEnquete());
donneesImpositionTfu.setEmailProp(donneesImpositionTfuResponse.getEmailProp());
donneesImpositionTfu.setEmailSc(donneesImpositionTfuResponse.getEmailSc());
donneesImpositionTfu.setMontantLoyerAnnuel(donneesImpositionTfuResponse.getMontantLoyerAnnuel());
donneesImpositionTfu.setEnqueteId(donneesImpositionTfuResponse.getEnqueteId());
donneesImpositionTfu.setExhonereOuiNon(donneesImpositionTfuResponse.getExhonereOuiNon());
donneesImpositionTfu.setIfu(donneesImpositionTfuResponse.getIfu());
donneesImpositionTfu.setNombreBat(donneesImpositionTfuResponse.getNombreBat());
donneesImpositionTfu.setNombrePiscine(donneesImpositionTfuResponse.getNombrePiscine());
donneesImpositionTfu.setNombreUlog(donneesImpositionTfuResponse.getNombreUlog());
donneesImpositionTfu.setNomProp(donneesImpositionTfuResponse.getNomProp());
donneesImpositionTfu.setNomSc(donneesImpositionTfuResponse.getNomSc());
donneesImpositionTfu.setNpi(donneesImpositionTfuResponse.getNpi());
donneesImpositionTfu.setNumBatiment(donneesImpositionTfuResponse.getNumBatiment()==null?"":donneesImpositionTfuResponse.getNumBatiment());
donneesImpositionTfu.setNumUniteLogement(donneesImpositionTfuResponse.getNumUniteLogement()==null?"":donneesImpositionTfuResponse.getNumUniteLogement());
donneesImpositionTfu.setPrenomProp(donneesImpositionTfuResponse.getPrenomProp());
donneesImpositionTfu.setPrenomSc(donneesImpositionTfuResponse.getPrenomSc());
donneesImpositionTfu.setRaisonSociale(donneesImpositionTfuResponse.getRaisonSociale());
donneesImpositionTfu.setSecteurId(donneesImpositionTfuResponse.getSecteurId());
donneesImpositionTfu.setStandingBat(donneesImpositionTfuResponse.getStandingBat());
donneesImpositionTfu.setStructureId(donneesImpositionTfuResponse.getStructureId());
donneesImpositionTfu.setSuperficieAuSolBat(donneesImpositionTfuResponse.getSuperficieAuSolBat());
donneesImpositionTfu.setSuperficieAuSolUlog(donneesImpositionTfuResponse.getSuperficieAuSolUlog());
donneesImpositionTfu.setTelProp(donneesImpositionTfuResponse.getTelProp());
donneesImpositionTfu.setTelSc(donneesImpositionTfuResponse.getTelSc());
donneesImpositionTfu.setTfuMetreCarre(donneesImpositionTfuResponse.getTfuMetreCarre());
donneesImpositionTfu.setTitreFoncier(donneesImpositionTfuResponse.getTitreFoncier());
donneesImpositionTfu.setValeurLocativeAdm(donneesImpositionTfuResponse.getValeurLocativeAdm());
donneesImpositionTfu.setBatimentExhonereOuiNon(donneesImpositionTfuResponse.getBatimentExhonereOuiNon());
donneesImpositionTfu.setUniteLogementExhonereOuiNon(donneesImpositionTfuResponse.getUniteLogementExhonereOuiNon());
try {
Optional<BaremRfuNonBati> baremRfuNonBatiOptional=baremRfuNonBatiRepository.findAllByCommune_IdAndZoneRfu_Id(impositionsTfu.getCommune().getId(),donneesImpositionTfu.getZoneRfuId());
if(baremRfuNonBatiOptional.isPresent()){
donneesImpositionTfu.setValeurAdministrativeParcelleNonBati(baremRfuNonBatiOptional.get().getValeurAdministrative());
donneesImpositionTfu.setTauxParcelleNonBati(baremRfuNonBatiOptional.get().getTaux());
}
ImpositionsTfu impositionsTfu = entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
impositionsTfu.setStatusAvis(StatusAvis.TFU_FNB_GENERE);
impositionsTfu.setNombreAvisFnb(nb);
donneesImpositionTfuRepository.save(donneesImpositionTfu);
n++;
}catch (DataIntegrityViolationException e) {
if (e.getCause() instanceof org.hibernate.exception.ConstraintViolationException constraintEx &&
constraintEx.getSQLException().getSQLState().equals("23505")) {
System.out.println("Doublon détecté (clé unique) !");
} else {
throw e;
}
}
}
impositionsTfuRepository.save(impositionsTfu); impositionsTfuRepository.save(impositionsTfu);
return n;
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
} }
@Override @Override
@Transactional public List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId) {
public ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb, Long userId) { return donneesImpositionTfuRepository.findAllByImpositionsTfu_Id(impositionsId);
Integer nbb= donneesImpositionTfuRepository.genererDonneesTfuBatie(impositionsTfuPaylaodWeb.getId(),userId);
Integer nbulo= donneesImpositionTfuRepository.genererDonneesTfuBatieUniteLogement(impositionsTfuPaylaodWeb.getId(),userId);
ImpositionsTfu impositionsTfu = entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
impositionsTfu.setStatusAvis(StatusAvis.GENERE);
impositionsTfu.setNombreAvis(nbb+nbulo+ (impositionsTfu.getNombreAvisFnb()==null?0:impositionsTfu.getNombreAvisFnb()));
impositionsTfu.setNombreAvisBatiment(nbb);
impositionsTfu.setNombreAvisUniteLog(nbulo);
impositionsTfuRepository.save(impositionsTfu);
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
}
@Override
public List<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImposition(Long impositionsId) {
return donneesImpositionTfuRepository.findAllByImpositionTfuId(impositionsId);
} }
@Override @Override
@@ -144,24 +187,4 @@ public class DonneesImpositionTfuServiceImpl implements DonneesImpositionTfuServ
return null; return null;
} }
} }
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdPageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdPageable(impositionsTfuId,pageable);
}
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdNonBatiePageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdNonBatiePageable(impositionsTfuId,pageable);
}
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieBatimentPageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdBatieBatimentPageable(impositionsTfuId,pageable);
}
@Override
public Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(Long impositionsTfuId, Pageable pageable) {
return donneesImpositionTfuRepository.findAllByImpositionTfuIdBatieUniteLogPageable(impositionsTfuId,pageable);
}
} }

View File

@@ -5,21 +5,17 @@ import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
import io.gmss.fiscad.enums.StatusAvis; import io.gmss.fiscad.enums.StatusAvis;
import io.gmss.fiscad.exceptions.BadRequestException; import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException; import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.interfaces.infocad.metier.EnqueteService;
import io.gmss.fiscad.interfaces.infocad.parametre.StructureService; import io.gmss.fiscad.interfaces.infocad.parametre.StructureService;
import io.gmss.fiscad.interfaces.rfu.metier.ImpositionsTfuService; import io.gmss.fiscad.interfaces.rfu.metier.ImpositionsTfuService;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb; import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository; import io.gmss.fiscad.persistence.repositories.rfu.metier.ImpositionsTfuRepository;
import io.gmss.fiscad.service.EntityFromPayLoadService; import io.gmss.fiscad.service.EntityFromPayLoadService;
import jakarta.transaction.Transactional;
import jakarta.ws.rs.NotAcceptableException;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@AllArgsConstructor @AllArgsConstructor
@@ -29,48 +25,37 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
private final ImpositionsTfuRepository impositionsTfuRepository; private final ImpositionsTfuRepository impositionsTfuRepository;
private final StructureService structureService; private final StructureService structureService;
private final EntityFromPayLoadService entityFromPayLoadService; private final EntityFromPayLoadService entityFromPayLoadService;
private final EnqueteService enqueteService;
/** /**
* Permet de créer pour un centre la synthèse de l'imposition de l'année en prélude de la * Permet de créer pour un centre la synthèse de l'imposition de l'année en prélude de la
* génération des avis d'imposition * génération des avis d'imposition : 1- cloture de enquete et creation de imposition tfu
* @param impositionsTfuPaylaodWeb * @param impositionsTfuPaylaodWeb
* @return * @return
* @throws BadRequestException * @throws BadRequestException
*/ */
@Override @Override
@Transactional
public ImpositionsTfuPaylaodWeb createImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException { public ImpositionsTfuPaylaodWeb createImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
if (impositionsTfuPaylaodWeb.getId() != null) { if (impositionsTfuPaylaodWeb.getId() != null) {
throw new BadRequestException("Impossible de créer une nouvelle unité de logement ayant un id non null."); throw new BadRequestException("Impossible de créer une nouvelle unité de logement ayant un id non null.");
} }
List<ImpositionsTfu> impositionsTfus=impositionsTfuRepository.getImpositionsTfuByStructureAndExercice(impositionsTfuPaylaodWeb.getStructureId(), impositionsTfuPaylaodWeb.getExerciceId()); List<ImpositionsTfu> impositionsTfus=impositionsTfuRepository.getImpositionsTfuByStructureAndExercice(impositionsTfuPaylaodWeb.getStructureId(),impositionsTfuPaylaodWeb.getExerciceId());
if (!impositionsTfus.isEmpty()) { if (!impositionsTfus.isEmpty()) {
throw new BadRequestException("Une Imposition non annulée existe déjà"); throw new BadRequestException("Une Imposition non annulée existe déjà");
} }
List<StatusAvis> statusAvis= new ArrayList<>();
statusAvis.add(StatusAvis.EN_COURS);
statusAvis.add(StatusAvis.CLOTURE);
statusAvis.add(StatusAvis.GENERATION_AUTORISE);
Optional<ImpositionsTfu> optionalImpositionsTfu= impositionsTfuRepository.findDistinctByStructure_IdAndExercice_IdAndStatusAvisIn(impositionsTfuPaylaodWeb.getStructureId(),impositionsTfuPaylaodWeb.getExerciceId(),statusAvis);
if(optionalImpositionsTfu.isPresent()){
throw new BadRequestException("Une Imposition est déjà dans le workflow");
}
ImpositionsTfu impositionsTfu=entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb); ImpositionsTfu impositionsTfu=entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
impositionsTfu.setStatusAvis(StatusAvis.CREE);
//TODO : cloture des enquetes
impositionsTfu.setStatusAvis(StatusAvis.EN_COURS);
impositionsTfu =impositionsTfuRepository.save(impositionsTfu); impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null); return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
} }
@Override @Override
public ImpositionsTfuPaylaodWeb rejeterImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException { public ImpositionsTfuPaylaodWeb annulerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
if (impositionsTfuPaylaodWeb.getId() == null) { if (impositionsTfuPaylaodWeb.getId() == null) {
throw new BadRequestException("Impossible d'annuler une imposition ayant un id null."); throw new BadRequestException("Impossible d'annuler une imposition ayant un id null.");
} }
@@ -78,55 +63,21 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données."); throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données.");
} }
ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb); ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
if(!impositionsTfu.getStatusAvis().equals(StatusAvis.CLOTURE)){ impositionsTfu.setStatusAvis(StatusAvis.ANNULE);
throw new NotAcceptableException("L'état actuel :"+impositionsTfu.getStatusAvis()+"Ne permet pas de passer au l'état rejete");
}
impositionsTfu.setStatusAvis(StatusAvis.REJETE);
impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
}
@Override
@Transactional
public ImpositionsTfuPaylaodWeb cloturerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
if (impositionsTfuPaylaodWeb.getId() == null) {
throw new BadRequestException("Impossible de cloturer une imposition ayant un id null.");
}
if (!impositionsTfuRepository.existsById(impositionsTfuPaylaodWeb.getId())) {
throw new NotFoundException("Impossible de trouver l'imposition spécifiée dans notre base de données.");
}
ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
if(!impositionsTfu.getStatusAvis().equals(StatusAvis.EN_COURS) && !impositionsTfu.getStatusAvis().equals(StatusAvis.REJETE)){
throw new NotAcceptableException("L'état actuel :"+impositionsTfu.getStatusAvis()+"Ne permet pas de passer au l'état rejete");
}
impositionsTfu.setDateCloture(LocalDate.now());
enqueteService.cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(impositionsTfu.getStructure().getId(),impositionsTfu.getExercice().getId());
impositionsTfu.setStatusAvis(StatusAvis.CLOTURE);
impositionsTfu =impositionsTfuRepository.save(impositionsTfu); impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null); return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
} }
@Override @Override
public ImpositionsTfuPaylaodWeb autoriserGenerationImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException { public ImpositionsTfuPaylaodWeb validerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException {
if (impositionsTfuPaylaodWeb.getId() == null) { if (impositionsTfuPaylaodWeb.getId() == null) {
throw new BadRequestException("Impossible de valider une imposition ayant un id null."); throw new BadRequestException("Impossible de valider une imposition ayant un id null.");
} }
if (!impositionsTfuRepository.existsById(impositionsTfuPaylaodWeb.getId())) { if (!impositionsTfuRepository.existsById(impositionsTfuPaylaodWeb.getId())) {
throw new NotFoundException("Impossible de trouver l'imposition spécifiée dans notre base de données."); throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données.");
} }
ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb); ImpositionsTfu impositionsTfu= entityFromPayLoadService.getImpositionsTfuFromPayLoadWeb(impositionsTfuPaylaodWeb);
impositionsTfu.setStatusAvis(StatusAvis.VALIDE);
if(!impositionsTfu.getStatusAvis().equals(StatusAvis.CLOTURE)){
throw new NotFoundException("L'état actuel : "+impositionsTfu.getStatusAvis()+ " ne permet pas de passer à l'état Autorisé");
}
impositionsTfu.setDateGeneration(LocalDate.now());
impositionsTfu.setStatusAvis(StatusAvis.GENERATION_AUTORISE);
impositionsTfu =impositionsTfuRepository.save(impositionsTfu); impositionsTfu =impositionsTfuRepository.save(impositionsTfu);
return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null); return impositionsTfuRepository.findByIdToDto(impositionsTfu.getId()).orElse(null);
} }
@@ -146,9 +97,6 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
public void deleteImpositionsTfu(Long id) throws NotFoundException { public void deleteImpositionsTfu(Long id) throws NotFoundException {
Optional<ImpositionsTfu> impositionsTfuOptional = impositionsTfuRepository.findById(id); Optional<ImpositionsTfu> impositionsTfuOptional = impositionsTfuRepository.findById(id);
if (impositionsTfuOptional.isPresent()) { if (impositionsTfuOptional.isPresent()) {
if(!impositionsTfuOptional.get().getStatusAvis().equals(StatusAvis.EN_COURS)){
throw new NotFoundException("L'état actuel : "+impositionsTfuOptional.get().getStatusAvis()+ " ne permet pas de supprimer");
}
impositionsTfuRepository.deleteById(impositionsTfuOptional.get().getId()); impositionsTfuRepository.deleteById(impositionsTfuOptional.get().getId());
} else { } else {
throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données."); throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans notre base de données.");
@@ -167,9 +115,9 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
@Override @Override
public Optional<ImpositionsTfuPaylaodWeb> getImpositionsTfuById(Long id) { public Optional<ImpositionsTfu> getImpositionsTfuById(Long id) {
if (impositionsTfuRepository.existsById(id)) { if (impositionsTfuRepository.existsById(id)) {
return impositionsTfuRepository.findByIdToDto(id); return impositionsTfuRepository.findById(id);
} else { } else {
throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans la base de données."); throw new NotFoundException("Impossible de trouver la nouvelle unité de logement spécifiée dans la base de données.");
} }
@@ -177,12 +125,11 @@ public class ImpositionsTfuServiceImpl implements ImpositionsTfuService {
@Override @Override
public List<ImpositionsTfuPaylaodWeb> getImpositionsTfuByUserIdIds(Long userId) { public List<ImpositionsTfuPaylaodWeb> getImpositionsTfuByUserIdIds(Long userId) {
System.out.println(userId);
List<Structure> structures = structureService.getListStructureUserId(userId); List<Structure> structures = structureService.getListStructureUserId(userId);
List<Long> structureIds = structures.stream() List<Long> structureIds = structures.stream()
.map(Structure::getId) .map(Structure::getId)
.toList(); .toList();
System.out.println(structureIds.get(0));
return impositionsTfuRepository.findByStructureIdsToDto(structureIds); return impositionsTfuRepository.findByStructureIdsToDto(structureIds);
} }
} }

View File

@@ -58,6 +58,6 @@ public interface EnqueteService {
public List<EnqueteNonSyncResponse> getEnqueteValideNonSynch(Long terminalId); public List<EnqueteNonSyncResponse> getEnqueteValideNonSynch(Long terminalId);
int cloturerEnqueteParcelleBatimentUniteLogementByStructureIdAndExerciceId(Long strucutreId,Long exerciceId); int cloturerEnqueteParcelleBatimentUniteLogementByStructureId(Long strucutreId);
int cloturerEnqueteParcelleBatimentUniteLogementByUserIdAndExerciceId(Long userId,Long exerciceId); int cloturerEnqueteParcelleBatimentUniteLogementByUserId(Long userId);
} }

View File

@@ -4,8 +4,6 @@ import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu; import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
import io.gmss.fiscad.exceptions.BadRequestException; import io.gmss.fiscad.exceptions.BadRequestException;
import io.gmss.fiscad.exceptions.NotFoundException; import io.gmss.fiscad.exceptions.NotFoundException;
import io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@@ -13,6 +11,8 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
public interface DonneesImpositionTfuService { public interface DonneesImpositionTfuService {
DonneesImpositionTfu createDonneesImpositionTfu(DonneesImpositionTfu donneesImpositionTfu) throws BadRequestException; DonneesImpositionTfu createDonneesImpositionTfu(DonneesImpositionTfu donneesImpositionTfu) throws BadRequestException;
DonneesImpositionTfu updateDonneesImpositionTfu(Long id, DonneesImpositionTfu donneesImpositionTfu) throws NotFoundException; DonneesImpositionTfu updateDonneesImpositionTfu(Long id, DonneesImpositionTfu donneesImpositionTfu) throws NotFoundException;
@@ -25,17 +25,7 @@ public interface DonneesImpositionTfuService {
Optional<DonneesImpositionTfu> getDonneesImpositionTfuById(Long id); Optional<DonneesImpositionTfu> getDonneesImpositionTfuById(Long id);
ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb,Long userId); Long genererDonneesFiscales(ImpositionsTfu impositionsTfu);
ImpositionsTfuPaylaodWeb genererDonneesFiscalesParcelleNonBatie(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb,Long userId); List<DonneesImpositionTfu> getDonneesFiscalesByImposition(Long impositionsId);
List<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImposition(Long impositionsId);
List<DonneesImpositionTfu> getDonneesFiscalesByImpositionArrondissement(Long impositionsId,Long arrondissementId); List<DonneesImpositionTfu> getDonneesFiscalesByImpositionArrondissement(Long impositionsId,Long arrondissementId);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdPageable(Long impositionsTfuId, Pageable pageable);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdNonBatiePageable(Long impositionsTfuId, Pageable pageable);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieBatimentPageable(Long impositionsTfuId, Pageable pageable);
Page<DonneesImpositionPaylaodWeb> getDonneesFiscalesByImpositionTfuIdBatieUniteLogPageable(Long impositionsTfuId, Pageable pageable);
} }

View File

@@ -13,9 +13,8 @@ import java.util.Optional;
public interface ImpositionsTfuService { public interface ImpositionsTfuService {
ImpositionsTfuPaylaodWeb createImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException; ImpositionsTfuPaylaodWeb createImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
ImpositionsTfuPaylaodWeb rejeterImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException; ImpositionsTfuPaylaodWeb annulerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
ImpositionsTfuPaylaodWeb cloturerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException; ImpositionsTfuPaylaodWeb validerImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
ImpositionsTfuPaylaodWeb autoriserGenerationImpositionsTfu(ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws BadRequestException;
ImpositionsTfuPaylaodWeb updateImpositionsTfu(Long id, ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws NotFoundException; ImpositionsTfuPaylaodWeb updateImpositionsTfu(Long id, ImpositionsTfuPaylaodWeb impositionsTfuPaylaodWeb) throws NotFoundException;
@@ -25,6 +24,6 @@ public interface ImpositionsTfuService {
List<ImpositionsTfu> getImpositionsTfuList(); List<ImpositionsTfu> getImpositionsTfuList();
Optional<ImpositionsTfuPaylaodWeb> getImpositionsTfuById(Long id); Optional<ImpositionsTfu> getImpositionsTfuById(Long id);
List<ImpositionsTfuPaylaodWeb> getImpositionsTfuByUserIdIds(Long userId); List<ImpositionsTfuPaylaodWeb> getImpositionsTfuByUserIdIds(Long userId);
} }

View File

@@ -24,18 +24,10 @@ public class BaremRfuBatiPayloadWeb {
private String quartierCode; private String quartierCode;
private String quartierNom; private String quartierNom;
private Long communeId;
private String communeCode;
private String communeNom;
public BaremRfuBatiPayloadWeb(Long id, Long valeurLocative, Double tfuMetreCarre, Long tfuMinimum, Long categorieBatimentId, String categorieBatimentNom, String categorieBatimentStanding, Long arrondissementId, String arrondissementCode, String arrondissementNom, public BaremRfuBatiPayloadWeb(Long id, Long valeurLocative, Double tfuMetreCarre, Long tfuMinimum, Long categorieBatimentId, String categorieBatimentNom, String categorieBatimentStanding, Long arrondissementId, String arrondissementCode, String arrondissementNom,
Long quartierId, Long quartierId,
String quartierCode, String quartierCode,
String quartierNom, String quartierNom ) {
Long communeId,
String communeCode,
String communeNom
) {
this.id = id; this.id = id;
this.valeurLocative = valeurLocative; this.valeurLocative = valeurLocative;
this.tfuMetreCarre = tfuMetreCarre; this.tfuMetreCarre = tfuMetreCarre;
@@ -49,8 +41,5 @@ public class BaremRfuBatiPayloadWeb {
this.quartierId = quartierId; this.quartierId = quartierId;
this.quartierCode = quartierCode; this.quartierCode = quartierCode;
this.quartierNom = quartierNom; this.quartierNom = quartierNom;
this.communeId = communeId;
this.communeCode = communeCode;
this.communeNom = communeNom;
} }
} }

View File

@@ -18,20 +18,8 @@ public class BaremRfuNonBatiPayloadWeb {
private Long zoneRfuId; private Long zoneRfuId;
private String zoneRfuCode; private String zoneRfuCode;
private String zoneRfuNom; private String zoneRfuNom;
private Long valeurAdministrativeMetreCarre;
private Boolean auMetreCarre;
public BaremRfuNonBatiPayloadWeb(Long id, public BaremRfuNonBatiPayloadWeb(Long id, Long valeurAdministrative, float taux, Long communeId, String communeCode, String communeNom, Long zoneRfuId, String zoneRfuCode, String zoneRfuNom) {
Long valeurAdministrative,
Float taux,
Long communeId,
String communeCode,
String communeNom,
Long zoneRfuId,
String zoneRfuCode,
String zoneRfuNom,
Long valeurAdministrativeMetreCarre,
Boolean auMetreCarre) {
this.id = id; this.id = id;
this.valeurAdministrative = valeurAdministrative; this.valeurAdministrative = valeurAdministrative;
this.taux = taux; this.taux = taux;
@@ -41,7 +29,5 @@ public class BaremRfuNonBatiPayloadWeb {
this.zoneRfuId = zoneRfuId; this.zoneRfuId = zoneRfuId;
this.zoneRfuCode = zoneRfuCode; this.zoneRfuCode = zoneRfuCode;
this.zoneRfuNom = zoneRfuNom; this.zoneRfuNom = zoneRfuNom;
this.valeurAdministrativeMetreCarre = valeurAdministrativeMetreCarre;
this.auMetreCarre = auMetreCarre;
} }
} }

View File

@@ -1,201 +0,0 @@
package io.gmss.fiscad.paylaods.request.crudweb;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.gmss.fiscad.enums.NatureImpot;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalDate;
@NoArgsConstructor
@Data
public class DonneesImpositionPaylaodWeb {
private Long id;
private Long annee;
private String codeDepartement;
private String nomDepartement;
private String codeCommune;
private String nomCommune;
private String codeArrondissement;
private String nomArrondissement;
private String codeQuartierVillage;
private String nomQuartierVillage;
private String q;
private String ilot;
private String parcelle;
private String nup;
private String titreFoncier;
private String numBatiment;
private String numUniteLogement;
private String ifu;
private String npi;
private String telProp;
private String emailProp;
private String nomProp;
private String prenomProp;
private String raisonSociale;
private String adresseProp;
private String telRep;
private String emailRep;
private String nomRep;
private String prenomRep;
private String adresseRep;
private String longitude;
private String latitude;
private Integer superficieParc;
private Long superficieAuSolBat;
private Long superficieAuSolUlog;
private Boolean batie;
private Boolean exonere;
private Boolean batimentExonere;
private Boolean uniteLogementExonere;
private Long valeurLocativeAdm;
private Long valeurBatiment;
private Long valeurParcelle;
private Long montantLoyerAnnuel;
private Long tfuMetreCarre;
private Long tfuMinimum;
private String standingBat;
private String categorieBat;
private Long nombrePiscine;
private Long nombreUlog;
private Long nombreBat;
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate dateEnquete;
private Long serviceId;
private String serviceCode;
private Long zoneRfuId;
private String zoneRfuNom;
private Float tauxTfu;
private Long valeurAdminParcelleNb;
@Enumerated(EnumType.STRING)
private NatureImpot natureImpot;
private Long valeurLocativeAdmMetreCarre;
private Long valeurAdminParcelleNbMetreCarre;
private Float montantTaxe;
public DonneesImpositionPaylaodWeb(Long id,
Long annee,
String codeDepartement,
String nomDepartement,
String codeCommune,
String nomCommune,
String codeArrondissement,
String nomArrondissement,
String codeQuartierVillage,
String nomQuartierVillage,
String q, String ilot,
String parcelle,
String nup,
String titreFoncier,
String numBatiment,
String numUniteLogement,
String ifu,
String npi,
String telProp,
String emailProp,
String nomProp,
String prenomProp,
String raisonSociale,
String adresseProp,
String telRep,
String emailRep,
String nomRep,
String prenomRep,
String adresseRep,
String longitude,
String latitude,
Integer superficieParc,
Long superficieAuSolBat,
Long superficieAuSolUlog,
Boolean batie,
Boolean exonere,
Boolean batimentExonere,
Boolean uniteLogementExonere,
Long valeurLocativeAdm,
Long montantLoyerAnnuel,
Long tfuMetreCarre,
Long tfuMinimum,
String standingBat,
String categorieBat,
Long nombrePiscine,
Long nombreUlog,
Long nombreBat,
LocalDate dateEnquete,
Long serviceId,
Long zoneRfuId,
Long valeurAdministrativeParcelleNonBati,
NatureImpot natureImpot,
String serviceCode,
String zoneRfuNom,
Long valeurBatiment,
Long valeurParcelle,
Long valeurLocativeAdmMetreCarre,
Long valeurAdministrativeParcelleNonBatiAuMetreCarre,
Float montantTaxe
) {
this.id = id;
this.annee = annee;
this.codeDepartement = codeDepartement;
this.nomDepartement = nomDepartement;
this.codeCommune = codeCommune;
this.nomCommune = nomCommune;
this.codeArrondissement = codeArrondissement;
this.nomArrondissement = nomArrondissement;
this.codeQuartierVillage = codeQuartierVillage;
this.nomQuartierVillage = nomQuartierVillage;
this.q = q;
this.ilot = ilot;
this.parcelle = parcelle;
this.nup = nup;
this.titreFoncier = titreFoncier;
this.numBatiment = numBatiment;
this.numUniteLogement = numUniteLogement;
this.ifu = ifu;
this.npi = npi;
this.telProp = telProp;
this.emailProp = emailProp;
this.nomProp = nomProp;
this.prenomProp = prenomProp;
this.raisonSociale = raisonSociale;
this.adresseProp = adresseProp;
this.telRep = telRep;
this.emailRep = emailRep;
this.nomRep = nomRep;
this.prenomRep = prenomRep;
this.adresseRep = adresseRep;
this.longitude = longitude;
this.latitude = latitude;
this.superficieParc = superficieParc;
this.superficieAuSolBat = superficieAuSolBat;
this.superficieAuSolUlog = superficieAuSolUlog;
this.batie = batie;
this.exonere = exonere;
this.batimentExonere = batimentExonere;
this.uniteLogementExonere = uniteLogementExonere;
this.valeurLocativeAdm = valeurLocativeAdm;
this.montantLoyerAnnuel = montantLoyerAnnuel;
this.tfuMetreCarre = tfuMetreCarre;
this.tfuMinimum = tfuMinimum;
this.standingBat = standingBat;
this.categorieBat = categorieBat;
this.nombrePiscine = nombrePiscine;
this.nombreUlog = nombreUlog;
this.nombreBat = nombreBat;
this.dateEnquete = dateEnquete;
this.serviceId = serviceId;
this.zoneRfuId = zoneRfuId;
this.valeurAdminParcelleNb = valeurAdministrativeParcelleNonBati;
this.natureImpot = natureImpot;
this.serviceCode = serviceCode;
this.zoneRfuNom = zoneRfuNom;
this.valeurBatiment = valeurBatiment;
this.valeurParcelle = valeurParcelle;
this.valeurLocativeAdmMetreCarre = valeurLocativeAdmMetreCarre;
this.valeurAdminParcelleNbMetreCarre = valeurAdministrativeParcelleNonBatiAuMetreCarre;
this.montantTaxe = montantTaxe;
}
}

View File

@@ -6,7 +6,6 @@ import io.gmss.fiscad.deserializer.LocalDateDeserializer;
import io.gmss.fiscad.entities.decoupage.Commune; import io.gmss.fiscad.entities.decoupage.Commune;
import io.gmss.fiscad.entities.infocad.parametre.Structure; import io.gmss.fiscad.entities.infocad.parametre.Structure;
import io.gmss.fiscad.entities.rfu.parametre.Exercice; import io.gmss.fiscad.entities.rfu.parametre.Exercice;
import io.gmss.fiscad.enums.NatureImpot;
import io.gmss.fiscad.enums.StatusAvis; import io.gmss.fiscad.enums.StatusAvis;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.Data; import lombok.Data;
@@ -24,10 +23,7 @@ public class ImpositionsTfuPaylaodWeb {
private String datePieceAdmin; private String datePieceAdmin;
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private StatusAvis statusAvis; private StatusAvis statusAvis;
private Integer nombreAvis; private Long nombreAvis;
private Integer nombreAvisFnb;
private Integer nombreAvisBatiment;
private Integer nombreAvisUniteLog;
@Column(columnDefinition = "TEXT") @Column(columnDefinition = "TEXT")
private String motif; private String motif;
private Long exerciceId; private Long exerciceId;
@@ -37,11 +33,8 @@ public class ImpositionsTfuPaylaodWeb {
private String communeNom; private String communeNom;
private Long structureId ; private Long structureId ;
private String structureNom ; private String structureNom ;
public ImpositionsTfuPaylaodWeb(Long id, LocalDate dateGeneration, LocalDate dateCloture, String referencePieceAdmin, String datePieceAdmin, StatusAvis statusAvis, Integer nombreAvis, String motif, Long exerciceId, Integer exerciceAnnee, Long communeId, String communeCode, String communeNom, Long structureId, String structureNom,
Integer nombreAvisFnb, public ImpositionsTfuPaylaodWeb(Long id, LocalDate dateGeneration, LocalDate dateCloture, String referencePieceAdmin, String datePieceAdmin, StatusAvis statusAvis, Long nombreAvis, String motif, Long exerciceId, Integer exerciceAnnee, Long communeId, String communeCode, String communeNom, Long structureId, String structureNom) {
Integer nombreAvisBatiment,
Integer nombreAvisUniteLog
) {
this.id = id; this.id = id;
this.dateGeneration = dateGeneration; this.dateGeneration = dateGeneration;
this.dateCloture = dateCloture; this.dateCloture = dateCloture;
@@ -57,8 +50,5 @@ public class ImpositionsTfuPaylaodWeb {
this.communeNom = communeNom; this.communeNom = communeNom;
this.structureId = structureId; this.structureId = structureId;
this.structureNom = structureNom; this.structureNom = structureNom;
this.nombreAvisFnb = nombreAvisFnb;
this.nombreAvisBatiment = nombreAvisBatiment;
this.nombreAvisUniteLog = nombreAvisUniteLog;
} }
} }

View File

@@ -90,7 +90,7 @@ public class ParcelleGeomPaylaodWeb {
private String quartierCode ; private String quartierCode ;
private String quartierNom ; private String quartierNom ;
private Integer geomSrid; private int geomSrid;
@JsonSerialize(using = GeometrySerializer.class) @JsonSerialize(using = GeometrySerializer.class)
@JsonDeserialize(contentUsing = GeometryDeserializer.class) @JsonDeserialize(contentUsing = GeometryDeserializer.class)
//@Column(name = "geometry",columnDefinition = "geometry(Polygon,32631)") //@Column(name = "geometry",columnDefinition = "geometry(Polygon,32631)")
@@ -100,7 +100,7 @@ public class ParcelleGeomPaylaodWeb {
private Long parcelleId; private Long parcelleId;
public ParcelleGeomPaylaodWeb(Long id, String nup, String nupProvisoire, String longitude, String latitude, String numeroRue, String numeroEntreePorte, String codeInstad, String numeroEtatLieux, String numeroTitreFoncier, LocalDate dateTitreFoncier, Boolean batie, String npi, String ifu, String nom, String prenom, String raisonSociale, String nomEtPrenoms, String telephone, String adresse, String nomRepresentant, String prenomRepresentant, String raisonSocialeRepresentant, String nomEtPrenomsRepresentant, String telephoneRepresentant, String adresseRepresentant, String q, String zone, String ilot, String p, String qLotissement, String ilotLotissement, String pLotissement, String pointsPolygone, Integer superficie, String dateCollecte, SourceDonnee sourceDonnees, String observations, StatutParcelle statutParcelle, Long departementId, String departementCode, String departementNom, Long communeId, String communeCode, String communeNom, Long arrondissementId, String arrondissementCode, String arrondissementNom, Long quartierId, String quartierCode, String quartierNom, Integer geomSrid, Polygon geometry, String geometryString, Long parcelleId) { public ParcelleGeomPaylaodWeb(Long id, String nup, String nupProvisoire, String longitude, String latitude, String numeroRue, String numeroEntreePorte, String codeInstad, String numeroEtatLieux, String numeroTitreFoncier, LocalDate dateTitreFoncier, Boolean batie, String npi, String ifu, String nom, String prenom, String raisonSociale, String nomEtPrenoms, String telephone, String adresse, String nomRepresentant, String prenomRepresentant, String raisonSocialeRepresentant, String nomEtPrenomsRepresentant, String telephoneRepresentant, String adresseRepresentant, String q, String zone, String ilot, String p, String qLotissement, String ilotLotissement, String pLotissement, String pointsPolygone, Integer superficie, String dateCollecte, SourceDonnee sourceDonnees, String observations, StatutParcelle statutParcelle, Long departementId, String departementCode, String departementNom, Long communeId, String communeCode, String communeNom, Long arrondissementId, String arrondissementCode, String arrondissementNom, Long quartierId, String quartierCode, String quartierNom, int geomSrid, Polygon geometry, String geometryString, Long parcelleId) {
this.id = id; this.id = id;
this.nup = nup; this.nup = nup;
this.nupProvisoire = nupProvisoire; this.nupProvisoire = nupProvisoire;

View File

@@ -39,9 +39,8 @@ public interface EnqueteRepository extends JpaRepository<Enquete, Long> {
WHERE e.parcelle.id=p.id WHERE e.parcelle.id=p.id
AND stru.id= :structureId AND stru.id= :structureId
) )
AND e.exercice.id = :exerciceId
""") """)
Integer clotureEnqueteParcelle(@Param("structureId") Long structureId,@Param("exerciceId") Long exerciceId); Integer clotureEnqueteParcelle(@Param("structureId") Long structureId);
@Query(value = "select distinct " + @Query(value = "select distinct " +
" e.id," + " e.id," +

View File

@@ -78,40 +78,6 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
""",nativeQuery = true) """,nativeQuery = true)
void majCentroidParcelle(); void majCentroidParcelle();
@Modifying
@Transactional
@Query(value = """
update parcelle_geom pg
set parcelle_id = p.id,statut_parcelle='NON_AJOUR'
from parcelle p
where upper(p.q)=upper(pg.q)
and upper(p.i)=upper(pg.ilot)
and upper(p.p)=upper(pg.p)
and parcelle_is is null;
""",nativeQuery = true)
void majParcelleId();
@Modifying
@Transactional
@Query(value = """
UPDATE parcelle_geom p
SET batie = true
WHERE EXISTS (
SELECT 1
FROM Batiment b
WHERE b.parcelle_id = p.parcelle_id
)
and p.parcelle_id is not null;
""",nativeQuery = true)
void majParcelleBatie();
@Query(""" @Query("""
SELECT new io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb( SELECT new io.gmss.fiscad.paylaods.request.crudweb.ParcelleGeomPaylaodWeb(
pg.id, pg.id,
@@ -128,9 +94,9 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.batie, pg.batie,
pg.npi, pg.npi,
pg.ifu, pg.ifu,
pers.nom, pg.nom,
pers.prenom, pg.prenom,
pers.raisonSociale, pg.raisonSociale,
pg.nomEtPrenoms, pg.nomEtPrenoms,
pg.telephone, pg.telephone,
pg.adresse, pg.adresse,
@@ -168,18 +134,9 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.geomSrid, pg.geomSrid,
pg.geometry, pg.geometry,
pg.geometryString, pg.geometryString,
parc.id pg.parcelle.id
) )
FROM ParcelleGeom pg FROM ParcelleGeom pg
LEFT JOIN pg.parcelle parc
LEFT JOIN Enquete e
ON e.parcelle = parc
AND e.dateEnquete = (
SELECT MAX(e2.dateEnquete)
FROM Enquete e2
WHERE e2.parcelle = parc
)
LEFT JOIN e.personne pers
LEFT JOIN pg.departement d LEFT JOIN pg.departement d
LEFT JOIN pg.commune c LEFT JOIN pg.commune c
LEFT JOIN pg.arrondissement a LEFT JOIN pg.arrondissement a
@@ -205,9 +162,9 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.batie, pg.batie,
pg.npi, pg.npi,
pg.ifu, pg.ifu,
pers.nom, pg.nom,
pers.prenom, pg.prenom,
pers.raisonSociale, pg.raisonSociale,
pg.nomEtPrenoms, pg.nomEtPrenoms,
pg.telephone, pg.telephone,
pg.adresse, pg.adresse,
@@ -245,18 +202,9 @@ public interface ParcelleGeomRepository extends JpaRepository<ParcelleGeom, Long
pg.geomSrid, pg.geomSrid,
pg.geometry, pg.geometry,
pg.geometryString, pg.geometryString,
parc.id pg.parcelle.id
) )
FROM ParcelleGeom pg FROM ParcelleGeom pg
LEFT JOIN pg.parcelle parc
LEFT JOIN Enquete e
ON e.parcelle = parc
AND e.dateEnquete = (
SELECT MAX(e2.dateEnquete)
FROM Enquete e2
WHERE e2.parcelle = parc
)
LEFT JOIN e.personne pers
LEFT JOIN pg.departement d LEFT JOIN pg.departement d
LEFT JOIN pg.commune c LEFT JOIN pg.commune c
LEFT JOIN pg.arrondissement a LEFT JOIN pg.arrondissement a

View File

@@ -2,13 +2,9 @@ package io.gmss.fiscad.persistence.repositories.rfu.metier;
import io.gmss.fiscad.entities.infocad.parametre.Personne; import io.gmss.fiscad.entities.infocad.parametre.Personne;
import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu; import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
import io.gmss.fiscad.paylaods.request.crudweb.DonneesImpositionPaylaodWeb;
import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse; import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse;
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.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@@ -123,411 +119,9 @@ public interface DonneesImpositionTfuRepository extends JpaRepository<DonneesImp
""", nativeQuery = true) """, nativeQuery = true)
List<DonneesImpositionTfuResponse> findAllDonneesImpositionTfu(Long communeId, int annee); List<DonneesImpositionTfuResponse> findAllDonneesImpositionTfu(Long communeId, int annee);
List<DonneesImpositionTfu> findAllByImpositionsTfu_Id(Long impositionId);
List<DonneesImpositionTfu> findAllByImpositionsTfu_IdAndCodeArrondissement(Long impositionId,String arrondissementCode); List<DonneesImpositionTfu> findAllByImpositionsTfu_IdAndCodeArrondissement(Long impositionId,String arrondissementCode);
@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.id = :impositionTfuId
order by d.nomProp,d.nomProp asc
""")
List<DonneesImpositionPaylaodWeb> findAllByImpositionTfuId(
Long impositionTfuId
);
@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.id = :impositionTfuId
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdPageable(
Long impositionTfuId,
Pageable pageable
);
@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.id = :impositionTfuId
and d.batie is true
and d.numUniteLogement is null
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdBatieBatimentPageable(
Long impositionTfuId,
Pageable pageable
);
@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.id = :impositionTfuId
and d.batie is true
and d.numUniteLogement is not null
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdBatieUniteLogPageable(
Long impositionTfuId,
Pageable pageable
);
@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.id = :impositionTfuId
and d.batie is false
order by d.nomProp,d.nomProp asc
""")
Page<DonneesImpositionPaylaodWeb> findAllByImpositionTfuIdNonBatiePageable(
Long impositionTfuId,
Pageable pageable
);
@Query(value = "SELECT generer_donnees_imposition_tfu_batie(:structureId, :impositionId)", nativeQuery = true)
Integer genererDonneesTfuBatie(
@Param("structureId") Long structureId,
@Param("impositionId") Long impositionId
);
@Query(value = "SELECT generer_donnees_imposition_tfu_batie_unite_logement(:structureId, :impositionId)", nativeQuery = true)
Integer genererDonneesTfuBatieUniteLogement(
@Param("structureId") Long structureId,
@Param("impositionId") Long impositionId
);
@Query(value = "SELECT generer_donnees_imposition_tfu_non_batie(:structureId, :impositionId)", nativeQuery = true)
Integer genererDonneesTfuNonBatie(
@Param("structureId") Long structureId,
@Param("impositionId") Long impositionId
);
} }

View File

@@ -35,9 +35,8 @@ public interface EnqueteBatimentRepository extends JpaRepository<EnqueteBatiment
WHERE eb.batiment.parcelle.id=p.id WHERE eb.batiment.parcelle.id=p.id
AND stru.id= :structureId AND stru.id= :structureId
) )
AND eb.exercice.id = :exerciceId
""") """)
Integer clotureEnqueteBatiment(@Param("structureId") Long structureId,@Param("exerciceId") Long exerciceId); Integer clotureEnqueteBatiment(@Param("structureId") Long structureId);
@Query( @Query(

View File

@@ -34,9 +34,8 @@ public interface EnqueteUniteLogementRepository extends JpaRepository<EnqueteUni
WHERE eul.uniteLogement.batiment.parcelle.id=p.id WHERE eul.uniteLogement.batiment.parcelle.id=p.id
AND stru.id= :structureId AND stru.id= :structureId
) )
AND eul.exercice.id = :exerciceId
""") """)
Integer clotureEnqueteUniteLogement(@Param("structureId") Long structureId,@Param("exerciceId") Long exerciceId); Integer clotureEnqueteUniteLogement(@Param("structureId") Long structureId);
@Query(nativeQuery = true, @Query(nativeQuery = true,
value = "select eul.id as idBackend, " + value = "select eul.id as idBackend, " +
"eul.terminal_id as terminalId, " + "eul.terminal_id as terminalId, " +

View File

@@ -1,7 +1,6 @@
package io.gmss.fiscad.persistence.repositories.rfu.metier; package io.gmss.fiscad.persistence.repositories.rfu.metier;
import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu; import io.gmss.fiscad.entities.rfu.metier.ImpositionsTfu;
import io.gmss.fiscad.enums.StatusAvis;
import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb; import io.gmss.fiscad.paylaods.request.crudweb.ImpositionsTfuPaylaodWeb;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@@ -16,9 +15,6 @@ import java.util.Optional;
public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu, Long> { public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu, Long> {
Optional<ImpositionsTfu> findAllByCommune_IdAndExercice_Id(Long communeId,Long ExerciceId); Optional<ImpositionsTfu> findAllByCommune_IdAndExercice_Id(Long communeId,Long ExerciceId);
Optional<ImpositionsTfu> findDistinctByStructure_IdAndExercice_IdAndStatusAvisIn(Long structureId, Long exerciceId, List<StatusAvis> statusAvis);
@Query(value = "select i.* " + @Query(value = "select i.* " +
" from impositions_tfu i " + " from impositions_tfu i " +
" inner join commune c on c.id=i.commune_id" + " inner join commune c on c.id=i.commune_id" +
@@ -55,10 +51,7 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code, c.code,
c.nom, c.nom,
s.id, s.id,
s.nom, s.nom
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
) )
FROM ImpositionsTfu i FROM ImpositionsTfu i
LEFT JOIN i.exercice e LEFT JOIN i.exercice e
@@ -83,10 +76,7 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code, c.code,
c.nom, c.nom,
s.id, s.id,
s.nom, s.nom
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
) )
FROM ImpositionsTfu i FROM ImpositionsTfu i
LEFT JOIN i.exercice e LEFT JOIN i.exercice e
@@ -113,10 +103,7 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code, c.code,
c.nom, c.nom,
s.id, s.id,
s.nom, s.nom
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
) )
FROM ImpositionsTfu i FROM ImpositionsTfu i
LEFT JOIN i.exercice e LEFT JOIN i.exercice e
@@ -150,16 +137,13 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code, c.code,
c.nom, c.nom,
s.id, s.id,
s.nom, s.nom
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
) )
FROM ImpositionsTfu i FROM ImpositionsTfu i
LEFT JOIN i.exercice e LEFT JOIN i.exercice e
LEFT JOIN i.commune c LEFT JOIN i.commune c
LEFT JOIN i.structure s LEFT JOIN i.structure s
WHERE s.id in (:structureIds) WHERE s.id in(:structureIds)
""") """)
List<ImpositionsTfuPaylaodWeb> findByStructureIdsToDto(@Param("structureIds") List<Long> structureIds); List<ImpositionsTfuPaylaodWeb> findByStructureIdsToDto(@Param("structureIds") List<Long> structureIds);
@@ -181,10 +165,7 @@ public interface ImpositionsTfuRepository extends JpaRepository<ImpositionsTfu,
c.code, c.code,
c.nom, c.nom,
s.id, s.id,
s.nom, s.nom
i.nombreAvisFnb,
i.nombreAvisBatiment,
i.nombreAvisUniteLog
) )
FROM ImpositionsTfu i FROM ImpositionsTfu i
LEFT JOIN i.exercice e LEFT JOIN i.exercice e

View File

@@ -26,9 +26,7 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom, c.nom,
z.id, z.id,
z.code, z.code,
z.nom, z.nom
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
) )
FROM BaremRfuNonBati b FROM BaremRfuNonBati b
LEFT JOIN b.commune c LEFT JOIN b.commune c
@@ -52,9 +50,7 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom, c.nom,
z.id, z.id,
z.code, z.code,
z.nom, z.nom
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
) )
FROM BaremRfuNonBati b FROM BaremRfuNonBati b
LEFT JOIN b.commune c LEFT JOIN b.commune c
@@ -75,9 +71,7 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom, c.nom,
z.id, z.id,
z.code, z.code,
z.nom, z.nom
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
) )
FROM BaremRfuNonBati b FROM BaremRfuNonBati b
LEFT JOIN b.commune c LEFT JOIN b.commune c
@@ -101,9 +95,7 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom, c.nom,
z.id, z.id,
z.code, z.code,
z.nom, z.nom
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
) )
FROM BaremRfuNonBati b FROM BaremRfuNonBati b
LEFT JOIN b.commune c LEFT JOIN b.commune c
@@ -128,9 +120,7 @@ Optional<BaremRfuNonBati> findAllByCommune_IdAndZoneRfu_Id(Long communeId,Long z
c.nom, c.nom,
z.id, z.id,
z.code, z.code,
z.nom, z.nom
b.valeurAdministrativeMetreCarre,
b.auMetreCarre
) )
FROM BaremRfuNonBati b FROM BaremRfuNonBati b
LEFT JOIN b.commune c LEFT JOIN b.commune c

View File

@@ -27,16 +27,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
""") """)
Page<BaremRfuBatiPayloadWeb> findAllPayloadPaged(Pageable pageable); Page<BaremRfuBatiPayloadWeb> findAllPayloadPaged(Pageable pageable);
@@ -54,16 +50,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
""") """)
List<BaremRfuBatiPayloadWeb> findAllPayload(); List<BaremRfuBatiPayloadWeb> findAllPayload();
@@ -81,16 +73,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE a.id = :arrondissementId WHERE a.id = :arrondissementId
""") """)
List<BaremRfuBatiPayloadWeb> findByArrondissementId( List<BaremRfuBatiPayloadWeb> findByArrondissementId(
@@ -111,16 +99,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE b.id = :baremRfuBatiId WHERE b.id = :baremRfuBatiId
""") """)
Optional<BaremRfuBatiPayloadWeb> findByBaremRfuBatieId( Optional<BaremRfuBatiPayloadWeb> findByBaremRfuBatieId(
@@ -141,16 +125,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE a.id = :arrondissementId WHERE a.id = :arrondissementId
""") """)
Page<BaremRfuBatiPayloadWeb> findByArrondissementIdPaged( Page<BaremRfuBatiPayloadWeb> findByArrondissementIdPaged(
@@ -172,16 +152,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE a.id = :arrondissementId WHERE a.id = :arrondissementId
and cb.id = :categorieBatimentId and cb.id = :categorieBatimentId
""") """)
@@ -204,16 +180,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE cb.id = :categorieBatimentId WHERE cb.id = :categorieBatimentId
""") """)
List<BaremRfuBatiPayloadWeb> findByCategorieBatiment( List<BaremRfuBatiPayloadWeb> findByCategorieBatiment(
@@ -235,16 +207,12 @@ public interface BaremRfuRepository extends JpaRepository<BaremRfuBati, Long> {
a.nom, a.nom,
q.id, q.id,
q.code, q.code,
q.nom, q.nom
c.id,
c.code,
c.nom
) )
FROM BaremRfuBati b FROM BaremRfuBati b
LEFT JOIN b.categorieBatiment cb LEFT JOIN b.categorieBatiment cb
LEFT JOIN b.arrondissement a LEFT JOIN b.arrondissement a
LEFT JOIN b.quartier q LEFT JOIN b.quartier q
LEFT JOIN a.commune c
WHERE cb.id = :categorieBatimentId WHERE cb.id = :categorieBatimentId
and q.id = :quartierId and q.id = :quartierId
""") """)

View File

@@ -668,11 +668,11 @@ public class EntityFromPayLoadService {
eul.setRepresentantNpi(enqueteUniteLogementPayloadWeb.getRepresentantNpi()); eul.setRepresentantNpi(enqueteUniteLogementPayloadWeb.getRepresentantNpi());
eul.setNombrePiscine(enqueteUniteLogementPayloadWeb.getNombrePiscine()); eul.setNombrePiscine(enqueteUniteLogementPayloadWeb.getNombrePiscine());
// eul.setStatutEnquete(StatutEnquete.EN_COURS); // eul.setStatutEnquete(StatutEnquete.EN_COURS);
//if(!enqueteUniteLogementPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){ if(!enqueteUniteLogementPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
eul.setStatutEnquete(StatutEnquete.EN_COURS); eul.setStatutEnquete(StatutEnquete.EN_COURS);
// }else{ }else{
// eul.setStatutEnquete(enqueteUniteLogementPayloadWeb.getStatutEnquete()); eul.setStatutEnquete(enqueteUniteLogementPayloadWeb.getStatutEnquete());
// } }
return eul; return eul;
} }
@@ -762,11 +762,11 @@ public class EntityFromPayLoadService {
enqueteBatiment.setRepresentantNpi(enqueteBatimentPayloadWeb.getRepresentantNpi()); enqueteBatiment.setRepresentantNpi(enqueteBatimentPayloadWeb.getRepresentantNpi());
enqueteBatiment.setNombrePiscine(enqueteBatimentPayloadWeb.getNombrePiscine()); enqueteBatiment.setNombrePiscine(enqueteBatimentPayloadWeb.getNombrePiscine());
//enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS); //enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS);
//if(!enqueteBatimentPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){ if(!enqueteBatimentPayloadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS); enqueteBatiment.setStatutEnquete(StatutEnquete.EN_COURS);
// }else{ }else{
// enqueteBatiment.setStatutEnquete(enqueteBatimentPayloadWeb.getStatutEnquete()); enqueteBatiment.setStatutEnquete(enqueteBatimentPayloadWeb.getStatutEnquete());
// } }
return enqueteBatiment; return enqueteBatiment;
} }
@@ -825,11 +825,11 @@ public class EntityFromPayLoadService {
enquete.setDateEnquete(LocalDate.now()); enquete.setDateEnquete(LocalDate.now());
enquete.setLitige(enquetePayLoadWeb.getLitige()); enquete.setLitige(enquetePayLoadWeb.getLitige());
// if(!enquetePayLoadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){ if(!enquetePayLoadWeb.getStatutEnquete().equals(StatutEnquete.DECLARATION)){
enquete.setStatutEnquete(StatutEnquete.EN_COURS); enquete.setStatutEnquete(StatutEnquete.EN_COURS);
// }else{ }else{
// enquete.setStatutEnquete(enquetePayLoadWeb.getStatutEnquete()); enquete.setStatutEnquete(enquetePayLoadWeb.getStatutEnquete());
// } }
enquete.setObservationParticuliere(enquetePayLoadWeb.getObservation()); enquete.setObservationParticuliere(enquetePayLoadWeb.getObservation());
enquete.setAutreAdresse(enquetePayLoadWeb.getAutreAdresse()); enquete.setAutreAdresse(enquetePayLoadWeb.getAutreAdresse());
enquete.setAutreNumeroTitreFoncier(enquetePayLoadWeb.getAutreNumeroTitreFoncier()); enquete.setAutreNumeroTitreFoncier(enquetePayLoadWeb.getAutreNumeroTitreFoncier());
@@ -954,9 +954,6 @@ public class EntityFromPayLoadService {
} }
baremRfuNonBati.setTaux(baremRfuNonBatiPayloadWeb.getTaux()); baremRfuNonBati.setTaux(baremRfuNonBatiPayloadWeb.getTaux());
baremRfuNonBati.setAuMetreCarre(baremRfuNonBatiPayloadWeb.getAuMetreCarre());
baremRfuNonBati.setValeurAdministrative(baremRfuNonBatiPayloadWeb.getValeurAdministrative());
baremRfuNonBati.setValeurAdministrativeMetreCarre(baremRfuNonBatiPayloadWeb.getValeurAdministrativeMetreCarre());
return baremRfuNonBati; return baremRfuNonBati;
} }

View File

@@ -1,7 +1,6 @@
spring.profiles.active=${SPRING_PROFILES_ACTIVE} spring.profiles.active=${SPRING_PROFILES_ACTIVE}
#spring.profiles.active=abomey #spring.profiles.active=abomey
#spring.profiles.active=test #spring.profiles.active=test
#test
spring.jpa.properties.hibernate.id.new_generator_mappings=false spring.jpa.properties.hibernate.id.new_generator_mappings=false
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.jpa.open-in-view=false spring.jpa.open-in-view=false