gestino restauration

This commit is contained in:
2026-06-12 14:16:36 +01:00
parent ca1804ff8f
commit bd7c480e7c
34 changed files with 422 additions and 303 deletions

View File

@@ -14,6 +14,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.HttpClientErrorException;
import java.util.List;
@RestController @RestController
@RequestMapping(value = "api/restauration", produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "api/restauration", produces = MediaType.APPLICATION_JSON_VALUE)
@SecurityRequirement(name = "bearer") @SecurityRequirement(name = "bearer")
@@ -29,11 +31,11 @@ public class RestaurationController {
this.restaurationService = restaurationService; this.restaurationService = restaurationService;
} }
@GetMapping(path = "/enquete/{terminalId}") @GetMapping(path = "/enquete")
public ResponseEntity<?> getEnquetes(@PathVariable Long terminalId) { public ResponseEntity<?> getEnquetes(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getEnquete(terminalId), "liste des enquetes avec succès."), new ApiResponse<>(true, restaurationService.getEnquete(terminalId,limit,offset), "liste des enquetes avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -52,11 +54,11 @@ public class RestaurationController {
} }
} }
@GetMapping(path = "/acteur-concerne/{terminalId}") @GetMapping(path = "/acteur-concerne")
public ResponseEntity<?> getActeurConcerne(@PathVariable Long terminalId) { public ResponseEntity<?> getActeurConcerne(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getActeurConcernes(terminalId), "liste des acteurs concernés avec succès."), new ApiResponse<>(true, restaurationService.getActeurConcernes(terminalId,limit,offset), "liste des acteurs concernés avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -75,11 +77,11 @@ public class RestaurationController {
} }
} }
@GetMapping(path = "/personne/{terminalId}") // ok @GetMapping(path = "/personne") // ok
public ResponseEntity<?> getPersonnes(@PathVariable Long terminalId) { public ResponseEntity<?> getPersonnes(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getPersonne(terminalId), "liste des personnes avec succès."), new ApiResponse<>(true, restaurationService.getPersonne(terminalId,limit,offset), "liste des personnes avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -98,11 +100,11 @@ public class RestaurationController {
} }
} }
@GetMapping(path = "/membre-groupe/{terminalId}") @GetMapping(path = "/membre-groupe")
public ResponseEntity<?> getMembrePersonnes(@PathVariable Long terminalId) { public ResponseEntity<?> getMembrePersonnes(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getMembreGroupe(terminalId), "liste des membres groupe avec succès."), new ApiResponse<>(true, restaurationService.getMembreGroupe(terminalId,limit,offset), "liste des membres groupe avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -121,11 +123,11 @@ public class RestaurationController {
} }
} }
@GetMapping(path = "/parcelle/{terminalId}") @GetMapping(path = "/parcelle")
public ResponseEntity<?> getParcelle(@PathVariable Long terminalId) { public ResponseEntity<?> getParcelle(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getParcelle(terminalId), "liste des parcelle avec succès."), new ApiResponse<>(true, restaurationService.getParcelle(terminalId,limit,offset), "liste des parcelle avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -144,11 +146,11 @@ public class RestaurationController {
} }
} }
@GetMapping(path = "/piece/{terminalId}") @GetMapping(path = "/caracteristique-parcelle/")
public ResponseEntity<?> getPieces(@PathVariable Long terminalId) { public ResponseEntity<?> getCaracteristiqueParcelle(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getPieces(terminalId), "liste des enquetes avec succès."), new ApiResponse<>(true, restaurationService.getCaracateristiqueParcelle(terminalId,limit,offset), "liste des caractéristiques des unités de logement avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -167,11 +169,34 @@ public class RestaurationController {
} }
} }
@GetMapping(path = "/upload/{terminalId}") @GetMapping(path = "/piece")
public ResponseEntity<?> getUpload(@PathVariable Long terminalId) { public ResponseEntity<?> getPieces(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getUpload(terminalId), "liste des enquetes avec succès."), new ApiResponse<>(true, restaurationService.getPieces(terminalId,limit,offset), "liste des enquetes avec succès."),
HttpStatus.OK
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
FileStorageException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
} catch (NullPointerException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
} catch (Exception e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
@GetMapping(path = "/upload")
public ResponseEntity<?> getUpload(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getUploads(terminalId,limit,offset), "liste des enquetes avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -213,12 +238,18 @@ public class RestaurationController {
} }
} }
@PostMapping(path = "/files/{terminalId}")
@GetMapping(path = "/batiment/{terminalId}") public ResponseEntity<?> getCurrentUserTpe(@RequestBody List<Long> ids, @PathVariable Long terminalId) {
public ResponseEntity<?> getBatiments(@PathVariable Long terminalId) { return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getFiles(terminalId, ids), "liste des enquetes avec succès."),
HttpStatus.OK
);
}
@GetMapping(path = "/batiment")
public ResponseEntity<?> getBatiments(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getBatiment(terminalId), "liste des batiments avec succès."), new ApiResponse<>(true, restaurationService.getBatiment(terminalId,limit,offset), "liste des batiments avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -238,11 +269,11 @@ public class RestaurationController {
} }
@GetMapping(path = "/enquete-batiment/{terminalId}") @GetMapping(path = "/enquete-batiment")
public ResponseEntity<?> getEnqueteBatiment(@PathVariable Long terminalId) { public ResponseEntity<?> getEnqueteBatiment(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getEnqueteBatiment(terminalId), "liste des enquetes batiments avec succès."), new ApiResponse<>(true, restaurationService.getEnqueteBatiment(terminalId,limit,offset), "liste des enquetes batiments avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -262,11 +293,11 @@ public class RestaurationController {
} }
@GetMapping(path = "/caracteristique-batiment/{terminalId}") @GetMapping(path = "/caracteristique-batiment")
public ResponseEntity<?> getCaracteristiqueBatiment(@PathVariable Long terminalId) { public ResponseEntity<?> getCaracteristiqueBatiment(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getCaracateristiqueBatiment(terminalId), "liste des caractéristiques batiments avec succès."), new ApiResponse<>(true, restaurationService.getCaracateristiqueBatiment(terminalId,limit,offset), "liste des caractéristiques batiments avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -285,11 +316,82 @@ public class RestaurationController {
} }
} }
@GetMapping(path = "/caracteristique-unite-logement/{terminalId}") @GetMapping(path = "/unite-logement")
public ResponseEntity<?> getCaracteristiqueUniteLogement(@PathVariable Long terminalId) { public ResponseEntity<?> getUniteLogement(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getCaracateristiqueUniteLogement(terminalId), "liste des caractéristiques des unités de logement avec succès."), new ApiResponse<>(true, restaurationService.getUniteLogement(terminalId, limit, offset), "liste des unités de logement avec succès."),
HttpStatus.OK
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
FileStorageException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
} catch (NullPointerException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
} catch (Exception e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
@GetMapping(path = "/enquete-unite-logement")
public ResponseEntity<?> getEnqueteEnqueteUniteLogement(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getEnqueteUniteLogement(terminalId,limit,offset), "liste des enquetes d'unité de logement chargée avec succès."),
HttpStatus.OK
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
FileStorageException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
} catch (NullPointerException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
} catch (Exception e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
@GetMapping(path = "/caracteristique-unite-logement")
public ResponseEntity<?> getCaracteristiqueUniteLogement(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getCaracateristiqueUniteLogement(terminalId,limit,offset), "liste des caractéristiques des unités de logement avec succès."),
HttpStatus.OK
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Method POST/GET is required."), HttpStatus.OK);
} catch (NotFoundException | BadRequestException | MyFileNotFoundException | ResourceNotFoundException |
FileStorageException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, e.getMessage()), HttpStatus.OK);
} catch (NullPointerException e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "Null value has been detected {" + e.getMessage() + "}."), HttpStatus.OK);
} catch (Exception e) {
logger.error(e.getLocalizedMessage());
return new ResponseEntity<>(new ApiResponse(false, null, "An error has been occur and the content is {" + e.getMessage() + "}."), HttpStatus.OK);
}
}
@GetMapping(path = "/taille-objet")
public ResponseEntity<?> getTailleObjet(@RequestParam Long terminalId) {
try {
return new ResponseEntity<>(
new ApiResponse<>(true, restaurationService.getTailleObjetByTerminalId(terminalId), "liste des tailles des objets chargée avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {

View File

@@ -18,7 +18,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.multipart.MultipartFile;
import java.util.List; import java.util.List;
@@ -443,11 +442,11 @@ public class SynchronisationController {
@PostMapping(path = "/unite-logement") @PostMapping(path = "/unite-logement")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncUniteLogement(@RequestBody List<UniteLogementPaylaod> uniteLogementPaylaods) { public ResponseEntity<?> syncUniteLogement(@RequestBody List<UniteLogementPayload> uniteLogementPayloads) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
//new ApiResponse<>(true,null, "Liste des unités de logement synchronisées avec succès."), //new ApiResponse<>(true,null, "Liste des unités de logement synchronisées avec succès."),
new ApiResponse<>(true, synchronisationService.syncUniteLogement(uniteLogementPaylaods), "Liste des unités de logement synchronisées avec succès."), new ApiResponse<>(true, synchronisationService.syncUniteLogement(uniteLogementPayloads), "Liste des unités de logement synchronisées avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -468,11 +467,11 @@ public class SynchronisationController {
@PostMapping(path = "/caracteristique-batiment") @PostMapping(path = "/caracteristique-batiment")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncCaracteristiqueBatiment(@RequestBody List<CaracteristiqueBatimentPaylod> caracteristiqueBatimentPaylods) { public ResponseEntity<?> syncCaracteristiqueBatiment(@RequestBody List<CaracteristiqueBatimentPayload> caracteristiqueBatimentPayloads) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
//new ApiResponse<>(true, null, "Liste des caractéristiques des bâtiments synchronisée avec succès."), //new ApiResponse<>(true, null, "Liste des caractéristiques des bâtiments synchronisée avec succès."),
new ApiResponse<>(true, synchronisationService.syncCaracteristiqueBatiment(caracteristiqueBatimentPaylods), "Liste des caractéristiques des bâtiments synchronisée avec succès."), new ApiResponse<>(true, synchronisationService.syncCaracteristiqueBatiment(caracteristiqueBatimentPayloads), "Liste des caractéristiques des bâtiments synchronisée avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -493,11 +492,11 @@ public class SynchronisationController {
@PostMapping(path = "/caracteristique-parcelle") @PostMapping(path = "/caracteristique-parcelle")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncCaracteristiqueParcelle(@RequestBody List<CaracteristiqueParcellePaylod> caracteristiqueParcellePaylods) { public ResponseEntity<?> syncCaracteristiqueParcelle(@RequestBody List<CaracteristiqueParcellePayload> caracteristiqueParcellePayloads) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
//new ApiResponse<>(true, null, "Liste des caractéristiques des parcelles synchronisée avec succès."), //new ApiResponse<>(true, null, "Liste des caractéristiques des parcelles synchronisée avec succès."),
new ApiResponse<>(true, synchronisationService.syncCaracteristiqueParcelle(caracteristiqueParcellePaylods), "Liste des caractéristiques des parcelles synchronisée avec succès."), new ApiResponse<>(true, synchronisationService.syncCaracteristiqueParcelle(caracteristiqueParcellePayloads), "Liste des caractéristiques des parcelles synchronisée avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -518,11 +517,11 @@ public class SynchronisationController {
@PostMapping(path = "/caracteristique-unite-logement") @PostMapping(path = "/caracteristique-unite-logement")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')") @PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncCaracteristiqueUniteLogement(@RequestBody List<CaracteristiqueUniteLogementPaylod> caracteristiqueUniteLogementPaylods) { public ResponseEntity<?> syncCaracteristiqueUniteLogement(@RequestBody List<CaracteristiqueUniteLogementPayload> caracteristiqueUniteLogementPayloads) {
try { try {
return new ResponseEntity<>( return new ResponseEntity<>(
//new ApiResponse<>(true, null, "Liste des caractéristiques des unités de logement synchronisée avec succès."), //new ApiResponse<>(true, null, "Liste des caractéristiques des unités de logement synchronisée avec succès."),
new ApiResponse<>(true, synchronisationService.syncCaracteristiqueUniteLogement(caracteristiqueUniteLogementPaylods), "Liste des caractéristiques des unités de logement synchronisée avec succès."), new ApiResponse<>(true, synchronisationService.syncCaracteristiqueUniteLogement(caracteristiqueUniteLogementPayloads), "Liste des caractéristiques des unités de logement synchronisée avec succès."),
HttpStatus.OK HttpStatus.OK
); );
} catch (HttpClientErrorException.MethodNotAllowed e) { } catch (HttpClientErrorException.MethodNotAllowed e) {

View File

@@ -86,7 +86,9 @@ public class Enquete extends BaseEntity implements Serializable {
@ManyToOne @ManyToOne
private ZoneRfu zoneRfu; private ZoneRfu zoneRfu;
private String autreNumeroTitreFoncier; private String autreNumeroTitreFoncier;
private Long personneId;
// private Long personneId;
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private StatusEnquete statusEnquete; private StatusEnquete statusEnquete;
@JsonFormat(pattern = "dd-MM-yyyy") @JsonFormat(pattern = "dd-MM-yyyy")
@@ -150,14 +152,14 @@ public class Enquete extends BaseEntity implements Serializable {
private String numRue; private String numRue;
private String nomRue; private String nomRue;
private String emplacement; private String emplacement;
private float altitude; private Float altitude;
private float precision; private Float precision;
private int nbreCoProprietaire; private Integer nbreCoProprietaire;
private int nbreIndivisiaire; private Integer nbreIndivisiaire;
private String autreAdresse; private String autreAdresse;
private String surface; private String surface;
private int nbreBatiment; private Integer nbreBatiment;
private int nbrePiscine; private Integer nbrePiscine;
@JsonFormat(pattern = "dd-MM-yyyy") @JsonFormat(pattern = "dd-MM-yyyy")
@JsonDeserialize(using = LocalDateDeserializer.class) @JsonDeserialize(using = LocalDateDeserializer.class)
private LocalDate dateDebutExcemption; private LocalDate dateDebutExcemption;

View File

@@ -54,7 +54,7 @@ public class Parcelle extends BaseEntity implements Serializable {
private String autreNumeroTitreFoncier; private String autreNumeroTitreFoncier;
private Long typeDomaineId; private Long typeDomaineId;
private Long numeroProvisoire; private String numeroProvisoire;
private Long blocId; private Long blocId;
@ColumnDefault("false") @ColumnDefault("false")
private boolean synchronise; private boolean synchronise;

View File

@@ -2,7 +2,7 @@ package io.gmss.fiscad.entities.metadata;
import com.vladmihalcea.hibernate.type.json.JsonBinaryType; import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
import io.gmss.fiscad.entities.BaseEntity; import io.gmss.fiscad.entities.BaseEntity;
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod; import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPayload;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -26,7 +26,7 @@ public class MobileDataCaracteristiqueBatiment extends BaseEntity implements Ser
private Long externalKey; private Long externalKey;
@Type(JsonBinaryType.class) @Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb") @Column(columnDefinition = "jsonb")
private CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod ; private CaracteristiqueBatimentPayload caracteristiqueBatimentPayload ;
@Column(columnDefinition = "boolean default false") @Column(columnDefinition = "boolean default false")
private boolean traiter; private boolean traiter;
} }

View File

@@ -2,7 +2,7 @@ package io.gmss.fiscad.entities.metadata;
import com.vladmihalcea.hibernate.type.json.JsonBinaryType; import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
import io.gmss.fiscad.entities.BaseEntity; import io.gmss.fiscad.entities.BaseEntity;
import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePaylod; import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePayload;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -26,7 +26,7 @@ public class MobileDataCaracteristiqueParcelle extends BaseEntity implements Ser
private Long externalKey; private Long externalKey;
@Type(JsonBinaryType.class) @Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb") @Column(columnDefinition = "jsonb")
private CaracteristiqueParcellePaylod caracteristiqueParcellePaylod ; private CaracteristiqueParcellePayload caracteristiqueParcellePayload;
@Column(columnDefinition = "boolean default false") @Column(columnDefinition = "boolean default false")
private boolean traiter; private boolean traiter;
} }

View File

@@ -2,7 +2,7 @@ package io.gmss.fiscad.entities.metadata;
import com.vladmihalcea.hibernate.type.json.JsonBinaryType; import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
import io.gmss.fiscad.entities.BaseEntity; import io.gmss.fiscad.entities.BaseEntity;
import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPaylod; import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPayload;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -26,7 +26,7 @@ public class MobileDataCaracteristiqueUniteLogement extends BaseEntity implement
private Long externalKey; private Long externalKey;
@Type(JsonBinaryType.class) @Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb") @Column(columnDefinition = "jsonb")
private CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod ; private CaracteristiqueUniteLogementPayload caracteristiqueUniteLogementPayload;
@Column(columnDefinition = "boolean default false") @Column(columnDefinition = "boolean default false")
private boolean traiter; private boolean traiter;
} }

View File

@@ -15,7 +15,7 @@ import java.io.Serializable;
@Setter @Setter
@Table( @Table(
indexes = { indexes = {
@Index(name = "idx_terminal_external_bat", columnList = "terminalId, externalKey") @Index(name = "idx_terminal_external_declarationNc", columnList = "terminalId, externalKey")
} }
) )
public class MobileDataDeclarationNc extends BaseEntity implements Serializable { public class MobileDataDeclarationNc extends BaseEntity implements Serializable {

View File

@@ -16,7 +16,7 @@ import java.io.Serializable;
@Setter @Setter
@Table( @Table(
indexes = { indexes = {
@Index(name = "idx_terminal_external_bat", columnList = "terminalId, externalKey") @Index(name = "idx_terminal_external_EnqActivite", columnList = "terminalId, externalKey")
} }
) )
public class MobileDataEnqueteActivite extends BaseEntity implements Serializable { public class MobileDataEnqueteActivite extends BaseEntity implements Serializable {

View File

@@ -2,8 +2,7 @@ package io.gmss.fiscad.entities.metadata;
import com.vladmihalcea.hibernate.type.json.JsonBinaryType; import com.vladmihalcea.hibernate.type.json.JsonBinaryType;
import io.gmss.fiscad.entities.BaseEntity; import io.gmss.fiscad.entities.BaseEntity;
import io.gmss.fiscad.paylaods.request.ParcellePayLoad; import io.gmss.fiscad.paylaods.request.UniteLogementPayload;
import io.gmss.fiscad.paylaods.request.UniteLogementPaylaod;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
@@ -27,7 +26,7 @@ public class MobileDataUniteLogement extends BaseEntity implements Serializable
private Long externalKey; private Long externalKey;
@Type(JsonBinaryType.class) @Type(JsonBinaryType.class)
@Column(columnDefinition = "jsonb") @Column(columnDefinition = "jsonb")
private UniteLogementPaylaod uniteLogementPaylaod ; private UniteLogementPayload uniteLogementPayload ;
@Column(columnDefinition = "boolean default false") @Column(columnDefinition = "boolean default false")
private boolean traiter; private boolean traiter;
} }

View File

@@ -49,8 +49,8 @@ public class EnqueteActivite extends BaseEntity implements Serializable {
@JsonDeserialize(using = LocalDateDeserializer.class) @JsonDeserialize(using = LocalDateDeserializer.class)
private LocalDate dateEnquete; private LocalDate dateEnquete;
@Column(columnDefinition = "false") //@Column(columnDefinition = "false")
private boolean estDeclarer; private Boolean estDeclarer;
private String nc; private String nc;
private Long ChiffreAffaire; private Long ChiffreAffaire;
private String NumeroRccm; private String NumeroRccm;

View File

@@ -41,20 +41,20 @@ public class EnqueteBatiment extends BaseEntity implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; private Long id;
private float surfaceAuSol; private Float surfaceAuSol;
private String autreMenuisierie; private String autreMenuisierie;
private String autreMur; private String autreMur;
private boolean sbee; private Boolean sbee;
private String numCompteurSbee; private String numCompteurSbee;
private boolean soneb; private Boolean soneb;
private String numCompteurSoneb; private String numCompteurSoneb;
private int nbreLotUnite; private Integer nbreLotUnite;
private int nbreUniteLocation; private Integer nbreUniteLocation;
private float surfaceLouee; private Float surfaceLouee;
private int nbreMenage; private Integer nbreMenage;
private int nbreHabitant; private Integer nbreHabitant;
private float valeurMensuelleLocation; private Float valeurMensuelleLocation;
private int nbreMoisLocation; private Integer nbreMoisLocation;
private String autreCaracteristiquePhysique; private String autreCaracteristiquePhysique;
@JsonFormat(pattern = "dd-MM-yyyy") @JsonFormat(pattern = "dd-MM-yyyy")
@JsonDeserialize(using = LocalDateDeserializer.class) @JsonDeserialize(using = LocalDateDeserializer.class)

View File

@@ -40,17 +40,17 @@ public class EnqueteUniteLogement extends BaseEntity implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; private Long id;
private float surface; private Float surface;
private int nbrePiece; private Integer nbrePiece;
private int nbreHabitant; private Integer nbreHabitant;
private int nbreMenage; private Integer nbreMenage;
private boolean enLocation; private boolean enLocation;
private float montantMensuelLoyer; private Float montantMensuelLoyer;
private int nbreMoisEnLocation; private Integer nbreMoisEnLocation;
private float montantLocatifAnnuelDeclare; private Float montantLocatifAnnuelDeclare;
private float surfaceLouee; private Float surfaceLouee;
private boolean sbee; private Boolean sbee;
private boolean soneb; private Boolean soneb;
private String numCompteurSbee; private String numCompteurSbee;
private String numCompteurSoneb; private String numCompteurSoneb;
@JsonFormat(pattern = "dd-MM-yyyy") @JsonFormat(pattern = "dd-MM-yyyy")

View File

@@ -4,7 +4,6 @@ import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.metadata.*; import io.gmss.fiscad.entities.metadata.*;
import io.gmss.fiscad.entities.user.User; import io.gmss.fiscad.entities.user.User;
import io.gmss.fiscad.paylaods.request.*; import io.gmss.fiscad.paylaods.request.*;
import io.gmss.fiscad.paylaods.request.BatimentPaylaod;
//import io.gmss.fiscad.paylaods.response.restoration.BatimentPayload; //import io.gmss.fiscad.paylaods.response.restoration.BatimentPayload;
import io.gmss.fiscad.paylaods.response.restoration.TailleObjet; import io.gmss.fiscad.paylaods.response.restoration.TailleObjet;
import io.gmss.fiscad.repositories.metadata.*; import io.gmss.fiscad.repositories.metadata.*;
@@ -21,10 +20,7 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.Base64;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@@ -193,11 +189,11 @@ public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offs
// } // }
@Override @Override
public List<CaracteristiqueParcellePaylod> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset) { public List<CaracteristiqueParcellePayload> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset) {
return mobileDataCaracteristiqueParcelleRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset) return mobileDataCaracteristiqueParcelleRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream() .stream()
.map(MobileDataCaracteristiqueParcelle::getCaracteristiqueParcellePaylod) .map(MobileDataCaracteristiqueParcelle::getCaracteristiqueParcellePayload)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@@ -209,11 +205,11 @@ public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offs
// } // }
@Override @Override
public List<CaracteristiqueBatimentPaylod> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset) { public List<CaracteristiqueBatimentPayload> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset) {
return mobileDataCaracteristiqueBatimentRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset) return mobileDataCaracteristiqueBatimentRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream() .stream()
.map(MobileDataCaracteristiqueBatiment::getCaracteristiqueBatimentPaylod) .map(MobileDataCaracteristiqueBatiment::getCaracteristiqueBatimentPayload)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@@ -224,11 +220,11 @@ public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offs
// } // }
@Override @Override
public List<CaracteristiqueUniteLogementPaylod> getCaracateristiqueUniteLogement(Long terminaleId, Long limit, Long offset) { public List<CaracteristiqueUniteLogementPayload> getCaracateristiqueUniteLogement(Long terminaleId, Long limit, Long offset) {
return mobileDataCaracteristiqueUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset) return mobileDataCaracteristiqueUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream() .stream()
.map(MobileDataCaracteristiqueUniteLogement::getCaracteristiqueUniteLogementPaylod) .map(MobileDataCaracteristiqueUniteLogement::getCaracteristiqueUniteLogementPayload)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@@ -254,18 +250,18 @@ public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offs
// } // }
@Override @Override
public List<UniteLogementPaylaod> getUniteLogement(Long terminaleId, Long limit, Long offset) { public List<UniteLogementPayload> getUniteLogement(Long terminaleId, Long limit, Long offset) {
return mobileDataUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset) return mobileDataUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream() .stream()
.map(MobileDataUniteLogement::getUniteLogementPaylaod) .map(MobileDataUniteLogement::getUniteLogementPayload)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
private String getUploadFile(UploadPayLoad uploadPayLoad) { private String getUploadFile(UploadPayLoad uploadPayLoad) {
try { try {
Resource resource = fileStorageService.loadFileAsResource(uploadPayLoad.getName()); Resource resource = fileStorageService.loadFileAsResource("",uploadPayLoad.getName());
final var bytes = resource.getInputStream().readAllBytes(); final var bytes = resource.getInputStream().readAllBytes();
return Base64.getEncoder().encodeToString(bytes); return Base64.getEncoder().encodeToString(bytes);
} catch (Exception e) { } catch (Exception e) {
@@ -276,6 +272,7 @@ public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offs
} }
public List<Tpe> getTpeListByCurrentUser() { public List<Tpe> getTpeListByCurrentUser() {
try { try {
authentication = SecurityContextHolder.getContext().getAuthentication(); authentication = SecurityContextHolder.getContext().getAuthentication();
@@ -306,4 +303,30 @@ public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offs
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@Override
public List<UploadPayLoad> getFiles(Long terminaleId, List<Long> ids) {
List<UploadPayLoad> uploadPayLoads = new ArrayList<>();
if(ids == null || ids.isEmpty()){
for(Long id : ids){
uploadPayLoads.add(getUpload(terminaleId, id));
}
}
return uploadPayLoads;
}
@Override
public UploadPayLoad getUpload(Long terminaleId, Long externalKey) {
Optional<MobileDataUpload> optionalMobileDataUpload = mobileDataUploadRepository.findOneByTerminalIdAndExternalKey(terminaleId, externalKey);
if(optionalMobileDataUpload.isPresent()){
MobileDataUpload mobileDataUpload = optionalMobileDataUpload.get();
UploadPayLoad uploadPayLoad = mobileDataUpload.getUploadPayLoad();
String fileData = getUploadFile(uploadPayLoad);
uploadPayLoad.setFileBase64(fileData);
return uploadPayLoad;
}else{
return null;
}
}
} }

View File

@@ -1,18 +1,13 @@
package io.gmss.fiscad.implementations.synchronisation; package io.gmss.fiscad.implementations.synchronisation;
import io.gmss.fiscad.entities.decoupage.Commune;
import io.gmss.fiscad.entities.decoupage.Nationalite; import io.gmss.fiscad.entities.decoupage.Nationalite;
import io.gmss.fiscad.entities.decoupage.Quartier;
import io.gmss.fiscad.entities.infocad.metier.*; import io.gmss.fiscad.entities.infocad.metier.*;
import io.gmss.fiscad.entities.infocad.parametre.*; import io.gmss.fiscad.entities.infocad.parametre.*;
import io.gmss.fiscad.entities.metadata.*; import io.gmss.fiscad.entities.metadata.*;
import io.gmss.fiscad.entities.rfu.metier.*;
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique; import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
import io.gmss.fiscad.entities.rfu.parametre.TypeCaracteristique; import io.gmss.fiscad.entities.rfu.parametre.TypeCaracteristique;
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
import io.gmss.fiscad.entities.user.User; import io.gmss.fiscad.entities.user.User;
import io.gmss.fiscad.enums.*; import io.gmss.fiscad.enums.*;
import io.gmss.fiscad.interfaces.infocad.metier.ParcelleGeomService;
import io.gmss.fiscad.interfaces.synchronisation.SynchronisationService; import io.gmss.fiscad.interfaces.synchronisation.SynchronisationService;
import io.gmss.fiscad.interfaces.user.UserService; import io.gmss.fiscad.interfaces.user.UserService;
import io.gmss.fiscad.paylaods.request.*; import io.gmss.fiscad.paylaods.request.*;
@@ -21,30 +16,24 @@ import io.gmss.fiscad.repositories.decoupage.*;
import io.gmss.fiscad.repositories.infocad.metier.*; import io.gmss.fiscad.repositories.infocad.metier.*;
import io.gmss.fiscad.repositories.infocad.parametre.*; import io.gmss.fiscad.repositories.infocad.parametre.*;
import io.gmss.fiscad.repositories.metadata.*; import io.gmss.fiscad.repositories.metadata.*;
import io.gmss.fiscad.repositories.rfu.metier.*;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository; import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
import io.gmss.fiscad.repositories.rfu.parametre.TypeCaracteristiqueRepository; import io.gmss.fiscad.repositories.rfu.parametre.TypeCaracteristiqueRepository;
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository; import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
import io.gmss.fiscad.repositories.user.UserRepository;
import io.gmss.fiscad.service.FileStorageService; import io.gmss.fiscad.service.FileStorageService;
import io.gmss.fiscad.service.worker.*; import io.gmss.fiscad.service.worker.*;
import jakarta.transaction.Transactional; import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.security.core.Authentication; import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.function.ToDoubleBiFunction;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@@ -415,53 +404,53 @@ public class SynchronisationServiceImpl implements SynchronisationService {
return syncResponses; return syncResponses;
} }
@Override @Override
public List<SyncResponse> syncUniteLogement(List<UniteLogementPaylaod> uniteLogementPaylaods) { public List<SyncResponse> syncUniteLogement(List<UniteLogementPayload> uniteLogementPayloads) {
List<SyncResponse> syncResponses = new ArrayList<>(); List<SyncResponse> syncResponses = new ArrayList<>();
if (uniteLogementPaylaods == null) { if (uniteLogementPayloads == null) {
SyncResponse syncResponse = new SyncResponse(null, SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune unité de logement à synchroniser"); null, false, "Aucune unité de logement à synchroniser");
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
return syncResponses; return syncResponses;
} }
syncResponses = saveMobileData(uniteLogementPaylaods, TypeObjet.UNITELOGEMENT); syncResponses = saveMobileData(uniteLogementPayloads, TypeObjet.UNITELOGEMENT);
return syncResponses; return syncResponses;
} }
@Override @Override
public List<SyncResponse> syncCaracteristiqueBatiment(List<CaracteristiqueBatimentPaylod> caracteristiqueBatimentPaylods) { public List<SyncResponse> syncCaracteristiqueBatiment(List<CaracteristiqueBatimentPayload> caracteristiqueBatimentPayloads) {
List<SyncResponse> syncResponses = new ArrayList<>(); List<SyncResponse> syncResponses = new ArrayList<>();
if (caracteristiqueBatimentPaylods == null) { if (caracteristiqueBatimentPayloads == null) {
SyncResponse syncResponse = new SyncResponse(null, SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune caracteristique de bâtiment à synchroniser"); null, false, "Aucune caracteristique de bâtiment à synchroniser");
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
return syncResponses; return syncResponses;
} }
syncResponses = saveMobileData(caracteristiqueBatimentPaylods, TypeObjet.CARACTERISTIQUEBATIMENT); syncResponses = saveMobileData(caracteristiqueBatimentPayloads, TypeObjet.CARACTERISTIQUEBATIMENT);
return syncResponses; return syncResponses;
} }
@Override @Override
public List<SyncResponse> syncCaracteristiqueUniteLogement(List<CaracteristiqueUniteLogementPaylod> caracteristiqueUniteLogementPaylods) { public List<SyncResponse> syncCaracteristiqueUniteLogement(List<CaracteristiqueUniteLogementPayload> caracteristiqueUniteLogementPayloads) {
List<SyncResponse> syncResponses = new ArrayList<>(); List<SyncResponse> syncResponses = new ArrayList<>();
if (caracteristiqueUniteLogementPaylods == null) { if (caracteristiqueUniteLogementPayloads == null) {
SyncResponse syncResponse = new SyncResponse(null, SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune caracteristique d'unité de logement à synchroniser"); null, false, "Aucune caracteristique d'unité de logement à synchroniser");
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
return syncResponses; return syncResponses;
} }
syncResponses = saveMobileData(caracteristiqueUniteLogementPaylods, TypeObjet.CARACTERISTIQUEUNITELOGEMENT); syncResponses = saveMobileData(caracteristiqueUniteLogementPayloads, TypeObjet.CARACTERISTIQUEUNITELOGEMENT);
return syncResponses; return syncResponses;
} }
@Override @Override
public List<SyncResponse> syncCaracteristiqueParcelle(List<CaracteristiqueParcellePaylod> caracteristiqueParcellePaylods) { public List<SyncResponse> syncCaracteristiqueParcelle(List<CaracteristiqueParcellePayload> caracteristiqueParcellePayloads) {
List<SyncResponse> syncResponses = new ArrayList<>(); List<SyncResponse> syncResponses = new ArrayList<>();
if (caracteristiqueParcellePaylods == null) { if (caracteristiqueParcellePayloads == null) {
SyncResponse syncResponse = new SyncResponse(null, SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune caracteristique de parcelle à synchroniser"); null, false, "Aucune caracteristique de parcelle à synchroniser");
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
return syncResponses; return syncResponses;
} }
syncResponses = saveMobileData(caracteristiqueParcellePaylods, TypeObjet.CARACTERISTIQUEPARCELLE); syncResponses = saveMobileData(caracteristiqueParcellePayloads, TypeObjet.CARACTERISTIQUEPARCELLE);
return syncResponses; return syncResponses;
} }
@Override @Override
@@ -759,32 +748,32 @@ public class SynchronisationServiceImpl implements SynchronisationService {
} }
case UNITELOGEMENT -> { case UNITELOGEMENT -> {
payloads.forEach(payLoad -> { payloads.forEach(payLoad -> {
UniteLogementPaylaod uniteLogementPaylaod = (UniteLogementPaylaod) payLoad; UniteLogementPayload uniteLogementPayload = (UniteLogementPayload) payLoad;
//uniteLogementPaylaod.setIdBackend(null); //uniteLogementPayload.setIdBackend(null);
try { try {
MobileDataUniteLogement mobileDataUniteLogement = new MobileDataUniteLogement(); MobileDataUniteLogement mobileDataUniteLogement = new MobileDataUniteLogement();
Optional<MobileDataUniteLogement> optionalMobileDataUniteLogement = Optional.empty(); Optional<MobileDataUniteLogement> optionalMobileDataUniteLogement = Optional.empty();
if (uniteLogementPaylaod.getIdBackend() != null) { if (uniteLogementPayload.getIdBackend() != null) {
optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findById(uniteLogementPaylaod.getIdBackend()); optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findById(uniteLogementPayload.getIdBackend());
if (optionalMobileDataUniteLogement.isPresent()) { if (optionalMobileDataUniteLogement.isPresent()) {
mobileDataUniteLogement = optionalMobileDataUniteLogement.get(); mobileDataUniteLogement = optionalMobileDataUniteLogement.get();
} }
} else { } else {
optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findFirstByTerminalIdAndExternalKey(uniteLogementPaylaod.getTerminalId(), uniteLogementPaylaod.getExternalKey()); optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findFirstByTerminalIdAndExternalKey(uniteLogementPayload.getTerminalId(), uniteLogementPayload.getExternalKey());
if (optionalMobileDataUniteLogement.isPresent()) { if (optionalMobileDataUniteLogement.isPresent()) {
mobileDataUniteLogement = optionalMobileDataUniteLogement.get(); mobileDataUniteLogement = optionalMobileDataUniteLogement.get();
} }
} }
mobileDataUniteLogement.setTerminalId(uniteLogementPaylaod.getTerminalId()); mobileDataUniteLogement.setTerminalId(uniteLogementPayload.getTerminalId());
mobileDataUniteLogement.setExternalKey(uniteLogementPaylaod.getExternalKey()); mobileDataUniteLogement.setExternalKey(uniteLogementPayload.getExternalKey());
mobileDataUniteLogement.setTraiter(false); mobileDataUniteLogement.setTraiter(false);
mobileDataUniteLogement.setUniteLogementPaylaod(uniteLogementPaylaod); mobileDataUniteLogement.setUniteLogementPayload(uniteLogementPayload);
mobileDataUniteLogement = mobileDataUniteLogementRepository.save(mobileDataUniteLogement); mobileDataUniteLogement = mobileDataUniteLogementRepository.save(mobileDataUniteLogement);
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.UNITELOGEMENT.toString()); syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.UNITELOGEMENT.toString());
syncResponse.setExternalKey(uniteLogementPaylaod.getExternalKey()); syncResponse.setExternalKey(uniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(true); syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataUniteLogement.getId()); syncResponse.setIdBackend(mobileDataUniteLogement.getId());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
@@ -792,9 +781,9 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace(); e.printStackTrace();
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.PIECE.toString()); syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.PIECE.toString());
syncResponse.setExternalKey(uniteLogementPaylaod.getExternalKey()); syncResponse.setExternalKey(uniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(false); syncResponse.setSynchronise(false);
syncResponse.setIdBackend(uniteLogementPaylaod.getIdBackend()); syncResponse.setIdBackend(uniteLogementPayload.getIdBackend());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
} }
}); });
@@ -885,32 +874,32 @@ public class SynchronisationServiceImpl implements SynchronisationService {
} }
case CARACTERISTIQUEPARCELLE -> { case CARACTERISTIQUEPARCELLE -> {
payloads.forEach(payLoad -> { payloads.forEach(payLoad -> {
CaracteristiqueParcellePaylod caracteristiqueParcellePaylod = (CaracteristiqueParcellePaylod) payLoad; CaracteristiqueParcellePayload caracteristiqueParcellePayload = (CaracteristiqueParcellePayload) payLoad;
//caracteristiqueParcellePaylod.setIdBackend(null); //caracteristiqueParcellePayload.setIdBackend(null);
try { try {
MobileDataCaracteristiqueParcelle mobileDataCaracteristiqueParcelle = new MobileDataCaracteristiqueParcelle(); MobileDataCaracteristiqueParcelle mobileDataCaracteristiqueParcelle = new MobileDataCaracteristiqueParcelle();
Optional<MobileDataCaracteristiqueParcelle> optionalMobileDataCaracteristiqueParcelle = Optional.empty(); Optional<MobileDataCaracteristiqueParcelle> optionalMobileDataCaracteristiqueParcelle = Optional.empty();
if (caracteristiqueParcellePaylod.getIdBackend() != null) { if (caracteristiqueParcellePayload.getIdBackend() != null) {
optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findById(caracteristiqueParcellePaylod.getIdBackend()); optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findById(caracteristiqueParcellePayload.getIdBackend());
if (optionalMobileDataCaracteristiqueParcelle.isPresent()) { if (optionalMobileDataCaracteristiqueParcelle.isPresent()) {
mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get(); mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get();
} }
} else { } else {
optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueParcellePaylod.getTerminalId(), caracteristiqueParcellePaylod.getExternalKey()); optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueParcellePayload.getTerminalId(), caracteristiqueParcellePayload.getExternalKey());
if (optionalMobileDataCaracteristiqueParcelle.isPresent()) { if (optionalMobileDataCaracteristiqueParcelle.isPresent()) {
mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get(); mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get();
} }
} }
mobileDataCaracteristiqueParcelle.setTerminalId(caracteristiqueParcellePaylod.getTerminalId()); mobileDataCaracteristiqueParcelle.setTerminalId(caracteristiqueParcellePayload.getTerminalId());
mobileDataCaracteristiqueParcelle.setExternalKey(caracteristiqueParcellePaylod.getExternalKey()); mobileDataCaracteristiqueParcelle.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
mobileDataCaracteristiqueParcelle.setTraiter(false); mobileDataCaracteristiqueParcelle.setTraiter(false);
mobileDataCaracteristiqueParcelle.setCaracteristiqueParcellePaylod(caracteristiqueParcellePaylod); mobileDataCaracteristiqueParcelle.setCaracteristiqueParcellePayload(caracteristiqueParcellePayload);
mobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.save(mobileDataCaracteristiqueParcelle); mobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.save(mobileDataCaracteristiqueParcelle);
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEPARCELLE.toString()); syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEPARCELLE.toString());
syncResponse.setExternalKey(caracteristiqueParcellePaylod.getExternalKey()); syncResponse.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
syncResponse.setSynchronise(true); syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueParcelle.getId()); syncResponse.setIdBackend(mobileDataCaracteristiqueParcelle.getId());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
@@ -918,9 +907,9 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace(); e.printStackTrace();
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEPARCELLE.toString()); syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEPARCELLE.toString());
syncResponse.setExternalKey(caracteristiqueParcellePaylod.getExternalKey()); syncResponse.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
syncResponse.setSynchronise(false); syncResponse.setSynchronise(false);
syncResponse.setIdBackend(caracteristiqueParcellePaylod.getIdBackend()); syncResponse.setIdBackend(caracteristiqueParcellePayload.getIdBackend());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
} }
}); });
@@ -928,33 +917,33 @@ public class SynchronisationServiceImpl implements SynchronisationService {
case CARACTERISTIQUEBATIMENT -> { case CARACTERISTIQUEBATIMENT -> {
payloads.forEach(payLoad -> { payloads.forEach(payLoad -> {
CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod = (CaracteristiqueBatimentPaylod) payLoad; CaracteristiqueBatimentPayload caracteristiqueBatimentPayload = (CaracteristiqueBatimentPayload) payLoad;
//caracteristiqueBatimentPaylod.setIdBackend(null); //caracteristiqueBatimentPayload.setIdBackend(null);
try { try {
MobileDataCaracteristiqueBatiment mobileDataCaracteristiqueBatiment = new MobileDataCaracteristiqueBatiment(); MobileDataCaracteristiqueBatiment mobileDataCaracteristiqueBatiment = new MobileDataCaracteristiqueBatiment();
Optional<MobileDataCaracteristiqueBatiment> optionalMobileDataCaracteristiqueBatiment = Optional.empty(); Optional<MobileDataCaracteristiqueBatiment> optionalMobileDataCaracteristiqueBatiment = Optional.empty();
if (caracteristiqueBatimentPaylod.getIdBackend() != null) { if (caracteristiqueBatimentPayload.getIdBackend() != null) {
optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findById(caracteristiqueBatimentPaylod.getIdBackend()); optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findById(caracteristiqueBatimentPayload.getIdBackend());
if (optionalMobileDataCaracteristiqueBatiment.isPresent()) { if (optionalMobileDataCaracteristiqueBatiment.isPresent()) {
mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get(); mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get();
} }
} else { } else {
optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueBatimentPaylod.getTerminalId(), caracteristiqueBatimentPaylod.getExternalKey()); optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueBatimentPayload.getTerminalId(), caracteristiqueBatimentPayload.getExternalKey());
if (optionalMobileDataCaracteristiqueBatiment.isPresent()) { if (optionalMobileDataCaracteristiqueBatiment.isPresent()) {
mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get(); mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get();
} }
} }
mobileDataCaracteristiqueBatiment.setTerminalId(caracteristiqueBatimentPaylod.getTerminalId()); mobileDataCaracteristiqueBatiment.setTerminalId(caracteristiqueBatimentPayload.getTerminalId());
mobileDataCaracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey()); mobileDataCaracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
mobileDataCaracteristiqueBatiment.setTraiter(false); mobileDataCaracteristiqueBatiment.setTraiter(false);
mobileDataCaracteristiqueBatiment.setCaracteristiqueBatimentPaylod(caracteristiqueBatimentPaylod); mobileDataCaracteristiqueBatiment.setCaracteristiqueBatimentPayload(caracteristiqueBatimentPayload);
mobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.save(mobileDataCaracteristiqueBatiment); mobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.save(mobileDataCaracteristiqueBatiment);
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEBATIMENT.toString()); syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEBATIMENT.toString());
syncResponse.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey()); syncResponse.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
syncResponse.setSynchronise(true); syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueBatiment.getId()); syncResponse.setIdBackend(mobileDataCaracteristiqueBatiment.getId());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
@@ -962,41 +951,41 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace(); e.printStackTrace();
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEBATIMENT.toString()); syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEBATIMENT.toString());
syncResponse.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey()); syncResponse.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
syncResponse.setSynchronise(false); syncResponse.setSynchronise(false);
syncResponse.setIdBackend(caracteristiqueBatimentPaylod.getIdBackend()); syncResponse.setIdBackend(caracteristiqueBatimentPayload.getIdBackend());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
} }
}); });
} }
case CARACTERISTIQUEUNITELOGEMENT -> { case CARACTERISTIQUEUNITELOGEMENT -> {
payloads.forEach(payLoad -> { payloads.forEach(payLoad -> {
CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod = (CaracteristiqueUniteLogementPaylod) payLoad; CaracteristiqueUniteLogementPayload caracteristiqueUniteLogementPayload = (CaracteristiqueUniteLogementPayload) payLoad;
//caracteristiqueUniteLogementPaylod.setIdBackend(null); //caracteristiqueUniteLogementPayload.setIdBackend(null);
try { try {
MobileDataCaracteristiqueUniteLogement mobileDataCaracteristiqueUniteLogement = new MobileDataCaracteristiqueUniteLogement(); MobileDataCaracteristiqueUniteLogement mobileDataCaracteristiqueUniteLogement = new MobileDataCaracteristiqueUniteLogement();
Optional<MobileDataCaracteristiqueUniteLogement> optionalMobileDataCaracteristiqueUniteLogement = Optional.empty(); Optional<MobileDataCaracteristiqueUniteLogement> optionalMobileDataCaracteristiqueUniteLogement = Optional.empty();
if (caracteristiqueUniteLogementPaylod.getIdBackend() != null) { if (caracteristiqueUniteLogementPayload.getIdBackend() != null) {
optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findById(caracteristiqueUniteLogementPaylod.getIdBackend()); optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findById(caracteristiqueUniteLogementPayload.getIdBackend());
if (optionalMobileDataCaracteristiqueUniteLogement.isPresent()) { if (optionalMobileDataCaracteristiqueUniteLogement.isPresent()) {
mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get(); mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get();
} }
} else { } else {
optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueUniteLogementPaylod.getTerminalId(), caracteristiqueUniteLogementPaylod.getExternalKey()); optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueUniteLogementPayload.getTerminalId(), caracteristiqueUniteLogementPayload.getExternalKey());
if (optionalMobileDataCaracteristiqueUniteLogement.isPresent()) { if (optionalMobileDataCaracteristiqueUniteLogement.isPresent()) {
mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get(); mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get();
} }
} }
mobileDataCaracteristiqueUniteLogement.setTerminalId(caracteristiqueUniteLogementPaylod.getTerminalId()); mobileDataCaracteristiqueUniteLogement.setTerminalId(caracteristiqueUniteLogementPayload.getTerminalId());
mobileDataCaracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey()); mobileDataCaracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
mobileDataCaracteristiqueUniteLogement.setTraiter(false); mobileDataCaracteristiqueUniteLogement.setTraiter(false);
mobileDataCaracteristiqueUniteLogement.setCaracteristiqueUniteLogementPaylod(caracteristiqueUniteLogementPaylod); mobileDataCaracteristiqueUniteLogement.setCaracteristiqueUniteLogementPayload(caracteristiqueUniteLogementPayload);
mobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.save(mobileDataCaracteristiqueUniteLogement); mobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.save(mobileDataCaracteristiqueUniteLogement);
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString()); syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
syncResponse.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey()); syncResponse.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(true); syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueUniteLogement.getId()); syncResponse.setIdBackend(mobileDataCaracteristiqueUniteLogement.getId());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
@@ -1004,9 +993,9 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace(); e.printStackTrace();
SyncResponse syncResponse = new SyncResponse(); SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString()); syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
syncResponse.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey()); syncResponse.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(false); syncResponse.setSynchronise(false);
syncResponse.setIdBackend(caracteristiqueUniteLogementPaylod.getIdBackend()); syncResponse.setIdBackend(caracteristiqueUniteLogementPayload.getIdBackend());
syncResponses.add(syncResponse); syncResponses.add(syncResponse);
} }
}); });

View File

@@ -1,7 +1,6 @@
package io.gmss.fiscad.interfaces.synchronisation; package io.gmss.fiscad.interfaces.synchronisation;
import io.gmss.fiscad.entities.infocad.metier.Tpe; import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
import io.gmss.fiscad.paylaods.request.*; import io.gmss.fiscad.paylaods.request.*;
import io.gmss.fiscad.paylaods.response.restoration.TailleObjet; import io.gmss.fiscad.paylaods.response.restoration.TailleObjet;
//import io.gmss.fiscad.paylaods.response.restoration.*; //import io.gmss.fiscad.paylaods.response.restoration.*;
@@ -38,22 +37,22 @@ public interface RestaurationService {
List<UploadPayLoad> getUploads(Long terminaleId, Long limit, Long offset) ; List<UploadPayLoad> getUploads(Long terminaleId, Long limit, Long offset) ;
//List<BatimentPayload> getBatiment(Long terminalId); //List<BatimentPayload> getBatiment(Long terminalId);
public List<BatimentPaylaod> getBatiment(Long terminaleId, Long limit, Long offset) public List<BatimentPaylaod> getBatiment(Long terminaleId, Long limit, Long offset);
//List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId); //List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId);
public List<EnqueteBatimentPayload> getEnqueteBatiment(Long terminaleId, Long limit, Long offset) public List<EnqueteBatimentPayload> getEnqueteBatiment(Long terminaleId, Long limit, Long offset);
//List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId); //List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId);
public List<CaracteristiqueParcellePaylod> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset) public List<CaracteristiqueParcellePayload> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset);
//List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId); //List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId);
public List<CaracteristiqueBatimentPaylod> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset) public List<CaracteristiqueBatimentPayload> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset);
//List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId); //List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId);
public List<CaracteristiqueUniteLogementPaylod> getCaracateristiqueUniteLogement(Long terminaleId, Long limit, Long offset); public List<CaracteristiqueUniteLogementPayload> getCaracateristiqueUniteLogement(Long terminaleId, Long limit, Long offset);
//List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId); //List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId);
public List<EnqueteUniteLogementPayload> getEnqueteUniteLogement(Long terminaleId, Long limit, Long offset); public List<EnqueteUniteLogementPayload> getEnqueteUniteLogement(Long terminaleId, Long limit, Long offset);
@@ -61,11 +60,15 @@ public interface RestaurationService {
//List<UniteLogementPayLoad> getUniteLogement(Long terminalId); //List<UniteLogementPayLoad> getUniteLogement(Long terminalId);
public List<UniteLogementPaylaod> getUniteLogement(Long terminaleId, Long limit, Long offset) public List<UniteLogementPayload> getUniteLogement(Long terminaleId, Long limit, Long offset);
public List<Tpe> getTpeListByCurrentUser(); public List<Tpe> getTpeListByCurrentUser();
TailleObjet getTailleObjetByTerminalId(Long terminalId); TailleObjet getTailleObjetByTerminalId(Long terminalId);
List<UploadPayLoad> getFiles(Long terminaleId, List<Long> ids);
UploadPayLoad getUpload(Long terminaleId, Long externalKey);
} }

View File

@@ -1,7 +1,5 @@
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.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;
@@ -23,13 +21,13 @@ public interface SynchronisationService {
public List<SyncResponse> syncBatiment(List<BatimentPaylaod> batimentPaylaods); public List<SyncResponse> syncBatiment(List<BatimentPaylaod> batimentPaylaods);
public List<SyncResponse> syncUniteLogement(List<UniteLogementPaylaod> uniteLogementPaylaods); public List<SyncResponse> syncUniteLogement(List<UniteLogementPayload> uniteLogementPayloads);
public List<SyncResponse> syncCaracteristiqueBatiment(List<CaracteristiqueBatimentPaylod> caracteristiqueBatimentPaylods); public List<SyncResponse> syncCaracteristiqueBatiment(List<CaracteristiqueBatimentPayload> caracteristiqueBatimentPayloads);
public List<SyncResponse> syncCaracteristiqueParcelle(List<CaracteristiqueParcellePaylod> caracteristiqueParcellePaylods); public List<SyncResponse> syncCaracteristiqueParcelle(List<CaracteristiqueParcellePayload> caracteristiqueParcellePayloads);
public List<SyncResponse> syncCaracteristiqueUniteLogement(List<CaracteristiqueUniteLogementPaylod> caracteristiqueUniteLogementPaylods); public List<SyncResponse> syncCaracteristiqueUniteLogement(List<CaracteristiqueUniteLogementPayload> caracteristiqueUniteLogementPayloads);
public List<SyncResponse> syncMembreGroupe(List<MembreGroupePayLoad> membreGroupePayLoads); public List<SyncResponse> syncMembreGroupe(List<MembreGroupePayLoad> membreGroupePayLoads);

View File

@@ -3,7 +3,7 @@ package io.gmss.fiscad.paylaods.request;
import lombok.Data; import lombok.Data;
@Data @Data
public class CaracteristiqueBatimentPaylod { public class CaracteristiqueBatimentPayload {
private Long idBackend; private Long idBackend;
private Long externalKey; private Long externalKey;
private boolean synchronise; private boolean synchronise;
@@ -18,7 +18,7 @@ public class CaracteristiqueBatimentPaylod {
@Override @Override
public String toString() { public String toString() {
return "CaracteristiqueBatimentPaylod{" + return "CaracteristiqueBatimentPayload{" +
"idBackend=" + idBackend + "idBackend=" + idBackend +
", externalKey=" + externalKey + ", externalKey=" + externalKey +
", synchronise=" + synchronise + ", synchronise=" + synchronise +

View File

@@ -3,7 +3,7 @@ package io.gmss.fiscad.paylaods.request;
import lombok.Data; import lombok.Data;
@Data @Data
public class CaracteristiqueParcellePaylod { public class CaracteristiqueParcellePayload {
private Long idBackend; private Long idBackend;
private Long externalKey; private Long externalKey;
private Long terminalId; private Long terminalId;

View File

@@ -3,7 +3,7 @@ package io.gmss.fiscad.paylaods.request;
import lombok.Data; import lombok.Data;
@Data @Data
public class CaracteristiqueUniteLogementPaylod { public class CaracteristiqueUniteLogementPayload {
private Long idBackend; private Long idBackend;
private Long externalKey; private Long externalKey;
private Long terminalId; private Long terminalId;

View File

@@ -25,7 +25,7 @@ public class ParcellePayLoad {
///////////////////////////////// /////////////////////////////////
private Long typeDomaineId; private Long typeDomaineId;
private Long numeroProvisoire; private String numeroProvisoire;
private Long blocId; private Long blocId;
private String situationGeographique; private String situationGeographique;
private String autreNumeroTitreFoncier; private String autreNumeroTitreFoncier;

View File

@@ -3,7 +3,7 @@ package io.gmss.fiscad.paylaods.request;
import lombok.Data; import lombok.Data;
@Data @Data
public class UniteLogementPaylaod { public class UniteLogementPayload {
private Long idBackend; private Long idBackend;
private Long externalKey; private Long externalKey;
private Long terminalId; private Long terminalId;

View File

@@ -7,6 +7,13 @@ public interface TailleObjet {
public int getPersonne(); public int getPersonne();
public int getMembregroupe(); public int getMembregroupe();
public int getActeurconcerne(); public int getActeurconcerne();
public int getEnquetebatiment();
public int getBatiment();
public int getUnitelogement();
public int getEnqueteunitelogement();
public int getCaracteristiqueparcelle();
public int getCaracteristiquebatiment();
public int getCaracteristiqueunitelogement();
public int getUpload(); public int getUpload();
} }

View File

@@ -15,7 +15,7 @@ public interface MobileDataBatimentRepository extends JpaRepository<MobileDataBa
Optional<MobileDataBatiment> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); Optional<MobileDataBatiment> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId); List<MobileDataBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_batiment WHERE CAST(batiment_paylaod ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true) @Query(value = "SELECT * FROM mobile_data_batiment WHERE CAST(batiment_payload ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataBatiment> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); List<MobileDataBatiment> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
} }

View File

@@ -29,6 +29,15 @@ public interface MobileDataEnqueteRepository extends JpaRepository<MobileDataEnq
" (SELECT count(*) FROM mobile_data_acteur_concerne WHERE CAST(acteur_concerne_pay_load->>'terminalId' AS BIGINT) = :terminalId) as acteurconcerne," + " (SELECT count(*) FROM mobile_data_acteur_concerne WHERE CAST(acteur_concerne_pay_load->>'terminalId' AS BIGINT) = :terminalId) as acteurconcerne," +
" (SELECT count(*) FROM mobile_data_membre_groupe WHERE CAST(membre_groupe_pay_load->>'terminalId' AS BIGINT) = :terminalId) as membregroupe," + " (SELECT count(*) FROM mobile_data_membre_groupe WHERE CAST(membre_groupe_pay_load->>'terminalId' AS BIGINT) = :terminalId) as membregroupe," +
" (SELECT count(*) FROM mobile_data_piece WHERE CAST(piece_pay_load->>'terminalId' AS BIGINT) = :terminalId) as piece," + " (SELECT count(*) FROM mobile_data_piece WHERE CAST(piece_pay_load->>'terminalId' AS BIGINT) = :terminalId) as piece," +
" (SELECT count(*) FROM mobile_data_batiment WHERE CAST(batiment_payload->>'terminalId' AS BIGINT) = :terminalId) as batiment," +
" (SELECT count(*) FROM mobile_data_enquete_batiment WHERE CAST(enquete_batiment_payload->>'terminalId' AS BIGINT) = :terminalId) as enquetebatiment," +
" (SELECT count(*) FROM mobile_data_enquete_unite_logement WHERE CAST(enquete_unite_logement_payload->>'terminalId' AS BIGINT) = :terminalId) as enqueteunitelogement," +
" (SELECT count(*) FROM mobile_data_unite_logement WHERE CAST(unite_logement_payload->>'terminalId' AS BIGINT) = :terminalId) as unitelogement," +
" (SELECT count(*) FROM mobile_data_caracteristique_unite_logement WHERE CAST(caracteristique_unite_logement_payload->>'terminalId' AS BIGINT) = :terminalId) as caracteristiqueunitelogement," +
" (SELECT count(*) FROM mobile_data_caracteristique_batiment WHERE CAST(caracteristique_batiment_payload->>'terminalId' AS BIGINT) = :terminalId) as caracteristiquebatiment," +
" (SELECT count(*) FROM mobile_data_caracteristique_parcelle WHERE CAST(caracteristique_parcelle_payload->>'terminalId' AS BIGINT) = :terminalId) as caracteristiqueparcelle," +
" (SELECT count(*) FROM mobile_data_upload WHERE CAST(upload_pay_load->>'terminalId' AS BIGINT) = :terminalId) as upload", nativeQuery = true) " (SELECT count(*) FROM mobile_data_upload WHERE CAST(upload_pay_load->>'terminalId' AS BIGINT) = :terminalId) as upload", nativeQuery = true)
TailleObjet calculateTailleEnqueteData(@Param("terminalId") Long terminalId); TailleObjet calculateTailleEnqueteData(@Param("terminalId") Long terminalId);
} }

View File

@@ -15,7 +15,7 @@ public interface MobileDataUniteLogementRepository extends JpaRepository<MobileD
//Optional<MobileDataUniteLogement> findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey); //Optional<MobileDataUniteLogement> findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey);
List<MobileDataUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId); List<MobileDataUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
Optional<MobileDataUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey); Optional<MobileDataUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey);
@Query(value = "SELECT * FROM mobile_data_unite_logement WHERE CAST(unite_logement_paylaod ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true) @Query(value = "SELECT * FROM mobile_data_unite_logement WHERE CAST(unite_logement_payload ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataUniteLogement> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); List<MobileDataUniteLogement> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
} }

View File

@@ -16,4 +16,6 @@ public interface MobileDataUploadRepository extends JpaRepository<MobileDataUplo
@Query(value = "SELECT * FROM mobile_data_upload WHERE CAST(upload_pay_load->>'terminalId' AS BIGINT) = :terminalId order by id limit :limit offset :offset", nativeQuery = true) @Query(value = "SELECT * FROM mobile_data_upload WHERE CAST(upload_pay_load->>'terminalId' AS BIGINT) = :terminalId order by id limit :limit offset :offset", nativeQuery = true)
List<MobileDataUpload> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); List<MobileDataUpload> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
Optional<MobileDataUpload> findOneByTerminalIdAndExternalKey(Long terminaleId, Long externalKey);
} }

View File

@@ -100,4 +100,26 @@ public class FileStorageService {
} }
} }
public Resource loadFileAsResource(String subDir, String fileName) {
try {
Path targetDir = this.fileStorageLocation.resolve(subDir).normalize();
Path filePath = targetDir.resolve(fileName).normalize();
// 🔐 Sécurité : interdit les accès en dehors du dossier cible
if (!filePath.startsWith(targetDir)) {
throw new SecurityException("Tentative d'accès non autorisée : " + fileName);
}
Resource resource = new UrlResource(filePath.toUri());
if (resource.exists() && resource.isReadable()) {
return resource;
} else {
throw new MyFileNotFoundException("Fichier introuvable : " + fileName);
}
} catch (MalformedURLException e) {
throw new MyFileNotFoundException("Fichier introuvable : " + fileName, e);
}
}
} }

View File

@@ -1,30 +1,19 @@
package io.gmss.fiscad.service.worker; package io.gmss.fiscad.service.worker;
import io.gmss.fiscad.entities.infocad.metier.Enquete; import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
import io.gmss.fiscad.entities.infocad.metier.Tpe; 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.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
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.entities.rfu.parametre.Caracteristique; 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.enums.TypeObjet;
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod; import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPayload;
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
import io.gmss.fiscad.repositories.infocad.metier.*; 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.MobileDataCaracteristiqueBatimentRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
import io.gmss.fiscad.repositories.rfu.metier.*; import io.gmss.fiscad.repositories.rfu.metier.*;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository; 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 io.gmss.fiscad.service.LogService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Optional; import java.util.Optional;
@@ -41,24 +30,24 @@ public class CaracteristiqueBatimentAsyncWorker {
private final LogService logService; private final LogService logService;
// @Async("caracteristiqueBatimentExecutor") // @Async("caracteristiqueBatimentExecutor")
public void traitementAsyncCaracteristiqueBatiment(MobileDataCaracteristiqueBatiment mobileDataCaracteristiqueBatiment) { public void traitementAsyncCaracteristiqueBatiment(MobileDataCaracteristiqueBatiment mobileDataCaracteristiqueBatiment) {
CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod = mobileDataCaracteristiqueBatiment.getCaracteristiqueBatimentPaylod(); CaracteristiqueBatimentPayload caracteristiqueBatimentPayload = mobileDataCaracteristiqueBatiment.getCaracteristiqueBatimentPayload();
try { try {
if (caracteristiqueBatimentPaylod.getTerminalId() == null) { if (caracteristiqueBatimentPayload.getTerminalId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueBatiment.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueBatiment.getId());
return; return;
} else { } else {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPayload.getTerminalId());
if (optionalTpe.isEmpty()) { if (optionalTpe.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueBatiment.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueBatiment.getId());
return; return;
} }
} }
if (caracteristiqueBatimentPaylod.getEnqueteBatimentId() == null) { if (caracteristiqueBatimentPayload.getEnqueteBatimentId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "enquete non fourni : ", mobileDataCaracteristiqueBatiment.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "enquete non fourni : ", mobileDataCaracteristiqueBatiment.getId());
return; return;
} else { } else {
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteBatimentId(), caracteristiqueBatimentPaylod.getTerminalId()); Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPayload.getEnqueteBatimentId(), caracteristiqueBatimentPayload.getTerminalId());
if (optionalEnqueteBatiment.isEmpty()) { if (optionalEnqueteBatiment.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueBatiment.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueBatiment.getId());
return; return;
@@ -66,7 +55,7 @@ public class CaracteristiqueBatimentAsyncWorker {
} }
CaracteristiqueBatiment caracteristiqueBatiment = new CaracteristiqueBatiment(); CaracteristiqueBatiment caracteristiqueBatiment = new CaracteristiqueBatiment();
caracteristiqueBatiment.setMobileDataId(mobileDataCaracteristiqueBatiment.getId()); caracteristiqueBatiment.setMobileDataId(mobileDataCaracteristiqueBatiment.getId());
caracteristiqueBatiment = getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(caracteristiqueBatiment, caracteristiqueBatimentPaylod); caracteristiqueBatiment = getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(caracteristiqueBatiment, caracteristiqueBatimentPayload);
caracteristiqueBatimentRepository.save(caracteristiqueBatiment); caracteristiqueBatimentRepository.save(caracteristiqueBatiment);
mobileDataCaracteristiqueBatiment.setTraiter(true); mobileDataCaracteristiqueBatiment.setTraiter(true);
mobileDataCaracteristiqueBatimentRepository.save(mobileDataCaracteristiqueBatiment); mobileDataCaracteristiqueBatimentRepository.save(mobileDataCaracteristiqueBatiment);
@@ -75,35 +64,35 @@ public class CaracteristiqueBatimentAsyncWorker {
} }
} }
private CaracteristiqueBatiment getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(CaracteristiqueBatiment caracteristiqueBatiment, CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod) { private CaracteristiqueBatiment getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(CaracteristiqueBatiment caracteristiqueBatiment, CaracteristiqueBatimentPayload caracteristiqueBatimentPayload) {
if (caracteristiqueBatimentPaylod.getEnqueteBatimentId() != null) { if (caracteristiqueBatimentPayload.getEnqueteBatimentId() != null) {
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteBatimentId(), caracteristiqueBatimentPaylod.getTerminalId()); Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPayload.getEnqueteBatimentId(), caracteristiqueBatimentPayload.getTerminalId());
caracteristiqueBatiment.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null)); caracteristiqueBatiment.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
} }
if (caracteristiqueBatimentPaylod.getCaracteristiqueId() != null) { if (caracteristiqueBatimentPayload.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueBatimentPaylod.getCaracteristiqueId()); Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueBatimentPayload.getCaracteristiqueId());
caracteristiqueBatiment.setCaracteristique(optionalCaracteristique.orElse(null)); caracteristiqueBatiment.setCaracteristique(optionalCaracteristique.orElse(null));
} }
if (caracteristiqueBatimentPaylod.getTerminalId() != null) { if (caracteristiqueBatimentPayload.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPayload.getTerminalId());
caracteristiqueBatiment.setTerminal(optionalTpe.orElse(null)); caracteristiqueBatiment.setTerminal(optionalTpe.orElse(null));
} }
if (caracteristiqueBatimentPaylod.getTerminalId() != null && caracteristiqueBatimentPaylod.getEnqueteId() != null) { if (caracteristiqueBatimentPayload.getTerminalId() != null && caracteristiqueBatimentPayload.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteId(), caracteristiqueBatimentPaylod.getTerminalId()); Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPayload.getEnqueteId(), caracteristiqueBatimentPayload.getTerminalId());
if (optionalEnquete.isPresent()) { if (optionalEnquete.isPresent()) {
caracteristiqueBatiment.setEnqueteId(optionalEnquete.get().getId()); caracteristiqueBatiment.setEnqueteId(optionalEnquete.get().getId());
} }
} }
caracteristiqueBatiment.setEnqueteBatimentExternalKey(caracteristiqueBatimentPaylod.getEnqueteBatimentId()); caracteristiqueBatiment.setEnqueteBatimentExternalKey(caracteristiqueBatimentPayload.getEnqueteBatimentId());
caracteristiqueBatiment.setEnqueteExternalKey(caracteristiqueBatimentPaylod.getEnqueteId()); caracteristiqueBatiment.setEnqueteExternalKey(caracteristiqueBatimentPayload.getEnqueteId());
caracteristiqueBatiment.setValeur(caracteristiqueBatimentPaylod.getValeur()); caracteristiqueBatiment.setValeur(caracteristiqueBatimentPayload.getValeur());
caracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey()); caracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
return caracteristiqueBatiment; return caracteristiqueBatiment;
} }

View File

@@ -1,29 +1,18 @@
package io.gmss.fiscad.service.worker; package io.gmss.fiscad.service.worker;
import io.gmss.fiscad.entities.infocad.metier.Enquete; import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
import io.gmss.fiscad.entities.infocad.metier.Tpe; 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.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueParcelle; import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueParcelle;
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique; 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.enums.TypeObjet;
import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePaylod; import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePayload;
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
import io.gmss.fiscad.repositories.infocad.metier.*; 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.MobileDataCaracteristiqueParcelleRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
import io.gmss.fiscad.repositories.rfu.metier.*; import io.gmss.fiscad.repositories.rfu.metier.*;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository; 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 io.gmss.fiscad.service.LogService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Optional; import java.util.Optional;
@@ -39,25 +28,25 @@ public class CaracteristiqueParcelleAsyncWorker {
private final LogService logService; private final LogService logService;
//@Async("caracteristiqueParcelleExecutor") //@Async("caracteristiqueParcelleExecutor")
public void traitementAsyncCaracteristiqueParcelle(MobileDataCaracteristiqueParcelle mobileDataCaracteristiqueParcelle) { public void traitementAsyncCaracteristiqueParcelle(MobileDataCaracteristiqueParcelle mobileDataCaracteristiqueParcelle) {
CaracteristiqueParcellePaylod caracteristiqueParcellePaylod = mobileDataCaracteristiqueParcelle.getCaracteristiqueParcellePaylod(); CaracteristiqueParcellePayload caracteristiqueParcellePayload = mobileDataCaracteristiqueParcelle.getCaracteristiqueParcellePayload();
try { try {
if (caracteristiqueParcellePaylod.getTerminalId() == null) { if (caracteristiqueParcellePayload.getTerminalId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueParcelle.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueParcelle.getId());
return; return;
} else { } else {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePayload.getTerminalId());
if (optionalTpe.isEmpty()) { if (optionalTpe.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueParcelle.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueParcelle.getId());
return; return;
} }
} }
if (caracteristiqueParcellePaylod.getEnqueteId() == null) { if (caracteristiqueParcellePayload.getEnqueteId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "enquete non fourni : ", mobileDataCaracteristiqueParcelle.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "enquete non fourni : ", mobileDataCaracteristiqueParcelle.getId());
return; return;
} else { } else {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePaylod.getEnqueteId(), caracteristiqueParcellePaylod.getTerminalId()); Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePayload.getEnqueteId(), caracteristiqueParcellePayload.getTerminalId());
if (optionalEnquete.isEmpty()) { if (optionalEnquete.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueParcelle.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueParcelle.getId());
return; return;
@@ -65,7 +54,7 @@ public class CaracteristiqueParcelleAsyncWorker {
} }
CaracteristiqueParcelle caracteristiqueParcelle = new CaracteristiqueParcelle(); CaracteristiqueParcelle caracteristiqueParcelle = new CaracteristiqueParcelle();
caracteristiqueParcelle.setMobileDataId(mobileDataCaracteristiqueParcelle.getId()); caracteristiqueParcelle.setMobileDataId(mobileDataCaracteristiqueParcelle.getId());
caracteristiqueParcelle = getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(caracteristiqueParcelle, caracteristiqueParcellePaylod); caracteristiqueParcelle = getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(caracteristiqueParcelle, caracteristiqueParcellePayload);
caracteristiqueParcelleRepository.save(caracteristiqueParcelle); caracteristiqueParcelleRepository.save(caracteristiqueParcelle);
mobileDataCaracteristiqueParcelle.setTraiter(true); mobileDataCaracteristiqueParcelle.setTraiter(true);
mobileDataCaracteristiqueParcelleRepository.save(mobileDataCaracteristiqueParcelle); mobileDataCaracteristiqueParcelleRepository.save(mobileDataCaracteristiqueParcelle);
@@ -74,27 +63,27 @@ public class CaracteristiqueParcelleAsyncWorker {
} }
} }
private CaracteristiqueParcelle getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(CaracteristiqueParcelle caracteristiqueParcelle, CaracteristiqueParcellePaylod caracteristiqueParcellePaylod) { private CaracteristiqueParcelle getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(CaracteristiqueParcelle caracteristiqueParcelle, CaracteristiqueParcellePayload caracteristiqueParcellePayload) {
if (caracteristiqueParcellePaylod.getEnqueteId() != null) { if (caracteristiqueParcellePayload.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePaylod.getEnqueteId(), caracteristiqueParcellePaylod.getTerminalId()); Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePayload.getEnqueteId(), caracteristiqueParcellePayload.getTerminalId());
caracteristiqueParcelle.setEnquete(optionalEnquete.orElse(null)); caracteristiqueParcelle.setEnquete(optionalEnquete.orElse(null));
} }
if (caracteristiqueParcellePaylod.getCaracteristiqueId() != null) { if (caracteristiqueParcellePayload.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueParcellePaylod.getCaracteristiqueId()); Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueParcellePayload.getCaracteristiqueId());
caracteristiqueParcelle.setCaracteristique(optionalCaracteristique.orElse(null)); caracteristiqueParcelle.setCaracteristique(optionalCaracteristique.orElse(null));
} }
if (caracteristiqueParcellePaylod.getTerminalId() != null) { if (caracteristiqueParcellePayload.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePayload.getTerminalId());
caracteristiqueParcelle.setTerminal(optionalTpe.orElse(null)); caracteristiqueParcelle.setTerminal(optionalTpe.orElse(null));
} }
caracteristiqueParcelle.setEnqueteExternalKey(caracteristiqueParcellePaylod.getEnqueteId()); caracteristiqueParcelle.setEnqueteExternalKey(caracteristiqueParcellePayload.getEnqueteId());
caracteristiqueParcelle.setValeur(caracteristiqueParcellePaylod.getValeur()); caracteristiqueParcelle.setValeur(caracteristiqueParcellePayload.getValeur());
caracteristiqueParcelle.setExternalKey(caracteristiqueParcellePaylod.getExternalKey()); caracteristiqueParcelle.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
return caracteristiqueParcelle; return caracteristiqueParcelle;
} }

View File

@@ -2,28 +2,21 @@ package io.gmss.fiscad.service.worker;
import io.gmss.fiscad.entities.infocad.metier.Enquete; import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Tpe; 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.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.CaracteristiqueUniteLogement;
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.entities.rfu.parametre.Caracteristique; import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
import io.gmss.fiscad.enums.TypeObjet; import io.gmss.fiscad.enums.TypeObjet;
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod; import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPayload;
import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPaylod;
import io.gmss.fiscad.repositories.infocad.metier.EnqueteRepository; import io.gmss.fiscad.repositories.infocad.metier.EnqueteRepository;
import io.gmss.fiscad.repositories.infocad.metier.TpeRepository; import io.gmss.fiscad.repositories.infocad.metier.TpeRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueBatimentRepository; import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueBatimentRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueUniteLogementRepository; 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.CaracteristiqueUniteLogementRepository;
import io.gmss.fiscad.repositories.rfu.metier.EnqueteBatimentRepository;
import io.gmss.fiscad.repositories.rfu.metier.EnqueteUniteLogementRepository; import io.gmss.fiscad.repositories.rfu.metier.EnqueteUniteLogementRepository;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository; import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
import io.gmss.fiscad.service.LogService; import io.gmss.fiscad.service.LogService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Optional; import java.util.Optional;
@@ -41,24 +34,24 @@ public class CaracteristiqueUniteLogementAsyncWorker {
private final LogService logService; private final LogService logService;
//@Async("caracteristiqueUniteLogementExecutor") //@Async("caracteristiqueUniteLogementExecutor")
public void traitementAsyncCaracteristiqueUniteLogement(MobileDataCaracteristiqueUniteLogement mobileDataCaracteristiqueUniteLogement) { public void traitementAsyncCaracteristiqueUniteLogement(MobileDataCaracteristiqueUniteLogement mobileDataCaracteristiqueUniteLogement) {
CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod = mobileDataCaracteristiqueUniteLogement.getCaracteristiqueUniteLogementPaylod(); CaracteristiqueUniteLogementPayload caracteristiqueUniteLogementPayload = mobileDataCaracteristiqueUniteLogement.getCaracteristiqueUniteLogementPayload();
try { try {
if (caracteristiqueUniteLogementPaylod.getTerminalId() == null) { if (caracteristiqueUniteLogementPayload.getTerminalId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueUniteLogement.getId());
return; return;
} else { } else {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPayload.getTerminalId());
if (optionalTpe.isEmpty()) { if (optionalTpe.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueUniteLogement.getId());
return; return;
} }
} }
if (caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId() == null) { if (caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "enquete non fourni : ", mobileDataCaracteristiqueUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "enquete non fourni : ", mobileDataCaracteristiqueUniteLogement.getId());
return; return;
} else { } else {
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPaylod.getTerminalId()); Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPayload.getTerminalId());
if (optionalEnqueteUniteLogement.isEmpty()) { if (optionalEnqueteUniteLogement.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueUniteLogement.getId());
return; return;
@@ -66,7 +59,7 @@ public class CaracteristiqueUniteLogementAsyncWorker {
} }
CaracteristiqueUniteLogement caracteristiqueUniteLogement = new CaracteristiqueUniteLogement(); CaracteristiqueUniteLogement caracteristiqueUniteLogement = new CaracteristiqueUniteLogement();
caracteristiqueUniteLogement.setMobileDataId(mobileDataCaracteristiqueUniteLogement.getId()); caracteristiqueUniteLogement.setMobileDataId(mobileDataCaracteristiqueUniteLogement.getId());
caracteristiqueUniteLogement = getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(caracteristiqueUniteLogement, caracteristiqueUniteLogementPaylod); caracteristiqueUniteLogement = getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(caracteristiqueUniteLogement, caracteristiqueUniteLogementPayload);
caracteristiqueUniteLogementRepository.save(caracteristiqueUniteLogement); caracteristiqueUniteLogementRepository.save(caracteristiqueUniteLogement);
mobileDataCaracteristiqueUniteLogement.setTraiter(true); mobileDataCaracteristiqueUniteLogement.setTraiter(true);
mobileDataCaracteristiqueUniteLogementRepository.save(mobileDataCaracteristiqueUniteLogement); mobileDataCaracteristiqueUniteLogementRepository.save(mobileDataCaracteristiqueUniteLogement);
@@ -75,32 +68,32 @@ public class CaracteristiqueUniteLogementAsyncWorker {
} }
} }
private CaracteristiqueUniteLogement getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(CaracteristiqueUniteLogement caracteristiqueUniteLogement, CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod) { private CaracteristiqueUniteLogement getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(CaracteristiqueUniteLogement caracteristiqueUniteLogement, CaracteristiqueUniteLogementPayload caracteristiqueUniteLogementPayload) {
if (caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId() != null) { if (caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId() != null) {
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPaylod.getTerminalId()); Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPayload.getTerminalId());
caracteristiqueUniteLogement.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null)); caracteristiqueUniteLogement.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
} }
if (caracteristiqueUniteLogementPaylod.getCaracteristiqueId() != null) { if (caracteristiqueUniteLogementPayload.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueUniteLogementPaylod.getCaracteristiqueId()); Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueUniteLogementPayload.getCaracteristiqueId());
caracteristiqueUniteLogement.setCaracteristique(optionalCaracteristique.orElse(null)); caracteristiqueUniteLogement.setCaracteristique(optionalCaracteristique.orElse(null));
} }
if (caracteristiqueUniteLogementPaylod.getTerminalId() != null) { if (caracteristiqueUniteLogementPayload.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPayload.getTerminalId());
caracteristiqueUniteLogement.setTerminal(optionalTpe.orElse(null)); caracteristiqueUniteLogement.setTerminal(optionalTpe.orElse(null));
} }
if (caracteristiqueUniteLogementPaylod.getTerminalId() != null && caracteristiqueUniteLogementPaylod.getEnqueteId() != null) { if (caracteristiqueUniteLogementPayload.getTerminalId() != null && caracteristiqueUniteLogementPayload.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteId(), caracteristiqueUniteLogementPaylod.getTerminalId()); Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPayload.getEnqueteId(), caracteristiqueUniteLogementPayload.getTerminalId());
if (optionalEnquete.isPresent()) { if (optionalEnquete.isPresent()) {
caracteristiqueUniteLogement.setEnqueteId(optionalEnquete.get().getId()); caracteristiqueUniteLogement.setEnqueteId(optionalEnquete.get().getId());
} }
} }
caracteristiqueUniteLogement.setEnqueteExternalKey(caracteristiqueUniteLogementPaylod.getEnqueteId()); caracteristiqueUniteLogement.setEnqueteExternalKey(caracteristiqueUniteLogementPayload.getEnqueteId());
caracteristiqueUniteLogement.setEnqueteUniteLogementExternalKey(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId()); caracteristiqueUniteLogement.setEnqueteUniteLogementExternalKey(caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId());
caracteristiqueUniteLogement.setValeur(caracteristiqueUniteLogementPaylod.getValeur()); caracteristiqueUniteLogement.setValeur(caracteristiqueUniteLogementPayload.getValeur());
caracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey()); caracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
return caracteristiqueUniteLogement; return caracteristiqueUniteLogement;
} }
} }

View File

@@ -200,7 +200,7 @@ public class EnqueteAsyncWorker {
enquete.setNbrePiscine(enquetePayLoad.getNbrePiscine()); enquete.setNbrePiscine(enquetePayLoad.getNbrePiscine());
enquete.setDateDebutExcemption(enquetePayLoad.getDateDebutExcemption()); enquete.setDateDebutExcemption(enquetePayLoad.getDateDebutExcemption());
enquete.setDateFinExcemption(enquetePayLoad.getDateFinExcemption()); enquete.setDateFinExcemption(enquetePayLoad.getDateFinExcemption());
enquete.setPersonneId(enquetePayLoad.getPersonneId()); //enquete.setPersonneId(enquetePayLoad.getPersonneId());
enquete.setAutreNumeroTitreFoncier(enquete.getAutreNumeroTitreFoncier()); enquete.setAutreNumeroTitreFoncier(enquete.getAutreNumeroTitreFoncier());
return enquete; return enquete;
} }

View File

@@ -1,18 +1,12 @@
package io.gmss.fiscad.service.worker; package io.gmss.fiscad.service.worker;
import io.gmss.fiscad.entities.infocad.metier.Enquete; import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
import io.gmss.fiscad.entities.infocad.metier.Tpe; 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.metadata.MobileDataUniteLogement;
import io.gmss.fiscad.entities.rfu.metier.Batiment; import io.gmss.fiscad.entities.rfu.metier.Batiment;
import io.gmss.fiscad.entities.rfu.metier.UniteLogement; 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.enums.TypeObjet;
import io.gmss.fiscad.paylaods.request.EnquetePayLoad; import io.gmss.fiscad.paylaods.request.UniteLogementPayload;
import io.gmss.fiscad.paylaods.request.UniteLogementPaylaod;
import io.gmss.fiscad.repositories.infocad.metier.*; import io.gmss.fiscad.repositories.infocad.metier.*;
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository; import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository; import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
@@ -22,7 +16,6 @@ import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
import io.gmss.fiscad.repositories.user.UserRepository; import io.gmss.fiscad.repositories.user.UserRepository;
import io.gmss.fiscad.service.LogService; import io.gmss.fiscad.service.LogService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Optional; import java.util.Optional;
@@ -50,25 +43,25 @@ public class UniteLogementAsyncWorker {
private final LogService logService; private final LogService logService;
//@Async("uniteLogementExecutor") //@Async("uniteLogementExecutor")
public void traitementAsyncUniteLogement(MobileDataUniteLogement mobileDataUniteLogement) { public void traitementAsyncUniteLogement(MobileDataUniteLogement mobileDataUniteLogement) {
UniteLogementPaylaod uniteLogementPaylaod = mobileDataUniteLogement.getUniteLogementPaylaod(); UniteLogementPayload uniteLogementPayload = mobileDataUniteLogement.getUniteLogementPayload();
try { try {
if (uniteLogementPaylaod.getTerminalId() == null) { if (uniteLogementPayload.getTerminalId() == null) {
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataUniteLogement.getId());
return; return;
} else { } else {
Optional<Tpe> optionalTpe = tpeRepository.findById(uniteLogementPaylaod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(uniteLogementPayload.getTerminalId());
if (optionalTpe.isEmpty()) { if (optionalTpe.isEmpty()) {
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataUniteLogement.getId());
return; return;
} }
} }
if (uniteLogementPaylaod.getBatimentId() == null) { if (uniteLogementPayload.getBatimentId() == null) {
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de batiment", "batiment non fourni : ", mobileDataUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de batiment", "batiment non fourni : ", mobileDataUniteLogement.getId());
return; return;
} else { } else {
Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getBatimentId(), uniteLogementPaylaod.getTerminalId()); Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPayload.getBatimentId(), uniteLogementPayload.getTerminalId());
if (optionalBatiment.isEmpty()) { if (optionalBatiment.isEmpty()) {
logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de batiment", "Le batiment précisée n'existe pas : ", mobileDataUniteLogement.getId()); logService.logTraiementAsync(TypeObjet.UNITELOGEMENT, "Problème de batiment", "Le batiment précisée n'existe pas : ", mobileDataUniteLogement.getId());
return; return;
@@ -81,13 +74,13 @@ public class UniteLogementAsyncWorker {
if (optionalUniteLogement.isPresent()) { if (optionalUniteLogement.isPresent()) {
uniteLogement = optionalUniteLogement.get(); uniteLogement = optionalUniteLogement.get();
}else { }else {
optionalUniteLogement = uniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getExternalKey(),uniteLogementPaylaod.getTerminalId()); optionalUniteLogement = uniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPayload.getExternalKey(), uniteLogementPayload.getTerminalId());
if (optionalUniteLogement.isPresent()) { if (optionalUniteLogement.isPresent()) {
uniteLogement = optionalUniteLogement.get(); uniteLogement = optionalUniteLogement.get();
} }
} }
uniteLogement.setMobileDataId(mobileDataUniteLogement.getId()); uniteLogement.setMobileDataId(mobileDataUniteLogement.getId());
uniteLogement = getUniteLogementFromUniteLogementPayLoad(uniteLogement, uniteLogementPaylaod); uniteLogement = getUniteLogementFromUniteLogementPayLoad(uniteLogement, uniteLogementPayload);
uniteLogementRepository.save(uniteLogement); uniteLogementRepository.save(uniteLogement);
mobileDataUniteLogement.setTraiter(true); mobileDataUniteLogement.setTraiter(true);
mobileDataUniteLogementRepository.save(mobileDataUniteLogement); mobileDataUniteLogementRepository.save(mobileDataUniteLogement);
@@ -97,29 +90,29 @@ public class UniteLogementAsyncWorker {
} }
private UniteLogement getUniteLogementFromUniteLogementPayLoad(UniteLogement uniteLogement, UniteLogementPaylaod uniteLogementPaylaod) { private UniteLogement getUniteLogementFromUniteLogementPayLoad(UniteLogement uniteLogement, UniteLogementPayload uniteLogementPayload) {
if (uniteLogementPaylaod.getBatimentId() != null) { if (uniteLogementPayload.getBatimentId() != null) {
Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getBatimentId(), uniteLogementPaylaod.getTerminalId()); Optional<Batiment> optionalBatiment = batimentRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPayload.getBatimentId(), uniteLogementPayload.getTerminalId());
uniteLogement.setBatiment(optionalBatiment.orElse(null)); uniteLogement.setBatiment(optionalBatiment.orElse(null));
} }
if (uniteLogementPaylaod.getTerminalId() != null) { if (uniteLogementPayload.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(uniteLogementPaylaod.getTerminalId()); Optional<Tpe> optionalTpe = tpeRepository.findById(uniteLogementPayload.getTerminalId());
uniteLogement.setTerminal(optionalTpe.orElse(null)); uniteLogement.setTerminal(optionalTpe.orElse(null));
} }
if (uniteLogementPaylaod.getTerminalId() != null && uniteLogementPaylaod.getEnqueteId() != null) { if (uniteLogementPayload.getTerminalId() != null && uniteLogementPayload.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPaylaod.getEnqueteId(), uniteLogementPaylaod.getTerminalId()); Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(uniteLogementPayload.getEnqueteId(), uniteLogementPayload.getTerminalId());
if (optionalEnquete.isPresent()) { if (optionalEnquete.isPresent()) {
uniteLogement.setEnqueteId(optionalEnquete.get().getId()); uniteLogement.setEnqueteId(optionalEnquete.get().getId());
} }
} }
uniteLogement.setEnqueteExternalKey(uniteLogementPaylaod.getEnqueteId()); uniteLogement.setEnqueteExternalKey(uniteLogementPayload.getEnqueteId());
uniteLogement.setNul(uniteLogementPaylaod.getNul()); uniteLogement.setNul(uniteLogementPayload.getNul());
uniteLogement.setNumeroEtage(uniteLogementPaylaod.getNumeroEtage()); uniteLogement.setNumeroEtage(uniteLogementPayload.getNumeroEtage());
uniteLogement.setCode(uniteLogementPaylaod.getCode()); uniteLogement.setCode(uniteLogementPayload.getCode());
uniteLogement.setExternalKey(uniteLogementPaylaod.getExternalKey()); uniteLogement.setExternalKey(uniteLogementPayload.getExternalKey());
uniteLogement.setBatimentExternalKey(uniteLogementPaylaod.getBatimentId()); uniteLogement.setBatimentExternalKey(uniteLogementPayload.getBatimentId());
return uniteLogement; return uniteLogement;
} }
} }

View File

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