apres mise en oeuvre de sychro avec bjson et tache asynch
1
pom.xml
@@ -147,6 +147,7 @@
|
|||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|||||||
175
src/main/java/io/gmss/fiscad/configuration/AsyncConfig.java
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -31,6 +31,10 @@ import io.swagger.v3.oas.annotations.servers.Server;
|
|||||||
description = "Local ENV",
|
description = "Local ENV",
|
||||||
url = "http://localhost:8282"
|
url = "http://localhost:8282"
|
||||||
),
|
),
|
||||||
|
@Server(
|
||||||
|
description = "TEST ENV (http)",
|
||||||
|
url = "http://novatic.vps.webdock.cloud:8282"
|
||||||
|
),
|
||||||
@Server(
|
@Server(
|
||||||
description = "PROD ENV (https)",
|
description = "PROD ENV (https)",
|
||||||
url = "https://backend.fiscad.org"
|
url = "https://backend.fiscad.org"
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import java.util.List;
|
|||||||
@SecurityRequirement(name = "bearer")
|
@SecurityRequirement(name = "bearer")
|
||||||
@Tag(name = "Commentaire")
|
@Tag(name = "Commentaire")
|
||||||
@CrossOrigin(origins = "*")
|
@CrossOrigin(origins = "*")
|
||||||
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
|
||||||
public class CommentaireController {
|
public class CommentaireController {
|
||||||
|
|
||||||
private final CommentaireService commentaireService;
|
private final CommentaireService commentaireService;
|
||||||
@@ -39,7 +39,7 @@ public class CommentaireController {
|
|||||||
this.commentaireService = commentaireService;
|
this.commentaireService = commentaireService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
public ResponseEntity<?> createcommentaire(@RequestBody @Valid @Validated Commentaire commentaire) {
|
public ResponseEntity<?> createcommentaire(@RequestBody @Valid @Validated Commentaire commentaire) {
|
||||||
try {
|
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);
|
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}")
|
@PutMapping("/update/{id}")
|
||||||
public ResponseEntity<?> updatecommentaire(@PathVariable Long id, @RequestBody Commentaire commentaire) {
|
public ResponseEntity<?> updatecommentaire(@PathVariable Long id, @RequestBody Commentaire commentaire) {
|
||||||
try {
|
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);
|
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}")
|
@DeleteMapping("/delete/{id}")
|
||||||
public ResponseEntity<?> deletecommentaire(@PathVariable Long id) {
|
public ResponseEntity<?> deletecommentaire(@PathVariable Long id) {
|
||||||
try {
|
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);
|
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")
|
@GetMapping("/all")
|
||||||
public ResponseEntity<?> getAllcommentaireList() {
|
public ResponseEntity<?> getAllcommentaireList() {
|
||||||
try {
|
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);
|
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}")
|
@GetMapping("/id/{id}")
|
||||||
public ResponseEntity<?> getcommentaireById(@PathVariable Long id) {
|
public ResponseEntity<?> getcommentaireById(@PathVariable Long id) {
|
||||||
try {
|
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);
|
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}")
|
@GetMapping("/nup/{nup}")
|
||||||
public ResponseEntity<?> getcommentaireByNup(@PathVariable String nup) {
|
public ResponseEntity<?> getcommentaireByNup(@PathVariable String nup) {
|
||||||
try {
|
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);
|
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")
|
@PostMapping("/enquete")
|
||||||
public ResponseEntity<?> getcommentaireByEnquete(@RequestBody Commentaire commentaire) {
|
public ResponseEntity<?> getcommentaireByEnquete(@RequestBody Commentaire commentaire) {
|
||||||
try {
|
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);
|
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")
|
@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")
|
//@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) {
|
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);
|
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")
|
@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")
|
//@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) {
|
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);
|
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")
|
@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. ")
|
//@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<SyncCommentaireRequest> syncCommentaireRequests) {
|
public ResponseEntity<?> notifyDoneSynchronizedFromMobile(@RequestBody List<SyncCommentaireRequest> syncCommentaireRequests) {
|
||||||
|
|||||||
@@ -514,7 +514,7 @@ public class SynchronisationController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping("/traiter-non-synch-to-mobile/{terminalId}")
|
@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) {
|
public ResponseEntity<?> getEnqueteValideNonSynch(@PathVariable Long terminalId) {
|
||||||
try {
|
try {
|
||||||
return new ResponseEntity<>(
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,5 +69,6 @@ public class ActeurConcerne extends BaseEntity implements Serializable {
|
|||||||
@ColumnDefault("0")
|
@ColumnDefault("0")
|
||||||
private int haveDeclarant;
|
private int haveDeclarant;
|
||||||
private Long max_numero_acteur_concerne_id;
|
private Long max_numero_acteur_concerne_id;
|
||||||
|
private Long mobileDataId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class Enquete extends BaseEntity implements Serializable {
|
|||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private User user;
|
private User user;
|
||||||
|
private Long mobileDataId;
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@OneToMany(mappedBy = "enquete")
|
@OneToMany(mappedBy = "enquete")
|
||||||
private List<ActeurConcerne> acteurConcernes;
|
private List<ActeurConcerne> acteurConcernes;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class MembreGroupe extends BaseEntity implements Serializable {
|
|||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private Tpe terminal;
|
private Tpe terminal;
|
||||||
|
private Long mobileDataId;
|
||||||
private Long max_numero_piece_id;
|
private Long max_numero_piece_id;
|
||||||
private Long max_numero_acteur_concerne_id;
|
private Long max_numero_acteur_concerne_id;
|
||||||
private Long enqueteId;
|
private Long enqueteId;
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ public class Parcelle extends BaseEntity implements Serializable {
|
|||||||
@ColumnDefault("false")
|
@ColumnDefault("false")
|
||||||
private boolean synchronise;
|
private boolean synchronise;
|
||||||
private Long idDerniereEnquete;
|
private Long idDerniereEnquete;
|
||||||
|
private Long mobileDataId;
|
||||||
// @JsonIgnore
|
// @JsonIgnore
|
||||||
// @OneToMany(mappedBy = "parcelle")
|
// @OneToMany(mappedBy = "parcelle")
|
||||||
// private List<Batiment> batiments;
|
// private List<Batiment> batiments;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public class Piece extends BaseEntity implements Serializable {
|
|||||||
private LocalDate dateExpiration;
|
private LocalDate dateExpiration;
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private TypePiece typePiece;
|
private TypePiece typePiece;
|
||||||
|
private Long mobileDataId;
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
private Personne personne;
|
private Personne personne;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class Upload extends BaseEntity implements Serializable {
|
|||||||
private Piece piece;
|
private Piece piece;
|
||||||
private Long pieceExternalKey;
|
private Long pieceExternalKey;
|
||||||
|
|
||||||
|
private Long mobileDataId;
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
private MembreGroupe membreGroupe;
|
private MembreGroupe membreGroupe;
|
||||||
|
|||||||
@@ -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.Piece;
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
import io.gmss.fiscad.enums.Categorie;
|
import io.gmss.fiscad.enums.Categorie;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@@ -83,6 +84,8 @@ public class Personne extends BaseEntity implements Serializable {
|
|||||||
|
|
||||||
@OneToMany(mappedBy = "personne")
|
@OneToMany(mappedBy = "personne")
|
||||||
private List<Piece> pieces;
|
private List<Piece> pieces;
|
||||||
|
|
||||||
|
private Long mobileDataId;
|
||||||
public List<Upload> getUploads() {
|
public List<Upload> getUploads() {
|
||||||
return uploads.stream().filter(upload -> upload.getPiece() == null && upload.getMembreGroupe() == null).toList();
|
return uploads.stream().filter(upload -> upload.getPiece() == null && upload.getMembreGroupe() == null).toList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataActeurConcerne extends BaseEntity implements Serializable
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private ActeurConcernePayLoad acteurConcernePayLoad ;
|
private ActeurConcernePayLoad acteurConcernePayLoad ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataBatiment extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private BatimentPaylaod batimentPaylaod ;
|
private BatimentPaylaod batimentPaylaod ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataCaracteristiqueBatiment extends BaseEntity implements Ser
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod ;
|
private CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataCaracteristiqueParcelle extends BaseEntity implements Ser
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private CaracteristiqueParcellePaylod caracteristiqueParcellePaylod ;
|
private CaracteristiqueParcellePaylod caracteristiqueParcellePaylod ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataCaracteristiqueUniteLogement extends BaseEntity implement
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod ;
|
private CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataEnquete extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private EnquetePayLoad enquetePayLoad ;
|
private EnquetePayLoad enquetePayLoad ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataEnqueteBatiment extends BaseEntity implements Serializabl
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private EnqueteBatimentPayload enqueteBatimentPayload ;
|
private EnqueteBatimentPayload enqueteBatimentPayload ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataEnqueteUniteLogement extends BaseEntity implements Serial
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private EnqueteUniteLogementPayload enqueteUniteLogementPayload ;
|
private EnqueteUniteLogementPayload enqueteUniteLogementPayload ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataMembreGroupe extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private MembreGroupePayLoad membreGroupePayLoad ;
|
private MembreGroupePayLoad membreGroupePayLoad ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataParcelle extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private ParcellePayLoad parcellePayLoad ;
|
private ParcellePayLoad parcellePayLoad ;
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public class MobileDataPersonne extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private PersonnePayLoad personnePayLoad ;
|
private PersonnePayLoad personnePayLoad ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataPiece extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private PiecePayLoad piecePayLoad ;
|
private PiecePayLoad piecePayLoad ;
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public class MobileDataUniteLogement extends BaseEntity implements Serializable
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private UniteLogementPaylaod uniteLogementPaylaod ;
|
private UniteLogementPaylaod uniteLogementPaylaod ;
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ public class MobileDataUpload extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
@Column(columnDefinition = "jsonb")
|
@Column(columnDefinition = "jsonb")
|
||||||
private UploadPayLoad uploadPayLoad ;
|
private UploadPayLoad uploadPayLoad ;
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ public class PieceMetaData extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
private Long pieceId;
|
private Long pieceId;
|
||||||
|
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
|
|||||||
@@ -26,7 +26,8 @@ public class UploadMetaData extends BaseEntity implements Serializable {
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long terminalId;
|
||||||
|
private Long externalKey;
|
||||||
private Long uploadId;
|
private Long uploadId;
|
||||||
|
|
||||||
@Type(JsonBinaryType.class)
|
@Type(JsonBinaryType.class)
|
||||||
|
|||||||
@@ -43,4 +43,5 @@ public class Batiment extends BaseEntity implements Serializable {
|
|||||||
@ManyToOne
|
@ManyToOne
|
||||||
private Tpe terminal;
|
private Tpe terminal;
|
||||||
private Long enqueteId;
|
private Long enqueteId;
|
||||||
|
private Long mobileDataId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class CaracteristiqueBatiment extends BaseEntity implements Serializable
|
|||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
private Long mobileDataId;
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@JsonBackReference ///pour couper la recurcivité
|
@JsonBackReference ///pour couper la recurcivité
|
||||||
private EnqueteBatiment enqueteBatiment;
|
private EnqueteBatiment enqueteBatiment;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class CaracteristiqueParcelle extends BaseEntity implements Serializable
|
|||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long mobileDataId;
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
private Enquete enquete;
|
private Enquete enquete;
|
||||||
|
|||||||
@@ -41,5 +41,5 @@ public class CaracteristiqueUniteLogement extends BaseEntity implements Serializ
|
|||||||
@ManyToOne
|
@ManyToOne
|
||||||
private Tpe terminal;
|
private Tpe terminal;
|
||||||
private Long enqueteId;
|
private Long enqueteId;
|
||||||
|
private Long mobileDataId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ public class EnqueteBatiment extends BaseEntity implements Serializable {
|
|||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
private User user;
|
private User user;
|
||||||
|
private Long mobileDataId;
|
||||||
//@JsonIgnore
|
//@JsonIgnore
|
||||||
@OneToMany(mappedBy = "enqueteBatiment")
|
@OneToMany(mappedBy = "enqueteBatiment")
|
||||||
private List<Upload> uploads;
|
private List<Upload> uploads;
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ public class EnqueteUniteLogement extends BaseEntity implements Serializable {
|
|||||||
@OneToOne
|
@OneToOne
|
||||||
private Personne personne;
|
private Personne personne;
|
||||||
private Long personneExternalKey;
|
private Long personneExternalKey;
|
||||||
|
private Long mobileDataId;
|
||||||
@OneToMany(mappedBy = "enqueteUniteLogement")
|
@OneToMany(mappedBy = "enqueteUniteLogement")
|
||||||
@JsonManagedReference
|
@JsonManagedReference
|
||||||
private List<CaracteristiqueUniteLogement> caracteristiqueUniteLogements;
|
private List<CaracteristiqueUniteLogement> caracteristiqueUniteLogements;
|
||||||
|
|||||||
@@ -38,4 +38,5 @@ public class UniteLogement extends BaseEntity implements Serializable {
|
|||||||
@ManyToOne
|
@ManyToOne
|
||||||
private Tpe terminal;
|
private Tpe terminal;
|
||||||
private Long enqueteId;
|
private Long enqueteId;
|
||||||
|
private Long mobileDataId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package io.gmss.fiscad.enums;
|
|||||||
|
|
||||||
public enum TypeObjet {
|
public enum TypeObjet {
|
||||||
PARCELLE,
|
PARCELLE,
|
||||||
|
ENQUETE,
|
||||||
PERSONNE,
|
PERSONNE,
|
||||||
MEMBREGROUPE,
|
MEMBREGROUPE,
|
||||||
ACTEURCONCERNER,
|
ACTEURCONCERNER,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.interfaces.synchronisation;
|
package io.gmss.fiscad.interfaces.synchronisation;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import io.gmss.fiscad.paylaods.request.*;
|
import io.gmss.fiscad.paylaods.request.*;
|
||||||
import io.gmss.fiscad.paylaods.response.ReferencesSyncResponses;
|
import io.gmss.fiscad.paylaods.response.ReferencesSyncResponses;
|
||||||
import io.gmss.fiscad.paylaods.response.SyncEnqueteAllDataResponse;
|
import io.gmss.fiscad.paylaods.response.SyncEnqueteAllDataResponse;
|
||||||
@@ -62,6 +63,6 @@ public interface SynchronisationService {
|
|||||||
);
|
);
|
||||||
|
|
||||||
public List<SyncResponse> syncEnqueteFromMobile(List<Long> idEnquete);
|
public List<SyncResponse> syncEnqueteFromMobile(List<Long> idEnquete);
|
||||||
|
public void traitementTableRelationnelle(Long terminalId);
|
||||||
public Upload getUploadFromUplaodPayLoad(Upload upload, UploadPayLoad uploadPayLoad);
|
// public Upload getUploadFromUplaodPayLoad(Upload upload, MobileDataUpload mobileDataUpload);
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@ public class UploadPayLoad {
|
|||||||
private Long pieceId;
|
private Long pieceId;
|
||||||
private String Observation;
|
private String Observation;
|
||||||
private boolean synchronise;
|
private boolean synchronise;
|
||||||
private MultipartFile file;
|
//private MultipartFile file;
|
||||||
private String fileBase64;
|
private String fileBase64;
|
||||||
private Long membreGroupeId;
|
private Long membreGroupeId;
|
||||||
private Long terminalId;
|
private Long terminalId;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.repositories.infocad.metier;
|
package io.gmss.fiscad.repositories.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.ActeurConcerne;
|
import io.gmss.fiscad.entities.infocad.metier.ActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.ActeurConcernePayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.ActeurConcernePayLoad;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -12,7 +13,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public interface ActeurConcerneRepository extends JpaRepository<ActeurConcerne, Long> {
|
public interface ActeurConcerneRepository extends JpaRepository<ActeurConcerne, Long> {
|
||||||
Optional<ActeurConcerne> findFirstByExternalKey(Long externalKey);
|
Optional<ActeurConcerne> findFirstByExternalKey(Long externalKey);
|
||||||
|
Optional<ActeurConcerne> findByMobileDataId(Long id);
|
||||||
List<ActeurConcerne> findActeurConcerneByEnquete_Id(Long EnqueteId);
|
List<ActeurConcerne> findActeurConcerneByEnquete_Id(Long EnqueteId);
|
||||||
|
|
||||||
Optional<ActeurConcerne> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long terminalId);
|
Optional<ActeurConcerne> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long terminalId);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.repositories.infocad.metier;
|
package io.gmss.fiscad.repositories.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.paylaods.response.*;
|
import io.gmss.fiscad.paylaods.response.*;
|
||||||
import io.gmss.fiscad.paylaods.response.report.EnqueteParBlocResponse;
|
import io.gmss.fiscad.paylaods.response.report.EnqueteParBlocResponse;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.EnquetePayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.EnquetePayLoad;
|
||||||
@@ -13,7 +14,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public interface EnqueteRepository extends JpaRepository<Enquete, Long> {
|
public interface EnqueteRepository extends JpaRepository<Enquete, Long> {
|
||||||
Optional<Enquete> findFirstByCodeParcelle(String codeParcelle);
|
Optional<Enquete> findFirstByCodeParcelle(String codeParcelle);
|
||||||
|
Optional<Enquete> findByMobileDataId(Long id);
|
||||||
@Query(value = "select distinct " +
|
@Query(value = "select distinct " +
|
||||||
" e.id," +
|
" e.id," +
|
||||||
" e.parcelle_id as parcelleId," +
|
" e.parcelle_id as parcelleId," +
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.repositories.infocad.metier;
|
package io.gmss.fiscad.repositories.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.MembreGroupe;
|
import io.gmss.fiscad.entities.infocad.metier.MembreGroupe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.MembreGroupePayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.MembreGroupePayLoad;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -12,6 +13,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public interface MembreGroupeRepository extends JpaRepository<MembreGroupe, Long> {
|
public interface MembreGroupeRepository extends JpaRepository<MembreGroupe, Long> {
|
||||||
Optional<MembreGroupe> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long terminalId);
|
Optional<MembreGroupe> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long terminalId);
|
||||||
|
Optional<MembreGroupe> findByMobileDataId(Long id);
|
||||||
@Modifying
|
@Modifying
|
||||||
@Transactional
|
@Transactional
|
||||||
void deleteMembreGroupeByPersonneRepresantante_Id(Long personneRepresenteId);
|
void deleteMembreGroupeByPersonneRepresantante_Id(Long personneRepresenteId);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.repositories.infocad.metier;
|
package io.gmss.fiscad.repositories.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.ParcellePayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.ParcellePayLoad;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
@@ -10,7 +11,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public interface ParcelleRepository extends JpaRepository<Parcelle, Long> {
|
public interface ParcelleRepository extends JpaRepository<Parcelle, Long> {
|
||||||
Optional<Parcelle> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
Optional<Parcelle> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
||||||
|
Optional<Parcelle> findByMobileDataId(Long id);
|
||||||
@Query(value = "Select " +
|
@Query(value = "Select " +
|
||||||
" p.id as idBackend, " +
|
" p.id as idBackend, " +
|
||||||
" p.external_key as externalKey, " +
|
" p.external_key as externalKey, " +
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.repositories.infocad.metier;
|
package io.gmss.fiscad.repositories.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Piece;
|
import io.gmss.fiscad.entities.infocad.metier.Piece;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.PiecePayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.PiecePayLoad;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -50,6 +51,7 @@ public interface PieceRepository extends JpaRepository<Piece, Long> {
|
|||||||
, nativeQuery = true)
|
, nativeQuery = true)
|
||||||
List<PiecePayLoad> getPiecesByTerminalId(Long terminalId);
|
List<PiecePayLoad> getPiecesByTerminalId(Long terminalId);
|
||||||
List<Piece> findByPersonne_Id(Long id);
|
List<Piece> findByPersonne_Id(Long id);
|
||||||
|
Optional<Piece> findByMobileDataId(Long id);
|
||||||
List<Piece> findByPersonne_IdAndActeurConcerneIsNull(Long id);
|
List<Piece> findByPersonne_IdAndActeurConcerneIsNull(Long id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.repositories.infocad.metier;
|
package io.gmss.fiscad.repositories.infocad.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
import io.gmss.fiscad.entities.infocad.metier.Upload;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.UploadPayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.UploadPayLoad;
|
||||||
@@ -39,7 +40,7 @@ public interface UploadRepository extends JpaRepository<Upload, Long> {
|
|||||||
@Modifying
|
@Modifying
|
||||||
@Transactional
|
@Transactional
|
||||||
void deleteUploadByPersonne_Id(Long personneId);
|
void deleteUploadByPersonne_Id(Long personneId);
|
||||||
|
Optional<Upload> findByMobileDataId(Long id);
|
||||||
@Query(value = "Select " +
|
@Query(value = "Select " +
|
||||||
" u.id as idBackend, " +
|
" u.id as idBackend, " +
|
||||||
" u.external_key as externalKey, " +
|
" u.external_key as externalKey, " +
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import java.util.Optional;
|
|||||||
public interface PersonneRepository extends JpaRepository<Personne, Long> {
|
public interface PersonneRepository extends JpaRepository<Personne, Long> {
|
||||||
Optional<Personne> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
Optional<Personne> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
||||||
|
|
||||||
|
Optional<Personne> findByMobileDataId(Long id);
|
||||||
@Query(value = "Select " +
|
@Query(value = "Select " +
|
||||||
" p.id as idBackend, " +
|
" p.id as idBackend, " +
|
||||||
" p.ifu, " +
|
" p.ifu, " +
|
||||||
@@ -49,4 +50,5 @@ public interface PersonneRepository extends JpaRepository<Personne, Long> {
|
|||||||
" where p.terminal_id = ?1", nativeQuery = true)
|
" where p.terminal_id = ?1", nativeQuery = true)
|
||||||
List<PersonnePayLoad> getPersonnesByTerminalId(Long terminalId);
|
List<PersonnePayLoad> getPersonnesByTerminalId(Long terminalId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,15 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataActeurConcerneRepository extends JpaRepository<MobileDataActeurConcerne, Long> {
|
public interface MobileDataActeurConcerneRepository extends JpaRepository<MobileDataActeurConcerne, Long> {
|
||||||
Optional<MobileDataActeurConcerne> findByActeurConcernePayLoad_TerminalIdAndActeurConcernePayLoad_ExternalKey(Long terminalId,Long ExternalKey);
|
//Optional<MobileDataActeurConcerne> findByActeurConcernePayLoad_TerminalIdAndActeurConcernePayLoad_ExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
Optional<MobileDataActeurConcerne> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
List<MobileDataActeurConcerne> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataBatiment;
|
import io.gmss.fiscad.entities.metadata.MobileDataBatiment;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataBatimentRepository extends JpaRepository<MobileDataBatiment, Long> {
|
public interface MobileDataBatimentRepository extends JpaRepository<MobileDataBatiment, Long> {
|
||||||
Optional<MobileDataBatiment> findMobileDataBatimentByBatimentPaylaod_TerminalIdAndBatimentPaylaod_ExternalKey(Long terminalId, Long externalKey);
|
//Optional<MobileDataBatiment> findMobileDataBatimentByBatimentPaylaod_TerminalIdAndBatimentPaylaod_ExternalKey(Long terminalId, Long externalKey);
|
||||||
|
Optional<MobileDataBatiment> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
List<MobileDataBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataBatiment;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataCaracteristiqueBatimentRepository extends JpaRepository<MobileDataCaracteristiqueBatiment, Long> {
|
public interface MobileDataCaracteristiqueBatimentRepository extends JpaRepository<MobileDataCaracteristiqueBatiment, Long> {
|
||||||
Optional<MobileDataCaracteristiqueBatiment> findByCaracteristiqueBatimentPaylod_TerminalIdAndCaracteristiqueBatimentPaylod_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataCaracteristiqueBatiment> findByCaracteristiqueBatimentPaylod_TerminalIdAndCaracteristiqueBatimentPaylod_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataCaracteristiqueBatiment> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataCaracteristiqueBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataCaracteristiqueParcelleRepository extends JpaRepository<MobileDataCaracteristiqueParcelle, Long> {
|
public interface MobileDataCaracteristiqueParcelleRepository extends JpaRepository<MobileDataCaracteristiqueParcelle, Long> {
|
||||||
Optional<MobileDataCaracteristiqueParcelle> findByCaracteristiqueParcellePaylod_TerminalIdAndCaracteristiqueParcellePaylod_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataCaracteristiqueParcelle> findByCaracteristiqueParcellePaylod_TerminalIdAndCaracteristiqueParcellePaylod_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataCaracteristiqueParcelle> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataCaracteristiqueParcelle> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataCaracteristiqueUniteLogementRepository extends JpaRepository<MobileDataCaracteristiqueUniteLogement, Long> {
|
public interface MobileDataCaracteristiqueUniteLogementRepository extends JpaRepository<MobileDataCaracteristiqueUniteLogement, Long> {
|
||||||
Optional<MobileDataCaracteristiqueUniteLogement> findByCaracteristiqueUniteLogementPaylod_TerminalIdAndCaracteristiqueUniteLogementPaylod_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataCaracteristiqueUniteLogement> findByCaracteristiqueUniteLogementPaylod_TerminalIdAndCaracteristiqueUniteLogementPaylod_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataCaracteristiqueUniteLogement> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataCaracteristiqueUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
|
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataEnqueteBatimentRepository extends JpaRepository<MobileDataEnqueteBatiment, Long> {
|
public interface MobileDataEnqueteBatimentRepository extends JpaRepository<MobileDataEnqueteBatiment, Long> {
|
||||||
Optional<MobileDataEnqueteBatiment> findByEnqueteBatimentPayload_TerminalIdAndEnqueteBatimentPayload_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataEnqueteBatiment> findByEnqueteBatimentPayload_TerminalIdAndEnqueteBatimentPayload_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataEnqueteBatiment> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataEnqueteBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataEnqueteRepository extends JpaRepository<MobileDataEnquete, Long> {
|
public interface MobileDataEnqueteRepository extends JpaRepository<MobileDataEnquete, Long> {
|
||||||
Optional<MobileDataEnquete> findByEnquetePayLoad_TerminalIdAndEnquetePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataEnquete> findByEnquetePayLoad_TerminalIdAndEnquetePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataEnquete> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataEnquete> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement;
|
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataEnqueteUniteLogementRepository extends JpaRepository<MobileDataEnqueteUniteLogement, Long> {
|
public interface MobileDataEnqueteUniteLogementRepository extends JpaRepository<MobileDataEnqueteUniteLogement, Long> {
|
||||||
Optional<MobileDataEnqueteUniteLogement> findByEnqueteUniteLogementPayload_TerminalIdAndEnqueteUniteLogementPayload_ExternalKey(Long terminalId,Long externalKey);
|
// Optional<MobileDataEnqueteUniteLogement> findByEnqueteUniteLogementPayload_TerminalIdAndEnqueteUniteLogementPayload_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataEnqueteUniteLogement> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataEnqueteUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataMembreGroupe;
|
import io.gmss.fiscad.entities.metadata.MobileDataMembreGroupe;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataMembreGroupeRepository extends JpaRepository<MobileDataMembreGroupe, Long> {
|
public interface MobileDataMembreGroupeRepository extends JpaRepository<MobileDataMembreGroupe, Long> {
|
||||||
Optional<MobileDataMembreGroupe> findByMembreGroupePayLoad_TerminalIdAndMembreGroupePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataMembreGroupe> findByMembreGroupePayLoad_TerminalIdAndMembreGroupePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataMembreGroupe> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataMembreGroupe> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataMembreGroupe;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
|
import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import org.modelmapper.internal.bytebuddy.dynamic.DynamicType;
|
import org.modelmapper.internal.bytebuddy.dynamic.DynamicType;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataParcelleRepository extends JpaRepository<MobileDataParcelle, Long> {
|
public interface MobileDataParcelleRepository extends JpaRepository<MobileDataParcelle, Long> {
|
||||||
Optional<MobileDataParcelle> findByParcellePayLoad_TerminalIdAndParcellePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataParcelle> findByParcellePayLoad_TerminalIdAndParcellePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
Optional<MobileDataParcelle> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId,Long ExternalKey);
|
||||||
|
|
||||||
|
List<MobileDataParcelle> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
import org.modelmapper.internal.bytebuddy.dynamic.DynamicType;
|
import org.modelmapper.internal.bytebuddy.dynamic.DynamicType;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataPersonneRepository extends JpaRepository<MobileDataPersonne, Long> {
|
public interface MobileDataPersonneRepository extends JpaRepository<MobileDataPersonne, Long> {
|
||||||
Optional<MobileDataPersonne> findByPersonnePayLoad_TerminalIdAndPersonnePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataPersonne> findByPersonnePayLoad_TerminalIdAndPersonnePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
List<MobileDataPersonne> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
|
Optional<MobileDataPersonne> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId, Long ExternalKey);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,17 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
|
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataPieceRepository extends JpaRepository<MobileDataPiece, Long> {
|
public interface MobileDataPieceRepository extends JpaRepository<MobileDataPiece, Long> {
|
||||||
Optional<MobileDataPiece> findByPiecePayLoad_TerminalIdAndPiecePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataPiece> findByPiecePayLoad_TerminalIdAndPiecePayLoad_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
List<MobileDataPiece> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
|
Optional<MobileDataPiece> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId, Long ExternalKey);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,16 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement;
|
import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataUniteLogementRepository extends JpaRepository<MobileDataUniteLogement, Long> {
|
public interface MobileDataUniteLogementRepository extends JpaRepository<MobileDataUniteLogement, Long> {
|
||||||
Optional<MobileDataUniteLogement> findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataUniteLogement> findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
List<MobileDataUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
|
Optional<MobileDataUniteLogement> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId, Long ExternalKey);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,15 @@
|
|||||||
package io.gmss.fiscad.repositories.metadata;
|
package io.gmss.fiscad.repositories.metadata;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement;
|
||||||
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
public interface MobileDataUploadRepository extends JpaRepository<MobileDataUpload, Long> {
|
public interface MobileDataUploadRepository extends JpaRepository<MobileDataUpload, Long> {
|
||||||
Optional<MobileDataUpload> findByUploadPayLoad_TerminalIdAndUploadPayLoad_ExternalKey(Long terminalId,Long externalKey);
|
//Optional<MobileDataUpload> findByUploadPayLoad_TerminalIdAndUploadPayLoad_ExternalKey(Long terminalId,Long externalKey);
|
||||||
|
List<MobileDataUpload> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
|
||||||
|
Optional<MobileDataUpload> findFirstByTerminalIdAndEnqueteExternalKey(Long terminalId, Long ExternalKey);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.Batiment;
|
import io.gmss.fiscad.entities.rfu.metier.Batiment;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.BatimentPayload;
|
import io.gmss.fiscad.paylaods.response.restoration.BatimentPayload;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -10,7 +11,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
|
|
||||||
public interface BatimentRepository extends JpaRepository<Batiment, Long> {
|
public interface BatimentRepository extends JpaRepository<Batiment, Long> {
|
||||||
|
Optional<Batiment> findByMobileDataId(Long id);
|
||||||
Optional<Batiment> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
Optional<Batiment> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
||||||
|
|
||||||
@Query(value = "SELECT " +
|
@Query(value = "SELECT " +
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueBatiment;
|
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueBatiment;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.CaracateristiqueBatimentPayLoads;
|
import io.gmss.fiscad.paylaods.response.restoration.CaracateristiqueBatimentPayLoads;
|
||||||
@@ -10,13 +11,14 @@ import org.springframework.data.jpa.repository.Query;
|
|||||||
import org.springframework.data.repository.query.Param;
|
import org.springframework.data.repository.query.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|
||||||
public interface CaracteristiqueBatimentRepository extends JpaRepository<CaracteristiqueBatiment, Long> {
|
public interface CaracteristiqueBatimentRepository extends JpaRepository<CaracteristiqueBatiment, Long> {
|
||||||
@Transactional
|
@Transactional
|
||||||
@Modifying
|
@Modifying
|
||||||
void deleteAllByEnqueteBatiment(EnqueteBatiment enqueteBatiment);
|
void deleteAllByEnqueteBatiment(EnqueteBatiment enqueteBatiment);
|
||||||
|
Optional<CaracteristiqueBatiment> findByMobileDataId(Long id);
|
||||||
@Modifying
|
@Modifying
|
||||||
@Transactional
|
@Transactional
|
||||||
@Query("""
|
@Query("""
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueParcelle;
|
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueParcelle;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.CaracateristiqueParcellePayLoads;
|
import io.gmss.fiscad.paylaods.response.restoration.CaracateristiqueParcellePayLoads;
|
||||||
import jakarta.transaction.Transactional;
|
import jakarta.transaction.Transactional;
|
||||||
@@ -9,11 +10,13 @@ import org.springframework.data.jpa.repository.Modifying;
|
|||||||
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|
||||||
public interface CaracteristiqueParcelleRepository extends JpaRepository<CaracteristiqueParcelle, Long> {
|
public interface CaracteristiqueParcelleRepository extends JpaRepository<CaracteristiqueParcelle, Long> {
|
||||||
|
|
||||||
void deleteAllByEnquete(Enquete enquete);
|
void deleteAllByEnquete(Enquete enquete);
|
||||||
|
Optional<CaracteristiqueParcelle> findByMobileDataId(Long id);
|
||||||
@Transactional
|
@Transactional
|
||||||
@Modifying
|
@Modifying
|
||||||
void deleteAllByEnquete_Id(Long enqueteId);
|
void deleteAllByEnquete_Id(Long enqueteId);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueUniteLogement;
|
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueUniteLogement;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.CaracteristiqueUniteLogementPayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.CaracteristiqueUniteLogementPayLoad;
|
||||||
@@ -10,13 +11,14 @@ import org.springframework.data.jpa.repository.Query;
|
|||||||
import org.springframework.data.repository.query.Param;
|
import org.springframework.data.repository.query.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|
||||||
public interface CaracteristiqueUniteLogementRepository extends JpaRepository<CaracteristiqueUniteLogement, Long> {
|
public interface CaracteristiqueUniteLogementRepository extends JpaRepository<CaracteristiqueUniteLogement, Long> {
|
||||||
@Modifying
|
@Modifying
|
||||||
@Transactional
|
@Transactional
|
||||||
void deleteAllByEnqueteUniteLogement(EnqueteUniteLogement enqueteUniteLogement);
|
void deleteAllByEnqueteUniteLogement(EnqueteUniteLogement enqueteUniteLogement);
|
||||||
|
Optional<CaracteristiqueUniteLogement> findByMobileDataId(Long id);
|
||||||
@Modifying
|
@Modifying
|
||||||
@Transactional
|
@Transactional
|
||||||
@Query("""
|
@Query("""
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
|
import io.gmss.fiscad.entities.rfu.metier.DonneesImpositionTfu;
|
||||||
import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse;
|
import io.gmss.fiscad.paylaods.response.DonneesImpositionTfuResponse;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -10,6 +11,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
|
|
||||||
public interface DonneesImpositionTfuRepository extends JpaRepository<DonneesImpositionTfu, Long> {
|
public interface DonneesImpositionTfuRepository extends JpaRepository<DonneesImpositionTfu, Long> {
|
||||||
|
|
||||||
@Query(value = """
|
@Query(value = """
|
||||||
|
|
||||||
select distinct
|
select distinct
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.EnqueteBatimentPayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.EnqueteBatimentPayLoad;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -10,7 +11,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
|
|
||||||
public interface EnqueteBatimentRepository extends JpaRepository<EnqueteBatiment, Long> {
|
public interface EnqueteBatimentRepository extends JpaRepository<EnqueteBatiment, Long> {
|
||||||
|
Optional<EnqueteBatiment> findByMobileDataId(Long id);
|
||||||
Optional<EnqueteBatiment> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
Optional<EnqueteBatiment> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
||||||
|
|
||||||
List<EnqueteBatiment> findAllByEnquete_Id(Long enqueteId);
|
List<EnqueteBatiment> findAllByEnquete_Id(Long enqueteId);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.EnqueteUniteLogementPayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.EnqueteUniteLogementPayLoad;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -11,6 +12,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public interface EnqueteUniteLogementRepository extends JpaRepository<EnqueteUniteLogement, Long> {
|
public interface EnqueteUniteLogementRepository extends JpaRepository<EnqueteUniteLogement, Long> {
|
||||||
Optional<EnqueteUniteLogement> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
Optional<EnqueteUniteLogement> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
||||||
|
Optional<EnqueteUniteLogement> findByMobileDataId(Long id);
|
||||||
|
|
||||||
List<EnqueteUniteLogement> findAllByEnquete_Id(Long id);
|
List<EnqueteUniteLogement> findAllByEnquete_Id(Long id);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package io.gmss.fiscad.repositories.rfu.metier;
|
package io.gmss.fiscad.repositories.rfu.metier;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
import io.gmss.fiscad.entities.rfu.metier.UniteLogement;
|
import io.gmss.fiscad.entities.rfu.metier.UniteLogement;
|
||||||
import io.gmss.fiscad.paylaods.response.restoration.UniteLogementPayLoad;
|
import io.gmss.fiscad.paylaods.response.restoration.UniteLogementPayLoad;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
@@ -11,7 +12,7 @@ import java.util.Optional;
|
|||||||
|
|
||||||
public interface UniteLogementRepository extends JpaRepository<UniteLogement, Long> {
|
public interface UniteLogementRepository extends JpaRepository<UniteLogement, Long> {
|
||||||
Optional<UniteLogement> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
Optional<UniteLogement> findFirstByExternalKeyAndTerminal_Id(Long externalKey, Long TerminalId);
|
||||||
|
Optional<UniteLogement> findByMobileDataId(Long id);
|
||||||
@Query(
|
@Query(
|
||||||
nativeQuery = true,
|
nativeQuery = true,
|
||||||
value = "select ul.id as idBackend, " +
|
value = "select ul.id as idBackend, " +
|
||||||
|
|||||||
15
src/main/java/io/gmss/fiscad/service/LogService.java
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
package io.gmss.fiscad.service;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class LogService {
|
||||||
|
public void logTraiementAsync(TypeObjet typeObjet, String typeDeProbleme, String detail, Long idtable) {
|
||||||
|
System.out.println("ATTENTION");
|
||||||
|
System.out.println(typeObjet.toString());
|
||||||
|
System.out.println(typeDeProbleme);
|
||||||
|
System.out.println(detail);
|
||||||
|
System.out.println(idtable);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,138 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.ActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.PositionRepresentation;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.TypeContestation;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.TypeRepresentation;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.ActeurConcernePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.ActeurConcerneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.EnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.TpeRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.PersonneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.PositionRepresentationRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.TypeContestationRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.TypeRepresentationRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataActeurConcerneRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class ActeurConcerneAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final ActeurConcerneRepository acteurConcerneRepository;
|
||||||
|
private final PersonneRepository personneRepository;
|
||||||
|
private final MobileDataActeurConcerneRepository mobileDataActeurConcerneRepository;
|
||||||
|
private final PositionRepresentationRepository positionRepresentationRepository;
|
||||||
|
private final TypeContestationRepository typeContestationRepository;
|
||||||
|
private final TypeRepresentationRepository typeRepresentationRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("acteurConcerneExecutor")
|
||||||
|
public void traitementAsyncActeurConcerne(MobileDataActeurConcerne mobileDataActeurConcerne) {
|
||||||
|
ActeurConcernePayLoad acteurConcernePayLoad=mobileDataActeurConcerne.getActeurConcernePayLoad();
|
||||||
|
try {
|
||||||
|
if (acteurConcernePayLoad.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ACTEURCONCERNER, "Problème de terminal", "terminal non fourni : ", mobileDataActeurConcerne.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(acteurConcernePayLoad.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ACTEURCONCERNER, "Problème de terminal", "terminal inexistant : ", mobileDataActeurConcerne.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (acteurConcernePayLoad.getPersonneId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ACTEURCONCERNER, "Problème de Personne", "Id Personne non fournie : ", mobileDataActeurConcerne.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getPersonneId(), acteurConcernePayLoad.getTerminalId());
|
||||||
|
if (optionalPersonne.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ACTEURCONCERNER, "Problème de Personne", "La personne précisée n'existe pas : ", mobileDataActeurConcerne.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (acteurConcernePayLoad.getEnqueteId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ACTEURCONCERNER, "Problème de enquete", "Id enquête non fournie : ", mobileDataActeurConcerne.getId());
|
||||||
|
return ;
|
||||||
|
} else {
|
||||||
|
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getEnqueteId(), acteurConcernePayLoad.getTerminalId());
|
||||||
|
if (optionalEnquete.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ACTEURCONCERNER, "Problème de enquête", "L'enquête précisée n'existe pas : ", mobileDataActeurConcerne.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ActeurConcerne acteurConcerne = new ActeurConcerne();
|
||||||
|
Optional<ActeurConcerne> optionalActeurConcerne=Optional.empty();
|
||||||
|
optionalActeurConcerne = acteurConcerneRepository.findByMobileDataId(mobileDataActeurConcerne.getId());
|
||||||
|
if (optionalActeurConcerne.isPresent()) {
|
||||||
|
acteurConcerne = optionalActeurConcerne.get();
|
||||||
|
}else {
|
||||||
|
optionalActeurConcerne = acteurConcerneRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getExternalKey(),acteurConcernePayLoad.getTerminalId());
|
||||||
|
if (optionalActeurConcerne.isPresent()) {
|
||||||
|
acteurConcerne=optionalActeurConcerne.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
acteurConcerne.setMobileDataId(mobileDataActeurConcerne.getId());
|
||||||
|
acteurConcerne = getActeurConcerneFromActeurConcernePayLoad(acteurConcerne, acteurConcernePayLoad);
|
||||||
|
acteurConcerneRepository.save(acteurConcerne);
|
||||||
|
mobileDataActeurConcerne.setTraiter(true);
|
||||||
|
mobileDataActeurConcerneRepository.save(mobileDataActeurConcerne);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ACTEURCONCERNER, "Problème de inattendu", e.getMessage(), mobileDataActeurConcerne.getId());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private ActeurConcerne getActeurConcerneFromActeurConcernePayLoad(ActeurConcerne acteurConcerne, ActeurConcernePayLoad acteurConcernePayLoad) {
|
||||||
|
|
||||||
|
if (acteurConcernePayLoad.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getEnqueteId(), acteurConcernePayLoad.getTerminalId());
|
||||||
|
acteurConcerne.setEnquete(optionalEnquete.orElse(null));
|
||||||
|
}
|
||||||
|
if (acteurConcernePayLoad.getEnqueteId() != null) {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(acteurConcernePayLoad.getPersonneId(), acteurConcernePayLoad.getTerminalId());
|
||||||
|
acteurConcerne.setPersonne(optionalPersonne.orElse(null));
|
||||||
|
}
|
||||||
|
if (acteurConcernePayLoad.getPositionRepresentationId() != null) {
|
||||||
|
Optional<PositionRepresentation> optionalPositionRepresentation = positionRepresentationRepository.findById(acteurConcernePayLoad.getPositionRepresentationId());
|
||||||
|
acteurConcerne.setPositionRepresentation(optionalPositionRepresentation.orElse(null));
|
||||||
|
}
|
||||||
|
if (acteurConcernePayLoad.getTypeContestationId() != null) {
|
||||||
|
Optional<TypeContestation> optionalTypeContestation = typeContestationRepository.findById(acteurConcernePayLoad.getTypeContestationId());
|
||||||
|
acteurConcerne.setTypeContestation(optionalTypeContestation.orElse(null));
|
||||||
|
}
|
||||||
|
if (acteurConcernePayLoad.getTypeRepresentationId() != null) {
|
||||||
|
Optional<TypeRepresentation> optionalTypeRepresentation = typeRepresentationRepository.findById(acteurConcernePayLoad.getTypeRepresentationId());
|
||||||
|
acteurConcerne.setTypeRepresentation(optionalTypeRepresentation.orElse(null));
|
||||||
|
}
|
||||||
|
if (acteurConcernePayLoad.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataBatiment;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.Batiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.BatimentPaylaod;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataBatimentRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class BatimentAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final ParcelleRepository parcelleRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final MobileDataBatimentRepository mobileDataBatimentRepository;
|
||||||
|
private final BatimentRepository batimentRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("batimentExecutor")
|
||||||
|
public void traitementAsyncBatiment(MobileDataBatiment mobileDataBatiment) {
|
||||||
|
BatimentPaylaod batimentPaylaod = mobileDataBatiment.getBatimentPaylaod();
|
||||||
|
try {
|
||||||
|
if (batimentPaylaod.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.BATIMENT, "Problème de terminal", "terminal non fourni : ", mobileDataBatiment.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(batimentPaylaod.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.BATIMENT, "Problème de terminal", "terminal inexistant : ", mobileDataBatiment.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (batimentPaylaod.getParcelleId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.BATIMENT, "Problème de parcelle", "terminal inexistant : ", mobileDataBatiment.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Parcelle> optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(batimentPaylaod.getParcelleId(), batimentPaylaod.getTerminalId());
|
||||||
|
if (optionalParcelle.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.BATIMENT, "Problème de parcelle", "La parcelle précisée n'existe pas : ", mobileDataBatiment.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Batiment batiment = new Batiment();
|
||||||
|
Optional<Batiment> optionalBatiment= Optional.empty();
|
||||||
|
optionalBatiment = batimentRepository.findByMobileDataId(mobileDataBatiment.getId());
|
||||||
|
if (optionalBatiment.isPresent()) {
|
||||||
|
batiment = optionalBatiment.get();
|
||||||
|
}else {
|
||||||
|
optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(batimentPaylaod.getExternalKey(),batimentPaylaod.getTerminalId());
|
||||||
|
if (optionalBatiment.isPresent()) {
|
||||||
|
batiment = optionalBatiment.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
batiment.setMobileDataId(mobileDataBatiment.getId());
|
||||||
|
batiment = getBatimentFromBatimentPayLoad(batiment, batimentPaylaod);
|
||||||
|
batimentRepository.save(batiment);
|
||||||
|
mobileDataBatiment.setTraiter(true);
|
||||||
|
mobileDataBatimentRepository.save(mobileDataBatiment);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.BATIMENT, "Problème de inattendu", e.getMessage(), mobileDataBatiment.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Batiment getBatimentFromBatimentPayLoad(Batiment batiment, BatimentPaylaod batimentPaylaod) {
|
||||||
|
|
||||||
|
if (batimentPaylaod.getParcelleId() != null) {
|
||||||
|
Optional<Parcelle> optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(batimentPaylaod.getParcelleId(), batimentPaylaod.getTerminalId());
|
||||||
|
batiment.setParcelle(optionalParcelle.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (batimentPaylaod.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(batimentPaylaod.getTerminalId());
|
||||||
|
batiment.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
if (batimentPaylaod.getTerminalId() != null && batimentPaylaod.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueBatimentRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class CaracteristiqueBatimentAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final MobileDataCaracteristiqueBatimentRepository mobileDataCaracteristiqueBatimentRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final CaracteristiqueRepository caracteristiqueRepository;
|
||||||
|
private final EnqueteBatimentRepository enqueteBatimentRepository;
|
||||||
|
private final CaracteristiqueBatimentRepository caracteristiqueBatimentRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
// @Async("caracteristiqueBatimentExecutor")
|
||||||
|
public void traitementAsyncCaracteristiqueBatiment(MobileDataCaracteristiqueBatiment mobileDataCaracteristiqueBatiment) {
|
||||||
|
CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod = mobileDataCaracteristiqueBatiment.getCaracteristiqueBatimentPaylod();
|
||||||
|
try {
|
||||||
|
if (caracteristiqueBatimentPaylod.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueBatiment.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueBatiment.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueBatimentPaylod.getEnqueteBatimentId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "enquete non fourni : ", mobileDataCaracteristiqueBatiment.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteBatimentId(), caracteristiqueBatimentPaylod.getTerminalId());
|
||||||
|
if (optionalEnqueteBatiment.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueBatiment.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CaracteristiqueBatiment caracteristiqueBatiment = new CaracteristiqueBatiment();
|
||||||
|
caracteristiqueBatiment.setMobileDataId(mobileDataCaracteristiqueBatiment.getId());
|
||||||
|
caracteristiqueBatiment = getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(caracteristiqueBatiment, caracteristiqueBatimentPaylod);
|
||||||
|
caracteristiqueBatimentRepository.save(caracteristiqueBatiment);
|
||||||
|
mobileDataCaracteristiqueBatiment.setTraiter(true);
|
||||||
|
mobileDataCaracteristiqueBatimentRepository.save(mobileDataCaracteristiqueBatiment);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de inattendu", e.getMessage(), mobileDataCaracteristiqueBatiment.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private CaracteristiqueBatiment getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(CaracteristiqueBatiment caracteristiqueBatiment, CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod) {
|
||||||
|
|
||||||
|
|
||||||
|
if (caracteristiqueBatimentPaylod.getEnqueteBatimentId() != null) {
|
||||||
|
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteBatimentId(), caracteristiqueBatimentPaylod.getTerminalId());
|
||||||
|
caracteristiqueBatiment.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueBatimentPaylod.getCaracteristiqueId() != null) {
|
||||||
|
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueBatimentPaylod.getCaracteristiqueId());
|
||||||
|
caracteristiqueBatiment.setCaracteristique(optionalCaracteristique.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueBatimentPaylod.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId());
|
||||||
|
caracteristiqueBatiment.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (caracteristiqueBatimentPaylod.getTerminalId() != null && caracteristiqueBatimentPaylod.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> 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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueParcelle;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePaylod;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueParcelleRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class CaracteristiqueParcelleAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final CaracteristiqueRepository caracteristiqueRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final MobileDataCaracteristiqueParcelleRepository mobileDataCaracteristiqueParcelleRepository;
|
||||||
|
private final CaracteristiqueParcelleRepository caracteristiqueParcelleRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("caracteristiqueParcelleExecutor")
|
||||||
|
public void traitementAsyncCaracteristiqueParcelle(MobileDataCaracteristiqueParcelle mobileDataCaracteristiqueParcelle) {
|
||||||
|
CaracteristiqueParcellePaylod caracteristiqueParcellePaylod = mobileDataCaracteristiqueParcelle.getCaracteristiqueParcellePaylod();
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (caracteristiqueParcellePaylod.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueParcelle.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueParcelle.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueParcellePaylod.getEnqueteId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "enquete non fourni : ", mobileDataCaracteristiqueParcelle.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePaylod.getEnqueteId(), caracteristiqueParcellePaylod.getTerminalId());
|
||||||
|
if (optionalEnquete.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueParcelle.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CaracteristiqueParcelle caracteristiqueParcelle = new CaracteristiqueParcelle();
|
||||||
|
caracteristiqueParcelle.setMobileDataId(mobileDataCaracteristiqueParcelle.getId());
|
||||||
|
caracteristiqueParcelle = getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(caracteristiqueParcelle, caracteristiqueParcellePaylod);
|
||||||
|
caracteristiqueParcelleRepository.save(caracteristiqueParcelle);
|
||||||
|
mobileDataCaracteristiqueParcelle.setTraiter(true);
|
||||||
|
mobileDataCaracteristiqueParcelleRepository.save(mobileDataCaracteristiqueParcelle);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de inattendu", e.getMessage(), mobileDataCaracteristiqueParcelle.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private CaracteristiqueParcelle getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(CaracteristiqueParcelle caracteristiqueParcelle, CaracteristiqueParcellePaylod caracteristiqueParcellePaylod) {
|
||||||
|
|
||||||
|
if (caracteristiqueParcellePaylod.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePaylod.getEnqueteId(), caracteristiqueParcellePaylod.getTerminalId());
|
||||||
|
|
||||||
|
caracteristiqueParcelle.setEnquete(optionalEnquete.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueParcellePaylod.getCaracteristiqueId() != null) {
|
||||||
|
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueParcellePaylod.getCaracteristiqueId());
|
||||||
|
caracteristiqueParcelle.setCaracteristique(optionalCaracteristique.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueParcellePaylod.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId());
|
||||||
|
caracteristiqueParcelle.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
caracteristiqueParcelle.setEnqueteExternalKey(caracteristiqueParcellePaylod.getEnqueteId());
|
||||||
|
caracteristiqueParcelle.setValeur(caracteristiqueParcellePaylod.getValeur());
|
||||||
|
caracteristiqueParcelle.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
|
||||||
|
return caracteristiqueParcelle;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueUniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod;
|
||||||
|
import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPaylod;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.EnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.TpeRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueBatimentRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueUniteLogementRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.CaracteristiqueBatimentRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.CaracteristiqueUniteLogementRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.EnqueteBatimentRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.EnqueteUniteLogementRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class CaracteristiqueUniteLogementAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final MobileDataCaracteristiqueBatimentRepository mobileDataCaracteristiqueBatimentRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final CaracteristiqueRepository caracteristiqueRepository;
|
||||||
|
private final EnqueteUniteLogementRepository enqueteUniteLogementRepository;
|
||||||
|
private final CaracteristiqueUniteLogementRepository caracteristiqueUniteLogementRepository;
|
||||||
|
private final MobileDataCaracteristiqueUniteLogementRepository mobileDataCaracteristiqueUniteLogementRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("caracteristiqueUniteLogementExecutor")
|
||||||
|
public void traitementAsyncCaracteristiqueUniteLogement(MobileDataCaracteristiqueUniteLogement mobileDataCaracteristiqueUniteLogement) {
|
||||||
|
CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod = mobileDataCaracteristiqueUniteLogement.getCaracteristiqueUniteLogementPaylod();
|
||||||
|
try {
|
||||||
|
if (caracteristiqueUniteLogementPaylod.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "enquete non fourni : ", mobileDataCaracteristiqueUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPaylod.getTerminalId());
|
||||||
|
if (optionalEnqueteUniteLogement.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CaracteristiqueUniteLogement caracteristiqueUniteLogement = new CaracteristiqueUniteLogement();
|
||||||
|
caracteristiqueUniteLogement.setMobileDataId(mobileDataCaracteristiqueUniteLogement.getId());
|
||||||
|
caracteristiqueUniteLogement = getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(caracteristiqueUniteLogement, caracteristiqueUniteLogementPaylod);
|
||||||
|
caracteristiqueUniteLogementRepository.save(caracteristiqueUniteLogement);
|
||||||
|
mobileDataCaracteristiqueUniteLogement.setTraiter(true);
|
||||||
|
mobileDataCaracteristiqueUniteLogementRepository.save(mobileDataCaracteristiqueUniteLogement);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de inattendu", e.getMessage(), mobileDataCaracteristiqueUniteLogement.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private CaracteristiqueUniteLogement getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(CaracteristiqueUniteLogement caracteristiqueUniteLogement, CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod) {
|
||||||
|
|
||||||
|
if (caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId() != null) {
|
||||||
|
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPaylod.getTerminalId());
|
||||||
|
caracteristiqueUniteLogement.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueUniteLogementPaylod.getCaracteristiqueId() != null) {
|
||||||
|
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueUniteLogementPaylod.getCaracteristiqueId());
|
||||||
|
caracteristiqueUniteLogement.setCaracteristique(optionalCaracteristique.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caracteristiqueUniteLogementPaylod.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId());
|
||||||
|
caracteristiqueUniteLogement.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
if (caracteristiqueUniteLogementPaylod.getTerminalId() != null && caracteristiqueUniteLogementPaylod.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,261 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.UploadPayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.PersonneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataUploadRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class EnqueteAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final ParcelleRepository parcelleRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final EnqueteUniteLogementRepository enqueteUniteLogementRepository;
|
||||||
|
private final EnqueteBatimentRepository enqueteBatimentRepository;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
private final ZoneRfuRepository zoneRfuRepository;
|
||||||
|
private final UploadRepository uploadRepository;
|
||||||
|
private final PieceRepository pieceRepository;
|
||||||
|
private final BlocRepository blocRepository;
|
||||||
|
private final MobileDataEnqueteRepository mobileDataEnqueteRepository;
|
||||||
|
private final ActeurConcerneRepository acteurConcerneRepository;
|
||||||
|
private final CaracteristiqueParcelleRepository caracteristiqueParcelleRepository;
|
||||||
|
private final CaracteristiqueBatimentRepository caracteristiqueBatimentRepository;
|
||||||
|
private final CaracteristiqueUniteLogementRepository caracteristiqueUniteLogementRepository;
|
||||||
|
private final UniteLogementRepository uniteLogementRepository;
|
||||||
|
private final BatimentRepository batimentRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("enqueteExecutor")
|
||||||
|
public void traitementAsyncEnquete(MobileDataEnquete mobileDataEnquete) {
|
||||||
|
EnquetePayLoad enquetePayLoad=mobileDataEnquete.getEnquetePayLoad();
|
||||||
|
try {
|
||||||
|
if (enquetePayLoad.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de terminal", "terminal non fourni : ", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(enquetePayLoad.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de terminal", "terminal inexistant : ", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
deleteFromCodeParcelle(enquetePayLoad.getCodeParcelle());
|
||||||
|
|
||||||
|
if (enquetePayLoad.getUserId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème d'enqueteur", "L'enquêteur n'est pas précisée: ", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<User> optionalUser = userRepository.findById(enquetePayLoad.getUserId());
|
||||||
|
if (optionalUser.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème d'enqueteur", "L'enquêteur précisé n'existe pas : ", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enquetePayLoad.getZoneRfuId() != null) {
|
||||||
|
Optional<ZoneRfu> optionalZoneRfu = zoneRfuRepository.findById(enquetePayLoad.getZoneRfuId());
|
||||||
|
if (optionalZoneRfu.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de zone rfu", "La zone rfu précisé n'existe pas : ", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (enquetePayLoad.getParcelleId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de parcelle", "La parcelle n'est pas précisée", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Parcelle> optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(enquetePayLoad.getParcelleId(), enquetePayLoad.getTerminalId());
|
||||||
|
if (optionalParcelle.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de parcelle", "La parcelle précisée n'existe pas", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (enquetePayLoad.getBlocId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de bloc", "Le bloc n'est pas précisé", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Bloc> optionalBloc = blocRepository.findById(enquetePayLoad.getBlocId());
|
||||||
|
if (optionalBloc.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de bloc", "Le bloc précisé n'existe pas", mobileDataEnquete.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Enquete enquete = new Enquete();
|
||||||
|
Optional<Enquete> optionalEnquete=Optional.empty();
|
||||||
|
optionalEnquete = enqueteRepository.findByMobileDataId(mobileDataEnquete.getId());
|
||||||
|
if (optionalEnquete.isPresent()) {
|
||||||
|
enquete = optionalEnquete.get();
|
||||||
|
}else {
|
||||||
|
optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enquetePayLoad.getExternalKey(),enquetePayLoad.getTerminalId());
|
||||||
|
if (optionalEnquete.isPresent()) {
|
||||||
|
enquete=optionalEnquete.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
enquete.setMobileDataId(mobileDataEnquete.getId());
|
||||||
|
enquete = getEnqueteFromEnquetePayLoad(enquete, enquetePayLoad);
|
||||||
|
enqueteRepository.save(enquete);
|
||||||
|
mobileDataEnquete.setTraiter(true);
|
||||||
|
mobileDataEnqueteRepository.save(mobileDataEnquete);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETE, "Problème de inattendu", e.getMessage(), mobileDataEnquete.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Enquete getEnqueteFromEnquetePayLoad(Enquete enquete, EnquetePayLoad enquetePayLoad) {
|
||||||
|
|
||||||
|
if (enquetePayLoad.getUserId() != null) {
|
||||||
|
Optional<User> optionalUser = userRepository.findById(enquetePayLoad.getUserId());
|
||||||
|
enquete.setUser(optionalUser.orElse(null));
|
||||||
|
}
|
||||||
|
if (enquetePayLoad.getZoneRfuId() != null) {
|
||||||
|
Optional<ZoneRfu> optionalZoneRfu = zoneRfuRepository.findById(enquetePayLoad.getZoneRfuId());
|
||||||
|
enquete.setZoneRfu(optionalZoneRfu.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enquetePayLoad.getParcelleId() != null) {
|
||||||
|
Optional<Parcelle> optionalParcelle = parcelleRepository.findFirstByNupProvisoire(enquetePayLoad.getCodeParcelle());
|
||||||
|
//Optional<Parcelle> optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(enquetePayLoad.getParcelleId(), enquetePayLoad.getTerminalId());
|
||||||
|
enquete.setParcelle(optionalParcelle.orElse(null));
|
||||||
|
}
|
||||||
|
if (enquetePayLoad.getBlocId() != null) {
|
||||||
|
Optional<Bloc> optionalBloc = blocRepository.findById(enquetePayLoad.getBlocId());
|
||||||
|
enquete.setBloc(optionalBloc.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enquetePayLoad.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> 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());
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void deleteFromCodeParcelle(String codeParcelle) {
|
||||||
|
Optional<Enquete> 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 {
|
||||||
|
enqueteRepository.deleteById(idEnquete);
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,153 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.Batiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnqueteBatimentPayload;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.PersonneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteBatimentRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class EnqueteBatimentAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final MobileDataEnqueteBatimentRepository mobileDataEnqueteBatimentRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final EnqueteBatimentRepository enqueteBatimentRepository;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
private final PersonneRepository personneRepository;
|
||||||
|
private final BatimentRepository batimentRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("enqueteBatimentExecutor")
|
||||||
|
public void traitementAsyncEnqueteBatiment(MobileDataEnqueteBatiment mobileDataEnqueteBatiment) {
|
||||||
|
EnqueteBatimentPayload enqueteBatimentPayload = mobileDataEnqueteBatiment.getEnqueteBatimentPayload();
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (enqueteBatimentPayload.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEBATIMENT, "Problème de terminal", "terminal non fourni : ", mobileDataEnqueteBatiment.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(enqueteBatimentPayload.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEBATIMENT, "Problème de terminal", "terminal inexistant : ", mobileDataEnqueteBatiment.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteBatimentPayload.getEnqueteId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEBATIMENT, "Problème de enquete", "enquete non fourni : ", mobileDataEnqueteBatiment.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Enquete> optionalBatiment = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getEnqueteId(), enqueteBatimentPayload.getTerminalId());
|
||||||
|
if (optionalBatiment.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEBATIMENT, "Problème de batiment", "L'enquete précisée n'existe pas : ", mobileDataEnqueteBatiment.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (enqueteBatimentPayload.getBatimentId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEBATIMENT, "Problème de batiment", "batiment non fourni : ", mobileDataEnqueteBatiment.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getBatimentId(), enqueteBatimentPayload.getTerminalId());
|
||||||
|
if (optionalBatiment.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEBATIMENT, "Problème de batiment", "Le batiment précisée n'existe pas : ", mobileDataEnqueteBatiment.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EnqueteBatiment enqueteBatiment = new EnqueteBatiment();
|
||||||
|
Optional<EnqueteBatiment> optionalEnqueteBatiment= Optional.empty();
|
||||||
|
optionalEnqueteBatiment = enqueteBatimentRepository.findByMobileDataId(mobileDataEnqueteBatiment.getId());
|
||||||
|
if (optionalEnqueteBatiment.isPresent()) {
|
||||||
|
enqueteBatiment = optionalEnqueteBatiment.get();
|
||||||
|
}else {
|
||||||
|
optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getExternalKey(),enqueteBatimentPayload.getTerminalId());
|
||||||
|
if (optionalEnqueteBatiment.isPresent()) {
|
||||||
|
enqueteBatiment = optionalEnqueteBatiment.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
enqueteBatiment.setMobileDataId(mobileDataEnqueteBatiment.getId());
|
||||||
|
enqueteBatiment = getEnqueteBatimentFromEnqueteBatimentPayLoad(enqueteBatiment, enqueteBatimentPayload);
|
||||||
|
enqueteBatimentRepository.save(enqueteBatiment);
|
||||||
|
mobileDataEnqueteBatiment.setTraiter(true);
|
||||||
|
mobileDataEnqueteBatimentRepository.save(mobileDataEnqueteBatiment);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEBATIMENT, "Problème de inattendu", e.getMessage(), mobileDataEnqueteBatiment.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private EnqueteBatiment getEnqueteBatimentFromEnqueteBatimentPayLoad(EnqueteBatiment enqueteBatiment, EnqueteBatimentPayload enqueteBatimentPayload) {
|
||||||
|
enqueteBatiment.setSurfaceAuSol(enqueteBatimentPayload.getSurfaceAuSol());
|
||||||
|
enqueteBatiment.setAutreMenuisierie(enqueteBatimentPayload.getAutreMenuisierie());
|
||||||
|
enqueteBatiment.setAutreMur(enqueteBatimentPayload.getAutreMur());
|
||||||
|
enqueteBatiment.setSbee(enqueteBatimentPayload.isSbee());
|
||||||
|
enqueteBatiment.setNumCompteurSbee(enqueteBatimentPayload.getNumCompteurSbee());
|
||||||
|
enqueteBatiment.setSoneb(enqueteBatimentPayload.isSoneb());
|
||||||
|
enqueteBatiment.setNumCompteurSoneb(enqueteBatimentPayload.getNumCompteurSoneb());
|
||||||
|
enqueteBatiment.setNbreLotUnite(enqueteBatimentPayload.getNbreLotUnite());
|
||||||
|
enqueteBatiment.setNbreUniteLocation(enqueteBatimentPayload.getNbreUniteLocation());
|
||||||
|
enqueteBatiment.setSurfaceLouee(enqueteBatimentPayload.getSurfaceLouee());
|
||||||
|
enqueteBatiment.setNbreMenage(enqueteBatimentPayload.getNbreMenage());
|
||||||
|
enqueteBatiment.setNbreHabitant(enqueteBatimentPayload.getNbreHabitant());
|
||||||
|
enqueteBatiment.setValeurMensuelleLocation(enqueteBatimentPayload.getValeurMensuelleLocation());
|
||||||
|
enqueteBatiment.setNbreMoisLocation(enqueteBatimentPayload.getNbreMoisLocation());
|
||||||
|
enqueteBatiment.setAutreCaracteristiquePhysique(enqueteBatimentPayload.getAutreCaracteristiquePhysique());
|
||||||
|
enqueteBatiment.setDateDebutExcemption(enqueteBatimentPayload.getDateDebutExcemption());
|
||||||
|
enqueteBatiment.setDateFinExcemption(enqueteBatimentPayload.getDateFinExcemption());
|
||||||
|
enqueteBatiment.setExternalKey(enqueteBatimentPayload.getExternalKey());
|
||||||
|
enqueteBatiment.setEnqueteExternalKey(enqueteBatimentPayload.getEnqueteId());
|
||||||
|
enqueteBatiment.setPersonneExternalKey(enqueteBatimentPayload.getPersonneId());
|
||||||
|
enqueteBatiment.setBatimentExternalKey(enqueteBatimentPayload.getBatimentId());
|
||||||
|
|
||||||
|
if (enqueteBatimentPayload.getPersonneId() != null) {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getPersonneId(), enqueteBatimentPayload.getTerminalId());
|
||||||
|
enqueteBatiment.setPersonne(optionalPersonne.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteBatimentPayload.getBatimentId() != null) {
|
||||||
|
Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getBatimentId(), enqueteBatimentPayload.getTerminalId());
|
||||||
|
enqueteBatiment.setBatiment(optionalBatiment.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteBatimentPayload.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enqueteBatimentPayload.getEnqueteId(), enqueteBatimentPayload.getTerminalId());
|
||||||
|
enqueteBatiment.setEnquete(optionalEnquete.orElse(null));
|
||||||
|
}
|
||||||
|
if (enqueteBatimentPayload.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(enqueteBatimentPayload.getTerminalId());
|
||||||
|
enqueteBatiment.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteBatimentPayload.getUserId() != null) {
|
||||||
|
Optional<User> optionalUser = userRepository.findById(enqueteBatimentPayload.getUserId());
|
||||||
|
enqueteBatiment.setUser(optionalUser.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
return enqueteBatiment;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.UniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnqueteUniteLogementPayload;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.PersonneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteUniteLogementRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class EnqueteUniteLogementAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final MobileDataEnqueteUniteLogementRepository mobileDataEnqueteUniteLogementRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final EnqueteUniteLogementRepository enqueteUniteLogementRepository;
|
||||||
|
private final PersonneRepository personneRepository;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
private final UniteLogementRepository uniteLogementRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("enqueteUniteLogementExecutor")
|
||||||
|
public void traitementAsyncEnqueteUniteLogement(MobileDataEnqueteUniteLogement mobileDataEnqueteUniteLogement) {
|
||||||
|
EnqueteUniteLogementPayload enqueteUniteLogementPayload = mobileDataEnqueteUniteLogement.getEnqueteUniteLogementPayload();
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (enqueteUniteLogementPayload.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEUNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataEnqueteUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEUNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataEnqueteUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteUniteLogementPayload.getEnqueteId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEUNITELOGEMENT, "Problème de enquete", "enquete non fourni : ", mobileDataEnqueteUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getEnqueteId(), enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
if (optionalEnquete.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEUNITELOGEMENT, "Problème de batiment", "L'enquete précisée n'existe pas : ", mobileDataEnqueteUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (enqueteUniteLogementPayload.getUniteLogementId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEUNITELOGEMENT, "Problème de Unite logement", "batiment non fourni : ", mobileDataEnqueteUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<UniteLogement> optionalUniteLogement = uniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getUniteLogementId(), enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
if (optionalUniteLogement.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEUNITELOGEMENT, "Problème de Unite de logement", "Le batiment précisée n'existe pas : ", mobileDataEnqueteUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EnqueteUniteLogement enqueteUniteLogement = new EnqueteUniteLogement();
|
||||||
|
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement= Optional.empty();
|
||||||
|
optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findByMobileDataId(mobileDataEnqueteUniteLogement.getId());
|
||||||
|
if (optionalEnqueteUniteLogement.isPresent()) {
|
||||||
|
enqueteUniteLogement = optionalEnqueteUniteLogement.get();
|
||||||
|
}else {
|
||||||
|
optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getUniteLogementId(),enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
if (optionalEnqueteUniteLogement.isPresent()) {
|
||||||
|
enqueteUniteLogement = optionalEnqueteUniteLogement.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
enqueteUniteLogement.setMobileDataId(mobileDataEnqueteUniteLogement.getId());
|
||||||
|
enqueteUniteLogement = getEnqueteUniteLogementFromEnqueteUniteLogementPayLoad(enqueteUniteLogement, enqueteUniteLogementPayload);
|
||||||
|
enqueteUniteLogementRepository.save(enqueteUniteLogement);
|
||||||
|
mobileDataEnqueteUniteLogement.setTraiter(true);
|
||||||
|
mobileDataEnqueteUniteLogementRepository.save(mobileDataEnqueteUniteLogement);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.ENQUETEUNITELOGEMENT, "Problème de inattendu", e.getMessage(), mobileDataEnqueteUniteLogement.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private EnqueteUniteLogement getEnqueteUniteLogementFromEnqueteUniteLogementPayLoad(EnqueteUniteLogement enqueteUniteLogement, EnqueteUniteLogementPayload enqueteUniteLogementPayload) {
|
||||||
|
|
||||||
|
if (enqueteUniteLogementPayload.getPersonneId() != null) {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getPersonneId(), enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
enqueteUniteLogement.setPersonne(optionalPersonne.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteUniteLogementPayload.getUniteLogementId() != null) {
|
||||||
|
Optional<UniteLogement> optionalUniteLogement = uniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getUniteLogementId(), enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
enqueteUniteLogement.setUniteLogement(optionalUniteLogement.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteUniteLogementPayload.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(enqueteUniteLogementPayload.getEnqueteId(), enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
enqueteUniteLogement.setEnquete(optionalEnquete.orElse(null));
|
||||||
|
}
|
||||||
|
if (enqueteUniteLogementPayload.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(enqueteUniteLogementPayload.getTerminalId());
|
||||||
|
enqueteUniteLogement.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enqueteUniteLogementPayload.getUserId() != null) {
|
||||||
|
Optional<User> optionalUser = userRepository.findById(enqueteUniteLogementPayload.getUserId());
|
||||||
|
enqueteUniteLogement.setUser(optionalUser.orElse(null));
|
||||||
|
}
|
||||||
|
enqueteUniteLogement.setEnqueteExternalKey(enqueteUniteLogementPayload.getEnqueteId());
|
||||||
|
enqueteUniteLogement.setSurface(enqueteUniteLogementPayload.getSurface());
|
||||||
|
enqueteUniteLogement.setNbrePiece(enqueteUniteLogementPayload.getNbrePiece());
|
||||||
|
enqueteUniteLogement.setNbreHabitant(enqueteUniteLogementPayload.getNbreHabitant());
|
||||||
|
enqueteUniteLogement.setNbreMenage(enqueteUniteLogementPayload.getNbreMenage());
|
||||||
|
enqueteUniteLogement.setEnLocation(enqueteUniteLogementPayload.isEnLocation());
|
||||||
|
enqueteUniteLogement.setMontantMensuelLoyer(enqueteUniteLogementPayload.getMontantMensuelLoyer());
|
||||||
|
enqueteUniteLogement.setNbreMoisEnLocation(enqueteUniteLogementPayload.getNbreMoisEnLocation());
|
||||||
|
enqueteUniteLogement.setMontantLocatifAnnuelDeclare(enqueteUniteLogementPayload.getMontantLocatifAnnuelDeclare());
|
||||||
|
enqueteUniteLogement.setSurfaceLouee(enqueteUniteLogementPayload.getSurfaceLouee());
|
||||||
|
enqueteUniteLogement.setSbee(enqueteUniteLogementPayload.isSbee());
|
||||||
|
enqueteUniteLogement.setSoneb(enqueteUniteLogementPayload.isSoneb());
|
||||||
|
enqueteUniteLogement.setNumCompteurSbee(enqueteUniteLogementPayload.getNumCompteurSbee());
|
||||||
|
enqueteUniteLogement.setNumCompteurSoneb(enqueteUniteLogementPayload.getNumCompteurSoneb());
|
||||||
|
enqueteUniteLogement.setDateDebutExcemption(enqueteUniteLogementPayload.getDateDebutExcemption());
|
||||||
|
enqueteUniteLogement.setDateFinExcemption(enqueteUniteLogementPayload.getDateFinExcemption());
|
||||||
|
enqueteUniteLogement.setExternalKey(enqueteUniteLogementPayload.getExternalKey());
|
||||||
|
enqueteUniteLogement.setPersonneExternalKey(enqueteUniteLogementPayload.getPersonneId());
|
||||||
|
enqueteUniteLogement.setUniteLogementExternalKey(enqueteUniteLogementPayload.getUniteLogementId());
|
||||||
|
|
||||||
|
return enqueteUniteLogement;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Commune;
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Nationalite;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.MembreGroupe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.*;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataMembreGroupe;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
|
import io.gmss.fiscad.enums.Categorie;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.MembreGroupePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.PersonnePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.decoupage.CommuneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.decoupage.NationaliteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.*;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataMembreGroupeRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataPersonneRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class MembreGroupeAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final PersonneRepository personneRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final TypeRepresentationRepository typeRepresentationRepository;
|
||||||
|
private final MobileDataMembreGroupeRepository mobileDataMembreGroupeRepository;
|
||||||
|
private final MembreGroupeRepository membreGroupeRepository;
|
||||||
|
private final PositionRepresentationRepository positionRepresentationRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("membreGroupeExecutor")
|
||||||
|
public void traitementAsyncMembreGroupe(MobileDataMembreGroupe mobileDataMembreGroupe) {
|
||||||
|
MembreGroupePayLoad membreGroupePayLoad=mobileDataMembreGroupe.getMembreGroupePayLoad();
|
||||||
|
try {
|
||||||
|
if (membreGroupePayLoad.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.MEMBREGROUPE, "Problème de terminal", "terminal non fourni : ", mobileDataMembreGroupe.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(membreGroupePayLoad.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.MEMBREGROUPE, "Problème de terminal", "terminal inexistant : ", mobileDataMembreGroupe.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (membreGroupePayLoad.getPersonneRepresentanteId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.MEMBREGROUPE, "Problème de Personne représentante", "La personne représentante n'est pas précisée : ", mobileDataMembreGroupe.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresentanteId(), membreGroupePayLoad.getTerminalId());
|
||||||
|
if (optionalPersonne.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.MEMBREGROUPE, "Problème de Personne représentante", "La personne représentante n'existe pas précisée : ", mobileDataMembreGroupe.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (membreGroupePayLoad.getPersonneRepresenteeId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.MEMBREGROUPE, "Problème de Personne représentée", "La personne représentante n'est pas précisée : ", mobileDataMembreGroupe.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresenteeId(), membreGroupePayLoad.getTerminalId());
|
||||||
|
if (optionalPersonne.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.MEMBREGROUPE, "Problème de Personne représentante", "La personne représentante n'existe pas : ", mobileDataMembreGroupe.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
MembreGroupe membreGroupe = new MembreGroupe();
|
||||||
|
Optional<MembreGroupe> optionalMembreGroupe = membreGroupeRepository.findByMobileDataId(mobileDataMembreGroupe.getId());
|
||||||
|
if (optionalMembreGroupe.isPresent()) {
|
||||||
|
membreGroupe = optionalMembreGroupe.get();
|
||||||
|
}else {
|
||||||
|
optionalMembreGroupe = membreGroupeRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getExternalKey(),membreGroupePayLoad.getTerminalId());
|
||||||
|
if (optionalMembreGroupe.isPresent()) {
|
||||||
|
membreGroupe=optionalMembreGroupe.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
membreGroupe.setMobileDataId(mobileDataMembreGroupe.getId());
|
||||||
|
membreGroupe = getMembreGroupeFromMembreGroupePayLoad(membreGroupe, membreGroupePayLoad);
|
||||||
|
membreGroupeRepository.save(membreGroupe);
|
||||||
|
mobileDataMembreGroupe.setTraiter(true);
|
||||||
|
mobileDataMembreGroupeRepository.save(mobileDataMembreGroupe);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.MEMBREGROUPE, "Problème inattendu", e.getMessage(), mobileDataMembreGroupe.getId());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private MembreGroupe getMembreGroupeFromMembreGroupePayLoad(MembreGroupe membreGroupe, MembreGroupePayLoad membreGroupePayLoad) {
|
||||||
|
if (membreGroupePayLoad.getPersonneRepresentanteId() != null) {
|
||||||
|
Optional<Personne> optionalRepresentant = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresentanteId(), membreGroupePayLoad.getTerminalId());
|
||||||
|
membreGroupe.setPersonneRepresantante(optionalRepresentant.orElse(null));
|
||||||
|
}
|
||||||
|
if (membreGroupePayLoad.getPersonneRepresenteeId() != null) {
|
||||||
|
Optional<Personne> optionalRepresente = personneRepository.findFirstByExternalKeyAndTerminal_Id(membreGroupePayLoad.getPersonneRepresenteeId(), membreGroupePayLoad.getTerminalId());
|
||||||
|
membreGroupe.setPersonneRepresantee(optionalRepresente.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (membreGroupePayLoad.getPositionRepresentationId() != null) {
|
||||||
|
Optional<PositionRepresentation> optionalPositionRepresentation = positionRepresentationRepository.findById(membreGroupePayLoad.getPositionRepresentationId());
|
||||||
|
membreGroupe.setPositionRepresentation(optionalPositionRepresentation.orElse(null));
|
||||||
|
}
|
||||||
|
if (membreGroupePayLoad.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(membreGroupePayLoad.getTerminalId());
|
||||||
|
membreGroupe.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (membreGroupePayLoad.getTypeRepresentationId() != null) {
|
||||||
|
Optional<TypeRepresentation> optionalTypeRepresentation = typeRepresentationRepository.findById(membreGroupePayLoad.getTypeRepresentationId());
|
||||||
|
membreGroupe.setExternalKey(membreGroupePayLoad.getExternalKey());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (membreGroupePayLoad.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Quartier;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.NatureDomaine;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.ParcellePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.decoupage.QuartierRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.NatureDomaineRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataParcelleRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class ParcelleAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final ParcelleRepository parcelleRepository;
|
||||||
|
private final MobileDataParcelleRepository mobileDataParcelleRepository;
|
||||||
|
private final NatureDomaineRepository natureDomaineRepository;
|
||||||
|
private final QuartierRepository quartierRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("parcelleExecutor")
|
||||||
|
public void traitementAsyncParcelle(MobileDataParcelle mobileDataParcelle) {
|
||||||
|
ParcellePayLoad parcellePayLoad = mobileDataParcelle.getParcellePayLoad();
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (parcellePayLoad.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PARCELLE, "Problème de terminal", "terminal non fourni : ", mobileDataParcelle.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(parcellePayLoad.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PARCELLE, "Problème de terminal", "terminal inexistant : ", mobileDataParcelle.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Parcelle parcelle = new Parcelle();
|
||||||
|
Optional<Parcelle> optionalParcelle=Optional.empty();
|
||||||
|
optionalParcelle = parcelleRepository.findByMobileDataId(mobileDataParcelle.getId());
|
||||||
|
if (optionalParcelle.isPresent()) {
|
||||||
|
parcelle = optionalParcelle.get();
|
||||||
|
}else {
|
||||||
|
optionalParcelle = parcelleRepository.findFirstByExternalKeyAndTerminal_Id(parcellePayLoad.getExternalKey(),parcellePayLoad.getTerminalId());
|
||||||
|
if (optionalParcelle.isPresent()) {
|
||||||
|
parcelle = optionalParcelle.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
parcelle.setMobileDataId(mobileDataParcelle.getId());
|
||||||
|
parcelle = getParcelleFromParcellePayLoad(parcelle, parcellePayLoad);
|
||||||
|
parcelleRepository.save(parcelle);
|
||||||
|
mobileDataParcelle.setTraiter(true);
|
||||||
|
mobileDataParcelleRepository.save(mobileDataParcelle);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PARCELLE, "Problème de inattendu", e.getMessage(), mobileDataParcelle.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Parcelle getParcelleFromParcellePayLoad(Parcelle parcelle, ParcellePayLoad parcellePayLoad) {
|
||||||
|
if (parcellePayLoad.getNatureDomaineId() != null) {
|
||||||
|
Optional<NatureDomaine> optionalNatureDomaine = natureDomaineRepository.findById(parcellePayLoad.getNatureDomaineId());
|
||||||
|
parcelle.setNatureDomaine(optionalNatureDomaine.orElse(null));
|
||||||
|
}
|
||||||
|
if (parcellePayLoad.getQuartierId() != null) {
|
||||||
|
Optional<Quartier> optionalQuartier = quartierRepository.findById(parcellePayLoad.getQuartierId());
|
||||||
|
parcelle.setQuartier(optionalQuartier.orElse(null));
|
||||||
|
}
|
||||||
|
if (parcellePayLoad.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Commune;
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Nationalite;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.ActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.*;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
|
import io.gmss.fiscad.enums.Categorie;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.ActeurConcernePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.PersonnePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.decoupage.CommuneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.decoupage.NationaliteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.*;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataActeurConcerneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataPersonneRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class PersonneAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final SituationMatrimonialeRepository situationMatrimonialeRepository;
|
||||||
|
private final NationaliteRepository nationaliteRepository;
|
||||||
|
private final PersonneRepository personneRepository;
|
||||||
|
private final ProfessionRepository professionRepository;
|
||||||
|
private final CommuneRepository communeRepository;
|
||||||
|
private final MobileDataPersonneRepository mobileDataPersonneRepository;
|
||||||
|
private final TypePersonneRepository typePersonneRepository;
|
||||||
|
private final UploadRepository uploadRepository;
|
||||||
|
private final MembreGroupeRepository membreGroupeRepository;
|
||||||
|
private final PieceRepository pieceRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("personneExecutor")
|
||||||
|
public void traitementAsyncPersonne(MobileDataPersonne mobileDataPersonne) {
|
||||||
|
PersonnePayLoad personnePayLoad = mobileDataPersonne.getPersonnePayLoad();
|
||||||
|
try {
|
||||||
|
if (personnePayLoad.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PERSONNE, "Problème de terminal", "terminal non fourni : ", mobileDataPersonne.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(personnePayLoad.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PERSONNE, "Problème de terminal", "terminal inexistant : ", mobileDataPersonne.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Personne personne = new Personne();
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findByMobileDataId(mobileDataPersonne.getId());
|
||||||
|
if (optionalPersonne.isPresent()) {
|
||||||
|
personne = optionalPersonne.get();
|
||||||
|
deleteFromPersonne(personne.getId());
|
||||||
|
} else {
|
||||||
|
optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(personnePayLoad.getExternalKey(), personnePayLoad.getTerminalId());
|
||||||
|
if (optionalPersonne.isPresent()) {
|
||||||
|
personne = optionalPersonne.get();
|
||||||
|
deleteFromPersonne(personne.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
personne.setMobileDataId(mobileDataPersonne.getId());
|
||||||
|
personne = getPersonneFromPersonnePayLoad(personne, personnePayLoad);
|
||||||
|
personne = personneRepository.save(personne);
|
||||||
|
personnePayLoad.setIdBackend(personne.getId());
|
||||||
|
mobileDataPersonne.setTraiter(true);
|
||||||
|
mobileDataPersonneRepository.save(mobileDataPersonne);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PERSONNE, "Problème de terminal", e.getMessage(), mobileDataPersonne.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Personne getPersonneFromPersonnePayLoad(Personne personne, PersonnePayLoad personnePayLoad) {
|
||||||
|
if (personnePayLoad.getCommuneId() != null) {
|
||||||
|
Optional<Commune> optionalCommune = communeRepository.findById(personnePayLoad.getCommuneId());
|
||||||
|
personne.setCommune(optionalCommune.orElse(null));
|
||||||
|
}
|
||||||
|
if (personnePayLoad.getNationaliteId() != null) {
|
||||||
|
Optional<Nationalite> optionalNationalite = nationaliteRepository.findById(personnePayLoad.getNationaliteId());
|
||||||
|
personne.setNationalite(optionalNationalite.orElse(null));
|
||||||
|
}
|
||||||
|
if (personnePayLoad.getProfessionId() != null) {
|
||||||
|
Optional<Profession> optionalProfession = professionRepository.findById(personnePayLoad.getProfessionId());
|
||||||
|
personne.setProfession(optionalProfession.orElse(null));
|
||||||
|
}
|
||||||
|
if (personnePayLoad.getTypePersonneId() != null) {
|
||||||
|
Optional<TypePersonne> optionalTypePersonne = typePersonneRepository.findById(personnePayLoad.getTypePersonneId());
|
||||||
|
personne.setTypePersonne(optionalTypePersonne.orElse(null));
|
||||||
|
} else {
|
||||||
|
Optional<TypePersonne> optionalTypePersonne = typePersonneRepository.findFirstByCategorie(Categorie.PERSONNE_PHYSIQUE);
|
||||||
|
personne.setTypePersonne(optionalTypePersonne.orElse(null));
|
||||||
|
|
||||||
|
}
|
||||||
|
if (personnePayLoad.getSituationMatrimonialeId() != null) {
|
||||||
|
Optional<SituationMatrimoniale> optionalSituationMatrimoniale = situationMatrimonialeRepository.findById(personnePayLoad.getSituationMatrimonialeId());
|
||||||
|
personne.setSituationMatrimoniale(optionalSituationMatrimoniale.orElse(null));
|
||||||
|
}
|
||||||
|
if (personnePayLoad.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> 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;
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,136 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Commune;
|
||||||
|
import io.gmss.fiscad.entities.decoupage.Nationalite;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.ActeurConcerne;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Piece;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.*;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
|
||||||
|
import io.gmss.fiscad.enums.Categorie;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.PersonnePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.PiecePayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.decoupage.CommuneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.decoupage.NationaliteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.*;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataPersonneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataPieceRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class PieceAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final PersonneRepository personneRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final SourceDroitRepository sourceDroitRepository;
|
||||||
|
private final ModeAcquisitionRepository modeAcquisitionRepository;
|
||||||
|
private final ActeurConcerneRepository acteurConcerneRepository;
|
||||||
|
private final TypePieceRepository typePieceRepository;
|
||||||
|
private final MobileDataPieceRepository mobileDataPieceRepository;
|
||||||
|
private final PieceRepository pieceRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
|
||||||
|
//@Async("pieceExecutor")
|
||||||
|
public void traitementAsyncPiece(MobileDataPiece mobileDataPiece) {
|
||||||
|
PiecePayLoad piecePayLoad=mobileDataPiece.getPiecePayLoad();
|
||||||
|
try {
|
||||||
|
if (piecePayLoad.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PIECE, "Problème de terminal", "terminal non fourni : ", mobileDataPiece.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(piecePayLoad.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PIECE, "Problème de terminal", "terminal inexistant : ", mobileDataPiece.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Piece piece = new Piece();
|
||||||
|
Optional<Piece> optionalPiece=Optional.empty();
|
||||||
|
optionalPiece = pieceRepository.findByMobileDataId(mobileDataPiece.getId());
|
||||||
|
if (optionalPiece.isPresent()) {
|
||||||
|
piece = optionalPiece.get();
|
||||||
|
}else {
|
||||||
|
optionalPiece = pieceRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getExternalKey(),piecePayLoad.getTerminalId());
|
||||||
|
if (optionalPiece.isPresent()) {
|
||||||
|
piece=optionalPiece.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
piece.setMobileDataId(mobileDataPiece.getId());
|
||||||
|
piece = getPieceFromPiecePayLoad(piece, piecePayLoad);
|
||||||
|
pieceRepository.save(piece);
|
||||||
|
mobileDataPiece.setTraiter(true);
|
||||||
|
mobileDataPieceRepository.save(mobileDataPiece);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.PIECE, "Erreur inattendue", e.getMessage(), mobileDataPiece.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private Piece getPieceFromPiecePayLoad(Piece piece, PiecePayLoad piecePayLoad) {
|
||||||
|
if (piecePayLoad.getTypePieceId() != null) {
|
||||||
|
Optional<TypePiece> optionalTypePiece = typePieceRepository.findById(piecePayLoad.getTypePieceId());
|
||||||
|
piece.setTypePiece(optionalTypePiece.orElse(null));
|
||||||
|
} else {
|
||||||
|
piece.setTypePiece(null);
|
||||||
|
}
|
||||||
|
if (piecePayLoad.getPersonneId() != null) {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getPersonneId(), piecePayLoad.getTerminalId());
|
||||||
|
piece.setPersonne(optionalPersonne.orElse(null));
|
||||||
|
} else {
|
||||||
|
piece.setPersonne(null);
|
||||||
|
}
|
||||||
|
if (piecePayLoad.getActeurConcerneId() != null) {
|
||||||
|
Optional<ActeurConcerne> optionalActeurConcerne = acteurConcerneRepository.findFirstByExternalKeyAndTerminal_Id(piecePayLoad.getActeurConcerneId(), piecePayLoad.getTerminalId());
|
||||||
|
piece.setActeurConcerne(optionalActeurConcerne.orElse(null));
|
||||||
|
} else {
|
||||||
|
piece.setActeurConcerne(null);
|
||||||
|
}
|
||||||
|
if (piecePayLoad.getModeAcquisitionId() != null) {
|
||||||
|
Optional<ModeAcquisition> optionalModeAcquisition = modeAcquisitionRepository.findById(piecePayLoad.getModeAcquisitionId());
|
||||||
|
piece.setModeAcquisition(optionalModeAcquisition.orElse(null));
|
||||||
|
} else {
|
||||||
|
piece.setModeAcquisition(null);
|
||||||
|
}
|
||||||
|
if (piecePayLoad.getSourceDroitId() != null) {
|
||||||
|
Optional<SourceDroit> optionalSourceDroit = sourceDroitRepository.findById(piecePayLoad.getSourceDroitId());
|
||||||
|
piece.setSourceDroit(optionalSourceDroit.orElse(null));
|
||||||
|
} else {
|
||||||
|
piece.setSourceDroit(null);
|
||||||
|
}
|
||||||
|
if (piecePayLoad.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(piecePayLoad.getTerminalId());
|
||||||
|
piece.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (piecePayLoad.getTerminalId() != null && piecePayLoad.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,125 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Enquete;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.Tpe;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.Batiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.UniteLogement;
|
||||||
|
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
|
||||||
|
import io.gmss.fiscad.entities.user.User;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.UniteLogementPaylaod;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataUniteLogementRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
|
||||||
|
import io.gmss.fiscad.repositories.user.UserRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class UniteLogementAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final MobileDataUniteLogementRepository mobileDataUniteLogementRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final EnqueteUniteLogementRepository enqueteUniteLogementRepository;
|
||||||
|
private final EnqueteBatimentRepository enqueteBatimentRepository;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
private final ZoneRfuRepository zoneRfuRepository;
|
||||||
|
private final UploadRepository uploadRepository;
|
||||||
|
private final PieceRepository pieceRepository;
|
||||||
|
private final BlocRepository blocRepository;
|
||||||
|
private final MobileDataEnqueteRepository mobileDataEnqueteRepository;
|
||||||
|
private final ActeurConcerneRepository acteurConcerneRepository;
|
||||||
|
private final CaracteristiqueParcelleRepository caracteristiqueParcelleRepository;
|
||||||
|
private final CaracteristiqueBatimentRepository caracteristiqueBatimentRepository;
|
||||||
|
private final CaracteristiqueUniteLogementRepository caracteristiqueUniteLogementRepository;
|
||||||
|
private final UniteLogementRepository uniteLogementRepository;
|
||||||
|
private final BatimentRepository batimentRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("uniteLogementExecutor")
|
||||||
|
public void traitementAsyncUniteLogement(MobileDataUniteLogement mobileDataUniteLogement) {
|
||||||
|
UniteLogementPaylaod uniteLogementPaylaod = mobileDataUniteLogement.getUniteLogementPaylaod();
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (uniteLogementPaylaod.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(uniteLogementPaylaod.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (uniteLogementPaylaod.getBatimentId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de batiment", "batiment non fourni : ", mobileDataUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getBatimentId(), uniteLogementPaylaod.getTerminalId());
|
||||||
|
if (optionalBatiment.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de batiment", "Le batiment précisée n'existe pas : ", mobileDataUniteLogement.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UniteLogement uniteLogement = new UniteLogement();
|
||||||
|
Optional<UniteLogement> optionalUniteLogement= Optional.empty();
|
||||||
|
optionalUniteLogement = uniteLogementRepository.findByMobileDataId(mobileDataUniteLogement.getId());
|
||||||
|
if (optionalUniteLogement.isPresent()) {
|
||||||
|
uniteLogement = optionalUniteLogement.get();
|
||||||
|
}else {
|
||||||
|
optionalUniteLogement = uniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getExternalKey(),uniteLogementPaylaod.getTerminalId());
|
||||||
|
if (optionalUniteLogement.isPresent()) {
|
||||||
|
uniteLogement = optionalUniteLogement.get();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
uniteLogement.setMobileDataId(mobileDataUniteLogement.getId());
|
||||||
|
uniteLogement = getUniteLogementFromUniteLogementPayLoad(uniteLogement, uniteLogementPaylaod);
|
||||||
|
uniteLogementRepository.save(uniteLogement);
|
||||||
|
mobileDataUniteLogement.setTraiter(true);
|
||||||
|
mobileDataUniteLogementRepository.save(mobileDataUniteLogement);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de inattendu", e.getMessage(), mobileDataUniteLogement.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private UniteLogement getUniteLogementFromUniteLogementPayLoad(UniteLogement uniteLogement, UniteLogementPaylaod uniteLogementPaylaod) {
|
||||||
|
|
||||||
|
if (uniteLogementPaylaod.getBatimentId() != null) {
|
||||||
|
Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getBatimentId(), uniteLogementPaylaod.getTerminalId());
|
||||||
|
uniteLogement.setBatiment(optionalBatiment.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (uniteLogementPaylaod.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(uniteLogementPaylaod.getTerminalId());
|
||||||
|
uniteLogement.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
if (uniteLogementPaylaod.getTerminalId() != null && uniteLogementPaylaod.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
package io.gmss.fiscad.service.worker;
|
||||||
|
|
||||||
|
import io.gmss.fiscad.entities.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.ModeAcquisition;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.Personne;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.SourceDroit;
|
||||||
|
import io.gmss.fiscad.entities.infocad.parametre.TypePiece;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
|
||||||
|
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
|
||||||
|
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
|
||||||
|
import io.gmss.fiscad.enums.TypeObjet;
|
||||||
|
import io.gmss.fiscad.paylaods.request.PiecePayLoad;
|
||||||
|
import io.gmss.fiscad.paylaods.request.UploadPayLoad;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.metier.*;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.ModeAcquisitionRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.PersonneRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.SourceDroitRepository;
|
||||||
|
import io.gmss.fiscad.repositories.infocad.parametre.TypePieceRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataPieceRepository;
|
||||||
|
import io.gmss.fiscad.repositories.metadata.MobileDataUploadRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.EnqueteBatimentRepository;
|
||||||
|
import io.gmss.fiscad.repositories.rfu.metier.EnqueteUniteLogementRepository;
|
||||||
|
import io.gmss.fiscad.service.LogService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class UploadAsyncWorker {
|
||||||
|
private final TpeRepository tpeRepository;
|
||||||
|
private final PersonneRepository personneRepository;
|
||||||
|
private final EnqueteRepository enqueteRepository;
|
||||||
|
private final EnqueteUniteLogementRepository enqueteUniteLogementRepository;
|
||||||
|
private final EnqueteBatimentRepository enqueteBatimentRepository;
|
||||||
|
private final MembreGroupeRepository membreGroupeRepository;
|
||||||
|
private final MobileDataUploadRepository mobileDataUploadRepository;
|
||||||
|
private final UploadRepository uploadRepository;
|
||||||
|
private final PieceRepository pieceRepository;
|
||||||
|
private final LogService logService;
|
||||||
|
//@Async("uploadExecutor")
|
||||||
|
public void traitementAsyncUpload(MobileDataUpload mobileDataUpload) {
|
||||||
|
UploadPayLoad uploadPayLoad = mobileDataUpload.getUploadPayLoad();
|
||||||
|
try {
|
||||||
|
if (uploadPayLoad.getTerminalId() == null) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UPLOAD, "Problème de terminal", "terminal non fourni : ", mobileDataUpload.getId());
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(uploadPayLoad.getTerminalId());
|
||||||
|
if (optionalTpe.isEmpty()) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UPLOAD, "Problème de terminal", "terminal inexistant : ", mobileDataUpload.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Upload upload = new Upload();
|
||||||
|
upload.setMobileDataId(mobileDataUpload.getId());
|
||||||
|
upload = getUploadFromUplaodPayLoad(upload, mobileDataUpload);
|
||||||
|
uploadRepository.save(upload);
|
||||||
|
mobileDataUpload.setTraiter(true);
|
||||||
|
mobileDataUploadRepository.save(mobileDataUpload);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logService.logTraiementAsync(TypeObjet.UPLOAD, "Problème de inattendu", e.getMessage(), mobileDataUpload.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Upload getUploadFromUplaodPayLoad(Upload upload, MobileDataUpload mobileDataUpload) {
|
||||||
|
UploadPayLoad uploadPayLoad= mobileDataUpload.getUploadPayLoad();
|
||||||
|
|
||||||
|
if (uploadPayLoad.getTerminalId() != null) {
|
||||||
|
Optional<Tpe> optionalTpe = tpeRepository.findById(uploadPayLoad.getTerminalId());
|
||||||
|
upload.setTerminal(optionalTpe.orElse(null));
|
||||||
|
}
|
||||||
|
if (uploadPayLoad.getPieceId() != null) {
|
||||||
|
Optional<Piece> optionalPiece = pieceRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getPieceId(), uploadPayLoad.getTerminalId());
|
||||||
|
upload.setPiece(optionalPiece.orElse(null));
|
||||||
|
}
|
||||||
|
if (uploadPayLoad.getMembreGroupeId() != null) {
|
||||||
|
Optional<MembreGroupe> optionalMembreGroupe = membreGroupeRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getMembreGroupeId(), uploadPayLoad.getTerminalId());
|
||||||
|
upload.setMembreGroupe(optionalMembreGroupe.orElse(null));
|
||||||
|
}
|
||||||
|
if (uploadPayLoad.getPersonneId() != null) {
|
||||||
|
Optional<Personne> optionalPersonne = personneRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getPersonneId(), uploadPayLoad.getTerminalId());
|
||||||
|
upload.setPersonne(optionalPersonne.orElse(null));
|
||||||
|
}
|
||||||
|
if (uploadPayLoad.getEnqueteBatimentId() != null) {
|
||||||
|
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getEnqueteBatimentId(), uploadPayLoad.getTerminalId());
|
||||||
|
upload.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
|
||||||
|
}
|
||||||
|
if (uploadPayLoad.getEnqueteUniteLogementId() != null) {
|
||||||
|
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(uploadPayLoad.getEnqueteUniteLogementId(), uploadPayLoad.getTerminalId());
|
||||||
|
upload.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (uploadPayLoad.getTerminalId() != null && uploadPayLoad.getEnqueteId() != null) {
|
||||||
|
Optional<Enquete> 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(mobileDataUpload.getFileName());
|
||||||
|
upload.setMimeType(mobileDataUpload.getMimeType());
|
||||||
|
upload.setSize(mobileDataUpload.getSize());
|
||||||
|
upload.setOriginalFileName(mobileDataUpload.getOriginalFileName());
|
||||||
|
upload.setName(uploadPayLoad.getName());
|
||||||
|
upload.setFilePath(mobileDataUpload.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
uploads/01767dc3e7814b6780142937a09da3f1.jpeg
Normal file
|
After Width: | Height: | Size: 256 KiB |
BIN
uploads/019d3a9715e647d380ecc27e968bdfce.pdf
Normal file
BIN
uploads/023be0a9ab454a21a575588c8b997e29.pdf
Normal file
BIN
uploads/034eda20627f4834a957ad091c88445f.jpeg
Normal file
|
After Width: | Height: | Size: 198 KiB |
BIN
uploads/0390e109dc86435bb77439f8db465e20.jpeg
Normal file
|
After Width: | Height: | Size: 279 KiB |
BIN
uploads/074a286ec4194105be584ca5b797d894.pdf
Normal file
BIN
uploads/08f6b7db48c44700a7f4cb2b8186badd.jpeg
Normal file
|
After Width: | Height: | Size: 279 KiB |
BIN
uploads/0ba57da22a614067a18333e4b843fa4c.jpeg
Normal file
|
After Width: | Height: | Size: 279 KiB |
BIN
uploads/0c41b6f04120461c9188577ca47daf43.pdf
Normal file
BIN
uploads/0efe7a4bd0bb4a1f8c93255146e314f8.jpeg
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
uploads/112a93596e114e7c991c60639316c2c5.pdf
Normal file
BIN
uploads/1147148547fd4106a2a0f7c8b5bb3349.jpeg
Normal file
|
After Width: | Height: | Size: 279 KiB |
BIN
uploads/1158085f198d4aafa9f8fe1928c03c37.jpeg
Normal file
|
After Width: | Height: | Size: 202 KiB |
BIN
uploads/139be6974b794701966b40903f4c0344.pdf
Normal file
BIN
uploads/15e84c9f90624f42b521cb5125a63dcd.jpeg
Normal file
|
After Width: | Height: | Size: 207 KiB |
BIN
uploads/176bf625ee224a3fbaf2c2d41574e8e6.pdf
Normal file
BIN
uploads/1979c495a5be479c90685d81e15048d1.jpeg
Normal file
|
After Width: | Height: | Size: 279 KiB |