diff --git a/pom.xml b/pom.xml
index 15fedd3..ef3a84a 100755
--- a/pom.xml
+++ b/pom.xml
@@ -147,6 +147,7 @@
provided
+
diff --git a/src/main/java/io/gmss/fiscad/configuration/AsyncConfig.java b/src/main/java/io/gmss/fiscad/configuration/AsyncConfig.java
new file mode 100644
index 0000000..d486ed9
--- /dev/null
+++ b/src/main/java/io/gmss/fiscad/configuration/AsyncConfig.java
@@ -0,0 +1,175 @@
+package io.gmss.fiscad.configuration;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+@Configuration
+@EnableAsync
+public class AsyncConfig {
+
+ @Bean(name = "uploadExecutor")
+ public java.util.concurrent.Executor uploadExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Upload-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "pieceExecutor")
+ public java.util.concurrent.Executor fileExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Piece-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+
+ @Bean(name = "traitementTableRelationnelleExecutor")
+ public java.util.concurrent.Executor traitementTableRelationnelleExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("traitementTableRelationnelle- ");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+ @Bean(name = "personneExecutor")
+ public java.util.concurrent.Executor personneExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Personne-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "parcelleExecutor")
+ public java.util.concurrent.Executor parcelleExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Parcelle-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(20);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "membreGroupeExecutor")
+ public java.util.concurrent.Executor membreGroupeExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("MembreGroupe-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "acteurConcerneExecutor")
+ public java.util.concurrent.Executor acteurConcerneExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("ActeurConcerne-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "enqueteExecutor")
+ public java.util.concurrent.Executor enqueteExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Enquete-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "enqueteBatimentExecutor")
+ public java.util.concurrent.Executor enqueteBatimentExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Enquete Batiment-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "batimentExecutor")
+ public java.util.concurrent.Executor batimentExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Batiment-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "uniteLogementExecutor")
+ public java.util.concurrent.Executor uniteLogementExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Unite de Logement-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "enqueteUniteLogementExecutor")
+ public java.util.concurrent.Executor enqueteUniteLogementExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Enquete Unité Logement-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "caracteristiqueParcelleExecutor")
+ public java.util.concurrent.Executor caracteristiqueParcelleExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("Caracteristique Parcelle-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "caracteristiqueBatimentExecutor")
+ public java.util.concurrent.Executor caracteristiqueBatimentExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("caracteristique Batiment-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+
+ @Bean(name = "caracteristiqueUniteLogementExecutor")
+ public java.util.concurrent.Executor caracteristiqueUniteLogementExecutor() {
+ var exec = new org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor();
+ exec.setThreadNamePrefix("caracteristique Unité de logement-");
+ exec.setCorePoolSize(2);
+ exec.setMaxPoolSize(16);
+ exec.setQueueCapacity(100);
+ exec.initialize();
+ return exec;
+ }
+}
diff --git a/src/main/java/io/gmss/fiscad/configuration/OpenApiConfig.java b/src/main/java/io/gmss/fiscad/configuration/OpenApiConfig.java
index 755068f..c2c4f6f 100644
--- a/src/main/java/io/gmss/fiscad/configuration/OpenApiConfig.java
+++ b/src/main/java/io/gmss/fiscad/configuration/OpenApiConfig.java
@@ -31,6 +31,10 @@ import io.swagger.v3.oas.annotations.servers.Server;
description = "Local ENV",
url = "http://localhost:8282"
),
+ @Server(
+ description = "TEST ENV (http)",
+ url = "http://novatic.vps.webdock.cloud:8282"
+ ),
@Server(
description = "PROD ENV (https)",
url = "https://backend.fiscad.org"
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 1fadc1e..f992758 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
@@ -28,7 +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;
@@ -39,7 +39,7 @@ public class CommentaireController {
this.commentaireService = commentaireService;
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@PostMapping("/create")
public ResponseEntity> createcommentaire(@RequestBody @Valid @Validated Commentaire commentaire) {
try {
@@ -64,7 +64,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@PutMapping("/update/{id}")
public ResponseEntity> updatecommentaire(@PathVariable Long id, @RequestBody Commentaire commentaire) {
try {
@@ -87,7 +87,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@DeleteMapping("/delete/{id}")
public ResponseEntity> deletecommentaire(@PathVariable Long id) {
try {
@@ -111,7 +111,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@GetMapping("/all")
public ResponseEntity> getAllcommentaireList() {
try {
@@ -134,7 +134,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@GetMapping("/id/{id}")
public ResponseEntity> getcommentaireById(@PathVariable Long id) {
try {
@@ -157,7 +157,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@GetMapping("/nup/{nup}")
public ResponseEntity> getcommentaireByNup(@PathVariable String nup) {
try {
@@ -180,7 +180,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@PostMapping("/enquete")
public ResponseEntity> getcommentaireByEnquete(@RequestBody Commentaire commentaire) {
try {
@@ -203,7 +203,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@PostMapping("/enquete-and-state")
//@ApiOperation(value = "Cette ressource permet d'avoir la liste de tous les commentaires d'une enquête avec le statut (lu ou non lu). Les champs a renseigner pour le payload sont idEnquete et lu")
public ResponseEntity> getcommentaireByEnqueteAndStatut(@RequestBody Commentaire commentaire) {
@@ -227,7 +227,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@PostMapping("/all-by-params")
//@ApiOperation(value = "Cette ressource permet d'avoir 4 résultats différents. \n 1 - Liste des commentaires non lus provenant du Web. \n 2 - Liste des commentaires lus provenant du Web \n 3 - Liste des commentaires non lus provenant du mobile. \n 4 - Liste des commentaires lus provenant du mobile. \n A savoir : Les variables Origine et lu sont à varier pour avoir le résultat")
public ResponseEntity> getcommentaireByParams(@RequestBody CommentaireRequest commentaireRequest) {
@@ -299,7 +299,7 @@ public class CommentaireController {
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
-
+ @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
@PostMapping("synchronise/notify-done-from-mobile")
//@ApiOperation(value = "Cette ressource permet matérialiser coté backend les commentaires du WEB déjà synchronisé avec le MOBILE pour que les prochaines extractions ne prennent pas en compte cela. ")
public ResponseEntity> notifyDoneSynchronizedFromMobile(@RequestBody List syncCommentaireRequests) {
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 35b1aa5..10b0704 100644
--- a/src/main/java/io/gmss/fiscad/controllers/synchronisation/SynchronisationController.java
+++ b/src/main/java/io/gmss/fiscad/controllers/synchronisation/SynchronisationController.java
@@ -514,7 +514,7 @@ public class SynchronisationController {
@GetMapping("/traiter-non-synch-to-mobile/{terminalId}")
- @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
+ //@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity> getEnqueteValideNonSynch(@PathVariable Long terminalId) {
try {
return new ResponseEntity<>(
@@ -537,4 +537,31 @@ public class SynchronisationController {
}
}
+
+
+ @PostMapping("/traite-synchronisation/{terminalId}")
+ //@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
+ public ResponseEntity> traiteSynchronisation(@PathVariable Long terminalId) {
+ try {
+ synchronisationService.traitementTableRelationnelle(terminalId);
+ return new ResponseEntity<>(
+ new ApiResponse<>(true, null, "Synchronisation lancée avec succès."),
+ HttpStatus.OK
+ );
+ } catch (HttpClientErrorException.MethodNotAllowed e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
+ } catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
+ FileStorageException e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
+ } catch (NullPointerException e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
+ } catch (Exception e) {
+ logger.error(e.getLocalizedMessage());
+ return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
+ }
+ }
+
}
diff --git a/src/main/java/io/gmss/fiscad/entities/infocad/metier/ActeurConcerne.java b/src/main/java/io/gmss/fiscad/entities/infocad/metier/ActeurConcerne.java
index 682ee7f..e26b747 100644
--- a/src/main/java/io/gmss/fiscad/entities/infocad/metier/ActeurConcerne.java
+++ b/src/main/java/io/gmss/fiscad/entities/infocad/metier/ActeurConcerne.java
@@ -69,5 +69,6 @@ public class ActeurConcerne extends BaseEntity implements Serializable {
@ColumnDefault("0")
private int haveDeclarant;
private Long max_numero_acteur_concerne_id;
+ private Long mobileDataId;
}
diff --git a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Enquete.java b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Enquete.java
index 03813a7..03bf195 100644
--- a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Enquete.java
+++ b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Enquete.java
@@ -56,7 +56,7 @@ public class Enquete extends BaseEntity implements Serializable {
@JsonIgnore
@ManyToOne
private User user;
-
+ private Long mobileDataId;
@JsonIgnore
@OneToMany(mappedBy = "enquete")
private List acteurConcernes;
diff --git a/src/main/java/io/gmss/fiscad/entities/infocad/metier/MembreGroupe.java b/src/main/java/io/gmss/fiscad/entities/infocad/metier/MembreGroupe.java
index 2763fd1..5b935d3 100644
--- a/src/main/java/io/gmss/fiscad/entities/infocad/metier/MembreGroupe.java
+++ b/src/main/java/io/gmss/fiscad/entities/infocad/metier/MembreGroupe.java
@@ -41,7 +41,7 @@ public class MembreGroupe extends BaseEntity implements Serializable {
@JsonIgnore
@ManyToOne
private Tpe terminal;
-
+ private Long mobileDataId;
private Long max_numero_piece_id;
private Long max_numero_acteur_concerne_id;
private Long enqueteId;
diff --git a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Parcelle.java b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Parcelle.java
index 3634b4e..f14d19d 100644
--- a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Parcelle.java
+++ b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Parcelle.java
@@ -59,6 +59,7 @@ public class Parcelle extends BaseEntity implements Serializable {
@ColumnDefault("false")
private boolean synchronise;
private Long idDerniereEnquete;
+ private Long mobileDataId;
// @JsonIgnore
// @OneToMany(mappedBy = "parcelle")
// private List batiments;
diff --git a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Piece.java b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Piece.java
index b3f166d..e27f9ac 100644
--- a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Piece.java
+++ b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Piece.java
@@ -45,7 +45,7 @@ public class Piece extends BaseEntity implements Serializable {
private LocalDate dateExpiration;
@ManyToOne
private TypePiece typePiece;
-
+ private Long mobileDataId;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
private Personne personne;
diff --git a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Upload.java b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Upload.java
index 43705d5..73a1765 100644
--- a/src/main/java/io/gmss/fiscad/entities/infocad/metier/Upload.java
+++ b/src/main/java/io/gmss/fiscad/entities/infocad/metier/Upload.java
@@ -38,7 +38,7 @@ public class Upload extends BaseEntity implements Serializable {
private Piece piece;
private Long pieceExternalKey;
-
+ private Long mobileDataId;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
private MembreGroupe membreGroupe;
diff --git a/src/main/java/io/gmss/fiscad/entities/infocad/parametre/Personne.java b/src/main/java/io/gmss/fiscad/entities/infocad/parametre/Personne.java
index 6b7ebb5..2e0d462 100644
--- a/src/main/java/io/gmss/fiscad/entities/infocad/parametre/Personne.java
+++ b/src/main/java/io/gmss/fiscad/entities/infocad/parametre/Personne.java
@@ -8,6 +8,7 @@ import io.gmss.fiscad.entities.infocad.metier.ActeurConcerne;
import io.gmss.fiscad.entities.infocad.metier.Piece;
import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.infocad.metier.Upload;
+import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
import io.gmss.fiscad.enums.Categorie;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
@@ -83,6 +84,8 @@ public class Personne extends BaseEntity implements Serializable {
@OneToMany(mappedBy = "personne")
private List pieces;
+
+ private Long mobileDataId;
public List getUploads() {
return uploads.stream().filter(upload -> upload.getPiece() == null && upload.getMembreGroupe() == null).toList();
}
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataActeurConcerne.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataActeurConcerne.java
index 9c7d9a1..8633e18 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataActeurConcerne.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataActeurConcerne.java
@@ -17,6 +17,8 @@ public class MobileDataActeurConcerne extends BaseEntity implements Serializable
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private ActeurConcernePayLoad acteurConcernePayLoad ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataBatiment.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataBatiment.java
index 50a5bdc..d44b3b0 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataBatiment.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataBatiment.java
@@ -17,6 +17,8 @@ public class MobileDataBatiment extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private BatimentPaylaod batimentPaylaod ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueBatiment.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueBatiment.java
index 7da51b2..8c18e76 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueBatiment.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueBatiment.java
@@ -17,6 +17,8 @@ public class MobileDataCaracteristiqueBatiment extends BaseEntity implements Ser
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueParcelle.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueParcelle.java
index df025a5..af95c2d 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueParcelle.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueParcelle.java
@@ -17,6 +17,8 @@ public class MobileDataCaracteristiqueParcelle extends BaseEntity implements Ser
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private CaracteristiqueParcellePaylod caracteristiqueParcellePaylod ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueUniteLogement.java
index 64802fb..6d1edca 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueUniteLogement.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataCaracteristiqueUniteLogement.java
@@ -17,6 +17,8 @@ public class MobileDataCaracteristiqueUniteLogement extends BaseEntity implement
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnquete.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnquete.java
index 5b10494..99602d9 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnquete.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnquete.java
@@ -17,6 +17,8 @@ public class MobileDataEnquete extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private EnquetePayLoad enquetePayLoad ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteBatiment.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteBatiment.java
index 8baafdd..e16dee2 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteBatiment.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteBatiment.java
@@ -17,6 +17,8 @@ public class MobileDataEnqueteBatiment extends BaseEntity implements Serializabl
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private EnqueteBatimentPayload enqueteBatimentPayload ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteUniteLogement.java
index 755a463..9da7b1e 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteUniteLogement.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataEnqueteUniteLogement.java
@@ -17,6 +17,8 @@ public class MobileDataEnqueteUniteLogement extends BaseEntity implements Serial
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private EnqueteUniteLogementPayload enqueteUniteLogementPayload ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataMembreGroupe.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataMembreGroupe.java
index 14e8fe4..3a7d16b 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataMembreGroupe.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataMembreGroupe.java
@@ -17,6 +17,8 @@ public class MobileDataMembreGroupe extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private MembreGroupePayLoad membreGroupePayLoad ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataParcelle.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataParcelle.java
index b2820c6..1bc6459 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataParcelle.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataParcelle.java
@@ -17,6 +17,8 @@ public class MobileDataParcelle extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private ParcellePayLoad parcellePayLoad ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPersonne.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPersonne.java
index c7a733a..57dfb88 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPersonne.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPersonne.java
@@ -18,6 +18,8 @@ public class MobileDataPersonne extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private PersonnePayLoad personnePayLoad ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPiece.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPiece.java
index 48edb0f..4182fe4 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPiece.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataPiece.java
@@ -17,6 +17,8 @@ public class MobileDataPiece extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private PiecePayLoad piecePayLoad ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUniteLogement.java
index e23dac5..cc1c900 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUniteLogement.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUniteLogement.java
@@ -18,6 +18,8 @@ public class MobileDataUniteLogement extends BaseEntity implements Serializable
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private UniteLogementPaylaod uniteLogementPaylaod ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUpload.java b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUpload.java
index 6a82de3..06cb56f 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUpload.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/MobileDataUpload.java
@@ -17,6 +17,8 @@ public class MobileDataUpload extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
+ private Long terminalId;
+ private Long externalKey;
@Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb")
private UploadPayLoad uploadPayLoad ;
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/PieceMetaData.java b/src/main/java/io/gmss/fiscad/entities/metadata/PieceMetaData.java
index 78cf1f6..61dc369 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/PieceMetaData.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/PieceMetaData.java
@@ -18,7 +18,8 @@ public class PieceMetaData extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
-
+ private Long terminalId;
+ private Long externalKey;
private Long pieceId;
@Type(JsonBinaryType.class)
diff --git a/src/main/java/io/gmss/fiscad/entities/metadata/UploadMetaData.java b/src/main/java/io/gmss/fiscad/entities/metadata/UploadMetaData.java
index da4352d..7260255 100644
--- a/src/main/java/io/gmss/fiscad/entities/metadata/UploadMetaData.java
+++ b/src/main/java/io/gmss/fiscad/entities/metadata/UploadMetaData.java
@@ -26,7 +26,8 @@ public class UploadMetaData extends BaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
-
+ private Long terminalId;
+ private Long externalKey;
private Long uploadId;
@Type(JsonBinaryType.class)
diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/Batiment.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/Batiment.java
index d74b49d..b06a9ad 100644
--- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/Batiment.java
+++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/Batiment.java
@@ -43,4 +43,5 @@ public class Batiment extends BaseEntity implements Serializable {
@ManyToOne
private Tpe terminal;
private Long enqueteId;
+ private Long mobileDataId;
}
diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueBatiment.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueBatiment.java
index 1942096..c00b6d7 100644
--- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueBatiment.java
+++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueBatiment.java
@@ -31,7 +31,7 @@ public class CaracteristiqueBatiment extends BaseEntity implements Serializable
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
-
+ private Long mobileDataId;
@ManyToOne(fetch = FetchType.LAZY)
@JsonBackReference ///pour couper la recurcivité
private EnqueteBatiment enqueteBatiment;
diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueParcelle.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueParcelle.java
index 8419fce..ca71f52 100644
--- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueParcelle.java
+++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueParcelle.java
@@ -30,7 +30,7 @@ public class CaracteristiqueParcelle extends BaseEntity implements Serializable
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
-
+ private Long mobileDataId;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
private Enquete enquete;
diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueUniteLogement.java
index dca1e05..de2553f 100644
--- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueUniteLogement.java
+++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/CaracteristiqueUniteLogement.java
@@ -41,5 +41,5 @@ public class CaracteristiqueUniteLogement extends BaseEntity implements Serializ
@ManyToOne
private Tpe terminal;
private Long enqueteId;
-
+ private Long mobileDataId;
}
diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteBatiment.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteBatiment.java
index 1654384..9e5a340 100644
--- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteBatiment.java
+++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteBatiment.java
@@ -84,7 +84,7 @@ public class EnqueteBatiment extends BaseEntity implements Serializable {
@JsonIgnore
@ManyToOne
private User user;
-
+ private Long mobileDataId;
//@JsonIgnore
@OneToMany(mappedBy = "enqueteBatiment")
private List uploads;
diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteUniteLogement.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteUniteLogement.java
index 9d45867..6596d78 100644
--- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteUniteLogement.java
+++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/EnqueteUniteLogement.java
@@ -68,7 +68,7 @@ public class EnqueteUniteLogement extends BaseEntity implements Serializable {
@OneToOne
private Personne personne;
private Long personneExternalKey;
-
+ private Long mobileDataId;
@OneToMany(mappedBy = "enqueteUniteLogement")
@JsonManagedReference
private List caracteristiqueUniteLogements;
diff --git a/src/main/java/io/gmss/fiscad/entities/rfu/metier/UniteLogement.java b/src/main/java/io/gmss/fiscad/entities/rfu/metier/UniteLogement.java
index a015d3b..006409d 100644
--- a/src/main/java/io/gmss/fiscad/entities/rfu/metier/UniteLogement.java
+++ b/src/main/java/io/gmss/fiscad/entities/rfu/metier/UniteLogement.java
@@ -38,4 +38,5 @@ public class UniteLogement extends BaseEntity implements Serializable {
@ManyToOne
private Tpe terminal;
private Long enqueteId;
+ private Long mobileDataId;
}
diff --git a/src/main/java/io/gmss/fiscad/enums/TypeObjet.java b/src/main/java/io/gmss/fiscad/enums/TypeObjet.java
index d79ea79..d666dab 100644
--- a/src/main/java/io/gmss/fiscad/enums/TypeObjet.java
+++ b/src/main/java/io/gmss/fiscad/enums/TypeObjet.java
@@ -2,6 +2,7 @@ package io.gmss.fiscad.enums;
public enum TypeObjet {
PARCELLE,
+ ENQUETE,
PERSONNE,
MEMBREGROUPE,
ACTEURCONCERNER,
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 9c978b5..973a536 100644
--- a/src/main/java/io/gmss/fiscad/implementations/synchronisation/SynchronisationServiceImpl.java
+++ b/src/main/java/io/gmss/fiscad/implementations/synchronisation/SynchronisationServiceImpl.java
@@ -27,15 +27,18 @@ import io.gmss.fiscad.repositories.rfu.parametre.TypeCaracteristiqueRepository;
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
import io.gmss.fiscad.repositories.user.UserRepository;
import io.gmss.fiscad.service.FileStorageService;
+import io.gmss.fiscad.service.worker.*;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.scheduling.annotation.Async;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
+import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -45,7 +48,6 @@ import java.util.function.ToDoubleBiFunction;
@Service
@RequiredArgsConstructor
public class SynchronisationServiceImpl implements SynchronisationService {
- private Authentication authentication;
private final UserService userService;
private final DepartementRepository departementRepository;
private final CommuneRepository communeRepository;
@@ -59,40 +61,17 @@ public class SynchronisationServiceImpl implements SynchronisationService {
private final ProfessionRepository professionRepository;
private final SituationMatrimonialeRepository situationMatrimonialeRepository;
private final SourceDroitRepository sourceDroitRepository;
- private final StructureRepository structureRepository;
private final TypeContestationRepository typeContestationRepository;
private final TypeDomaineRepository typeDomaineRepository;
private final TypePersonneRepository typePersonneRepository;
private final TypePieceRepository typePieceRepository;
private final TypeRepresentationRepository typeRepresentationRepository;
- private final MembreGroupeRepository membreGroupeRepository;
- private final PersonneRepository personneRepository;
private final EnqueteRepository enqueteRepository;
- private final ParcelleRepository parcelleRepository;
- private final UserRepository userRepository;
private final SituationGeographiqueRepository situationGeographiqueRepository;
- private final PieceRepository pieceRepository;
- private final ActeurConcerneRepository acteurConcerneRepository;
- private final UploadRepository uploadRepository;
- private final UploadMetaDataRepository uploadMetaDataRepository;
- private final PieceMetaDataRepository pieceMetaDataRepository;
private final FileStorageService fileStorageService;
- private final TpeRepository tpeRepository;
- private final BatimentRepository batimentRepository;
- private final UniteLogementRepository uniteLogementRepository;
private final ZoneRfuRepository zoneRfuRepository;
-
private final CaracteristiqueRepository caracteristiqueRepository;
private final TypeCaracteristiqueRepository typeCaracteristiqueRepository;
-
- private final EnqueteBatimentRepository enqueteBatimentRepository;
- private final EnqueteUniteLogementRepository enqueteUniteLogementRepository;
-
- private final CaracteristiqueBatimentRepository caracteristiqueBatimentRepository;
- private final CaracteristiqueParcelleRepository caracteristiqueParcelleRepository;
- private final CaracteristiqueUniteLogementRepository caracteristiqueUniteLogementRepository;
- private final ParcelleGeomService parcelleGeomService;
-
private final MobileDataEnqueteBatimentRepository mobileDataEnqueteBatimentRepository;
private final MobileDataActeurConcerneRepository mobileDataActeurConcerneRepository;
private final MobileDataPersonneRepository mobileDataPersonneRepository;
@@ -107,12 +86,27 @@ public class SynchronisationServiceImpl implements SynchronisationService {
private final MobileDataCaracteristiqueUniteLogementRepository mobileDataCaracteristiqueUniteLogementRepository;
private final MobileDataUniteLogementRepository mobileDataUniteLogementRepository;
private final MobileDataParcelleRepository mobileDataParcelleRepository;
+ private final PersonneAsyncWorker personneAsyncWorker;
+ private final MembreGroupeAsyncWorker membreGroupeAsyncWorker;
+ private final ActeurConcerneAsyncWorker acteurConcerneAsyncWorker;
+ private final BatimentAsyncWorker batimentAsyncWorker;
+ private final CaracteristiqueBatimentAsyncWorker caracteristiqueBatimentAsyncWorker;
+ private final CaracteristiqueParcelleAsyncWorker caracteristiqueParcelleAsyncWorker;
+ private final CaracteristiqueUniteLogementAsyncWorker caracteristiqueUniteLogementAsyncWorker;
+ private final EnqueteAsyncWorker enqueteAsyncWorker;
+ private final EnqueteBatimentAsyncWorker enqueteBatimentAsyncWorker;
+ private final EnqueteUniteLogementAsyncWorker enqueteUniteLogementAsyncWorker;
+ private final ParcelleAsyncWorker parcelleAsyncWorker;
+ private final PieceAsyncWorker pieceAsyncWorker;
+ private final UniteLogementAsyncWorker uniteLogementAsyncWorker;
+ private final UploadAsyncWorker uploadAsyncWorker;
@Value("${io.gmss.fiscad.profile}")
private String profile;
+
@Override
public UserDecoupageSyncResponses getDecoupageAdminUserConnecter() {
- authentication = SecurityContextHolder.getContext().getAuthentication();
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
String userName = authentication.getName();
User user = userService.getUserByUsername(userName);
@@ -131,7 +125,6 @@ public class SynchronisationServiceImpl implements SynchronisationService {
List blocSyncResponses = new ArrayList<>();
System.out.println(profile);
if (profile.equals(ProfileApp.ABOMEY.toString().toLowerCase())) {
- System.out.println("ABOMEY");
if (user.getStructure() != null) {
System.out.println(user.getStructure().getId());
blocSyncResponses =
@@ -159,14 +152,11 @@ public class SynchronisationServiceImpl implements SynchronisationService {
@Override
public ReferencesSyncResponses getReferencesSyncResponses() {
ReferencesSyncResponses referencesSyncResponses = new ReferencesSyncResponses();
-
List typeRepresentationSyncResponses = typeRepresentationRepository.findAll();
List typePieceSyncResponses = typePieceRepository.findAll();
List typePersonneSyncResponses = typePersonneRepository.findAll();
List typeDomaineSyncResponses = typeDomaineRepository.findAll();
List typeContestationSyncResponses = typeContestationRepository.findAll();
- // List structureSyncResponses = structureRepository.findAll();
- //List sourceDroitResponses = sourceDroitRepository.findAll();
List sourceDroitSyncResponses = sourceDroitRepository.getSourceDroitSyncResponse();
List situationMatrimonialeSyncResponses = situationMatrimonialeRepository.findAll();
List professionSyncResponses = professionRepository.findAll();
@@ -178,13 +168,11 @@ public class SynchronisationServiceImpl implements SynchronisationService {
List situationGeographiques = situationGeographiqueRepository.findAll();
List typePersonneNatureDomaineSyncResponses = natureDomaineRepository.getTypePersonneNatureDomaineSyncResponse();
List modesAcquisitionTypePersonneSyncResponses = modeAcquisitionRepository.getModeAcquisitionTypePersonne();
-
List caracteristiquesSyncResponses = caracteristiqueRepository.findAllByActifIsTrue();
List typeCaracteristiquesSyncResponses = typeCaracteristiqueRepository.findAllByActifIsTrue();
List zoneRfuSyncResponses = zoneRfuRepository.getZoneRfuResponse();
-
referencesSyncResponses.setNatureDomaineSyncResponses(natureDomaineSyncResponses);
referencesSyncResponses.setNationaliteSyncResponses(nationaliteSyncResponses);
referencesSyncResponses.setModeAcquisitionSyncResponses(modeAcquisitionSyncResponses);
@@ -238,76 +226,330 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponses.add(syncResponse);
return syncResponses;
}
-
- //saveMobileData(personnePayLoads,TypeObjet.PERSONNE);
-
- personnePayLoads.forEach(personnePayLoad -> {
- try {
- System.out.println(personnePayLoad);
- if (personnePayLoad.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(personnePayLoad.getIdBackend(),
- personnePayLoad.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(personnePayLoad.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(personnePayLoad.getIdBackend(),
- personnePayLoad.getExternalKey(), false, "Le terminal n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- Personne personne = new Personne();
- SyncResponse syncResponse = new SyncResponse();
- personnePayLoad.setSynchronise(true);
- if (personnePayLoad.getIdBackend() != null && personnePayLoad.getIdBackend() != 0) {
- Optional optionalPersonne = personneRepository.findById(personnePayLoad.getIdBackend());
- if (optionalPersonne.isPresent()) {
- personne = optionalPersonne.get();
- deleteFromPersonne(personne.getId());
- }else{
- personnePayLoad.setIdBackend(null);
- }
- personne = getPersonneFromPersonnePayLoad(personne, personnePayLoad);
- personne = personneRepository.save(personne);
- personnePayLoad.setIdBackend(personne.getId());
- }
- else {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(personnePayLoad.getExternalKey(),personnePayLoad.getTerminalId());
- if(optionalPersonne.isPresent()){
- System.out.println("SUPRESSION FROM PERSONNE "+personne.getId());
- deleteFromPersonne(optionalPersonne.get().getId());
- personne = optionalPersonne.get();
- personne = getPersonneFromPersonnePayLoad(personne, personnePayLoad);
- personne = personneRepository.save(personne);
- personnePayLoad.setIdBackend(personne.getId());
- }else {
- personne = getPersonneFromPersonnePayLoad(personne, personnePayLoad);
- personne = personneRepository.save(personne);
- personnePayLoad.setIdBackend(personne.getId());
- }
- }
- syncResponse.setObservation(personnePayLoad.getObservation());
- syncResponse.setExternalKey(personnePayLoad.getExternalKey());
- syncResponse.setSynchronise(personnePayLoad.isSynchronise());
- syncResponse.setIdBackend(personnePayLoad.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(personnePayLoad.getIdBackend(),
- personnePayLoad.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
- });
+ syncResponses = saveMobileData(personnePayLoads, TypeObjet.PERSONNE);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataPersonne= mobileDataPersonneRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataPersonne.isPresent()){
+// personneAsyncWorker.traitementAsyncPersonne(optionalMobileDataPersonne.get());
+// }
+// //optionalMobileDataPersonne.ifPresent(personneAsyncWorker::traitementAsyncPersonne);
+// });
return syncResponses;
}
- private List saveMobileData(List payloads, TypeObjet typeObjet) {
- List syncResponses = new ArrayList<>();
- switch (typeObjet){
+ @Override
+ public List syncMembreGroupe(List membreGroupePayLoads) {
+ List syncResponses = new ArrayList<>();
+ if (membreGroupePayLoads == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucun membre à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(membreGroupePayLoads, TypeObjet.MEMBREGROUPE);
+
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataMembreGroupe= mobileDataMembreGroupeRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataMembreGroupe.isPresent()){
+// membreGroupeAsyncWorker.traitementAsyncMembreGroupe(optionalMobileDataMembreGroupe.get());
+// }
+// //optionalMobileDataMembreGroupe.ifPresent(membreGroupeAsyncWorker::traitementAsyncMembreGroupe);
+// });
+
+ return syncResponses;
+ }
+
+ @Override
+ @Transactional
+ public List syncEnquete(List enquetePayLoads) {
+ List syncResponses = new ArrayList<>();
+ if (enquetePayLoads == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune enquête à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(enquetePayLoads, TypeObjet.ENQUETE);
+
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataEnquete= mobileDataEnqueteRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataEnquete.isPresent()){
+// enqueteAsyncWorker.traitementAsyncEnquete(optionalMobileDataEnquete.get());
+// }
+//
+// });
+
+ return syncResponses;
+ }
+
+ @Override
+ public List syncParcelle(List parcellePayLoads) {
+ List syncResponses = new ArrayList<>();
+ if (parcellePayLoads == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune parcelle à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(parcellePayLoads, TypeObjet.PARCELLE);
+
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataParcelle= mobileDataParcelleRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataParcelle.isPresent()){
+// parcelleAsyncWorker.traitementAsyncParcelle(optionalMobileDataParcelle.get());
+// }
+// //optionalMobileDataParcelle.ifPresent(parcelleAsyncWorker::traitementAsyncParcelle);
+// });
+
+ return syncResponses;
+ }
+ @Override
+ public List syncPiece(List piecePayLoads) {
+ List syncResponses = new ArrayList<>();
+ if (piecePayLoads == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune pièce à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(piecePayLoads, TypeObjet.PIECE);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataPiece= mobileDataPieceRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataPiece.isPresent()){
+// pieceAsyncWorker.traitementAsyncPiece(optionalMobileDataPiece.get());
+// }
+// //optionalMobileDataPiece.ifPresent(pieceAsyncWorker::traitementAsyncPiece);
+// });
+ return syncResponses;
+ }
+
+ @Override
+ public List syncActeurConcerne(List acteurConcernePayLoads) {
+ List syncResponses = new ArrayList<>();
+ if (acteurConcernePayLoads == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucun acteur concerné à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(acteurConcernePayLoads, TypeObjet.ACTEURCONCERNER);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataActeurConcerne= mobileDataActeurConcerneRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataActeurConcerne.isPresent()){
+// acteurConcerneAsyncWorker.traitementAsyncActeurConcerne(optionalMobileDataActeurConcerne.get());
+// }
+// //optionalMobileDataActeurConcerne.ifPresent(acteurConcerneAsyncWorker::traitementAsyncActeurConcerne);
+// });
+
+ return syncResponses;
+ }
+ @Override
+ public SyncResponse syncFiles(MultipartFile file,
+ Long idBackend,
+ Long externalKey,
+ Long pieceId,
+ Long membreGroupeId,
+ Long terminalId,
+ String name,
+ String filePath,
+ Long max_numero_piece_id,
+ Long max_numero_upload_id,
+ Long max_numero_acteur_concerne_id,
+ Long enqueteId,
+ Long enqueteBatimentId,
+ Long enqueteUniteLogementId,
+ Long personneId) {
+ UploadPayLoad uploadPayLoad = new UploadPayLoad();
+ uploadPayLoad.setSynchronise(false);
+ //uploadPayLoad.setFile(file);
+ uploadPayLoad.setExternalKey(externalKey);
+ uploadPayLoad.setPieceId(pieceId);
+ uploadPayLoad.setIdBackend(idBackend);
+ uploadPayLoad.setMembreGroupeId(membreGroupeId);
+ uploadPayLoad.setTerminalId(terminalId);
+ uploadPayLoad.setName(name);
+ uploadPayLoad.setFilePath(filePath);
+ uploadPayLoad.setMax_numero_upload_id(max_numero_upload_id);
+ uploadPayLoad.setMax_numero_piece_id(max_numero_piece_id);
+ uploadPayLoad.setMax_numero_acteur_concerne_id(max_numero_acteur_concerne_id);
+ uploadPayLoad.setEnqueteId(enqueteId);
+ uploadPayLoad.setEnqueteBatimentId(enqueteBatimentId);
+ uploadPayLoad.setEnqueteUniteLogementId(enqueteUniteLogementId);
+ uploadPayLoad.setPersonneId(personneId);
+ List uploadPayLoads = new ArrayList<>();
+ uploadPayLoads.add(uploadPayLoad);
+ try {
+ List syncResponses = saveMobileData(uploadPayLoads, TypeObjet.UPLOAD,file);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataUpload= mobileDataUploadRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataUpload.isPresent()){
+// uploadAsyncWorker.traitementAsyncUpload(optionalMobileDataUpload.get());
+// }
+//
+// //optionalMobileDataUpload.ifPresent(uploadAsyncWorker::traitementAsyncUpload);
+// });
+ return syncResponses.get(0);
+ } catch (Exception e) {
+ e.printStackTrace();
+ SyncResponse syncResponse = new SyncResponse(uploadPayLoad.getIdBackend(),
+ uploadPayLoad.getExternalKey(), false, "Erreur inattendue");
+ return syncResponse;
+ }
+ }
+
+
+
+ @Override
+ public List syncBatiment(List batimentPaylaods) {
+
+ List syncResponses = new ArrayList<>();
+ if (batimentPaylaods == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucun batiment à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+
+ syncResponses = saveMobileData(batimentPaylaods, TypeObjet.BATIMENT);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataBatiment = mobileDataBatimentRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataBatiment.isPresent()){
+// batimentAsyncWorker.traitementAsyncBatiment(optionalMobileDataBatiment.get());
+// }
+// //optionalMobileDataBatiment.ifPresent(batimentAsyncWorker::traitementAsyncBatiment);
+// });
+ return syncResponses;
+ }
+ @Override
+ public List syncUniteLogement(List uniteLogementPaylaods) {
+
+ List syncResponses = new ArrayList<>();
+ if (uniteLogementPaylaods == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune unité de logement à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(uniteLogementPaylaods, TypeObjet.UNITELOGEMENT);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataUniteLogement= mobileDataUniteLogementRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataUniteLogement.isPresent()){
+// uniteLogementAsyncWorker.traitementAsyncUniteLogement(optionalMobileDataUniteLogement.get());
+// }
+// //optionalMobileDataUniteLogement.ifPresent(uniteLogementAsyncWorker::traitementAsyncUniteLogement);
+// });
+ return syncResponses;
+ }
+
+ @Override
+ public List syncCaracteristiqueBatiment(List caracteristiqueBatimentPaylods) {
+ List syncResponses = new ArrayList<>();
+ if (caracteristiqueBatimentPaylods == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune caracteristique de bâtiment à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(caracteristiqueBatimentPaylods, TypeObjet.CARACTERISTIQUEBATIMENT);
+
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataCaracteristiqueBatiment= mobileDataCaracteristiqueBatimentRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataCaracteristiqueBatiment.isPresent()){
+// caracteristiqueBatimentAsyncWorker.traitementAsyncCaracteristiqueBatiment(optionalMobileDataCaracteristiqueBatiment.get());
+// }
+// //optionalMobileDataCaracteristiqueBatiment.ifPresent(caracteristiqueBatimentAsyncWorker::traitementAsyncCaracteristiqueBatiment);
+// });
+
+ return syncResponses;
+ }
+ @Override
+ public List syncCaracteristiqueUniteLogement(List caracteristiqueUniteLogementPaylods) {
+ List syncResponses = new ArrayList<>();
+ if (caracteristiqueUniteLogementPaylods == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune caracteristique d'unité de logement à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(caracteristiqueUniteLogementPaylods, TypeObjet.CARACTERISTIQUEUNITELOGEMENT);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataCaracteristiqueUniteLogement= mobileDataCaracteristiqueUniteLogementRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataCaracteristiqueUniteLogement.isPresent()){
+// caracteristiqueUniteLogementAsyncWorker.traitementAsyncCaracteristiqueUniteLogement(optionalMobileDataCaracteristiqueUniteLogement.get());
+// }
+// //optionalMobileDataCaracteristiqueUniteLogement.ifPresent(caracteristiqueUniteLogementAsyncWorker::traitementAsyncCaracteristiqueUniteLogement);
+// });
+ return syncResponses;
+ }
+ @Override
+ public List syncCaracteristiqueParcelle(List caracteristiqueParcellePaylods) {
+ List syncResponses = new ArrayList<>();
+ if (caracteristiqueParcellePaylods == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune caracteristique de parcelle à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(caracteristiqueParcellePaylods, TypeObjet.CARACTERISTIQUEPARCELLE);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataCaracteristiqueParcelle= mobileDataCaracteristiqueParcelleRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataCaracteristiqueParcelle.isPresent()){
+// caracteristiqueParcelleAsyncWorker.traitementAsyncCaracteristiqueParcelle(optionalMobileDataCaracteristiqueParcelle.get());
+// }
+// //optionalMobileDataCaracteristiqueParcelle.ifPresent(caracteristiqueParcelleAsyncWorker::traitementAsyncCaracteristiqueParcelle);
+// });
+ return syncResponses;
+ }
+ @Override
+ public List syncEnqueteBatiment(List enqueteBatimentPayLoads) {
+ List syncResponses = new ArrayList<>();
+ if (enqueteBatimentPayLoads == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune enquête de batiment à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(enqueteBatimentPayLoads, TypeObjet.ENQUETEBATIMENT);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataEnqueteBatiment= mobileDataEnqueteBatimentRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataEnqueteBatiment.isPresent()){
+// enqueteBatimentAsyncWorker.traitementAsyncEnqueteBatiment(optionalMobileDataEnqueteBatiment.get());
+// }
+// //optionalMobileDataEnqueteBatiment.ifPresent(enqueteBatimentAsyncWorker::traitementAsyncEnqueteBatiment);
+// });
+ return syncResponses;
+ }
+
+ @Override
+ public List syncEnqueteUniteLogement(List enqueteUniteLogementPayloads) {
+ List syncResponses = new ArrayList<>();
+ if (enqueteUniteLogementPayloads == null) {
+ SyncResponse syncResponse = new SyncResponse(null,
+ null, false, "Aucune enquête d'unité de logement à synchroniser");
+ syncResponses.add(syncResponse);
+ return syncResponses;
+ }
+ syncResponses = saveMobileData(enqueteUniteLogementPayloads, TypeObjet.ENQUETEUNITELOGEMENT);
+// syncResponses.forEach(syncResponse -> {
+// Optional optionalMobileDataEnqueteUniteLogement= mobileDataEnqueteUniteLogementRepository.findById(syncResponse.getIdBackend());
+// if(optionalMobileDataEnqueteUniteLogement.isPresent()){
+// enqueteUniteLogementAsyncWorker.traitementAsyncEnqueteUniteLogement(optionalMobileDataEnqueteUniteLogement.get());
+// }
+// //optionalMobileDataEnqueteUniteLogement.ifPresent(enqueteUniteLogementAsyncWorker::traitementAsyncEnqueteUniteLogement);
+// });
+ return syncResponses;
+ }
+
+ private List saveMobileData(List payloads, TypeObjet typeObjet) {
+ return saveMobileData(payloads, typeObjet, null);
+ }
+
+ private List saveMobileData(List payloads, TypeObjet typeObjet, MultipartFile file) {
+ List syncResponses = new ArrayList<>();
+ System.out.println("==SYNCHRONISATION== : "+typeObjet.toString());
+ switch (typeObjet) {
case PERSONNE -> {
payloads.forEach(payLoad -> {
PersonnePayLoad personnePayLoad = (PersonnePayLoad) payLoad;
@@ -322,12 +564,14 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataPersonne = optionalMobileDataPersonne.get();
}
} else {
- optionalMobileDataPersonne = mobileDataPersonneRepository.findByPersonnePayLoad_TerminalIdAndPersonnePayLoad_ExternalKey(personnePayLoad.getTerminalId(), personnePayLoad.getExternalKey());
+ optionalMobileDataPersonne = mobileDataPersonneRepository.findFirstByTerminalIdAndEnqueteExternalKey(personnePayLoad.getTerminalId(), personnePayLoad.getExternalKey());
if (optionalMobileDataPersonne.isPresent()) {
mobileDataPersonne = optionalMobileDataPersonne.get();
}
}
+ mobileDataPersonne.setTerminalId(personnePayLoad.getTerminalId());
+ mobileDataPersonne.setExternalKey(personnePayLoad.getExternalKey());
mobileDataPersonne.setTraiter(false);
mobileDataPersonne.setPersonnePayLoad(personnePayLoad);
mobileDataPersonne = mobileDataPersonneRepository.save(mobileDataPersonne);
@@ -337,7 +581,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataPersonne.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.PERSONNE.toString());
@@ -362,12 +606,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataMembreGroupe = optionalMobileDataMembreGroupe.get();
}
} else {
- optionalMobileDataMembreGroupe = mobileDataMembreGroupeRepository.findByMembreGroupePayLoad_TerminalIdAndMembreGroupePayLoad_ExternalKey(membreGroupePayLoad.getTerminalId(), membreGroupePayLoad.getExternalKey());
+ optionalMobileDataMembreGroupe = mobileDataMembreGroupeRepository.findFirstByTerminalIdAndEnqueteExternalKey(membreGroupePayLoad.getTerminalId(), membreGroupePayLoad.getExternalKey());
if (optionalMobileDataMembreGroupe.isPresent()) {
mobileDataMembreGroupe = optionalMobileDataMembreGroupe.get();
}
}
-
+ mobileDataMembreGroupe.setTerminalId(membreGroupePayLoad.getTerminalId());
+ mobileDataMembreGroupe.setExternalKey(membreGroupePayLoad.getExternalKey());
mobileDataMembreGroupe.setTraiter(false);
mobileDataMembreGroupe.setMembreGroupePayLoad(membreGroupePayLoad);
mobileDataMembreGroupe = mobileDataMembreGroupeRepository.save(mobileDataMembreGroupe);
@@ -377,7 +622,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataMembreGroupe.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.MEMBREGROUPE.toString());
@@ -402,12 +647,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataActeurConcerne = optionalMobileDataActeurConcerne.get();
}
} else {
- optionalMobileDataActeurConcerne = mobileDataActeurConcerneRepository.findByActeurConcernePayLoad_TerminalIdAndActeurConcernePayLoad_ExternalKey(acteurConcernePayLoad.getTerminalId(), acteurConcernePayLoad.getExternalKey());
+ optionalMobileDataActeurConcerne = mobileDataActeurConcerneRepository.findFirstByTerminalIdAndEnqueteExternalKey(acteurConcernePayLoad.getTerminalId(), acteurConcernePayLoad.getExternalKey());
if (optionalMobileDataActeurConcerne.isPresent()) {
mobileDataActeurConcerne = optionalMobileDataActeurConcerne.get();
}
}
-
+ mobileDataActeurConcerne.setTerminalId(acteurConcernePayLoad.getTerminalId());
+ mobileDataActeurConcerne.setExternalKey(acteurConcernePayLoad.getExternalKey());
mobileDataActeurConcerne.setTraiter(false);
mobileDataActeurConcerne.setActeurConcernePayLoad(acteurConcernePayLoad);
mobileDataActeurConcerne = mobileDataActeurConcerneRepository.save(mobileDataActeurConcerne);
@@ -417,7 +663,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataActeurConcerne.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.ACTEURCONCERNER.toString());
@@ -442,11 +688,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataPiece = optionalMobileDataPiece.get();
}
} else {
- optionalMobileDataPiece = mobileDataPieceRepository.findByPiecePayLoad_TerminalIdAndPiecePayLoad_ExternalKey(piecePayLoad.getTerminalId(), piecePayLoad.getExternalKey());
+ optionalMobileDataPiece = mobileDataPieceRepository.findFirstByTerminalIdAndEnqueteExternalKey(piecePayLoad.getTerminalId(), piecePayLoad.getExternalKey());
if (optionalMobileDataPiece.isPresent()) {
mobileDataPiece = optionalMobileDataPiece.get();
}
}
+ mobileDataPiece.setTerminalId(piecePayLoad.getTerminalId());
+ mobileDataPiece.setExternalKey(piecePayLoad.getExternalKey());
mobileDataPiece.setTraiter(false);
mobileDataPiece.setPiecePayLoad(piecePayLoad);
mobileDataPiece = mobileDataPieceRepository.save(mobileDataPiece);
@@ -456,7 +704,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataPiece.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.PIECE.toString());
@@ -481,21 +729,23 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataUpload = optionalMobileDataUpload.get();
}
} else {
- optionalMobileDataUpload = mobileDataUploadRepository.findByUploadPayLoad_TerminalIdAndUploadPayLoad_ExternalKey(uploadPayLoad.getTerminalId(), uploadPayLoad.getExternalKey());
+ optionalMobileDataUpload = mobileDataUploadRepository.findFirstByTerminalIdAndEnqueteExternalKey(uploadPayLoad.getTerminalId(), uploadPayLoad.getExternalKey());
if (optionalMobileDataUpload.isPresent()) {
mobileDataUpload = optionalMobileDataUpload.get();
}
}
+
+ mobileDataUpload.setTerminalId(uploadPayLoad.getTerminalId());
+ mobileDataUpload.setExternalKey(uploadPayLoad.getExternalKey());
mobileDataUpload.setTraiter(false);
mobileDataUpload.setUploadPayLoad(uploadPayLoad);
- String fileName = fileStorageService.storeFile(uploadPayLoad.getFile());
+ String fileName = fileStorageService.storeFile(file);
mobileDataUpload.setFileName(fileName);
- mobileDataUpload.setMimeType(uploadPayLoad.getFile().getContentType());
- mobileDataUpload.setSize(uploadPayLoad.getFile().getSize());
- mobileDataUpload.setOriginalFileName(uploadPayLoad.getFile().getOriginalFilename());
+ mobileDataUpload.setMimeType(file.getContentType());
+ mobileDataUpload.setSize(file.getSize());
+ mobileDataUpload.setOriginalFileName(file.getOriginalFilename());
mobileDataUpload.setName(uploadPayLoad.getName());
mobileDataUpload.setFilePath(uploadPayLoad.getFilePath());
-
mobileDataUpload = mobileDataUploadRepository.save(mobileDataUpload);
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.UPLOAD.toString());
@@ -503,7 +753,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataUpload.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.UPLOAD.toString());
@@ -528,11 +778,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataBatiment = optionalMobileDataBatiment.get();
}
} else {
- optionalMobileDataBatiment = mobileDataBatimentRepository.findMobileDataBatimentByBatimentPaylaod_TerminalIdAndBatimentPaylaod_ExternalKey(batimentPaylaod.getTerminalId(), batimentPaylaod.getExternalKey());
+ optionalMobileDataBatiment = mobileDataBatimentRepository.findFirstByTerminalIdAndEnqueteExternalKey(batimentPaylaod.getTerminalId(), batimentPaylaod.getExternalKey());
if (optionalMobileDataBatiment.isPresent()) {
mobileDataBatiment = optionalMobileDataBatiment.get();
}
}
+ mobileDataBatiment.setTerminalId(batimentPaylaod.getTerminalId());
+ mobileDataBatiment.setExternalKey(batimentPaylaod.getExternalKey());
mobileDataBatiment.setTraiter(false);
mobileDataBatiment.setBatimentPaylaod(batimentPaylaod);
mobileDataBatiment = mobileDataBatimentRepository.save(mobileDataBatiment);
@@ -542,7 +794,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataBatiment.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.PIECE.toString());
@@ -567,11 +819,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataUniteLogement = optionalMobileDataUniteLogement.get();
}
} else {
- optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(uniteLogementPaylaod.getTerminalId(), uniteLogementPaylaod.getExternalKey());
+ optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findFirstByTerminalIdAndEnqueteExternalKey(uniteLogementPaylaod.getTerminalId(), uniteLogementPaylaod.getExternalKey());
if (optionalMobileDataUniteLogement.isPresent()) {
mobileDataUniteLogement = optionalMobileDataUniteLogement.get();
}
}
+ mobileDataUniteLogement.setTerminalId(uniteLogementPaylaod.getTerminalId());
+ mobileDataUniteLogement.setExternalKey(uniteLogementPaylaod.getExternalKey());
mobileDataUniteLogement.setTraiter(false);
mobileDataUniteLogement.setUniteLogementPaylaod(uniteLogementPaylaod);
mobileDataUniteLogement = mobileDataUniteLogementRepository.save(mobileDataUniteLogement);
@@ -581,7 +835,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataUniteLogement.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.PIECE.toString());
@@ -606,11 +860,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataEnqueteBatiment = optionalMobileDataEnqueteBatiment.get();
}
} else {
- optionalMobileDataEnqueteBatiment = mobileDataEnqueteBatimentRepository.findByEnqueteBatimentPayload_TerminalIdAndEnqueteBatimentPayload_ExternalKey(enqueteBatimentPayload.getTerminalId(), enqueteBatimentPayload.getExternalKey());
+ optionalMobileDataEnqueteBatiment = mobileDataEnqueteBatimentRepository.findFirstByTerminalIdAndEnqueteExternalKey(enqueteBatimentPayload.getTerminalId(), enqueteBatimentPayload.getExternalKey());
if (optionalMobileDataEnqueteBatiment.isPresent()) {
mobileDataEnqueteBatiment = optionalMobileDataEnqueteBatiment.get();
}
}
+ mobileDataEnqueteBatiment.setTerminalId(enqueteBatimentPayload.getTerminalId());
+ mobileDataEnqueteBatiment.setExternalKey(enqueteBatimentPayload.getExternalKey());
mobileDataEnqueteBatiment.setTraiter(false);
mobileDataEnqueteBatiment.setEnqueteBatimentPayload(enqueteBatimentPayload);
mobileDataEnqueteBatiment = mobileDataEnqueteBatimentRepository.save(mobileDataEnqueteBatiment);
@@ -620,7 +876,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataEnqueteBatiment.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.ENQUETEBATIMENT.toString());
@@ -645,11 +901,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataEnqueteUniteLogement = optionalMobileDataEnqueteUniteLogement.get();
}
} else {
- optionalMobileDataEnqueteUniteLogement = mobileDataEnqueteUniteLogementRepository.findByEnqueteUniteLogementPayload_TerminalIdAndEnqueteUniteLogementPayload_ExternalKey(enqueteUniteLogementPayload.getTerminalId(), enqueteUniteLogementPayload.getExternalKey());
+ optionalMobileDataEnqueteUniteLogement = mobileDataEnqueteUniteLogementRepository.findFirstByTerminalIdAndEnqueteExternalKey(enqueteUniteLogementPayload.getTerminalId(), enqueteUniteLogementPayload.getExternalKey());
if (optionalMobileDataEnqueteUniteLogement.isPresent()) {
mobileDataEnqueteUniteLogement = optionalMobileDataEnqueteUniteLogement.get();
}
}
+ mobileDataEnqueteUniteLogement.setTerminalId(enqueteUniteLogementPayload.getTerminalId());
+ mobileDataEnqueteUniteLogement.setExternalKey(enqueteUniteLogementPayload.getExternalKey());
mobileDataEnqueteUniteLogement.setTraiter(false);
mobileDataEnqueteUniteLogement.setEnqueteUniteLogementPayload(enqueteUniteLogementPayload);
mobileDataEnqueteUniteLogement = mobileDataEnqueteUniteLogementRepository.save(mobileDataEnqueteUniteLogement);
@@ -659,7 +917,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataEnqueteUniteLogement.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.ENQUETEUNITELOGEMENT.toString());
@@ -684,11 +942,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get();
}
} else {
- optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findByCaracteristiqueParcellePaylod_TerminalIdAndCaracteristiqueParcellePaylod_ExternalKey(caracteristiqueParcellePaylod.getTerminalId(), caracteristiqueParcellePaylod.getExternalKey());
+ optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findFirstByTerminalIdAndEnqueteExternalKey(caracteristiqueParcellePaylod.getTerminalId(), caracteristiqueParcellePaylod.getExternalKey());
if (optionalMobileDataCaracteristiqueParcelle.isPresent()) {
mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get();
}
}
+ mobileDataCaracteristiqueParcelle.setTerminalId(caracteristiqueParcellePaylod.getTerminalId());
+ mobileDataCaracteristiqueParcelle.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
mobileDataCaracteristiqueParcelle.setTraiter(false);
mobileDataCaracteristiqueParcelle.setCaracteristiqueParcellePaylod(caracteristiqueParcellePaylod);
mobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.save(mobileDataCaracteristiqueParcelle);
@@ -698,7 +958,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueParcelle.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEPARCELLE.toString());
@@ -724,11 +984,14 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get();
}
} else {
- optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findByCaracteristiqueBatimentPaylod_TerminalIdAndCaracteristiqueBatimentPaylod_ExternalKey(caracteristiqueBatimentPaylod.getTerminalId(), caracteristiqueBatimentPaylod.getExternalKey());
+ optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findFirstByTerminalIdAndEnqueteExternalKey(caracteristiqueBatimentPaylod.getTerminalId(), caracteristiqueBatimentPaylod.getExternalKey());
if (optionalMobileDataCaracteristiqueBatiment.isPresent()) {
mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get();
}
}
+
+ mobileDataCaracteristiqueBatiment.setTerminalId(caracteristiqueBatimentPaylod.getTerminalId());
+ mobileDataCaracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey());
mobileDataCaracteristiqueBatiment.setTraiter(false);
mobileDataCaracteristiqueBatiment.setCaracteristiqueBatimentPaylod(caracteristiqueBatimentPaylod);
mobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.save(mobileDataCaracteristiqueBatiment);
@@ -738,7 +1001,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueBatiment.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEBATIMENT.toString());
@@ -763,11 +1026,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get();
}
} else {
- optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findByCaracteristiqueUniteLogementPaylod_TerminalIdAndCaracteristiqueUniteLogementPaylod_ExternalKey(caracteristiqueUniteLogementPaylod.getTerminalId(), caracteristiqueUniteLogementPaylod.getExternalKey());
+ optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findFirstByTerminalIdAndEnqueteExternalKey(caracteristiqueUniteLogementPaylod.getTerminalId(), caracteristiqueUniteLogementPaylod.getExternalKey());
if (optionalMobileDataCaracteristiqueUniteLogement.isPresent()) {
mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get();
}
}
+ mobileDataCaracteristiqueUniteLogement.setTerminalId(caracteristiqueUniteLogementPaylod.getTerminalId());
+ mobileDataCaracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey());
mobileDataCaracteristiqueUniteLogement.setTraiter(false);
mobileDataCaracteristiqueUniteLogement.setCaracteristiqueUniteLogementPaylod(caracteristiqueUniteLogementPaylod);
mobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.save(mobileDataCaracteristiqueUniteLogement);
@@ -777,7 +1042,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueUniteLogement.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
@@ -802,11 +1067,13 @@ public class SynchronisationServiceImpl implements SynchronisationService {
mobileDataParcelle = optionalMobileDataParcelle.get();
}
} else {
- optionalMobileDataParcelle = mobileDataParcelleRepository.findByParcellePayLoad_TerminalIdAndParcellePayLoad_ExternalKey(parcellePayLoad.getTerminalId(), parcellePayLoad.getExternalKey());
+ optionalMobileDataParcelle = mobileDataParcelleRepository.findFirstByTerminalIdAndEnqueteExternalKey(parcellePayLoad.getTerminalId(), parcellePayLoad.getExternalKey());
if (optionalMobileDataParcelle.isPresent()) {
mobileDataParcelle = optionalMobileDataParcelle.get();
}
}
+ mobileDataParcelle.setTerminalId(parcellePayLoad.getTerminalId());
+ mobileDataParcelle.setExternalKey(parcellePayLoad.getExternalKey());
mobileDataParcelle.setTraiter(false);
mobileDataParcelle.setParcellePayLoad(parcellePayLoad);
mobileDataParcelle = mobileDataParcelleRepository.save(mobileDataParcelle);
@@ -816,7 +1083,7 @@ public class SynchronisationServiceImpl implements SynchronisationService {
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataParcelle.getId());
syncResponses.add(syncResponse);
- }catch (Exception e){
+ } catch (Exception e) {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
@@ -827,1165 +1094,51 @@ public class SynchronisationServiceImpl implements SynchronisationService {
}
});
}
- }
- return syncResponses;
- }
+ case ENQUETE -> {
+ payloads.forEach(payLoad -> {
+ EnquetePayLoad enquetePayLoad = (EnquetePayLoad) payLoad;
+ try {
+ MobileDataEnquete mobileDataEnquete = new MobileDataEnquete();
- 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);
- }
+ Optional optionalMobileDataEnquete = Optional.empty();
- private Personne getPersonneFromPersonnePayLoad(Personne personne, PersonnePayLoad personnePayLoad) {
- if (personnePayLoad.getCommuneId() != null) {
- Optional optionalCommune = communeRepository.findById(personnePayLoad.getCommuneId());
- personne.setCommune(optionalCommune.orElse(null));
- }
- if (personnePayLoad.getNationaliteId() != null) {
- Optional optionalNationalite = nationaliteRepository.findById(personnePayLoad.getNationaliteId());
- personne.setNationalite(optionalNationalite.orElse(null));
- }
- if (personnePayLoad.getProfessionId() != null) {
- Optional optionalProfession = professionRepository.findById(personnePayLoad.getProfessionId());
- personne.setProfession(optionalProfession.orElse(null));
- }
- if (personnePayLoad.getTypePersonneId() != null) {
- Optional optionalTypePersonne = typePersonneRepository.findById(personnePayLoad.getTypePersonneId());
- personne.setTypePersonne(optionalTypePersonne.orElse(null));
- } else {
- Optional optionalTypePersonne = typePersonneRepository.findFirstByCategorie(Categorie.PERSONNE_PHYSIQUE);
- personne.setTypePersonne(optionalTypePersonne.orElse(null));
-
- }
- if (personnePayLoad.getSituationMatrimonialeId() != null) {
- Optional optionalSituationMatrimoniale = situationMatrimonialeRepository.findById(personnePayLoad.getSituationMatrimonialeId());
- personne.setSituationMatrimoniale(optionalSituationMatrimoniale.orElse(null));
- }
- if (personnePayLoad.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(personnePayLoad.getTerminalId());
- personne.setTerminal(optionalTpe.orElse(null));
- }
-
- personne.setCategorie(personnePayLoad.getCategorie());
- personne.setAdresse(personnePayLoad.getAdresse());
- personne.setIfu(personnePayLoad.getIfu());
- personne.setDateNaissanceOuConsti(personnePayLoad.getDateNaissanceOuConsti());
- personne.setLieuNaissance(personnePayLoad.getLieuNaissance());
- personne.setNomOuSigle(personnePayLoad.getNomOuSigle());
- personne.setNpi(personnePayLoad.getNpi());
- personne.setNumRavip(personnePayLoad.getNumRavip());
- personne.setPrenomOuRaisonSociale(personnePayLoad.getPrenomOuRaisonSociale());
- personne.setTel1(personnePayLoad.getTel1());
- personne.setTel2(personnePayLoad.getTel2());
- personne.setExternalKey(personnePayLoad.getExternalKey());
-
- personne.setHaveRepresentant(personnePayLoad.getHaveRepresentant());
- personne.setRavipQuestion(personnePayLoad.getRavipQuestion());
- personne.setAge(personnePayLoad.getAge());
- personne.setNomJeuneFille(personnePayLoad.getNomJeuneFille());
- personne.setNomMere(personnePayLoad.getNomMere());
- personne.setPrenomMere(personnePayLoad.getPrenomMere());
- personne.setIndicatifTel1(personnePayLoad.getIndicatifTel1());
- personne.setIndicatifTel2(personnePayLoad.getIndicatifTel2());
- personne.setSexe(personnePayLoad.getSexe());
- personne.setMustHaveRepresentant(personnePayLoad.getMustHaveRepresentant());
- personne.setFilePath(personnePayLoad.getFilePath());
- personne.setObservation(personnePayLoad.getObservation());
- return personne;
- }
-
- @Override
- public List syncMembreGroupe(List membreGroupePayLoads) {
- List syncResponses = new ArrayList<>();
- if (membreGroupePayLoads == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucun membre à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- membreGroupePayLoads.forEach(membreGroupePayLoad -> {
- try {
- if (membreGroupePayLoad.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(membreGroupePayLoad.getIdBackend(),
- membreGroupePayLoad.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(membreGroupePayLoad.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(membreGroupePayLoad.getIdBackend(),
- membreGroupePayLoad.getExternalKey(), false, "Le terminal n'existe pas");
+ if (enquetePayLoad.getIdBackend() != null) {
+ optionalMobileDataEnquete = mobileDataEnqueteRepository.findById(enquetePayLoad.getIdBackend());
+ if (optionalMobileDataEnquete.isPresent()) {
+ mobileDataEnquete = optionalMobileDataEnquete.get();
+ }
+ } else {
+ optionalMobileDataEnquete = mobileDataEnqueteRepository.findFirstByTerminalIdAndEnqueteExternalKey(enquetePayLoad.getTerminalId(), enquetePayLoad.getExternalKey());
+ if (optionalMobileDataEnquete.isPresent()) {
+ mobileDataEnquete = optionalMobileDataEnquete.get();
+ }
+ }
+ mobileDataEnquete.setTerminalId(enquetePayLoad.getTerminalId());
+ mobileDataEnquete.setExternalKey(enquetePayLoad.getExternalKey());
+ mobileDataEnquete.setTraiter(false);
+ mobileDataEnquete.setEnquetePayLoad(enquetePayLoad);
+ mobileDataEnquete = mobileDataEnqueteRepository.save(mobileDataEnquete);
+ SyncResponse syncResponse = new SyncResponse();
+ syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
+ syncResponse.setExternalKey(enquetePayLoad.getExternalKey());
+ syncResponse.setSynchronise(true);
+ syncResponse.setIdBackend(mobileDataEnquete.getId());
syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (membreGroupePayLoad.getPersonneRepresentanteId() == null) {
- SyncResponse syncResponse = new SyncResponse(membreGroupePayLoad.getIdBackend(),
- membreGroupePayLoad.getExternalKey(), false, "La personne représentante n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresentanteId(), membreGroupePayLoad.getTerminalId());
- if (optionalPersonne.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(membreGroupePayLoad.getIdBackend(),
- membreGroupePayLoad.getExternalKey(), false, "La personne représentante précisée n'existe pas");
+ } catch (Exception e) {
+ e.printStackTrace();
+ SyncResponse syncResponse = new SyncResponse();
+ syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
+ syncResponse.setExternalKey(enquetePayLoad.getExternalKey());
+ syncResponse.setSynchronise(false);
+ syncResponse.setIdBackend(enquetePayLoad.getIdBackend());
syncResponses.add(syncResponse);
- return;
}
- }
- if (membreGroupePayLoad.getPersonneRepresenteeId() == null) {
- SyncResponse syncResponse = new SyncResponse(membreGroupePayLoad.getIdBackend(),
- membreGroupePayLoad.getExternalKey(), false, "La personne représentée n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresenteeId(), membreGroupePayLoad.getTerminalId());
- if (optionalPersonne.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(membreGroupePayLoad.getIdBackend(),
- membreGroupePayLoad.getExternalKey(), false, "La personne représentée précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- MembreGroupe membreGroupe = new MembreGroupe();
- membreGroupePayLoad.setSynchronise(true);
- if (membreGroupePayLoad.getIdBackend() != null && membreGroupePayLoad.getIdBackend() != 0) {
- Optional optionalMembreGroupe = membreGroupeRepository.findById(membreGroupePayLoad.getIdBackend());
- if (optionalMembreGroupe.isPresent()) {
- membreGroupe = optionalMembreGroupe.get();
- } else {
- membreGroupePayLoad.setIdBackend(null);
- }
- membreGroupe = getMembreGroupeFromMembreGroupePayLoad(membreGroupe, membreGroupePayLoad);
- membreGroupe = membreGroupeRepository.save(membreGroupe);
- membreGroupePayLoad.setIdBackend(membreGroupe.getId());
-
- } else {
- Optional optionalMembreGroupe = membreGroupeRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getExternalKey(),membreGroupePayLoad.getTerminalId());
- if (optionalMembreGroupe.isPresent()) {
- membreGroupe=optionalMembreGroupe.get();
- membreGroupe = getMembreGroupeFromMembreGroupePayLoad(membreGroupe, membreGroupePayLoad);
- membreGroupe = membreGroupeRepository.save(membreGroupe);
- membreGroupePayLoad.setIdBackend(membreGroupe.getId());
- }else {
- membreGroupe = getMembreGroupeFromMembreGroupePayLoad(membreGroupe, membreGroupePayLoad);
- membreGroupe = membreGroupeRepository.save(membreGroupe);
- membreGroupePayLoad.setIdBackend(membreGroupe.getId());
- }
- }
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(membreGroupePayLoad.getObservation());
- syncResponse.setExternalKey(membreGroupePayLoad.getExternalKey());
- syncResponse.setSynchronise(membreGroupePayLoad.isSynchronise());
- syncResponse.setIdBackend(membreGroupePayLoad.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(membreGroupePayLoad.getIdBackend(),
- membreGroupePayLoad.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
- });
- return syncResponses;
- }
-
-
- private MembreGroupe getMembreGroupeFromMembreGroupePayLoad(MembreGroupe membreGroupe, MembreGroupePayLoad membreGroupePayLoad) {
- if (membreGroupePayLoad.getPersonneRepresentanteId() != null) {
- Optional optionalRepresentant = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresentanteId(), membreGroupePayLoad.getTerminalId());
- membreGroupe.setPersonneRepresantante(optionalRepresentant.orElse(null));
- }
- if (membreGroupePayLoad.getPersonneRepresenteeId() != null) {
- Optional optionalRepresente = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresenteeId(), membreGroupePayLoad.getTerminalId());
- membreGroupe.setPersonneRepresantee(optionalRepresente.orElse(null));
- }
-
- if (membreGroupePayLoad.getPositionRepresentationId() != null) {
- Optional optionalPositionRepresentation = positionRepresentationRepository.findById(membreGroupePayLoad.getPositionRepresentationId());
- membreGroupe.setPositionRepresentation(optionalPositionRepresentation.orElse(null));
- }
- if (membreGroupePayLoad.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(membreGroupePayLoad.getTerminalId());
- membreGroupe.setTerminal(optionalTpe.orElse(null));
- }
-
- if (membreGroupePayLoad.getTypeRepresentationId() != null) {
- Optional optionalTypeRepresentation = typeRepresentationRepository.findById(membreGroupePayLoad.getTypeRepresentationId());
- 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.setEnqueteExternalKey(membreGroupePayLoad.getEnqueteId());
-
- membreGroupe.setBlocId(membreGroupePayLoad.getBlocId());
- membreGroupe.setObservation(membreGroupePayLoad.getObservation());
-
- return membreGroupe;
- }
-
- @Override
- @Transactional
- public List syncEnquete(List enquetePayLoads) {
- List syncResponses = new ArrayList<>();
- if (enquetePayLoads == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune enquête à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- enquetePayLoads.forEach(enquetePayLoad -> {
- System.out.println("ENQUETE A SUPPRIMER " +enquetePayLoad.getCodeParcelle());
- deleteFromCodeParcelle(enquetePayLoad.getCodeParcelle());
});
-
- enquetePayLoads.forEach(enquetePayLoad -> {
- try {
- // deleteFromCodeParcelle(enquetePayLoad.getCodeParcelle());
- if (enquetePayLoad.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(enquetePayLoad.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "Le terminal n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (enquetePayLoad.getUserId() == null) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "L'enquêteur n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalUser = userRepository.findById(enquetePayLoad.getUserId());
- if (optionalUser.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "L'enquêteur précisé n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (enquetePayLoad.getZoneRfuId() != null) {
- Optional optionalZoneRfu = zoneRfuRepository.findById(enquetePayLoad.getZoneRfuId());
- if (optionalZoneRfu.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "La zone rfu n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (enquetePayLoad.getParcelleId() == null) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "La parcelle n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(enquetePayLoad.getParcelleId(), enquetePayLoad.getTerminalId());
- if (optionalParcelle.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "La parcelle précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (enquetePayLoad.getBlocId() == null) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "Le bloc n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalBloc = blocRepository.findById(enquetePayLoad.getBlocId());
- if (optionalBloc.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "Le bloc précisé n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- Enquete enquete = new Enquete();
- enquetePayLoad.setSynchronise(true);
- Optional optionalEnquete;
- if (enquetePayLoad.getIdBackend() != null && enquetePayLoad.getIdBackend() != 0) {
- optionalEnquete = enqueteRepository.findById(enquetePayLoad.getIdBackend());
- } else {
- optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enquetePayLoad.getExternalKey(), enquetePayLoad.getTerminalId());
- }
- if (optionalEnquete.isPresent()) {
- enquete = optionalEnquete.get();
- } else {
- enquetePayLoad.setIdBackend(null);
- }
- enquete = getEnqueteFromEnquetePayLoad(enquete, enquetePayLoad);
- enquete.setStatutEnregistrement(StatutEnregistrement.NOUVELLE_INSERTION);
- enquete = enqueteRepository.save(enquete);
- enquetePayLoad.setIdBackend(enquete.getId());
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(enquetePayLoad.getObservation());
- syncResponse.setExternalKey(enquetePayLoad.getExternalKey());
- syncResponse.setSynchronise(enquetePayLoad.isSynchronise());
- syncResponse.setIdBackend(enquetePayLoad.getIdBackend());
- syncResponses.add(syncResponse);
- try{
- if(enquete.getParcelle()!=null) {
- parcelleGeomService.setStatutParcelleGeomFromEnquete(enquete);
- }
- }catch (Exception e){
- e.printStackTrace();
- }
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(enquetePayLoad.getIdBackend(),
- enquetePayLoad.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
}
- });
-
+ }
return syncResponses;
}
- private void deleteFromEnquete(Long idBackend) {
- try {
- uploadRepository.deleteUploadByEnqueteId(idBackend);
- } catch (Exception e) {
-
- }
- try {
- pieceRepository.deletePieceByEnqueteId(idBackend);
- } catch (Exception e) {
-
- }
- try {
- acteurConcerneRepository.deleteActeurConcerneByEnquete(idBackend);
- } catch (Exception e) {
-
- }
- try {
- caracteristiqueParcelleRepository.deleteAllByEnquete_Id(idBackend);
- } catch (Exception e) {
-
- }
- }
-
- //@Transactional
- protected void deleteFromCodeParcelle(String codeParcelle) {
- Optional optionalEnquete=enqueteRepository.findFirstByCodeParcelle(codeParcelle);
- Long idEnquete=null;
- if(optionalEnquete.isPresent()){
- idEnquete=optionalEnquete.get().getId();
- }
- if(idEnquete!=null) {
- System.out.println("ENQUETE ID"+idEnquete);
- try {
- uploadRepository.deleteUploadByEnqueteId(idEnquete);
- } catch (Exception e) {
-
- }
- try {
- pieceRepository.deletePieceByEnqueteId(idEnquete);
- } catch (Exception e) {
-
- }
- try {
- acteurConcerneRepository.deleteActeurConcerneByEnquete(idEnquete);
- } catch (Exception e) {
-
- }
- try {
- caracteristiqueParcelleRepository.deleteAllByEnquete_Id(idEnquete);
- } catch (Exception e) {
-
- }
-
- try {
- caracteristiqueBatimentRepository.deleteByEnqueteId(idEnquete);
- }catch (Exception e){
-
- }
-
- try {
- caracteristiqueUniteLogementRepository.deleteByEnqueteId(idEnquete);
- }catch (Exception e){
-
- }
-
- try {
- enqueteBatimentRepository.deleteAllByEnquete_Id(idEnquete);
- }catch (Exception e){
-
- }
-
- try {
- enqueteUniteLogementRepository.deleteAllByEnquete_id(idEnquete);
- }catch (Exception e){
-
- }
-
- try {
- uniteLogementRepository.deleteByEnqueteId(idEnquete);
- }catch (Exception e){
-
- }
-
- try {
- batimentRepository.deleteByEnqueteId(idEnquete);
- }catch (Exception e){
-
- }
-
- try {
- System.out.println("SUPPRESSION DE ENQUETE "+idEnquete);
- enqueteRepository.deleteById(idEnquete);
- }catch (Exception e){
-
- }
- }
- }
-
- private Enquete getEnqueteFromEnquetePayLoad(Enquete enquete, EnquetePayLoad enquetePayLoad) {
-
- if (enquetePayLoad.getUserId() != null) {
- Optional optionalUser = userRepository.findById(enquetePayLoad.getUserId());
- enquete.setUser(optionalUser.orElse(null));
- }
- if (enquetePayLoad.getZoneRfuId() != null) {
- Optional optionalZoneRfu = zoneRfuRepository.findById(enquetePayLoad.getZoneRfuId());
- enquete.setZoneRfu(optionalZoneRfu.orElse(null));
- }
-
- if (enquetePayLoad.getParcelleId() != null) {
- Optional optionalParcelle = parcelleRepository.findFirstByNupProvisoire(enquetePayLoad.getCodeParcelle());
- //Optional optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(enquetePayLoad.getParcelleId(), enquetePayLoad.getTerminalId());
- enquete.setParcelle(optionalParcelle.orElse(null));
- }
- if (enquetePayLoad.getBlocId() != null) {
- Optional optionalBloc = blocRepository.findById(enquetePayLoad.getBlocId());
- enquete.setBloc(optionalBloc.orElse(null));
- }
-
- if (enquetePayLoad.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(enquetePayLoad.getTerminalId());
- enquete.setTerminal(optionalTpe.orElse(null));
- }
- enquete.setParcelleExternalKey(enquetePayLoad.getParcelleId());
- enquete.setStatusEnquete(enquetePayLoad.getStatusEnquete());
- enquete.setLitige(enquetePayLoad.isLitige());
- enquete.setObservationParticuliere(enquetePayLoad.getObservationParticuliere());
- enquete.setDateEnquete(enquetePayLoad.getDateEnquete());
- enquete.setDateFinalisation(enquetePayLoad.getDateFinalisation());
- enquete.setExternalKey(enquetePayLoad.getExternalKey());
- enquete.setQuartierId(enquetePayLoad.getQuartierId());
- enquete.setArrondissementId(enquetePayLoad.getArrondissementId());
- enquete.setCommuneId(enquetePayLoad.getCommuneId());
- enquete.setCommuneId(enquetePayLoad.getCommuneId());
- enquete.setDepartementId(enquetePayLoad.getDepartementId());
- enquete.setNumeroProvisoir(enquetePayLoad.getNumeroProvisoir());
- enquete.setCodeParcelle(enquetePayLoad.getCodeParcelle());
- enquete.setNomProprietaireParcelle(enquetePayLoad.getNomProprietaireParcelle());
- enquete.setCodeEquipe(enquetePayLoad.getCodeEquipe());
- enquete.setNumeroTitreFoncier(enquetePayLoad.getNumeroTitreFoncier());
- // Liste des champs pour FISCAD
- enquete.setNumEnterParcelle(enquetePayLoad.getNumEnterParcelle());
- enquete.setNumRue(enquetePayLoad.getNumRue());
- enquete.setNomRue(enquetePayLoad.getNomRue());
- enquete.setEmplacement(enquetePayLoad.getEmplacement());
- enquete.setAltitude(enquetePayLoad.getAltitude());
- enquete.setPrecision(enquetePayLoad.getPrecision());
- enquete.setNbreCoProprietaire(enquetePayLoad.getNbreCoProprietaire());
- enquete.setNbreIndivisiaire(enquetePayLoad.getNbreIndivisiaire());
- enquete.setAutreAdresse(enquetePayLoad.getAutreAdresse());
- enquete.setSurface(enquetePayLoad.getSurface());
- enquete.setNbreBatiment(enquetePayLoad.getNbreBatiment());
- enquete.setNbrePiscine(enquetePayLoad.getNbrePiscine());
- enquete.setDateDebutExcemption(enquetePayLoad.getDateDebutExcemption());
- enquete.setDateFinExcemption(enquetePayLoad.getDateFinExcemption());
- enquete.setPersonneId(enquetePayLoad.getPersonneId());
- enquete.setAutreNumeroTitreFoncier(enquete.getAutreNumeroTitreFoncier());
- return enquete;
- }
-
-
- private Batiment getBatimentFromBatimentPayLoad(Batiment batiment, BatimentPaylaod batimentPaylaod) {
-
- if (batimentPaylaod.getParcelleId() != null) {
- Optional optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(batimentPaylaod.getParcelleId(), batimentPaylaod.getTerminalId());
- batiment.setParcelle(optionalParcelle.orElse(null));
- }
-
- if (batimentPaylaod.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(batimentPaylaod.getTerminalId());
- batiment.setTerminal(optionalTpe.orElse(null));
- }
- if (batimentPaylaod.getTerminalId() != null && batimentPaylaod.getEnqueteId()!=null) {
- Optional optionalEnquete=enqueteRepository.findFirstByExternalKeyAndTerminal_Id(batimentPaylaod.getEnqueteId(),batimentPaylaod.getTerminalId());
- if(optionalEnquete.isPresent()){
- batiment.setEnqueteId(optionalEnquete.get().getId());
- }
- }
- batiment.setParcelleExternalKey(batimentPaylaod.getParcelleId());
- batiment.setEnqueteExternalKey(batimentPaylaod.getEnqueteId());
- batiment.setNub(batimentPaylaod.getNub());
- batiment.setCode(batimentPaylaod.getCode());
- batiment.setDateConstruction(batimentPaylaod.getDateConstruction());
- batiment.setExternalKey(batimentPaylaod.getExternalKey());
-
- return batiment;
- }
-
- private UniteLogement getUniteLogementFromUniteLogementPayLoad(UniteLogement uniteLogement, UniteLogementPaylaod uniteLogementPaylaod) {
-
- if (uniteLogementPaylaod.getBatimentId() != null) {
- Optional optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getBatimentId(), uniteLogementPaylaod.getTerminalId());
- uniteLogement.setBatiment(optionalBatiment.orElse(null));
- }
-
- if (uniteLogementPaylaod.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(uniteLogementPaylaod.getTerminalId());
- uniteLogement.setTerminal(optionalTpe.orElse(null));
- }
- if (uniteLogementPaylaod.getTerminalId() != null && uniteLogementPaylaod.getEnqueteId()!=null) {
- Optional optionalEnquete=enqueteRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getEnqueteId(),uniteLogementPaylaod.getTerminalId());
- if(optionalEnquete.isPresent()){
- uniteLogement.setEnqueteId(optionalEnquete.get().getId());
- }
- }
- uniteLogement.setEnqueteExternalKey(uniteLogementPaylaod.getEnqueteId());
- uniteLogement.setNul(uniteLogementPaylaod.getNul());
- uniteLogement.setNumeroEtage(uniteLogementPaylaod.getNumeroEtage());
- uniteLogement.setCode(uniteLogementPaylaod.getCode());
- uniteLogement.setExternalKey(uniteLogementPaylaod.getExternalKey());
- uniteLogement.setBatimentExternalKey(uniteLogementPaylaod.getBatimentId());
- return uniteLogement;
-
- }
-
- private CaracteristiqueUniteLogement getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(CaracteristiqueUniteLogement caracteristiqueUniteLogement, CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod) {
-
- if (caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId() != null) {
- Optional optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPaylod.getTerminalId());
- caracteristiqueUniteLogement.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
- }
-
- if (caracteristiqueUniteLogementPaylod.getCaracteristiqueId() != null) {
- Optional optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueUniteLogementPaylod.getCaracteristiqueId());
- caracteristiqueUniteLogement.setCaracteristique(optionalCaracteristique.orElse(null));
- }
-
- if (caracteristiqueUniteLogementPaylod.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId());
- caracteristiqueUniteLogement.setTerminal(optionalTpe.orElse(null));
- }
- if (caracteristiqueUniteLogementPaylod.getTerminalId() != null && caracteristiqueUniteLogementPaylod.getEnqueteId()!=null) {
- Optional optionalEnquete=enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteId(),caracteristiqueUniteLogementPaylod.getTerminalId());
- if(optionalEnquete.isPresent()){
- caracteristiqueUniteLogement.setEnqueteId(optionalEnquete.get().getId());
- }
- }
- caracteristiqueUniteLogement.setEnqueteExternalKey(caracteristiqueUniteLogementPaylod.getEnqueteId());
- caracteristiqueUniteLogement.setEnqueteUniteLogementExternalKey(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId());
- caracteristiqueUniteLogement.setValeur(caracteristiqueUniteLogementPaylod.getValeur());
- caracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey());
- return caracteristiqueUniteLogement;
-
- }
-
-
- private CaracteristiqueBatiment getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(CaracteristiqueBatiment caracteristiqueBatiment, CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod) {
-
-
- if (caracteristiqueBatimentPaylod.getEnqueteBatimentId() != null) {
- Optional optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteBatimentId(), caracteristiqueBatimentPaylod.getTerminalId());
- caracteristiqueBatiment.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
- }
-
- if (caracteristiqueBatimentPaylod.getCaracteristiqueId() != null) {
- Optional optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueBatimentPaylod.getCaracteristiqueId());
- caracteristiqueBatiment.setCaracteristique(optionalCaracteristique.orElse(null));
- }
-
- if (caracteristiqueBatimentPaylod.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId());
- caracteristiqueBatiment.setTerminal(optionalTpe.orElse(null));
- }
-
-
- if (caracteristiqueBatimentPaylod.getTerminalId() != null && caracteristiqueBatimentPaylod.getEnqueteId()!=null) {
- Optional optionalEnquete=enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteId(),caracteristiqueBatimentPaylod.getTerminalId());
- if(optionalEnquete.isPresent()){
- caracteristiqueBatiment.setEnqueteId(optionalEnquete.get().getId());
- }
- }
- caracteristiqueBatiment.setEnqueteBatimentExternalKey(caracteristiqueBatimentPaylod.getEnqueteBatimentId());
- caracteristiqueBatiment.setEnqueteExternalKey(caracteristiqueBatimentPaylod.getEnqueteId());
- caracteristiqueBatiment.setValeur(caracteristiqueBatimentPaylod.getValeur());
- caracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey());
- return caracteristiqueBatiment;
-
- }
-
- private CaracteristiqueParcelle getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(CaracteristiqueParcelle caracteristiqueParcelle, CaracteristiqueParcellePaylod caracteristiqueParcellePaylod) {
-
- if (caracteristiqueParcellePaylod.getEnqueteId() != null) {
- Optional optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePaylod.getEnqueteId(), caracteristiqueParcellePaylod.getTerminalId());
-
- caracteristiqueParcelle.setEnquete(optionalEnquete.orElse(null));
- }
-
- if (caracteristiqueParcellePaylod.getCaracteristiqueId() != null) {
- Optional optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueParcellePaylod.getCaracteristiqueId());
- caracteristiqueParcelle.setCaracteristique(optionalCaracteristique.orElse(null));
- }
-
- if (caracteristiqueParcellePaylod.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId());
- caracteristiqueParcelle.setTerminal(optionalTpe.orElse(null));
- }
-
- caracteristiqueParcelle.setEnqueteExternalKey(caracteristiqueParcellePaylod.getEnqueteId());
- caracteristiqueParcelle.setValeur(caracteristiqueParcellePaylod.getValeur());
- caracteristiqueParcelle.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
- return caracteristiqueParcelle;
-
- }
-
- @Override
- public List syncParcelle(List parcellePayLoads) {
- List syncResponses = new ArrayList<>();
- if (parcellePayLoads == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune parcelle à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
-
- parcellePayLoads.forEach(parcellePayLoad -> {
- System.out.println(parcellePayLoad);
- try {
- if (parcellePayLoad.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(parcellePayLoad.getIdBackend(),
- parcellePayLoad.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(parcellePayLoad.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(parcellePayLoad.getIdBackend(),
- parcellePayLoad.getExternalKey(), false, "Le terminal n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- Parcelle parcelle = new Parcelle();
- parcellePayLoad.setSynchronise(true);
- if (parcellePayLoad.getNupProvisoire() == null || parcellePayLoad.getNupProvisoire()=="" ) {
- parcellePayLoad.setObservation("Le code parcelle n'est pas précisé");
- parcellePayLoad.setSynchronise(false);
- } else {
- Optional optionalParcelle = parcelleRepository.findFirstByNupProvisoire(parcellePayLoad.getNupProvisoire());
- if(optionalParcelle.isPresent()){
- parcelle=optionalParcelle.get();
- }
- parcelle = getParcelleFromParcellePayLoad(parcelle, parcellePayLoad);
- parcelle = parcelleRepository.save(parcelle);
- parcellePayLoad.setIdBackend(parcelle.getId());
- }
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(parcellePayLoad.getObservation());
- syncResponse.setExternalKey(parcellePayLoad.getExternalKey());
- syncResponse.setSynchronise(parcellePayLoad.isSynchronise());
- syncResponse.setIdBackend(parcellePayLoad.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(parcellePayLoad.getIdBackend(),
- parcellePayLoad.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
- });
- return syncResponses;
- }
-
-
- private Parcelle getParcelleFromParcellePayLoad(Parcelle parcelle, ParcellePayLoad parcellePayLoad) {
-// if (parcellePayLoad.getSituationGeographiqueId() != null) {
-// Optional optionalSituationGeographique = situationGeographiqueRepository.findById(parcellePayLoad.getSituationGeographiqueId());
-// parcelle.setSituationGeographique(optionalSituationGeographique.orElse(null));
-// }
- if (parcellePayLoad.getNatureDomaineId() != null) {
- Optional optionalNatureDomaine = natureDomaineRepository.findById(parcellePayLoad.getNatureDomaineId());
- parcelle.setNatureDomaine(optionalNatureDomaine.orElse(null));
- }
- if (parcellePayLoad.getQuartierId() != null) {
- Optional optionalQuartier = quartierRepository.findById(parcellePayLoad.getQuartierId());
- parcelle.setQuartier(optionalQuartier.orElse(null));
- }
- if (parcellePayLoad.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(parcellePayLoad.getTerminalId());
- parcelle.setTerminal(optionalTpe.orElse(null));
- }
- parcelle.setExternalKey(parcellePayLoad.getExternalKey());
- parcelle.setNupProvisoire(parcellePayLoad.getNupProvisoire());
- parcelle.setQ(parcellePayLoad.getQ());
- parcelle.setI(parcellePayLoad.getI());
- parcelle.setP(parcellePayLoad.getP());
- parcelle.setNup(parcellePayLoad.getNup());
- parcelle.setLongitude(parcellePayLoad.getLongitude());
- parcelle.setLatitude(parcellePayLoad.getLatitude());
- parcelle.setNumTitreFoncier(parcellePayLoad.getNumTitreFoncier());
- parcelle.setTypeDomaineId(parcellePayLoad.getTypeDomaineId());
- parcelle.setNumeroProvisoire(parcellePayLoad.getNumeroProvisoire());
- parcelle.setBlocId(parcellePayLoad.getBlocId());
- parcelle.setObservation(parcellePayLoad.getObservation());
- parcelle.setSituationGeographique(parcellePayLoad.getSituationGeographique());
- parcelle.setAutreNumeroTitreFoncier(parcellePayLoad.getAutreNumeroTitreFoncier());
- return parcelle;
- }
-
-
- @Override
- public List syncPiece(List piecePayLoads) {
- List syncResponses = new ArrayList<>();
- if (piecePayLoads == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune pièce à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- piecePayLoads.forEach(piecePayLoad -> {
- try {
- if (piecePayLoad.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(piecePayLoad.getIdBackend(),
- piecePayLoad.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(piecePayLoad.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(piecePayLoad.getIdBackend(),
- piecePayLoad.getExternalKey(), false, "Le terminal n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (piecePayLoad.getPersonneId() == null && piecePayLoad.getActeurConcerneId() == null) {
- SyncResponse syncResponse = new SyncResponse(piecePayLoad.getIdBackend(),
- piecePayLoad.getExternalKey(), false, "La personne ou l'acteur concerné n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- if (piecePayLoad.getPersonneId() != null) {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getPersonneId(), piecePayLoad.getTerminalId());
- if (optionalPersonne.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(piecePayLoad.getIdBackend(),
- piecePayLoad.getExternalKey(), false, "La personne précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (piecePayLoad.getActeurConcerneId() != null) {
- Optional optionalActeurConcerne = acteurConcerneRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getActeurConcerneId(), piecePayLoad.getTerminalId());
- if (optionalActeurConcerne.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(piecePayLoad.getIdBackend(),
- piecePayLoad.getExternalKey(), false, "L'acteur concerné précisé n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- }
- Piece piece = new Piece();
- piecePayLoad.setSynchronise(true);
- System.out.println("JE SUIS AU DEBUT DU TEST DE PIECE");
- System.out.println(piecePayLoad);
- Optional optionalPiece=Optional.empty();
- if (piecePayLoad.getIdBackend() != null && piecePayLoad.getIdBackend() != 0) {
- optionalPiece = pieceRepository.findById(piecePayLoad.getIdBackend());
- }else{
- optionalPiece = pieceRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getExternalKey(),piecePayLoad.getTerminalId());
- }
- if (optionalPiece.isPresent()) {
- piece = optionalPiece.get();
- }else {
- piecePayLoad.setIdBackend(null);
- }
-
- piece = getPieceFromPiecePayLoad(piece, piecePayLoad);
- piece = pieceRepository.save(piece);
- piecePayLoad.setIdBackend(piece.getId());
-
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(piecePayLoad.getObservation());
- syncResponse.setExternalKey(piecePayLoad.getExternalKey());
- syncResponse.setSynchronise(piecePayLoad.isSynchronise());
- syncResponse.setIdBackend(piecePayLoad.getIdBackend());
- syncResponses.add(syncResponse);
-
- try{
- PieceMetaData pieceMetaData= new PieceMetaData();
- pieceMetaData.setPieceJson(piece);
- pieceMetaData.setPieceId(piece.getId());
- pieceMetaDataRepository.save(pieceMetaData);
- }catch (Exception e){
- e.printStackTrace();
- }
-
- } catch (Exception e) {
- SyncResponse syncResponse = new SyncResponse(piecePayLoad.getIdBackend(),
- piecePayLoad.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
- });
- return syncResponses;
- }
-
-
- private Piece getPieceFromPiecePayLoad(Piece piece, PiecePayLoad piecePayLoad) {
- if (piecePayLoad.getTypePieceId() != null) {
- Optional optionalTypePiece = typePieceRepository.findById(piecePayLoad.getTypePieceId());
- piece.setTypePiece(optionalTypePiece.orElse(null));
- } else {
- piece.setTypePiece(null);
- }
- if (piecePayLoad.getPersonneId() != null) {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getPersonneId(), piecePayLoad.getTerminalId());
- piece.setPersonne(optionalPersonne.orElse(null));
- } else {
- piece.setPersonne(null);
- }
- if (piecePayLoad.getActeurConcerneId() != null) {
- Optional optionalActeurConcerne = acteurConcerneRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getActeurConcerneId(), piecePayLoad.getTerminalId());
- piece.setActeurConcerne(optionalActeurConcerne.orElse(null));
- } else {
- piece.setActeurConcerne(null);
- }
- if (piecePayLoad.getModeAcquisitionId() != null) {
- Optional optionalModeAcquisition = modeAcquisitionRepository.findById(piecePayLoad.getModeAcquisitionId());
- piece.setModeAcquisition(optionalModeAcquisition.orElse(null));
- } else {
- piece.setModeAcquisition(null);
- }
- if (piecePayLoad.getSourceDroitId() != null) {
- Optional optionalSourceDroit = sourceDroitRepository.findById(piecePayLoad.getSourceDroitId());
- piece.setSourceDroit(optionalSourceDroit.orElse(null));
- } else {
- piece.setSourceDroit(null);
- }
- if (piecePayLoad.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(piecePayLoad.getTerminalId());
- piece.setTerminal(optionalTpe.orElse(null));
- }
-
- if (piecePayLoad.getTerminalId() != null && piecePayLoad.getEnqueteId()!=null) {
- Optional optionalEnquete=enqueteRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getEnqueteId(),piecePayLoad.getTerminalId());
- if(optionalEnquete.isPresent()){
- piece.setEnqueteId(optionalEnquete.get().getId());
- }
- }
-
- piece.setActeurConcerneExternalKey(piecePayLoad.getActeurConcerneId());
- piece.setPersonneExternalKey(piecePayLoad.getPersonneId());
- piece.setEnqueteExternalKey(piecePayLoad.getEnqueteId());
- piece.setNumeroPiece(piecePayLoad.getNumeroPiece());
- piece.setUrl(piecePayLoad.getUrl());
- piece.setExternalKey(piecePayLoad.getExternalKey());
- piece.setDateExpiration(piecePayLoad.getDateExpiration());
- piece.setMax_numero_piece_id(piecePayLoad.getMax_numero_piece_id());
- piece.setMax_numero_acteur_concerne_id(piecePayLoad.getMax_numero_acteur_concerne_id());
- piece.setEnqueteId(piecePayLoad.getEnqueteId());
- piece.setBlocId(piecePayLoad.getBlocId());
- piece.setEnqueteExternalKey(piecePayLoad.getEnqueteId());
- return piece;
- }
-
- @Override
- public List syncActeurConcerne(List acteurConcernePayLoads) {
- List syncResponses = new ArrayList<>();
- if (acteurConcernePayLoads == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucun acteur concerné à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- acteurConcernePayLoads.forEach(acteurConcernePayLoad -> {
- try {
- if (acteurConcernePayLoad.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(acteurConcernePayLoad.getIdBackend(),
- acteurConcernePayLoad.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(acteurConcernePayLoad.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(acteurConcernePayLoad.getIdBackend(),
- acteurConcernePayLoad.getExternalKey(), false, "Le terminal n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (acteurConcernePayLoad.getPersonneId() == null) {
- SyncResponse syncResponse = new SyncResponse(acteurConcernePayLoad.getIdBackend(),
- acteurConcernePayLoad.getExternalKey(), false, "La personne n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getPersonneId(), acteurConcernePayLoad.getTerminalId());
- if (optionalPersonne.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(acteurConcernePayLoad.getIdBackend(),
- acteurConcernePayLoad.getExternalKey(), false, "La personne précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (acteurConcernePayLoad.getEnqueteId() == null) {
- SyncResponse syncResponse = new SyncResponse(acteurConcernePayLoad.getIdBackend(),
- acteurConcernePayLoad.getExternalKey(), false, "L'enquête n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getEnqueteId(), acteurConcernePayLoad.getTerminalId());
- if (optionalEnquete.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(acteurConcernePayLoad.getIdBackend(),
- acteurConcernePayLoad.getExternalKey(), false, "L'enquête précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- ActeurConcerne acteurConcerne = new ActeurConcerne();
- acteurConcernePayLoad.setSynchronise(true);
- if (acteurConcernePayLoad.getIdBackend() != null && acteurConcernePayLoad.getIdBackend() != 0) {
- Optional optionalActeurConcerne = acteurConcerneRepository.findById(acteurConcernePayLoad.getIdBackend());
- if (optionalActeurConcerne.isPresent()) {
- acteurConcerne = optionalActeurConcerne.get();
- } else {
- acteurConcernePayLoad.setIdBackend(null);
- }
- acteurConcerne = getActeurConcerneFromActeurConcernePayLoad(acteurConcerne, acteurConcernePayLoad);
- acteurConcerne = acteurConcerneRepository.save(acteurConcerne);
- acteurConcernePayLoad.setIdBackend(acteurConcerne.getId());
-
- } else {
- Optional optionalActeurConcerne = acteurConcerneRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getExternalKey(),acteurConcernePayLoad.getTerminalId());
- if(optionalActeurConcerne.isPresent()){
- acteurConcerne=optionalActeurConcerne.get();
- }
- acteurConcerne = getActeurConcerneFromActeurConcernePayLoad(acteurConcerne, acteurConcernePayLoad);
- acteurConcerne = acteurConcerneRepository.save(acteurConcerne);
- acteurConcernePayLoad.setIdBackend(acteurConcerne.getId());
- }
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(acteurConcernePayLoad.getObservation());
- syncResponse.setExternalKey(acteurConcernePayLoad.getExternalKey());
- syncResponse.setSynchronise(acteurConcernePayLoad.isSynchronise());
- syncResponse.setIdBackend(acteurConcernePayLoad.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(acteurConcernePayLoad.getIdBackend(),
- acteurConcernePayLoad.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
- });
- return syncResponses;
- }
-
-
- private ActeurConcerne getActeurConcerneFromActeurConcernePayLoad(ActeurConcerne acteurConcerne, ActeurConcernePayLoad acteurConcernePayLoad) {
-
- if (acteurConcernePayLoad.getEnqueteId() != null) {
- Optional optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getEnqueteId(), acteurConcernePayLoad.getTerminalId());
- acteurConcerne.setEnquete(optionalEnquete.orElse(null));
- }
- if (acteurConcernePayLoad.getEnqueteId() != null) {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getPersonneId(), acteurConcernePayLoad.getTerminalId());
- acteurConcerne.setPersonne(optionalPersonne.orElse(null));
- }
- if (acteurConcernePayLoad.getPositionRepresentationId() != null) {
- Optional optionalPositionRepresentation = positionRepresentationRepository.findById(acteurConcernePayLoad.getPositionRepresentationId());
- acteurConcerne.setPositionRepresentation(optionalPositionRepresentation.orElse(null));
- }
- if (acteurConcernePayLoad.getTypeContestationId() != null) {
- Optional optionalTypeContestation = typeContestationRepository.findById(acteurConcernePayLoad.getTypeContestationId());
- acteurConcerne.setTypeContestation(optionalTypeContestation.orElse(null));
- }
- if (acteurConcernePayLoad.getTypeRepresentationId() != null) {
- Optional optionalTypeRepresentation = typeRepresentationRepository.findById(acteurConcernePayLoad.getTypeRepresentationId());
- acteurConcerne.setTypeRepresentation(optionalTypeRepresentation.orElse(null));
- }
- if (acteurConcernePayLoad.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(acteurConcernePayLoad.getTerminalId());
- acteurConcerne.setTerminal(optionalTpe.orElse(null));
- }
-
- acteurConcerne.setEnqueteExternalKey(acteurConcernePayLoad.getEnqueteId());
- acteurConcerne.setPersonneExternalKey(acteurConcernePayLoad.getPersonneId());
- acteurConcerne.setPart(acteurConcernePayLoad.getPart());
- acteurConcerne.setTypeDroit(acteurConcernePayLoad.getTypeDroit());
- acteurConcerne.setExternalKey(acteurConcernePayLoad.getExternalKey());
- acteurConcerne.setRoleActeur(acteurConcernePayLoad.getRoleActeur());
- acteurConcerne.setBlocId(acteurConcernePayLoad.getBlocId());
- acteurConcerne.setHaveDeclarant(acteurConcernePayLoad.getHaveDeclarant());
- acteurConcerne.setMax_numero_acteur_concerne_id(acteurConcernePayLoad.getMax_numero_acteur_concerne_id());
- return acteurConcerne;
- }
-
- @Override
- public SyncResponse syncFiles(MultipartFile file,
- Long idBackend,
- Long externalKey,
- Long pieceId,
- Long membreGroupeId,
- Long terminalId,
- String name,
- String filePath,
- Long max_numero_piece_id,
- Long max_numero_upload_id,
- Long max_numero_acteur_concerne_id,
- Long enqueteId,
- Long enqueteBatimentId,
- Long enqueteUniteLogementId,
- Long personneId) {
-
- UploadPayLoad uploadPayLoad = new UploadPayLoad();
- uploadPayLoad.setSynchronise(false);
- uploadPayLoad.setFile(file);
- uploadPayLoad.setExternalKey(externalKey);
- uploadPayLoad.setPieceId(pieceId);
- uploadPayLoad.setIdBackend(idBackend);
- uploadPayLoad.setMembreGroupeId(membreGroupeId);
- uploadPayLoad.setTerminalId(terminalId);
- uploadPayLoad.setName(name);
- uploadPayLoad.setFilePath(filePath);
- uploadPayLoad.setMax_numero_upload_id(max_numero_upload_id);
- uploadPayLoad.setMax_numero_piece_id(max_numero_piece_id);
- uploadPayLoad.setMax_numero_acteur_concerne_id(max_numero_acteur_concerne_id);
- uploadPayLoad.setEnqueteId(enqueteId);
- uploadPayLoad.setEnqueteBatimentId(enqueteBatimentId);
- uploadPayLoad.setEnqueteUniteLogementId(enqueteUniteLogementId);
- uploadPayLoad.setPersonneId(personneId);
- //System.out.println(uploadPayLoad);
- try {
- Upload upload = new Upload();
- SyncResponse syncResponse = new SyncResponse();
- if (terminalId == null) {
- syncResponse = new SyncResponse(idBackend,
- externalKey, false, "Le terminal n'est pas précisé");
- return syncResponse;
- } else {
- Optional optionalTpe = tpeRepository.findById(terminalId);
- if (optionalTpe.isEmpty()) {
- syncResponse = new SyncResponse(idBackend,
- externalKey, false, "Le terminal n'existe pas");
- return syncResponse;
- }
- }
-
- if ((uploadPayLoad.getPieceId() == null || uploadPayLoad.getPieceId() == 0)
- && (uploadPayLoad.getMembreGroupeId() == null || uploadPayLoad.getMembreGroupeId() == 0)
- && (uploadPayLoad.getPersonneId() == null || uploadPayLoad.getPersonneId() == 0)
- && (uploadPayLoad.getEnqueteBatimentId() == null || uploadPayLoad.getEnqueteBatimentId() == 0)
- && (uploadPayLoad.getEnqueteUniteLogementId() == null || uploadPayLoad.getEnqueteUniteLogementId() == 0)) {
-
- syncResponse = new SyncResponse(uploadPayLoad.getIdBackend(),
- uploadPayLoad.getExternalKey(), false, "La pièce ou le membre groupe concernée ou l'enquête batiment ou l'enquête unité de logement ou la personnes n'est pas précisé");
- return syncResponse;
- } else {
- Optional optionalEnqueteUniteLogement = null;
- if (uploadPayLoad.getEnqueteUniteLogementId() != null && uploadPayLoad.getEnqueteUniteLogementId() != 0) {
- optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getEnqueteUniteLogementId(), uploadPayLoad.getTerminalId());
- }
-
- Optional optionalEnqueteBatiment = null;
- if (uploadPayLoad.getEnqueteBatimentId() != null && uploadPayLoad.getEnqueteBatimentId() != 0) {
- optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getEnqueteBatimentId(), uploadPayLoad.getTerminalId());
- }
-
-
- Optional optionalPiece = null;
- if (uploadPayLoad.getPieceId() != null) {
- optionalPiece = pieceRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getPieceId(), terminalId);
- }
- Optional optionalMembreGroupe = null;
- if (uploadPayLoad.getMembreGroupeId() != null) {
- optionalMembreGroupe = membreGroupeRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getMembreGroupeId(), terminalId);
- }
-
- Optional optionalPersonne = null;
- if (uploadPayLoad.getPersonneId() != null) {
- optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getPersonneId(),terminalId);
- }
-
- if ((optionalMembreGroupe == null || optionalMembreGroupe.isEmpty())
- && (optionalPiece == null || optionalPiece.isEmpty())
- && (optionalPersonne==null || optionalPersonne.isEmpty())
- && (optionalEnqueteUniteLogement == null || optionalEnqueteUniteLogement.isEmpty())
- && (optionalEnqueteBatiment == null || optionalEnqueteBatiment.isEmpty())
- ) {
- syncResponse = new SyncResponse(uploadPayLoad.getIdBackend(),
- uploadPayLoad.getExternalKey(), false, "La pièce ou le groupe ou la personne précisée n'existe ou l'enquete batiment ou l'enquete unité de logement pas");
- return syncResponse;
- }
- }
-
- uploadPayLoad.setSynchronise(true);
- if (uploadPayLoad.getIdBackend() != null && uploadPayLoad.getIdBackend() != 0) {
- Optional optionalUpload = uploadRepository.findById(uploadPayLoad.getIdBackend());
- if (optionalUpload.isPresent()) {
- upload = optionalUpload.get();
- }else{
- uploadPayLoad.setIdBackend(null);
- }
- upload = getUploadFromUplaodPayLoad(upload, uploadPayLoad);
- uploadPayLoad.setIdBackend(upload.getId());
-
- } else {
- Optional optionalUpload = uploadRepository.findDistinctFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getExternalKey(), uploadPayLoad.getTerminalId());
- if(optionalUpload.isPresent()) {
- upload = optionalUpload.get();
- }
- upload = getUploadFromUplaodPayLoad(upload, uploadPayLoad);
- uploadPayLoad.setIdBackend(upload.getId());
- }
-
- if(upload.getId()!=null) {
- try {
- UploadMetaData uploadMetaData = new UploadMetaData();
- uploadMetaData.setUploadJson(upload);
- uploadMetaData.setUploadId(upload.getId());
- uploadMetaDataRepository.save(uploadMetaData);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- syncResponse.setObservation(uploadPayLoad.getObservation());
- syncResponse.setExternalKey(uploadPayLoad.getExternalKey());
- syncResponse.setSynchronise(uploadPayLoad.isSynchronise());
- syncResponse.setIdBackend(uploadPayLoad.getIdBackend());
- return syncResponse;
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(uploadPayLoad.getIdBackend(),
- uploadPayLoad.getExternalKey(), false, "Erreur inattendue");
- return syncResponse;
- }
- }
-
@Override
public List syncEnqueteFromMobile(List idEnquete) {
List syncResponses = new ArrayList<>();
@@ -2007,816 +1160,71 @@ public class SynchronisationServiceImpl implements SynchronisationService {
return syncResponses;
}
}
+ @Async("traitementTableRelationnelleExecutor")
+ public void traitementTableRelationnelle(Long terminalId){
- public Upload getUploadFromUplaodPayLoad(Upload upload, UploadPayLoad uploadPayLoad) {
-
- if (uploadPayLoad.getTerminalId() != null) {
- Optional optionalTpe = tpeRepository.findById(uploadPayLoad.getTerminalId());
- upload.setTerminal(optionalTpe.orElse(null));
- }
- if (uploadPayLoad.getPieceId() != null) {
- Optional optionalPiece = pieceRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getPieceId(), uploadPayLoad.getTerminalId());
- upload.setPiece(optionalPiece.orElse(null));
- }
- if (uploadPayLoad.getMembreGroupeId() != null) {
- Optional optionalMembreGroupe = membreGroupeRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getMembreGroupeId(), uploadPayLoad.getTerminalId());
- upload.setMembreGroupe(optionalMembreGroupe.orElse(null));
- }
- if(uploadPayLoad.getPersonneId() != null){
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getPersonneId(),uploadPayLoad.getTerminalId());
- upload.setPersonne(optionalPersonne.orElse(null));
- }
- if (uploadPayLoad.getEnqueteBatimentId() != null) {
- Optional optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getEnqueteBatimentId(), uploadPayLoad.getTerminalId());
- upload.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
- }
- if (uploadPayLoad.getEnqueteUniteLogementId() != null) {
- Optional optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getEnqueteUniteLogementId(), uploadPayLoad.getTerminalId());
- upload.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
- }
-
- if (uploadPayLoad.getIdBackend() != null && uploadPayLoad.getIdBackend() != 0) {
- try {
- fileStorageService.deleteFile(upload.getFileName());
- } catch (IOException e) {
- e.printStackTrace();
- //throw new RuntimeException(e);
- }
- }
-
- if (uploadPayLoad.getTerminalId() != null && uploadPayLoad.getEnqueteId()!=null) {
- Optional optionalEnquete=enqueteRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getEnqueteId(),uploadPayLoad.getTerminalId());
- if(optionalEnquete.isPresent()){
- upload.setEnqueteId(optionalEnquete.get().getId());
- }
- }
-
- String fileName = fileStorageService.storeFile(uploadPayLoad.getFile());
- upload.setExternalKey(uploadPayLoad.getExternalKey());
- upload.setFileName(fileName);
- upload.setMimeType(uploadPayLoad.getFile().getContentType());
- upload.setSize(uploadPayLoad.getFile().getSize());
- upload.setOriginalFileName(uploadPayLoad.getFile().getOriginalFilename());
- upload.setName(uploadPayLoad.getName());
- upload.setFilePath(uploadPayLoad.getFilePath());
- upload.setMax_numero_upload_id(uploadPayLoad.getMax_numero_upload_id());
- upload.setMax_numero_piece_id(uploadPayLoad.getMax_numero_piece_id());
- upload.setMax_numero_acteur_concerne_id(uploadPayLoad.getMax_numero_acteur_concerne_id());
- upload.setEnqueteExternalKey(uploadPayLoad.getEnqueteId());
- upload.setBlocId(uploadPayLoad.getBlocId());
- upload.setEnqueteBatimentExternalKey(uploadPayLoad.getEnqueteBatimentId());
- upload.setEnqueteUniteLogementExternalKey(uploadPayLoad.getEnqueteUniteLogementId());
- upload.setPieceExternalKey(uploadPayLoad.getPieceId());
- upload.setPersonneExternalKey(uploadPayLoad.getPersonneId());
- upload = uploadRepository.save(upload);
- return upload;
- }
-
-
- @Override
- public List syncBatiment(List batimentPaylaods) {
-
- List syncResponses = new ArrayList<>();
- if (batimentPaylaods == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucun batiment à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- batimentPaylaods.forEach(batimentPaylaod -> {
- try {
- System.out.println(batimentPaylaods);
- if (batimentPaylaod.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(batimentPaylaod.getIdBackend(),
- batimentPaylaod.getExternalKey(), false, "Le terminal n'est pas précisé.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(batimentPaylaod.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(batimentPaylaod.getIdBackend(),
- batimentPaylaod.getExternalKey(), false, "Le terminal n'existe pas.");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (batimentPaylaod.getParcelleId() == null) {
- SyncResponse syncResponse = new SyncResponse(batimentPaylaod.getIdBackend(),
- batimentPaylaod.getExternalKey(), false, "La parcelle n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(batimentPaylaod.getParcelleId(), batimentPaylaod.getTerminalId());
- if (optionalParcelle.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(batimentPaylaod.getIdBackend(),
- batimentPaylaod.getExternalKey(), false, "La parcelle précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- Batiment batiment = new Batiment();
- batimentPaylaod.setSynchronise(true);
- if (batimentPaylaod.getIdBackend() != null && batimentPaylaod.getIdBackend() != 0) {
- Optional batimentOptional = batimentRepository.findById(batimentPaylaod.getIdBackend());
- if (batimentOptional.isPresent()) {
- batiment = batimentOptional.get();
- } else {
- batimentPaylaod.setIdBackend(null);
- }
- batiment = getBatimentFromBatimentPayLoad(batiment, batimentPaylaod);
- batiment = batimentRepository.save(batiment);
- batimentPaylaod.setIdBackend(batiment.getId());
-
- } else {
- Optional batimentOptional = batimentRepository.findFirstByExternalKeyAndTerminal_Id(batimentPaylaod.getExternalKey(),batimentPaylaod.getTerminalId());
- if(batimentOptional.isPresent()){
- batiment=batimentOptional.get();
- }
- batiment = getBatimentFromBatimentPayLoad(batiment, batimentPaylaod);
- batimentRepository.save(batiment);
- batimentPaylaod.setIdBackend(batiment.getId());
- }
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(batimentPaylaod.getObservation());
- syncResponse.setExternalKey(batimentPaylaod.getExternalKey());
- syncResponse.setSynchronise(batimentPaylaod.isSynchronise());
- syncResponse.setIdBackend(batimentPaylaod.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(batimentPaylaod.getIdBackend(),
- batimentPaylaod.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
+ List mobileDataPersonnes= mobileDataPersonneRepository.findAllByTraiterIsFalseAndTerminalId(terminalId);
+ mobileDataPersonnes.forEach(mobileDataPersonne -> {
+ personneAsyncWorker.traitementAsyncPersonne(mobileDataPersonne);
});
- return syncResponses;
- }
-
-
- @Override
- public List syncUniteLogement(List uniteLogementPaylaods) {
-
- List syncResponses = new ArrayList<>();
- if (uniteLogementPaylaods == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune unité de logement à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- uniteLogementPaylaods.forEach(uniteLogementPaylaod -> {
- try {
- if (uniteLogementPaylaod.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(uniteLogementPaylaod.getIdBackend(),
- uniteLogementPaylaod.getExternalKey(), false, "Le terminal n'est pas précisé.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(uniteLogementPaylaod.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(uniteLogementPaylaod.getIdBackend(),
- uniteLogementPaylaod.getExternalKey(), false, "Le terminal n'existe pas.");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (uniteLogementPaylaod.getBatimentId() == null) {
- SyncResponse syncResponse = new SyncResponse(uniteLogementPaylaod.getIdBackend(),
- uniteLogementPaylaod.getExternalKey(), false, "Le batiment n'est pas précisé.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getBatimentId(), uniteLogementPaylaod.getTerminalId());
- if (optionalBatiment.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(uniteLogementPaylaod.getIdBackend(),
- uniteLogementPaylaod.getExternalKey(), false, "Le batiment précisé n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- UniteLogement uniteLogement = new UniteLogement();
- uniteLogementPaylaod.setSynchronise(true);
- if (uniteLogementPaylaod.getIdBackend() != null && uniteLogementPaylaod.getIdBackend() != 0) {
- Optional uniteLogementOptional = uniteLogementRepository.findById(uniteLogementPaylaod.getIdBackend());
- if (uniteLogementOptional.isPresent()) {
- uniteLogement = uniteLogementOptional.get();
- } else {
- uniteLogementPaylaod.setIdBackend(null);
- }
- uniteLogement = getUniteLogementFromUniteLogementPayLoad(uniteLogement, uniteLogementPaylaod);
- uniteLogementRepository.save(uniteLogement);
- uniteLogementPaylaod.setIdBackend(uniteLogement.getId());
-
- } else {
- Optional uniteLogementOptional = uniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getExternalKey(),uniteLogementPaylaod.getTerminalId());
- if(uniteLogementOptional.isPresent()){
- uniteLogement=uniteLogementOptional.get();
- }
- uniteLogement = getUniteLogementFromUniteLogementPayLoad(uniteLogement, uniteLogementPaylaod);
- uniteLogementRepository.save(uniteLogement);
- uniteLogementPaylaod.setIdBackend(uniteLogement.getId());
- }
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(uniteLogementPaylaod.getObservation());
- syncResponse.setExternalKey(uniteLogementPaylaod.getExternalKey());
- syncResponse.setSynchronise(uniteLogementPaylaod.isSynchronise());
- syncResponse.setIdBackend(uniteLogementPaylaod.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(uniteLogementPaylaod.getIdBackend(),
- uniteLogementPaylaod.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
+ List mobileDataMembreGroupes=mobileDataMembreGroupeRepository.findAllByTraiterIsFalseAndTerminalId(terminalId);
+ mobileDataMembreGroupes.forEach(mobileDataMembreGroupe -> {
+ membreGroupeAsyncWorker.traitementAsyncMembreGroupe(mobileDataMembreGroupe);
});
- return syncResponses;
- }
-
- @Override
- public List syncCaracteristiqueBatiment(List caracteristiqueBatimentPaylods) {
- System.out.println("DANS CARACT BATIMENT");
- List syncResponses = new ArrayList<>();
- if (caracteristiqueBatimentPaylods == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune caracteristique de bâtiment à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- caracteristiqueBatimentPaylods.forEach(caracteristiqueBatimentPaylod -> {
- try {
- System.out.println(caracteristiqueBatimentPaylod);
- if (caracteristiqueBatimentPaylod.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueBatimentPaylod.getIdBackend(),
- caracteristiqueBatimentPaylod.getExternalKey(), false, "Le terminal n'est pas précisé.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueBatimentPaylod.getIdBackend(),
- caracteristiqueBatimentPaylod.getExternalKey(), false, "Le terminal n'existe pas.");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (caracteristiqueBatimentPaylod.getCaracteristiqueId() == null) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueBatimentPaylod.getIdBackend(),
- caracteristiqueBatimentPaylod.getExternalKey(), false, "La caracteristique du batiment n'est pas précisé.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueBatimentPaylod.getCaracteristiqueId());
- if (optionalCaracteristique.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueBatimentPaylod.getIdBackend(),
- caracteristiqueBatimentPaylod.getExternalKey(), false, "La caracteristique du batiment précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- CaracteristiqueBatiment caracteristiqueBatiment = new CaracteristiqueBatiment();
- caracteristiqueBatimentPaylod.setSynchronise(true);
- caracteristiqueBatiment = getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(caracteristiqueBatiment, caracteristiqueBatimentPaylod);
- caracteristiqueBatimentRepository.save(caracteristiqueBatiment);
- caracteristiqueBatimentPaylod.setIdBackend(caracteristiqueBatiment.getId());
-
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(caracteristiqueBatimentPaylod.getObservation());
- syncResponse.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey());
- syncResponse.setSynchronise(caracteristiqueBatimentPaylod.isSynchronise());
- syncResponse.setIdBackend(caracteristiqueBatimentPaylod.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(caracteristiqueBatimentPaylod.getIdBackend(),
- caracteristiqueBatimentPaylod.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
+ List mobileDataParcelles= mobileDataParcelleRepository.findAllByTraiterIsFalseAndTerminalId(terminalId);
+ mobileDataParcelles.forEach(mobileDataParcelle -> {
+ parcelleAsyncWorker.traitementAsyncParcelle(mobileDataParcelle);
});
- return syncResponses;
- }
-
- private void deleteAllCaracteristiqueBatimentFromEnqueteBatiment(EnqueteBatiment enqueteBatiment) {
- caracteristiqueBatimentRepository.deleteAllByEnqueteBatiment(enqueteBatiment);
- }
-
-
- @Override
- public List syncCaracteristiqueUniteLogement(List caracteristiqueUniteLogementPaylods) {
-
- List syncResponses = new ArrayList<>();
- if (caracteristiqueUniteLogementPaylods == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune caracteristique d'unité de logement à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- caracteristiqueUniteLogementPaylods.forEach(caracteristiqueUniteLogementPaylod -> {
- try {
- if (caracteristiqueUniteLogementPaylod.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueUniteLogementPaylod.getIdBackend(),
- caracteristiqueUniteLogementPaylod.getExternalKey(), false, "Le terminal n'est pas précisé.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueUniteLogementPaylod.getIdBackend(),
- caracteristiqueUniteLogementPaylod.getExternalKey(), false, "Le terminal n'existe pas.");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (caracteristiqueUniteLogementPaylod.getCaracteristiqueId() == null) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueUniteLogementPaylod.getIdBackend(),
- caracteristiqueUniteLogementPaylod.getExternalKey(), false, "La caracteristique de l'unité de logement n'est pas précisée.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueUniteLogementPaylod.getCaracteristiqueId());
- if (optionalCaracteristique.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueUniteLogementPaylod.getIdBackend(),
- caracteristiqueUniteLogementPaylod.getExternalKey(), false, "La caracteristique de l'unité de logement précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- CaracteristiqueUniteLogement caracteristiqueUniteLogement = new CaracteristiqueUniteLogement();
- caracteristiqueUniteLogementPaylod.setSynchronise(true);
- caracteristiqueUniteLogement = getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(caracteristiqueUniteLogement, caracteristiqueUniteLogementPaylod);
- caracteristiqueUniteLogementRepository.save(caracteristiqueUniteLogement);
- caracteristiqueUniteLogementPaylod.setIdBackend(caracteristiqueUniteLogement.getId());
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(caracteristiqueUniteLogementPaylod.getObservation());
- syncResponse.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey());
- syncResponse.setSynchronise(caracteristiqueUniteLogementPaylod.isSynchronise());
- syncResponse.setIdBackend(caracteristiqueUniteLogementPaylod.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(caracteristiqueUniteLogementPaylod.getIdBackend(),
- caracteristiqueUniteLogementPaylod.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
+ List mobileDataEnquetes= mobileDataEnqueteRepository.findAllByTraiterIsFalseAndTerminalId(terminalId);
+ mobileDataEnquetes.forEach(mobileDataEnquete -> {
+ enqueteAsyncWorker.traitementAsyncEnquete(mobileDataEnquete);
});
- return syncResponses;
- }
-
- private void deleteAllCaracteristiqueUniteLogementFromEnqueteUniteLogement(EnqueteUniteLogement enqueteUniteLogement) {
- caracteristiqueUniteLogementRepository.deleteAllByEnqueteUniteLogement(enqueteUniteLogement);
- }
-
-
- @Override
- public List syncCaracteristiqueParcelle(List caracteristiqueParcellePaylods) {
- List syncResponses = new ArrayList<>();
- if (caracteristiqueParcellePaylods == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune caracteristique de parcelle à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- caracteristiqueParcellePaylods.forEach(caracteristiqueParcellePaylod -> {
- try {
- if (caracteristiqueParcellePaylod.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueParcellePaylod.getIdBackend(),
- caracteristiqueParcellePaylod.getExternalKey(), false, "Le terminal n'est pas précisé.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueParcellePaylod.getIdBackend(),
- caracteristiqueParcellePaylod.getExternalKey(), false, "Le terminal n'existe pas.");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (caracteristiqueParcellePaylod.getCaracteristiqueId() == null) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueParcellePaylod.getIdBackend(),
- caracteristiqueParcellePaylod.getExternalKey(), false, "La caracteristique de la parcelle n'est pas précisée.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueParcellePaylod.getCaracteristiqueId());
- if (optionalCaracteristique.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(caracteristiqueParcellePaylod.getIdBackend(),
- caracteristiqueParcellePaylod.getExternalKey(), false, "La caracteristique de la parcelle précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- CaracteristiqueParcelle caracteristiqueParcelle = new CaracteristiqueParcelle();
- caracteristiqueParcellePaylod.setSynchronise(true);
- caracteristiqueParcelle = getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(caracteristiqueParcelle, caracteristiqueParcellePaylod);
- caracteristiqueParcelleRepository.save(caracteristiqueParcelle);
- caracteristiqueParcellePaylod.setIdBackend(caracteristiqueParcelle.getId());
-
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(caracteristiqueParcellePaylod.getObservation());
- syncResponse.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
- syncResponse.setSynchronise(caracteristiqueParcellePaylod.isSynchronise());
- syncResponse.setIdBackend(caracteristiqueParcellePaylod.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(caracteristiqueParcellePaylod.getIdBackend(),
- caracteristiqueParcellePaylod.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
+ List mobileDataActeurConcernes= mobileDataActeurConcerneRepository.findAllByTraiterIsFalseAndTerminalId(terminalId);
+ mobileDataActeurConcernes.forEach(mobileDataActeurConcerne -> {
+ acteurConcerneAsyncWorker.traitementAsyncActeurConcerne(mobileDataActeurConcerne);
});
- return syncResponses;
- }
-
- private void deleteAllCaracteristiqueParcelleFromEnquete(Enquete enquete) {
- caracteristiqueParcelleRepository.deleteAllByEnquete(enquete);
- }
-
-
- @Override
- public List syncEnqueteBatiment(List enqueteBatimentPayLoads) {
- List syncResponses = new ArrayList<>();
- if (enqueteBatimentPayLoads == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune enquête de batiment à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- enqueteBatimentPayLoads.forEach(enqueteBatimentPayload -> {
- System.out.println(enqueteBatimentPayload);
- try {
- System.out.println(enqueteBatimentPayload);
- if (enqueteBatimentPayload.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE TPE");
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(enqueteBatimentPayload.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "Le terminal n'existe pas");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE TPE");
- return;
- }
- }
-
- if (enqueteBatimentPayload.getUserId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "L'enquêteur n'est pas précisé");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE USER");
- return;
- } else {
- Optional optionalUser = userRepository.findById(enqueteBatimentPayload.getUserId());
- if (optionalUser.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "L'enquêteur précisé n'existe pas");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE USER");
- return;
- }
- }
- if (enqueteBatimentPayload.getEnqueteId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "L'enquete de la parcelle n'est pas précisée");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE ENQUETE");
- return;
- } else {
- Optional optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getEnqueteId(), enqueteBatimentPayload.getTerminalId());
- if (optionalEnquete.isEmpty()) {
- System.out.println("PAS DE ENQUETE");
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "L'enquete de la parcelle précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (enqueteBatimentPayload.getPersonneId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "La personne n'est pas précisée.");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE PERSONNE");
- return;
- } else {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getPersonneId(),enqueteBatimentPayload.getTerminalId());
- if (optionalPersonne.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "La personne précisée n'existe pas.");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE PERSONNE");
- return;
- }
- }
-
- if (enqueteBatimentPayload.getBatimentId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "Le batiment n'est pas précisée.");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE BATIMENT");
- return;
- } else {
- Optional optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getBatimentId(), enqueteBatimentPayload.getTerminalId());
- if (optionalBatiment.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "Le batiment précisé n'existe pas.");
- syncResponses.add(syncResponse);
- System.out.println("PAS DE BATIMENT");
- return;
- }
- }
-
- EnqueteBatiment enqueteBatiment = new EnqueteBatiment();
- enqueteBatimentPayload.setSynchronise(true);
- if (enqueteBatimentPayload.getIdBackend() != null && enqueteBatimentPayload.getIdBackend() != 0) {
- Optional optionalEnqueteBatiment = enqueteBatimentRepository.findById(enqueteBatimentPayload.getIdBackend());
- if (optionalEnqueteBatiment.isPresent()) {
- enqueteBatiment = optionalEnqueteBatiment.get();
- //deleteAllCaracteristiqueBatimentFromEnqueteBatiment(enqueteBatiment);
- //deleteAllUploadFromEnqueteBatiment(enqueteBatiment);
- } else {
- enqueteBatimentPayload.setIdBackend(null);
- }
- enqueteBatiment = getEnqueteBatimentFromEnqueteBatimentPayLoad(enqueteBatiment, enqueteBatimentPayload);
- enqueteBatiment.setStatutEnregistrement(StatutEnregistrement.MISE_A_JOUR);
- enqueteBatimentRepository.save(enqueteBatiment);
- enqueteBatimentPayload.setIdBackend(enqueteBatiment.getId());
- } else {
- Optional optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getExternalKey(),enqueteBatimentPayload.getTerminalId());
- if(optionalEnqueteBatiment.isPresent()){
- enqueteBatiment = optionalEnqueteBatiment.get();
- // deleteAllCaracteristiqueBatimentFromEnqueteBatiment(enqueteBatiment);
- // deleteAllUploadFromEnqueteBatiment(enqueteBatiment);
- }
- enqueteBatiment = getEnqueteBatimentFromEnqueteBatimentPayLoad(enqueteBatiment, enqueteBatimentPayload);
- enqueteBatiment.setStatutEnregistrement(StatutEnregistrement.NOUVELLE_INSERTION);
- enqueteBatiment = enqueteBatimentRepository.save(enqueteBatiment);
- enqueteBatimentPayload.setIdBackend(enqueteBatiment.getId());
- }
- SyncResponse syncResponse = new SyncResponse();
- syncResponse.setObservation(enqueteBatimentPayload.getObservation());
- syncResponse.setExternalKey(enqueteBatimentPayload.getExternalKey());
- syncResponse.setSynchronise(enqueteBatimentPayload.isSynchronise());
- syncResponse.setIdBackend(enqueteBatimentPayload.getIdBackend());
- syncResponses.add(syncResponse);
- } catch (Exception e) {
- e.printStackTrace();
- SyncResponse syncResponse = new SyncResponse(enqueteBatimentPayload.getIdBackend(),
- enqueteBatimentPayload.getExternalKey(), false, "Erreur inattendue");
- syncResponses.add(syncResponse);
- }
+ List mobileDataPieces= mobileDataPieceRepository.findAllByTraiterIsFalseAndTerminalId(terminalId);
+ mobileDataPieces.forEach(mobileDataPiece -> {
+ pieceAsyncWorker.traitementAsyncPiece(mobileDataPiece);
});
-
- return syncResponses;
- }
-
- @Override
- public List syncEnqueteUniteLogement(List enqueteUniteLogementPayloads) {
- List syncResponses = new ArrayList<>();
- if (enqueteUniteLogementPayloads == null) {
- SyncResponse syncResponse = new SyncResponse(null,
- null, false, "Aucune enquête d'unité de logement à synchroniser");
- syncResponses.add(syncResponse);
- return syncResponses;
- }
- enqueteUniteLogementPayloads.forEach(enqueteUniteLogementPayload -> {
-
- try {
- if (enqueteUniteLogementPayload.getTerminalId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "Le terminal n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalTpe = tpeRepository.findById(enqueteUniteLogementPayload.getTerminalId());
- if (optionalTpe.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "Le terminal n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (enqueteUniteLogementPayload.getUserId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "L'enquêteur n'est pas précisé");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalUser = userRepository.findById(enqueteUniteLogementPayload.getUserId());
- if (optionalUser.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "L'enquêteur précisé n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (enqueteUniteLogementPayload.getEnqueteId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "L'enquete de la parcelle n'est pas précisée");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getEnqueteId(), enqueteUniteLogementPayload.getTerminalId());
- if (optionalEnquete.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "L'enquete de la parcelle précisée n'existe pas");
- syncResponses.add(syncResponse);
- return;
- }
- }
- if (enqueteUniteLogementPayload.getPersonneId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "La personne n'est pas précisée.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getPersonneId(),enqueteUniteLogementPayload.getTerminalId());
- if (optionalPersonne.isEmpty()) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "La personne précisée n'existe pas.");
- syncResponses.add(syncResponse);
- return;
- }
- }
-
- if (enqueteUniteLogementPayload.getUniteLogementId() == null) {
- SyncResponse syncResponse = new SyncResponse(enqueteUniteLogementPayload.getIdBackend(),
- enqueteUniteLogementPayload.getExternalKey(), false, "L'unité de logement n'est pas précisée.");
- syncResponses.add(syncResponse);
- return;
- } else {
- Optional