diff --git a/src.zip b/src.zip deleted file mode 100644 index 39fcf50..0000000 Binary files a/src.zip and /dev/null differ diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ActeurConcerneController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ActeurConcerneController.java index 080d99a..6ab10fe 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ActeurConcerneController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ActeurConcerneController.java @@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.HttpClientErrorException; @@ -20,6 +21,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Actuer concerné") @CrossOrigin(origins = "*") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class ActeurConcerneController { private final ActeurConcerneService acteurConcerneService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/CommentaireController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/CommentaireController.java index 7549f7e..1fadc1e 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/CommentaireController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/CommentaireController.java @@ -15,6 +15,7 @@ import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.HttpClientErrorException; @@ -27,6 +28,7 @@ import java.util.List; @SecurityRequirement(name = "bearer") @Tag(name = "Commentaire") @CrossOrigin(origins = "*") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class CommentaireController { private final CommentaireService commentaireService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/EnqueteController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/EnqueteController.java index 11dae19..cf761a4 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/EnqueteController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/EnqueteController.java @@ -16,6 +16,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.HttpClientErrorException; @@ -27,6 +28,7 @@ import java.util.List; @SecurityRequirement(name = "bearer") @Tag(name = "Enquête") @CrossOrigin(origins = "*") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class EnqueteController { private final EnqueteService enqueteService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleGeomController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleGeomController.java index 1f73fa6..04aca7b 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleGeomController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/ParcelleGeomController.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -19,6 +20,7 @@ import org.springframework.web.multipart.MultipartFile; @SecurityRequirement(name = "bearer") @Tag(name = "ParcelleGeometrie") @CrossOrigin(origins = "*") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class ParcelleGeomController { private final ParcelleGeomService parcelleGeomService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java index 7b78e72..874db80 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/PersonneController.java @@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping(value = "api/personne", produces = MediaType.APPLICATION_JSON_VALUE) @RequiredArgsConstructor +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class PersonneController { private final PersonneService personneService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/TpeController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/TpeController.java index 0058472..50fb6ac 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/TpeController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/TpeController.java @@ -15,6 +15,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.HttpClientErrorException; @@ -25,6 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Tpe") @CrossOrigin(origins = "*") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class TpeController { private final TpeService tpeService; @@ -60,7 +62,7 @@ public class TpeController { @PostMapping("/re-create") public ResponseEntity reCreateTpe(@RequestBody @Valid @Validated Tpe tpe) { try{ - tpe = tpeService.reCreateExistTpe(tpe); + tpe = tpeService.majTpe(tpe.getId(),tpe); return new ResponseEntity<>( new ApiResponse<>(true, tpe, "Tpe créé avec succès."), HttpStatus.OK diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/UploadController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/UploadController.java index a386913..71b3fd2 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/metier/UploadController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/metier/UploadController.java @@ -17,6 +17,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.multipart.MultipartFile; @@ -34,6 +35,7 @@ import java.time.format.DateTimeFormatter; @SecurityRequirement(name = "bearer") @Tag(name = "Upload") @CrossOrigin(origins = "*") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class UploadController { boolean headIsValid = false; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/BlocController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/BlocController.java index 63a8fd5..7253d52 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/BlocController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/BlocController.java @@ -28,7 +28,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Bloc") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class BlocController { private final BlocService blocService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ModeAcquisitionController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ModeAcquisitionController.java index 0cb1686..9b4b398 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ModeAcquisitionController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ModeAcquisitionController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Mode d'acquisition") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class ModeAcquisitionController { private final ModeAcquisitionService modeAcquisitionService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/NatureDomaineController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/NatureDomaineController.java index 82fc21b..fcb0529 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/NatureDomaineController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/NatureDomaineController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Nature domaine") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class NatureDomaineController { private final NatureDomaineService natureDomaineService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/PositionRepresentationController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/PositionRepresentationController.java index b5d3d96..43ad3ac 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/PositionRepresentationController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/PositionRepresentationController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Position représentation") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class PositionRepresentationController { private final PositionRepresentationService positionRepresentationService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ProfessionController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ProfessionController.java index 6756442..a4d8a3a 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ProfessionController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/ProfessionController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Profession") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class ProfessionController { private final ProfessionService professionService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationGeographiqueController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationGeographiqueController.java index 47302fc..29ccaf1 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationGeographiqueController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationGeographiqueController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Situation géographique") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class SituationGeographiqueController { private final SituationGeographiqueService situationGeographiqueService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationMatrimonialeController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationMatrimonialeController.java index d8e862d..e4f0dd6 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationMatrimonialeController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SituationMatrimonialeController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Situation matrimoniale") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class SituationMatrimonialeController { private final SituationMatrimonialeService situationMatrimonialeService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SourceDroitController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SourceDroitController.java index f9df9df..9445e35 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SourceDroitController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/SourceDroitController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Source de droit") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class SourceDroitController { private final SourceDroitService sourceDroitService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/StructureController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/StructureController.java index ed008f1..c543ace 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/StructureController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/StructureController.java @@ -27,7 +27,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Structure") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class StructureController { private final StructureService structureService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeContestationController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeContestationController.java index ebd4256..e9c9460 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeContestationController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeContestationController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Type de contestation") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class TypeContestationController { private final TypeContestationService typeContestationService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeDomaineController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeDomaineController.java index da4a911..5b6c6d3 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeDomaineController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeDomaineController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Type de domaine") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class TypeDomaineController { private final TypeDomaineService typeDomaineService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePersonneController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePersonneController.java index f23c983..a075c2c 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePersonneController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePersonneController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Type de personne") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class TypePersonneController { private final TypePersonneService typePersonneService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePieceController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePieceController.java index 6f485eb..5bb656e 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePieceController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypePieceController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Type de pièce") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class TypePieceController { private final TypePieceService typePieceService; diff --git a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeRepresentationController.java b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeRepresentationController.java index e07661c..cf13b27 100644 --- a/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeRepresentationController.java +++ b/src/main/java/io/gmss/fiscad/controllers/infocad/parametre/TypeRepresentationController.java @@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException; @SecurityRequirement(name = "bearer") @Tag(name = "Type de représentation") @CrossOrigin(origins = "*") -@PreAuthorize("hasRole('ROLE_ADMIN') or hasRole('ROLE_SUPERVISEUR')") +@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public class TypeRepresentationController { private final TypeRepresentationService typeRepresentationService; diff --git a/src/main/java/io/gmss/fiscad/controllers/synchronisation/SynchronisationController.java b/src/main/java/io/gmss/fiscad/controllers/synchronisation/SynchronisationController.java index 788affc..35b1aa5 100644 --- a/src/main/java/io/gmss/fiscad/controllers/synchronisation/SynchronisationController.java +++ b/src/main/java/io/gmss/fiscad/controllers/synchronisation/SynchronisationController.java @@ -14,6 +14,7 @@ import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.multipart.MultipartFile; @@ -26,6 +27,7 @@ import java.util.List; @Tag(name = "Synchronisation") @CrossOrigin(origins = "*") @AllArgsConstructor + public class SynchronisationController { private final SynchronisationService synchronisationService; private final EnqueteService enqueteService; @@ -80,6 +82,7 @@ public class SynchronisationController { } @Transactional @PostMapping("/personnes") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncPersonne(@RequestBody List personnePayLoads) { try { return new ResponseEntity<>( @@ -103,6 +106,7 @@ public class SynchronisationController { } @PostMapping("/membre-groupe") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncMembreGroupe(@RequestBody List membreGroupePayLoads) { try { return new ResponseEntity<>( @@ -126,6 +130,7 @@ public class SynchronisationController { } @PostMapping("/enquete") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncEnquete(@RequestBody List enquetePayLoads) { try { return new ResponseEntity<>( @@ -149,6 +154,7 @@ public class SynchronisationController { } @PostMapping("/parcelle") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncParcelle(@RequestBody List parcellePayLoads) { try { return new ResponseEntity<>( @@ -172,6 +178,7 @@ public class SynchronisationController { } @PostMapping("/piece") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncPiece(@RequestBody List piecePayLoads) { try { return new ResponseEntity<>( @@ -196,6 +203,7 @@ public class SynchronisationController { } @PostMapping("/acteur-concerne") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncActeurConcerne(@RequestBody List piecePayLoads) { try { return new ResponseEntity<>( @@ -221,6 +229,7 @@ public class SynchronisationController { //@PostMapping("/files") @PostMapping(path = "/files") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncFiles(@RequestPart(required = true) MultipartFile file, @RequestParam(value = "idBackend",required = false) Long idBackend, @RequestParam(value = "externalKey",required = true) Long externalKey, @@ -274,6 +283,7 @@ public class SynchronisationController { } @PostMapping(path = "/synchronise/all-enquete-data") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncAllEnqueteData(@ModelAttribute EnqueteAllDataPayload enqueteAllDataPayload) { try { return new ResponseEntity<>( @@ -297,6 +307,7 @@ public class SynchronisationController { } @PostMapping(path = "/synchronise/enquete/confirme-from-mobile") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncAllEnqueteData(@RequestBody List longList) { try { return new ResponseEntity<>( @@ -326,6 +337,7 @@ public class SynchronisationController { */ @PostMapping(path = "/batiment") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncBatiment(@RequestBody List batimentPaylaods) { try { return new ResponseEntity<>( @@ -350,6 +362,7 @@ public class SynchronisationController { } @PostMapping(path = "/unite-logement") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncUniteLogement(@RequestBody List uniteLogementPaylaods) { try { return new ResponseEntity<>( @@ -374,6 +387,7 @@ public class SynchronisationController { } @PostMapping(path = "/caracteristique-batiment") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncCaracteristiqueBatiment(@RequestBody List caracteristiqueBatimentPaylods) { try { return new ResponseEntity<>( @@ -398,6 +412,7 @@ public class SynchronisationController { } @PostMapping(path = "/caracteristique-parcelle") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncCaracteristiqueParcelle(@RequestBody List caracteristiqueParcellePaylods) { try { return new ResponseEntity<>( @@ -422,6 +437,7 @@ public class SynchronisationController { } @PostMapping(path = "/caracteristique-unite-logement") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncCaracteristiqueUniteLogement(@RequestBody List caracteristiqueUniteLogementPaylods) { try { return new ResponseEntity<>( @@ -446,6 +462,7 @@ public class SynchronisationController { } @PostMapping("/enquete-batiment") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncEnqueteBatiment(@RequestBody List enqueteBatimentPayloads) { try { return new ResponseEntity<>( @@ -470,6 +487,7 @@ public class SynchronisationController { } @PostMapping("/enquete-unite-logement") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity syncEnqueteUniteLogement(@RequestBody List enqueteUniteLogementPayloads) { try { return new ResponseEntity<>( @@ -496,6 +514,7 @@ public class SynchronisationController { @GetMapping("/traiter-non-synch-to-mobile/{terminalId}") + @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") public ResponseEntity getEnqueteValideNonSynch(@PathVariable Long terminalId) { try { return new ResponseEntity<>( diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataActeurConcerne.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataActeurConcerne.java new file mode 100644 index 0000000..74379ec --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataActeurConcerne.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.ActeurConcernePayLoad; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataActeurConcerne extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private ActeurConcernePayLoad acteurConcernePayLoad ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataBatiment.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataBatiment.java new file mode 100644 index 0000000..63e415d --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataBatiment.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.BatimentPaylaod; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataBatiment extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private BatimentPaylaod batimentPaylaod ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueBatiment.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueBatiment.java new file mode 100644 index 0000000..b0ab54a --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueBatiment.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataCaracteristiqueBatiment extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueParcelle.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueParcelle.java new file mode 100644 index 0000000..f2e7554 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueParcelle.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePaylod; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataCaracteristiqueParcelle extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private CaracteristiqueParcellePaylod caracteristiqueParcellePaylod ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueUniteLogement.java new file mode 100644 index 0000000..8ff64b0 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueUniteLogement.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPaylod; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataCaracteristiqueUniteLogement extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnquete.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnquete.java new file mode 100644 index 0000000..a4b2eca --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnquete.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.EnquetePayLoad; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataEnquete extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private EnquetePayLoad enquetePayLoad ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteBatiment.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteBatiment.java new file mode 100644 index 0000000..e413eab --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteBatiment.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.EnqueteBatimentPayload; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataEnqueteBatiment extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private EnqueteBatimentPayload enqueteBatimentPayload ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteUniteLogement.java new file mode 100644 index 0000000..bdde0d1 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteUniteLogement.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.EnqueteUniteLogementPayload; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataEnqueteUniteLogement extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private EnqueteUniteLogementPayload enqueteUniteLogementPayload ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataMembreGroupe.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataMembreGroupe.java new file mode 100644 index 0000000..85b0602 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataMembreGroupe.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.MembreGroupePayLoad; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataMembreGroupe extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private MembreGroupePayLoad membreGroupePayLoad ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataParcelle.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataParcelle.java new file mode 100644 index 0000000..f2df9a5 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataParcelle.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.ParcellePayLoad; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataParcelle extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private ParcellePayLoad parcellePayLoad ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPersonne.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPersonne.java new file mode 100644 index 0000000..8748bd7 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPersonne.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.PersonnePayLoad; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataPersonne extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private PersonnePayLoad personnePayLoad ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPiece.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPiece.java new file mode 100644 index 0000000..933bd54 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPiece.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.PiecePayLoad; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataPiece extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private PiecePayLoad piecePayLoad ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUniteLogement.java new file mode 100644 index 0000000..e112d24 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUniteLogement.java @@ -0,0 +1,24 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.ParcellePayLoad; +import io.gmss.fiscad.paylaods.request.UniteLogementPaylaod; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataUniteLogement extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private UniteLogementPaylaod uniteLogementPaylaod ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUpload.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUpload.java new file mode 100644 index 0000000..f81b9ce --- /dev/null +++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUpload.java @@ -0,0 +1,23 @@ +package io.gmss.fiscad.entities.metadata; + +import com.vladmihalcea.hibernate.type.json.JsonBinaryType; +import io.gmss.fiscad.entities.BaseEntity; +import io.gmss.fiscad.paylaods.request.UploadPayLoad; +import jakarta.persistence.*; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.Type; + +import java.io.Serializable; + +@Entity +@Getter +@Setter +public class MobileDataUpload extends BaseEntity implements Serializable { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + @Type(JsonBinaryType.class) + @Column(columnDefinition = "jsonb") + private UploadPayLoad uploadPayLoad ; +} \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/enums/TypeObjet.java b/src/main/java/io/gmss/fiscad/enums/TypeObjet.java new file mode 100644 index 0000000..d79ea79 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/enums/TypeObjet.java @@ -0,0 +1,18 @@ +package io.gmss.fiscad.enums; + +public enum TypeObjet { + PARCELLE, + PERSONNE, + MEMBREGROUPE, + ACTEURCONCERNER, + PIECE, + UPLOAD, + BATIMENT, + UNITELOGEMENT, + ENQUETEBATIMENT, + ENQUETEUNITELOGEMENT, + CARACTERISTIQUEPARCELLE, + CARACTERISTIQUEBATIMENT, + CARACTERISTIQUEUNITELOGEMENT +} + diff --git a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/TpeServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/TpeServiceImpl.java index eca0012..8989b15 100644 --- a/src/main/java/io/gmss/fiscad/implementations/infocad/metier/TpeServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/infocad/metier/TpeServiceImpl.java @@ -69,6 +69,8 @@ public class TpeServiceImpl implements TpeService { tpe.getModel(), tpe.getCodeEquipe() ); + }else{ + tpeRepository.save(optionalTpe.get()); } return tpe ; } @@ -127,6 +129,7 @@ public class TpeServiceImpl implements TpeService { } @Override public Tpe reCreateExistTpe(Tpe tpe) throws BadRequestException { + tpeRepository.save(tpe); return tpe; } diff --git a/src/main/java/io/gmss/fiscad/implementations/synchronisation/SynchronisationServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/synchronisation/SynchronisationServiceImpl.java index 47c6cc9..9ba7390 100644 --- a/src/main/java/io/gmss/fiscad/implementations/synchronisation/SynchronisationServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/synchronisation/SynchronisationServiceImpl.java @@ -5,17 +5,13 @@ import io.gmss.fiscad.entities.decoupage.Nationalite; import io.gmss.fiscad.entities.decoupage.Quartier; import io.gmss.fiscad.entities.infocad.metier.*; import io.gmss.fiscad.entities.infocad.parametre.*; -import io.gmss.fiscad.entities.metadata.PieceMetaData; -import io.gmss.fiscad.entities.metadata.UploadMetaData; +import io.gmss.fiscad.entities.metadata.*; import io.gmss.fiscad.entities.rfu.metier.*; import io.gmss.fiscad.entities.rfu.parametre.Caracteristique; import io.gmss.fiscad.entities.rfu.parametre.TypeCaracteristique; import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu; import io.gmss.fiscad.entities.user.User; -import io.gmss.fiscad.enums.Categorie; -import io.gmss.fiscad.enums.ProfileApp; -import io.gmss.fiscad.enums.StatusEnquete; -import io.gmss.fiscad.enums.StatutEnregistrement; +import io.gmss.fiscad.enums.*; import io.gmss.fiscad.interfaces.infocad.metier.ParcelleGeomService; import io.gmss.fiscad.interfaces.synchronisation.SynchronisationService; import io.gmss.fiscad.interfaces.user.UserService; @@ -24,8 +20,7 @@ import io.gmss.fiscad.paylaods.response.*; import io.gmss.fiscad.repositories.decoupage.*; import io.gmss.fiscad.repositories.infocad.metier.*; import io.gmss.fiscad.repositories.infocad.parametre.*; -import io.gmss.fiscad.repositories.metadata.PieceMetaDataRepository; -import io.gmss.fiscad.repositories.metadata.UploadMetaDataRepository; +import io.gmss.fiscad.repositories.metadata.*; import io.gmss.fiscad.repositories.rfu.metier.*; import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository; import io.gmss.fiscad.repositories.rfu.parametre.TypeCaracteristiqueRepository; @@ -96,6 +91,20 @@ public class SynchronisationServiceImpl implements SynchronisationService { private final CaracteristiqueParcelleRepository caracteristiqueParcelleRepository; private final CaracteristiqueUniteLogementRepository caracteristiqueUniteLogementRepository; private final ParcelleGeomService parcelleGeomService; + + private final MobileDataEnqueteBatimentRepository mobileDataEnqueteBatimentRepository; + private final MobileDataActeurConcerneRepository mobileDataActeurConcerneRepository; + private final MobileDataPersonneRepository mobileDataPersonneRepository; + private final MobileDataMembreGroupeRepository mobileDataMembreGroupeRepository; + private final MobileDataPieceRepository mobileDataPieceRepository; + private final MobileDataUploadRepository mobileDataUploadRepository; + private final MobileDataEnqueteRepository mobileDataEnqueteRepository; + private final MobileDataCaracteristiqueParcelleRepository mobileDataCaracteristiqueParcelleRepository; + private final MobileDataEnqueteUniteLogementRepository mobileDataEnqueteUniteLogementRepository; + private final MobileDataCaracteristiqueBatimentRepository mobileDataCaracteristiqueBatimentRepository; + private final MobileDataCaracteristiqueUniteLogementRepository mobileDataCaracteristiqueUniteLogementRepository; + private final MobileDataUniteLogementRepository mobileDataUniteLogementRepository; + private final MobileDataParcelleRepository mobileDataParcelleRepository; @Value("${io.gmss.fiscad.profile}") private String profile; @@ -227,6 +236,9 @@ public class SynchronisationServiceImpl implements SynchronisationService { syncResponses.add(syncResponse); return syncResponses; } + + //saveMobileData(personnePayLoads,TypeObjet.PERSONNE); + personnePayLoads.forEach(personnePayLoad -> { try { System.out.println(personnePayLoad); @@ -292,11 +304,67 @@ public class SynchronisationServiceImpl implements SynchronisationService { return syncResponses; } + private void saveMobileData(List payloads, TypeObjet typeObjet) { + switch (typeObjet){ + case PERSONNE -> { + payloads.forEach(payLoad -> { + PersonnePayLoad p= (PersonnePayLoad) payLoad ; + MobileDataPersonne mobileDataPersonne=new MobileDataPersonne(); + mobileDataPersonne.setPersonnePayLoad(p); + + Optional optionalMobileDataPersonne= + mobileDataPersonneRepository.findByPersonnePayLoad_TerminalIdAndPersonnePayLoad_ExternalKey(p.getTerminalId(),p.getExternalKey()); + if(optionalMobileDataPersonne.isPresent()){ + mobileDataPersonne=optionalMobileDataPersonne.get(); + } + + }); + } + case MEMBREGROUPE -> { + + } + case ACTEURCONCERNER -> { + + } + case PIECE -> { + + } + case UPLOAD -> { + + } + case BATIMENT -> { + + } + case UNITELOGEMENT -> { + + } + case ENQUETEBATIMENT -> { + + } + case ENQUETEUNITELOGEMENT -> { + + } + case CARACTERISTIQUEPARCELLE -> { + + } + + case CARACTERISTIQUEBATIMENT -> { + + } + case CARACTERISTIQUEUNITELOGEMENT -> { + + } + case PARCELLE -> { + + } + } + + } + private void deleteFromPersonne(Long idBackend) { uploadRepository.deleteUploadByMembreGroupe_PersonneRepresantee_Id(idBackend); uploadRepository.deleteUploadByPiece_Personne_Id(idBackend); - uploadRepository.deleteUploadByPersonne_Id(idBackend); membreGroupeRepository.deleteMembreGroupeByPersonneRepresantante_Id(idBackend); pieceRepository.deletePieceByPersonne_Id(idBackend); @@ -482,9 +550,17 @@ public class SynchronisationServiceImpl implements SynchronisationService { membreGroupe.setExternalKey(membreGroupePayLoad.getExternalKey()); } + + if (membreGroupePayLoad.getEnqueteId() != null) { + Optional optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getEnqueteId(),membreGroupePayLoad.getTerminalId()); + membreGroupe.setExternalKey(membreGroupePayLoad.getExternalKey()); + membreGroupe.setEnqueteId(optionalEnquete.get().getId()); + } + membreGroupe.setMax_numero_acteur_concerne_id(membreGroupePayLoad.getMax_numero_acteur_concerne_id()); membreGroupe.setMax_numero_piece_id(membreGroupePayLoad.getMax_numero_piece_id()); - membreGroupe.setEnqueteId(membreGroupePayLoad.getEnqueteId()); + membreGroupe.setEnqueteExternalKey(membreGroupePayLoad.getEnqueteId()); + membreGroupe.setBlocId(membreGroupePayLoad.getBlocId()); membreGroupe.setObservation(membreGroupePayLoad.getObservation()); diff --git a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/MembreGroupeRepository.java b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/MembreGroupeRepository.java index d41408b..a302766 100755 --- a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/MembreGroupeRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/MembreGroupeRepository.java @@ -2,7 +2,9 @@ package io.gmss.fiscad.repositories.infocad.metier; import io.gmss.fiscad.entities.infocad.metier.MembreGroupe; import io.gmss.fiscad.paylaods.response.restoration.MembreGroupePayLoad; +import jakarta.transaction.Transactional; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import java.util.List; @@ -10,7 +12,8 @@ import java.util.Optional; public interface MembreGroupeRepository extends JpaRepository { Optional findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long terminalId); - + @Modifying + @Transactional void deleteMembreGroupeByPersonneRepresantante_Id(Long personneRepresenteId); @Query(value = "Select " + diff --git a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/PieceRepository.java b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/PieceRepository.java index fd093d1..14b6b46 100755 --- a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/PieceRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/PieceRepository.java @@ -20,8 +20,8 @@ public interface PieceRepository extends JpaRepository { @Transactional void deletePieceByEnqueteId(Long enqueteId); - - + @Modifying + @Transactional void deletePieceByPersonne_Id(Long personneId); @Query(value = "Select " + diff --git a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/UploadRepository.java b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/UploadRepository.java index 4b3bef4..dc4bc62 100644 --- a/src/main/java/io/gmss/fiscad/repositories/infocad/metier/UploadRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/infocad/metier/UploadRepository.java @@ -13,7 +13,8 @@ import java.util.List; import java.util.Optional; public interface UploadRepository extends JpaRepository { - + @Modifying + @Transactional void deleteUploadByPiece_Personne_Id(Long personneId); //void deleteUploadByPiece_ActeurConcerne_Enquete_Id(Long enqueteId); diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataActeurConcerneRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataActeurConcerneRepository.java new file mode 100755 index 0000000..e328a8c --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataActeurConcerneRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataUpload; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataActeurConcerneRepository extends JpaRepository { + Optional findByActeurConcernePayLoad_TerminalIdAndActeurConcernePayLoad_ExternalKey(Long terminalId,Long ExternalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataBatimentRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataBatimentRepository.java new file mode 100755 index 0000000..39cc7f8 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataBatimentRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataBatiment; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataBatimentRepository extends JpaRepository { + Optional findMobileDataBatimentByBatimentPaylaod_TerminalIdAndBatimentPaylaod_ExternalKey(Long terminalId, Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueBatimentRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueBatimentRepository.java new file mode 100755 index 0000000..8e17b96 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueBatimentRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment; +import io.gmss.fiscad.entities.metadata.MobileDataUpload; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataCaracteristiqueBatimentRepository extends JpaRepository { + Optional findByCaracteristiqueBatimentPaylod_TerminalIdAndCaracteristiqueBatimentPaylod_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueParcelleRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueParcelleRepository.java new file mode 100755 index 0000000..b1e8478 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueParcelleRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle; +import io.gmss.fiscad.entities.metadata.MobileDataUpload; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataCaracteristiqueParcelleRepository extends JpaRepository { + Optional findByCaracteristiqueParcellePaylod_TerminalIdAndCaracteristiqueParcellePaylod_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueUniteLogementRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueUniteLogementRepository.java new file mode 100755 index 0000000..2999de8 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataCaracteristiqueUniteLogementRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement; +import io.gmss.fiscad.entities.metadata.MobileDataUpload; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataCaracteristiqueUniteLogementRepository extends JpaRepository { + Optional findByCaracteristiqueUniteLogementPaylod_TerminalIdAndCaracteristiqueUniteLogementPaylod_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteBatimentRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteBatimentRepository.java new file mode 100755 index 0000000..083a4e0 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteBatimentRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataEnqueteBatimentRepository extends JpaRepository { + Optional findByEnqueteBatimentPayload_TerminalIdAndEnqueteBatimentPayload_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteRepository.java new file mode 100755 index 0000000..b386d6f --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataEnquete; +import io.gmss.fiscad.entities.metadata.MobileDataUpload; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataEnqueteRepository extends JpaRepository { + Optional findByEnquetePayLoad_TerminalIdAndEnquetePayLoad_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteUniteLogementRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteUniteLogementRepository.java new file mode 100755 index 0000000..8ef8bbd --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteUniteLogementRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataEnqueteUniteLogementRepository extends JpaRepository { + Optional findByEnqueteUniteLogementPayload_TerminalIdAndEnqueteUniteLogementPayload_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataMembreGroupeRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataMembreGroupeRepository.java new file mode 100755 index 0000000..84ae87d --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataMembreGroupeRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataMembreGroupe; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataMembreGroupeRepository extends JpaRepository { + Optional findByMembreGroupePayLoad_TerminalIdAndMembreGroupePayLoad_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataParcelleRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataParcelleRepository.java new file mode 100755 index 0000000..f42d55b --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataParcelleRepository.java @@ -0,0 +1,12 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataParcelle; +import io.gmss.fiscad.entities.metadata.MobileDataUpload; +import org.modelmapper.internal.bytebuddy.dynamic.DynamicType; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataParcelleRepository extends JpaRepository { + Optional findByParcellePayLoad_TerminalIdAndParcellePayLoad_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPersonneRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPersonneRepository.java new file mode 100755 index 0000000..f46e9a0 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPersonneRepository.java @@ -0,0 +1,12 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataPersonne; +import org.modelmapper.internal.bytebuddy.dynamic.DynamicType; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataPersonneRepository extends JpaRepository { + Optional findByPersonnePayLoad_TerminalIdAndPersonnePayLoad_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPieceRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPieceRepository.java new file mode 100755 index 0000000..d9e9a82 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPieceRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataPiece; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataPieceRepository extends JpaRepository { + Optional findByPiecePayLoad_TerminalIdAndPiecePayLoad_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUniteLogementRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUniteLogementRepository.java new file mode 100755 index 0000000..1df4a39 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUniteLogementRepository.java @@ -0,0 +1,11 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; +import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataUniteLogementRepository extends JpaRepository { + Optional findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey); +} diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUploadRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUploadRepository.java new file mode 100755 index 0000000..0a64035 --- /dev/null +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUploadRepository.java @@ -0,0 +1,10 @@ +package io.gmss.fiscad.repositories.metadata; + +import io.gmss.fiscad.entities.metadata.MobileDataUpload; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface MobileDataUploadRepository extends JpaRepository { + Optional findByUploadPayLoad_TerminalIdAndUploadPayLoad_ExternalKey(Long terminalId,Long externalKey); +}