5 Commits

Author SHA1 Message Date
375d4b1065 gestion parametre frontend 2026-06-30 11:04:35 +01:00
bd7c480e7c gestino restauration 2026-06-12 14:16:36 +01:00
ca1804ff8f gestion restauration 2026-06-05 12:18:11 +01:00
641e46fcee gestion restauration 2026-06-05 12:17:48 +01:00
25efc002b3 refonte de la restauration 2026-06-01 17:59:06 +01:00
171 changed files with 757 additions and 364 deletions

View File

@@ -0,0 +1 @@
W5fwD({9*q53

View File

@@ -26,7 +26,7 @@ import org.springframework.web.client.HttpClientErrorException;
@SecurityRequirement(name = "bearer")
@Tag(name = "Tpe")
@CrossOrigin(origins = "*")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
//@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public class TpeController {
private final TpeService tpeService;

View File

@@ -14,6 +14,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.HttpClientErrorException;
import java.util.List;
@RestController
@RequestMapping(value = "api/restauration", produces = MediaType.APPLICATION_JSON_VALUE)
@SecurityRequirement(name = "bearer")
@@ -29,11 +31,11 @@ public class RestaurationController {
this.restaurationService = restaurationService;
}
@GetMapping(path = "/enquete/{terminalId}")
public ResponseEntity<?> getEnquetes(@PathVariable Long terminalId) {
@GetMapping(path = "/enquete")
public ResponseEntity<?> getEnquetes(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -52,11 +54,11 @@ public class RestaurationController {
}
}
@GetMapping(path = "/acteur-concerne/{terminalId}")
public ResponseEntity<?> getActeurConcerne(@PathVariable Long terminalId) {
@GetMapping(path = "/acteur-concerne")
public ResponseEntity<?> getActeurConcerne(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -75,11 +77,11 @@ public class RestaurationController {
}
}
@GetMapping(path = "/personne/{terminalId}") // ok
public ResponseEntity<?> getPersonnes(@PathVariable Long terminalId) {
@GetMapping(path = "/personne") // ok
public ResponseEntity<?> getPersonnes(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -98,11 +100,11 @@ public class RestaurationController {
}
}
@GetMapping(path = "/membre-groupe/{terminalId}")
public ResponseEntity<?> getMembrePersonnes(@PathVariable Long terminalId) {
@GetMapping(path = "/membre-groupe")
public ResponseEntity<?> getMembrePersonnes(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -121,11 +123,11 @@ public class RestaurationController {
}
}
@GetMapping(path = "/parcelle/{terminalId}")
public ResponseEntity<?> getParcelle(@PathVariable Long terminalId) {
@GetMapping(path = "/parcelle")
public ResponseEntity<?> getParcelle(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -144,11 +146,11 @@ public class RestaurationController {
}
}
@GetMapping(path = "/piece/{terminalId}")
public ResponseEntity<?> getPieces(@PathVariable Long terminalId) {
@GetMapping(path = "/caracteristique-parcelle")
public ResponseEntity<?> getCaracteristiqueParcelle(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -167,11 +169,34 @@ public class RestaurationController {
}
}
@GetMapping(path = "/upload/{terminalId}")
public ResponseEntity<?> getUpload(@PathVariable Long terminalId) {
@GetMapping(path = "/piece")
public ResponseEntity<?> getPieces(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -213,12 +238,18 @@ public class RestaurationController {
}
}
@GetMapping(path = "/batiment/{terminalId}")
public ResponseEntity<?> getBatiments(@PathVariable Long terminalId) {
@PostMapping(path = "/files/{terminalId}")
public ResponseEntity<?> getCurrentUserTpe(@RequestBody List<Long> ids, @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 {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -238,11 +269,11 @@ public class RestaurationController {
}
@GetMapping(path = "/enquete-batiment/{terminalId}")
public ResponseEntity<?> getEnqueteBatiment(@PathVariable Long terminalId) {
@GetMapping(path = "/enquete-batiment")
public ResponseEntity<?> getEnqueteBatiment(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -262,11 +293,11 @@ public class RestaurationController {
}
@GetMapping(path = "/caracteristique-batiment/{terminalId}")
public ResponseEntity<?> getCaracteristiqueBatiment(@PathVariable Long terminalId) {
@GetMapping(path = "/caracteristique-batiment")
public ResponseEntity<?> getCaracteristiqueBatiment(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -285,11 +316,82 @@ public class RestaurationController {
}
}
@GetMapping(path = "/caracteristique-unite-logement/{terminalId}")
public ResponseEntity<?> getCaracteristiqueUniteLogement(@PathVariable Long terminalId) {
@GetMapping(path = "/unite-logement")
public ResponseEntity<?> getUniteLogement(@RequestParam Long terminalId,@RequestParam Long limit, @RequestParam Long offset) {
try {
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
);
} 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.web.bind.annotation.*;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -443,11 +442,11 @@ public class SynchronisationController {
@PostMapping(path = "/unite-logement")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncUniteLogement(@RequestBody List<UniteLogementPaylaod> uniteLogementPaylaods) {
public ResponseEntity<?> syncUniteLogement(@RequestBody List<UniteLogementPayload> uniteLogementPayloads) {
try {
return new ResponseEntity<>(
//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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -468,11 +467,11 @@ public class SynchronisationController {
@PostMapping(path = "/caracteristique-batiment")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncCaracteristiqueBatiment(@RequestBody List<CaracteristiqueBatimentPaylod> caracteristiqueBatimentPaylods) {
public ResponseEntity<?> syncCaracteristiqueBatiment(@RequestBody List<CaracteristiqueBatimentPayload> caracteristiqueBatimentPayloads) {
try {
return new ResponseEntity<>(
//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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -493,11 +492,11 @@ public class SynchronisationController {
@PostMapping(path = "/caracteristique-parcelle")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncCaracteristiqueParcelle(@RequestBody List<CaracteristiqueParcellePaylod> caracteristiqueParcellePaylods) {
public ResponseEntity<?> syncCaracteristiqueParcelle(@RequestBody List<CaracteristiqueParcellePayload> caracteristiqueParcellePayloads) {
try {
return new ResponseEntity<>(
//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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {
@@ -518,11 +517,11 @@ public class SynchronisationController {
@PostMapping(path = "/caracteristique-unite-logement")
@PreAuthorize("hasRole('ADMIN') or hasRole('SUPERVISEUR') or hasRole('ENQUETEUR')")
public ResponseEntity<?> syncCaracteristiqueUniteLogement(@RequestBody List<CaracteristiqueUniteLogementPaylod> caracteristiqueUniteLogementPaylods) {
public ResponseEntity<?> syncCaracteristiqueUniteLogement(@RequestBody List<CaracteristiqueUniteLogementPayload> caracteristiqueUniteLogementPayloads) {
try {
return new ResponseEntity<>(
//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
);
} catch (HttpClientErrorException.MethodNotAllowed e) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -15,7 +15,7 @@ import java.io.Serializable;
@Setter
@Table(
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 {

View File

@@ -16,7 +16,7 @@ import java.io.Serializable;
@Setter
@Table(
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 {

View File

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

View File

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

View File

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

View File

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

View File

@@ -127,6 +127,7 @@ public class TpeServiceImpl implements TpeService {
public List<Tpe> getTpeListByUserId(Long userId) {
return tpeRepository.getTpeByUserId(userId);
}
@Override
public Tpe reCreateExistTpe(Tpe tpe) throws BadRequestException {

View File

@@ -1,10 +1,15 @@
package io.gmss.fiscad.implementations.synchronisation;
import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.metadata.*;
import io.gmss.fiscad.entities.user.User;
import io.gmss.fiscad.paylaods.request.*;
//import io.gmss.fiscad.paylaods.response.restoration.BatimentPayload;
import io.gmss.fiscad.paylaods.response.restoration.TailleObjet;
import io.gmss.fiscad.repositories.metadata.*;
import io.gmss.fiscad.interfaces.synchronisation.RestaurationService;
import io.gmss.fiscad.interfaces.user.UserService;
import io.gmss.fiscad.paylaods.response.restoration.*;
//import io.gmss.fiscad.paylaods.response.restoration.*;
import io.gmss.fiscad.repositories.infocad.metier.*;
import io.gmss.fiscad.repositories.infocad.parametre.PersonneRepository;
import io.gmss.fiscad.repositories.rfu.metier.*;
@@ -15,9 +20,8 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
@@ -32,6 +36,7 @@ public class RestaurationServiceImpl implements RestaurationService {
private final FileStorageService fileStorageService;
private final TpeRepository tpeRepository;
private final UserService userService;
private final MobileDataEnqueteRepository mobileDataEnqueteRepository;
private Authentication authentication;
private final BatimentRepository batimentRepository;
private final EnqueteBatimentRepository enqueteBatimentRepository;
@@ -40,109 +45,223 @@ public class RestaurationServiceImpl implements RestaurationService {
private final CaracteristiqueParcelleRepository caracteristiqueParcelleRepository;
private final EnqueteUniteLogementRepository enqueteUniteLogementRepository;
private final UniteLogementRepository uniteLogementRepository;
private final MobileDataActeurConcerneRepository mobileDataActeurConcerneRepository;
private final MobileDataPersonneRepository mobileDataPersonneRepository;
private final MobileDataMembreGroupeRepository mobileDataMembreGroupeRepository;
private final MobileDataParcelleRepository mobileDataParcelleRepository;
private final MobileDataPieceRepository mobileDataPieceRepository;
private final MobileDataUploadRepository mobileDataUploadRepository;
private final MobileDataBatimentRepository mobileDataBatimentRepository;
private final MobileDataEnqueteBatimentRepository mobileDataEnqueteBatimentRepository;
private final MobileDataCaracteristiqueParcelleRepository mobileDataCaracteristiqueParcelleRepository;
private final MobileDataCaracteristiqueBatimentRepository mobileDataCaracteristiqueBatimentRepository;
private final MobileDataEnqueteUniteLogementRepository mobileDataEnqueteUniteLogementRepository;
private final MobileDataCaracteristiqueUniteLogementRepository mobileDataCaracteristiqueUniteLogementRepository;
private final MobileDataUniteLogementRepository mobileDataUniteLogementRepository;
// @Override
// public List<ActeurConcernePayLoad> getActeurConcernes(Long terminaleId) {
// return acteurConcerneRepository.getActeurConcerneByTerminalId(terminaleId);
// }
// @Override
// public List<EnquetePayLoad> getEnquete(Long terminaleId) {
// return enqueteRepository.getEnqueteByTerminalId(terminaleId);
// }
@Override
public List<ActeurConcernePayLoad> getActeurConcernes(Long terminaleId, Long limit, Long offset) {
return mobileDataActeurConcerneRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataActeurConcerne::getActeurConcernePayLoad)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<ActeurConcernePayLoad> getActeurConcernes(Long terminaleId) {
return acteurConcerneRepository.getActeurConcerneByTerminalId(terminaleId);
public List<EnquetePayLoad> getEnquete(Long terminaleId, Long limit, Long offset) {
return mobileDataEnqueteRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataEnquete::getEnquetePayLoad)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
// @Override
// public List<PersonnePayLoad> getPersonne(Long terminaleId) {
// return personneRepository.getPersonnesByTerminalId(terminaleId);
// }
@Override
public List<PersonnePayLoad> getPersonne(Long terminaleId, Long limit, Long offset) {
return mobileDataPersonneRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataPersonne::getPersonnePayLoad)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<EnquetePayLoad> getEnquete(Long terminaleId) {
public List<MembreGroupePayLoad> getMembreGroupe(Long terminaleId, Long limit, Long offset) {
return enqueteRepository.getEnqueteByTerminalId(terminaleId);
return mobileDataMembreGroupeRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataMembreGroupe::getMembreGroupePayLoad)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
// @Override
// public List<ParcellePayLoad> getParcelle(Long terminaleId) {
//
// return parcelleRepository.getParcellesByTerminalId(terminaleId);
// }
@Override
public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offset) {
return mobileDataParcelleRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataParcelle::getParcellePayLoad)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
// @Override
// public List<PiecePayLoad> getPieces(Long terminaleId) {
// return pieceRepository.getPiecesByTerminalId(terminaleId);
// }
@Override
public List<PiecePayLoad> getPieces(Long terminaleId, Long limit, Long offset) {
return mobileDataPieceRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataPiece::getPiecePayLoad)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<PersonnePayLoad> getPersonne(Long terminaleId) {
return personneRepository.getPersonnesByTerminalId(terminaleId);
public List<UploadPayLoad> getUploads(Long terminaleId, Long limit, Long offset) {
List<MobileDataUpload> mobileDataUploads = mobileDataUploadRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset);
return getUploadPayLoads(mobileDataUploads);
}
@Override
public List<ParcellePayLoad> getParcelle(Long terminaleId) {
// @Override
// public List<BatimentPaylaod> getBatiment(Long terminalId) {
// return batimentRepository.getBatimentByTerminalId(terminalId);
// }
return parcelleRepository.getParcellesByTerminalId(terminaleId);
@Override
public List<io.gmss.fiscad.paylaods.request.BatimentPaylaod> getBatiment(Long terminaleId, Long limit, Long offset) {
return mobileDataBatimentRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataBatiment::getBatimentPaylaod)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<PiecePayLoad> getPieces(Long terminaleId) {
// @Override
// public List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId) {
// return enqueteBatimentRepository.getEnqueteBatimentByTerminalId(terminalId);
// }
return pieceRepository.getPiecesByTerminalId(terminaleId);
@Override
public List<EnqueteBatimentPayload> getEnqueteBatiment(Long terminaleId, Long limit, Long offset) {
return mobileDataEnqueteBatimentRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataEnqueteBatiment::getEnqueteBatimentPayload)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<MembreGroupePayLoad> getMembreGroupe(Long terminaleId) {
// @Override
// public List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId) {
// return caracteristiqueParcelleRepository.getCaracteristiqueParcelleByTerminalId(terminalId);
// }
return membreGroupeRepository.getMembreGroupeByTerminalId(terminaleId);
@Override
public List<CaracteristiqueParcellePayload> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset) {
return mobileDataCaracteristiqueParcelleRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataCaracteristiqueParcelle::getCaracteristiqueParcellePayload)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<io.gmss.fiscad.paylaods.request.UploadPayLoad> getUpload(Long terminaleId) {
List<UploadPayLoad> uploadPayLoads = uploadRepository.getUploadByTerminalId(terminaleId);
List<io.gmss.fiscad.paylaods.request.UploadPayLoad> uploadPayLoadsOut = new ArrayList<>();
uploadPayLoads.forEach(uploadPayLoad -> {
io.gmss.fiscad.paylaods.request.UploadPayLoad uploadPayLoadLocal = new io.gmss.fiscad.paylaods.request.UploadPayLoad();
uploadPayLoadLocal.setTerminalId(uploadPayLoad.getTerminalId());
String inputStream = getUploadFile(uploadPayLoad);
uploadPayLoadLocal.setFileBase64(inputStream);
uploadPayLoadLocal.setIdBackend(uploadPayLoad.getIdBackend());
uploadPayLoadLocal.setPieceId(uploadPayLoad.getPieceId());
uploadPayLoadLocal.setSynchronise(uploadPayLoad.getSynchronise());
uploadPayLoadLocal.setMembreGroupeId(uploadPayLoad.getMembreGroupeId());
uploadPayLoadLocal.setExternalKey(uploadPayLoad.getExternalKey());
uploadPayLoadLocal.setBlocId(uploadPayLoad.getBlocId());
uploadPayLoadLocal.setFilePath(uploadPayLoad.getFilePath());
uploadPayLoadLocal.setEnqueteId(uploadPayLoad.getEnqueteId());
uploadPayLoadLocal.setMax_numero_acteur_concerne_id(uploadPayLoad.getMax_numero_acteur_concerne_id());
uploadPayLoadLocal.setMax_numero_piece_id(uploadPayLoad.getMax_numero_piece_id());
uploadPayLoadLocal.setMax_numero_upload_id(uploadPayLoad.getMax_numero_upload_id());
uploadPayLoadLocal.setName(uploadPayLoad.getName());
uploadPayLoadLocal.setObservation(uploadPayLoad.getObservation());
uploadPayLoadsOut.add(uploadPayLoadLocal);
});
return uploadPayLoadsOut;
// @Override
// public List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId) {
// return caracteristiqueBatimentRepository.getCaracteristiqueBatimentByTerminalId(terminalId);
// }
@Override
public List<CaracteristiqueBatimentPayload> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset) {
return mobileDataCaracteristiqueBatimentRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataCaracteristiqueBatiment::getCaracteristiqueBatimentPayload)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<BatimentPayload> getBatiment(Long terminalId) {
return batimentRepository.getBatimentByTerminalId(terminalId);
}
// @Override
// public List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId) {
// return caracteristiqueUniteLogementRepository.getCaracteristiqueUniteLogementByTerminalId(terminalId);
// }
@Override
public List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId) {
return enqueteBatimentRepository.getEnqueteBatimentByTerminalId(terminalId);
public List<CaracteristiqueUniteLogementPayload> getCaracateristiqueUniteLogement(Long terminaleId, Long limit, Long offset) {
return mobileDataCaracteristiqueUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataCaracteristiqueUniteLogement::getCaracteristiqueUniteLogementPayload)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId) {
return caracteristiqueParcelleRepository.getCaracteristiqueParcelleByTerminalId(terminalId);
}
// @Override
// public List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId) {
// return enqueteUniteLogementRepository.getEnqueteUniteLogementByTerminalId(terminalId);
// }
@Override
public List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId) {
return caracteristiqueBatimentRepository.getCaracteristiqueBatimentByTerminalId(terminalId);
public List<EnqueteUniteLogementPayload> getEnqueteUniteLogement(Long terminaleId, Long limit, Long offset) {
return mobileDataEnqueteUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataEnqueteUniteLogement::getEnqueteUniteLogementPayload)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
@Override
public List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId) {
return caracteristiqueUniteLogementRepository.getCaracteristiqueUniteLogementByTerminalId(terminalId);
}
// @Override
// public List<UniteLogementPayLoad> getUniteLogement(Long terminalId) {
// return uniteLogementRepository.getUniteLogementByTerminalId(terminalId);
// }
@Override
public List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId) {
return enqueteUniteLogementRepository.getEnqueteUniteLogementByTerminalId(terminalId);
}
public List<UniteLogementPayload> getUniteLogement(Long terminaleId, Long limit, Long offset) {
@Override
public List<UniteLogementPayLoad> getUniteLogement(Long terminalId) {
return uniteLogementRepository.getUniteLogementByTerminalId(terminalId);
return mobileDataUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataUniteLogement::getUniteLogementPayload)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
private String getUploadFile(UploadPayLoad uploadPayLoad) {
try {
Resource resource = fileStorageService.loadFileAsResource(uploadPayLoad.getFileBackendName());
Resource resource = fileStorageService.loadFileAsResource("",uploadPayLoad.getRename());
final var bytes = resource.getInputStream().readAllBytes();
return Base64.getEncoder().encodeToString(bytes);
} catch (Exception e) {
@@ -153,6 +272,7 @@ public class RestaurationServiceImpl implements RestaurationService {
}
public List<Tpe> getTpeListByCurrentUser() {
try {
authentication = SecurityContextHolder.getContext().getAuthentication();
@@ -164,4 +284,49 @@ public class RestaurationServiceImpl implements RestaurationService {
}
}
@Override
public TailleObjet getTailleObjetByTerminalId(Long terminalId) {
return mobileDataEnqueteRepository.calculateTailleEnqueteData(terminalId);
}
private List<UploadPayLoad> getUploadPayLoads(List<MobileDataUpload> mobileDataUploads) {
return mobileDataUploads
.stream()
.map(mobileDataUpload -> {
UploadPayLoad uploadPayLoad = mobileDataUpload.getUploadPayLoad();
String fileData = getUploadFile(uploadPayLoad);
uploadPayLoad.setFileBase64(fileData);
return uploadPayLoad;
})
.filter(Objects::nonNull)
.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;
import io.gmss.fiscad.entities.decoupage.Commune;
import io.gmss.fiscad.entities.decoupage.Nationalite;
import io.gmss.fiscad.entities.decoupage.Quartier;
import io.gmss.fiscad.entities.infocad.metier.*;
import io.gmss.fiscad.entities.infocad.parametre.*;
import io.gmss.fiscad.entities.metadata.*;
import io.gmss.fiscad.entities.rfu.metier.*;
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
import io.gmss.fiscad.entities.rfu.parametre.TypeCaracteristique;
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
import io.gmss.fiscad.entities.user.User;
import io.gmss.fiscad.enums.*;
import io.gmss.fiscad.interfaces.infocad.metier.ParcelleGeomService;
import io.gmss.fiscad.interfaces.synchronisation.SynchronisationService;
import io.gmss.fiscad.interfaces.user.UserService;
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.parametre.*;
import io.gmss.fiscad.repositories.metadata.*;
import io.gmss.fiscad.repositories.rfu.metier.*;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
import io.gmss.fiscad.repositories.rfu.parametre.TypeCaracteristiqueRepository;
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
import io.gmss.fiscad.repositories.user.UserRepository;
import io.gmss.fiscad.service.FileStorageService;
import io.gmss.fiscad.service.worker.*;
import jakarta.transaction.Transactional;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.scheduling.annotation.Async;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.function.ToDoubleBiFunction;
@Service
@RequiredArgsConstructor
@@ -415,53 +404,53 @@ public class SynchronisationServiceImpl implements SynchronisationService {
return syncResponses;
}
@Override
public List<SyncResponse> syncUniteLogement(List<UniteLogementPaylaod> uniteLogementPaylaods) {
public List<SyncResponse> syncUniteLogement(List<UniteLogementPayload> uniteLogementPayloads) {
List<SyncResponse> syncResponses = new ArrayList<>();
if (uniteLogementPaylaods == null) {
if (uniteLogementPayloads == null) {
SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune unité de logement à synchroniser");
syncResponses.add(syncResponse);
return syncResponses;
}
syncResponses = saveMobileData(uniteLogementPaylaods, TypeObjet.UNITELOGEMENT);
syncResponses = saveMobileData(uniteLogementPayloads, TypeObjet.UNITELOGEMENT);
return syncResponses;
}
@Override
public List<SyncResponse> syncCaracteristiqueBatiment(List<CaracteristiqueBatimentPaylod> caracteristiqueBatimentPaylods) {
public List<SyncResponse> syncCaracteristiqueBatiment(List<CaracteristiqueBatimentPayload> caracteristiqueBatimentPayloads) {
List<SyncResponse> syncResponses = new ArrayList<>();
if (caracteristiqueBatimentPaylods == null) {
if (caracteristiqueBatimentPayloads == null) {
SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune caracteristique de bâtiment à synchroniser");
syncResponses.add(syncResponse);
return syncResponses;
}
syncResponses = saveMobileData(caracteristiqueBatimentPaylods, TypeObjet.CARACTERISTIQUEBATIMENT);
syncResponses = saveMobileData(caracteristiqueBatimentPayloads, TypeObjet.CARACTERISTIQUEBATIMENT);
return syncResponses;
}
@Override
public List<SyncResponse> syncCaracteristiqueUniteLogement(List<CaracteristiqueUniteLogementPaylod> caracteristiqueUniteLogementPaylods) {
public List<SyncResponse> syncCaracteristiqueUniteLogement(List<CaracteristiqueUniteLogementPayload> caracteristiqueUniteLogementPayloads) {
List<SyncResponse> syncResponses = new ArrayList<>();
if (caracteristiqueUniteLogementPaylods == null) {
if (caracteristiqueUniteLogementPayloads == null) {
SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune caracteristique d'unité de logement à synchroniser");
syncResponses.add(syncResponse);
return syncResponses;
}
syncResponses = saveMobileData(caracteristiqueUniteLogementPaylods, TypeObjet.CARACTERISTIQUEUNITELOGEMENT);
syncResponses = saveMobileData(caracteristiqueUniteLogementPayloads, TypeObjet.CARACTERISTIQUEUNITELOGEMENT);
return syncResponses;
}
@Override
public List<SyncResponse> syncCaracteristiqueParcelle(List<CaracteristiqueParcellePaylod> caracteristiqueParcellePaylods) {
public List<SyncResponse> syncCaracteristiqueParcelle(List<CaracteristiqueParcellePayload> caracteristiqueParcellePayloads) {
List<SyncResponse> syncResponses = new ArrayList<>();
if (caracteristiqueParcellePaylods == null) {
if (caracteristiqueParcellePayloads == null) {
SyncResponse syncResponse = new SyncResponse(null,
null, false, "Aucune caracteristique de parcelle à synchroniser");
syncResponses.add(syncResponse);
return syncResponses;
}
syncResponses = saveMobileData(caracteristiqueParcellePaylods, TypeObjet.CARACTERISTIQUEPARCELLE);
syncResponses = saveMobileData(caracteristiqueParcellePayloads, TypeObjet.CARACTERISTIQUEPARCELLE);
return syncResponses;
}
@Override
@@ -759,32 +748,32 @@ public class SynchronisationServiceImpl implements SynchronisationService {
}
case UNITELOGEMENT -> {
payloads.forEach(payLoad -> {
UniteLogementPaylaod uniteLogementPaylaod = (UniteLogementPaylaod) payLoad;
//uniteLogementPaylaod.setIdBackend(null);
UniteLogementPayload uniteLogementPayload = (UniteLogementPayload) payLoad;
//uniteLogementPayload.setIdBackend(null);
try {
MobileDataUniteLogement mobileDataUniteLogement = new MobileDataUniteLogement();
Optional<MobileDataUniteLogement> optionalMobileDataUniteLogement = Optional.empty();
if (uniteLogementPaylaod.getIdBackend() != null) {
optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findById(uniteLogementPaylaod.getIdBackend());
if (uniteLogementPayload.getIdBackend() != null) {
optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findById(uniteLogementPayload.getIdBackend());
if (optionalMobileDataUniteLogement.isPresent()) {
mobileDataUniteLogement = optionalMobileDataUniteLogement.get();
}
} else {
optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findFirstByTerminalIdAndExternalKey(uniteLogementPaylaod.getTerminalId(), uniteLogementPaylaod.getExternalKey());
optionalMobileDataUniteLogement = mobileDataUniteLogementRepository.findFirstByTerminalIdAndExternalKey(uniteLogementPayload.getTerminalId(), uniteLogementPayload.getExternalKey());
if (optionalMobileDataUniteLogement.isPresent()) {
mobileDataUniteLogement = optionalMobileDataUniteLogement.get();
}
}
mobileDataUniteLogement.setTerminalId(uniteLogementPaylaod.getTerminalId());
mobileDataUniteLogement.setExternalKey(uniteLogementPaylaod.getExternalKey());
mobileDataUniteLogement.setTerminalId(uniteLogementPayload.getTerminalId());
mobileDataUniteLogement.setExternalKey(uniteLogementPayload.getExternalKey());
mobileDataUniteLogement.setTraiter(false);
mobileDataUniteLogement.setUniteLogementPaylaod(uniteLogementPaylaod);
mobileDataUniteLogement.setUniteLogementPayload(uniteLogementPayload);
mobileDataUniteLogement = mobileDataUniteLogementRepository.save(mobileDataUniteLogement);
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.UNITELOGEMENT.toString());
syncResponse.setExternalKey(uniteLogementPaylaod.getExternalKey());
syncResponse.setExternalKey(uniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataUniteLogement.getId());
syncResponses.add(syncResponse);
@@ -792,9 +781,9 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.PIECE.toString());
syncResponse.setExternalKey(uniteLogementPaylaod.getExternalKey());
syncResponse.setExternalKey(uniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(false);
syncResponse.setIdBackend(uniteLogementPaylaod.getIdBackend());
syncResponse.setIdBackend(uniteLogementPayload.getIdBackend());
syncResponses.add(syncResponse);
}
});
@@ -885,32 +874,32 @@ public class SynchronisationServiceImpl implements SynchronisationService {
}
case CARACTERISTIQUEPARCELLE -> {
payloads.forEach(payLoad -> {
CaracteristiqueParcellePaylod caracteristiqueParcellePaylod = (CaracteristiqueParcellePaylod) payLoad;
//caracteristiqueParcellePaylod.setIdBackend(null);
CaracteristiqueParcellePayload caracteristiqueParcellePayload = (CaracteristiqueParcellePayload) payLoad;
//caracteristiqueParcellePayload.setIdBackend(null);
try {
MobileDataCaracteristiqueParcelle mobileDataCaracteristiqueParcelle = new MobileDataCaracteristiqueParcelle();
Optional<MobileDataCaracteristiqueParcelle> optionalMobileDataCaracteristiqueParcelle = Optional.empty();
if (caracteristiqueParcellePaylod.getIdBackend() != null) {
optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findById(caracteristiqueParcellePaylod.getIdBackend());
if (caracteristiqueParcellePayload.getIdBackend() != null) {
optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findById(caracteristiqueParcellePayload.getIdBackend());
if (optionalMobileDataCaracteristiqueParcelle.isPresent()) {
mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get();
}
} else {
optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueParcellePaylod.getTerminalId(), caracteristiqueParcellePaylod.getExternalKey());
optionalMobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueParcellePayload.getTerminalId(), caracteristiqueParcellePayload.getExternalKey());
if (optionalMobileDataCaracteristiqueParcelle.isPresent()) {
mobileDataCaracteristiqueParcelle = optionalMobileDataCaracteristiqueParcelle.get();
}
}
mobileDataCaracteristiqueParcelle.setTerminalId(caracteristiqueParcellePaylod.getTerminalId());
mobileDataCaracteristiqueParcelle.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
mobileDataCaracteristiqueParcelle.setTerminalId(caracteristiqueParcellePayload.getTerminalId());
mobileDataCaracteristiqueParcelle.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
mobileDataCaracteristiqueParcelle.setTraiter(false);
mobileDataCaracteristiqueParcelle.setCaracteristiqueParcellePaylod(caracteristiqueParcellePaylod);
mobileDataCaracteristiqueParcelle.setCaracteristiqueParcellePayload(caracteristiqueParcellePayload);
mobileDataCaracteristiqueParcelle = mobileDataCaracteristiqueParcelleRepository.save(mobileDataCaracteristiqueParcelle);
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEPARCELLE.toString());
syncResponse.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
syncResponse.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueParcelle.getId());
syncResponses.add(syncResponse);
@@ -918,9 +907,9 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEPARCELLE.toString());
syncResponse.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
syncResponse.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
syncResponse.setSynchronise(false);
syncResponse.setIdBackend(caracteristiqueParcellePaylod.getIdBackend());
syncResponse.setIdBackend(caracteristiqueParcellePayload.getIdBackend());
syncResponses.add(syncResponse);
}
});
@@ -928,33 +917,33 @@ public class SynchronisationServiceImpl implements SynchronisationService {
case CARACTERISTIQUEBATIMENT -> {
payloads.forEach(payLoad -> {
CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod = (CaracteristiqueBatimentPaylod) payLoad;
//caracteristiqueBatimentPaylod.setIdBackend(null);
CaracteristiqueBatimentPayload caracteristiqueBatimentPayload = (CaracteristiqueBatimentPayload) payLoad;
//caracteristiqueBatimentPayload.setIdBackend(null);
try {
MobileDataCaracteristiqueBatiment mobileDataCaracteristiqueBatiment = new MobileDataCaracteristiqueBatiment();
Optional<MobileDataCaracteristiqueBatiment> optionalMobileDataCaracteristiqueBatiment = Optional.empty();
if (caracteristiqueBatimentPaylod.getIdBackend() != null) {
optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findById(caracteristiqueBatimentPaylod.getIdBackend());
if (caracteristiqueBatimentPayload.getIdBackend() != null) {
optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findById(caracteristiqueBatimentPayload.getIdBackend());
if (optionalMobileDataCaracteristiqueBatiment.isPresent()) {
mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get();
}
} else {
optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueBatimentPaylod.getTerminalId(), caracteristiqueBatimentPaylod.getExternalKey());
optionalMobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueBatimentPayload.getTerminalId(), caracteristiqueBatimentPayload.getExternalKey());
if (optionalMobileDataCaracteristiqueBatiment.isPresent()) {
mobileDataCaracteristiqueBatiment = optionalMobileDataCaracteristiqueBatiment.get();
}
}
mobileDataCaracteristiqueBatiment.setTerminalId(caracteristiqueBatimentPaylod.getTerminalId());
mobileDataCaracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey());
mobileDataCaracteristiqueBatiment.setTerminalId(caracteristiqueBatimentPayload.getTerminalId());
mobileDataCaracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
mobileDataCaracteristiqueBatiment.setTraiter(false);
mobileDataCaracteristiqueBatiment.setCaracteristiqueBatimentPaylod(caracteristiqueBatimentPaylod);
mobileDataCaracteristiqueBatiment.setCaracteristiqueBatimentPayload(caracteristiqueBatimentPayload);
mobileDataCaracteristiqueBatiment = mobileDataCaracteristiqueBatimentRepository.save(mobileDataCaracteristiqueBatiment);
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEBATIMENT.toString());
syncResponse.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey());
syncResponse.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueBatiment.getId());
syncResponses.add(syncResponse);
@@ -962,41 +951,41 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEBATIMENT.toString());
syncResponse.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey());
syncResponse.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
syncResponse.setSynchronise(false);
syncResponse.setIdBackend(caracteristiqueBatimentPaylod.getIdBackend());
syncResponse.setIdBackend(caracteristiqueBatimentPayload.getIdBackend());
syncResponses.add(syncResponse);
}
});
}
case CARACTERISTIQUEUNITELOGEMENT -> {
payloads.forEach(payLoad -> {
CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod = (CaracteristiqueUniteLogementPaylod) payLoad;
//caracteristiqueUniteLogementPaylod.setIdBackend(null);
CaracteristiqueUniteLogementPayload caracteristiqueUniteLogementPayload = (CaracteristiqueUniteLogementPayload) payLoad;
//caracteristiqueUniteLogementPayload.setIdBackend(null);
try {
MobileDataCaracteristiqueUniteLogement mobileDataCaracteristiqueUniteLogement = new MobileDataCaracteristiqueUniteLogement();
Optional<MobileDataCaracteristiqueUniteLogement> optionalMobileDataCaracteristiqueUniteLogement = Optional.empty();
if (caracteristiqueUniteLogementPaylod.getIdBackend() != null) {
optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findById(caracteristiqueUniteLogementPaylod.getIdBackend());
if (caracteristiqueUniteLogementPayload.getIdBackend() != null) {
optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findById(caracteristiqueUniteLogementPayload.getIdBackend());
if (optionalMobileDataCaracteristiqueUniteLogement.isPresent()) {
mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get();
}
} else {
optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueUniteLogementPaylod.getTerminalId(), caracteristiqueUniteLogementPaylod.getExternalKey());
optionalMobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.findFirstByTerminalIdAndExternalKey(caracteristiqueUniteLogementPayload.getTerminalId(), caracteristiqueUniteLogementPayload.getExternalKey());
if (optionalMobileDataCaracteristiqueUniteLogement.isPresent()) {
mobileDataCaracteristiqueUniteLogement = optionalMobileDataCaracteristiqueUniteLogement.get();
}
}
mobileDataCaracteristiqueUniteLogement.setTerminalId(caracteristiqueUniteLogementPaylod.getTerminalId());
mobileDataCaracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey());
mobileDataCaracteristiqueUniteLogement.setTerminalId(caracteristiqueUniteLogementPayload.getTerminalId());
mobileDataCaracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
mobileDataCaracteristiqueUniteLogement.setTraiter(false);
mobileDataCaracteristiqueUniteLogement.setCaracteristiqueUniteLogementPaylod(caracteristiqueUniteLogementPaylod);
mobileDataCaracteristiqueUniteLogement.setCaracteristiqueUniteLogementPayload(caracteristiqueUniteLogementPayload);
mobileDataCaracteristiqueUniteLogement = mobileDataCaracteristiqueUniteLogementRepository.save(mobileDataCaracteristiqueUniteLogement);
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation effectuée avec succès pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
syncResponse.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey());
syncResponse.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(true);
syncResponse.setIdBackend(mobileDataCaracteristiqueUniteLogement.getId());
syncResponses.add(syncResponse);
@@ -1004,9 +993,9 @@ public class SynchronisationServiceImpl implements SynchronisationService {
e.printStackTrace();
SyncResponse syncResponse = new SyncResponse();
syncResponse.setObservation("Synchronisation échouée pour " + TypeObjet.CARACTERISTIQUEUNITELOGEMENT.toString());
syncResponse.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey());
syncResponse.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
syncResponse.setSynchronise(false);
syncResponse.setIdBackend(caracteristiqueUniteLogementPaylod.getIdBackend());
syncResponse.setIdBackend(caracteristiqueUniteLogementPayload.getIdBackend());
syncResponses.add(syncResponse);
}
});

View File

@@ -1,40 +1,74 @@
package io.gmss.fiscad.interfaces.synchronisation;
import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.paylaods.response.restoration.*;
import io.gmss.fiscad.paylaods.request.*;
import io.gmss.fiscad.paylaods.response.restoration.TailleObjet;
//import io.gmss.fiscad.paylaods.response.restoration.*;
import java.util.List;
public interface RestaurationService {
List<ActeurConcernePayLoad> getActeurConcernes(Long terminaleId);
//List<ActeurConcernePayLoad> getActeurConcernes(Long terminaleId);
List<EnquetePayLoad> getEnquete(Long terminaleId, Long limit, Long offset) ;
List<EnquetePayLoad> getEnquete(Long terminaleId);
List<ActeurConcernePayLoad> getActeurConcernes(Long terminaleId, Long limit, Long offset) ;
List<PersonnePayLoad> getPersonne(Long terminaleId);
//List<EnquetePayLoad> getEnquete(Long terminaleId);
List<PersonnePayLoad> getPersonne(Long terminaleId, Long limit, Long offset) ;
List<ParcellePayLoad> getParcelle(Long terminaleId);
List<MembreGroupePayLoad> getMembreGroupe(Long terminaleId, Long limit, Long offset) ;
List<PiecePayLoad> getPieces(Long terminaleId);
List<MembreGroupePayLoad> getMembreGroupe(Long terminaleId);
//List<PersonnePayLoad> getPersonne(Long terminaleId);
List<io.gmss.fiscad.paylaods.request.UploadPayLoad> getUpload(Long terminaleId);
//List<ParcellePayLoad> getParcelle(Long terminaleId);
List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offset) ;
List<BatimentPayload> getBatiment(Long terminalId);
List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId);
//List<PiecePayLoad> getPieces(Long terminaleId);
List<PiecePayLoad> getPieces(Long terminaleId, Long limit, Long offset) ;
List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId);
List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId);
List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId);
//List<MembreGroupePayLoad> getMembreGroupe(Long terminaleId);
List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId);
// List<io.gmss.fiscad.paylaods.request.UploadPayLoad> getUpload(Long terminaleId);
List<UploadPayLoad> getUploads(Long terminaleId, Long limit, Long offset) ;
//List<BatimentPayload> getBatiment(Long terminalId);
public List<BatimentPaylaod> getBatiment(Long terminaleId, Long limit, Long offset);
//List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId);
public List<EnqueteBatimentPayload> getEnqueteBatiment(Long terminaleId, Long limit, Long offset);
//List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId);
public List<CaracteristiqueParcellePayload> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset);
//List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId);
public List<CaracteristiqueBatimentPayload> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset);
//List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId);
public List<CaracteristiqueUniteLogementPayload> getCaracateristiqueUniteLogement(Long terminaleId, Long limit, Long offset);
//List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId);
public List<EnqueteUniteLogementPayload> getEnqueteUniteLogement(Long terminaleId, Long limit, Long offset);
//List<UniteLogementPayLoad> getUniteLogement(Long terminalId);
public List<UniteLogementPayload> getUniteLogement(Long terminaleId, Long limit, Long offset);
List<UniteLogementPayLoad> getUniteLogement(Long terminalId);
public List<Tpe> getTpeListByCurrentUser();
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;
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.response.ReferencesSyncResponses;
import io.gmss.fiscad.paylaods.response.SyncEnqueteAllDataResponse;
@@ -23,13 +21,13 @@ public interface SynchronisationService {
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);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,19 @@
package io.gmss.fiscad.paylaods.response.restoration;
public interface TailleObjet {
public int getParcelle();
public int getEnquete();
public int getPiece();
public int getPersonne();
public int getMembregroupe();
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();
}

View File

@@ -4,6 +4,8 @@ import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -12,4 +14,7 @@ public interface MobileDataActeurConcerneRepository extends JpaRepository<Mobile
//Optional<MobileDataActeurConcerne> findByActeurConcernePayLoad_TerminalIdAndActeurConcernePayLoad_ExternalKey(Long terminalId,Long ExternalKey);
Optional<MobileDataActeurConcerne> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataActeurConcerne> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_acteur_concerne WHERE CAST(acteur_concerne_pay_load->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataActeurConcerne> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -2,7 +2,10 @@ package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -11,4 +14,8 @@ public interface MobileDataBatimentRepository extends JpaRepository<MobileDataBa
//Optional<MobileDataBatiment> findMobileDataBatimentByBatimentPaylaod_TerminalIdAndBatimentPaylaod_ExternalKey(Long terminalId, Long externalKey);
Optional<MobileDataBatiment> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@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);
}

View File

@@ -2,8 +2,11 @@ package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -13,4 +16,8 @@ public interface MobileDataCaracteristiqueBatimentRepository extends JpaReposito
Optional<MobileDataCaracteristiqueBatiment> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataCaracteristiqueBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_caracteristique_batiment WHERE CAST(caracteristique_batiment_payload ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataCaracteristiqueBatiment> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -2,8 +2,11 @@ package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -13,4 +16,7 @@ public interface MobileDataCaracteristiqueParcelleRepository extends JpaReposito
Optional<MobileDataCaracteristiqueParcelle> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataCaracteristiqueParcelle> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_caracteristique_parcelle WHERE CAST(caracteristique_parcelle_payload ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataCaracteristiqueParcelle> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -1,9 +1,12 @@
package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -13,4 +16,7 @@ public interface MobileDataCaracteristiqueUniteLogementRepository extends JpaRep
Optional<MobileDataCaracteristiqueUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataCaracteristiqueUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_caracteristique_unite_logement WHERE CAST(caracteristique_unite_logement_payload ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataCaracteristiqueUniteLogement> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -1,9 +1,12 @@
package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -13,4 +16,7 @@ public interface MobileDataEnqueteBatimentRepository extends JpaRepository<Mobil
Optional<MobileDataEnqueteBatiment> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataEnqueteBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_enquete_batiment WHERE CAST(enquete_batiment_payload ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataEnqueteBatiment> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -1,9 +1,14 @@
package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import io.gmss.fiscad.paylaods.response.restoration.EnquetePayLoad;
import io.gmss.fiscad.paylaods.response.restoration.TailleObjet;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -13,4 +18,26 @@ public interface MobileDataEnqueteRepository extends JpaRepository<MobileDataEnq
Optional<MobileDataEnquete> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataEnquete> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_enquete WHERE CAST(enquete_pay_load->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataEnquete> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
@Query(value = "SELECT" +
" (SELECT count(*) FROM mobile_data_enquete WHERE CAST(enquete_pay_load->>'terminalId' AS BIGINT) = :terminalId) as enquete," +
" (SELECT count(*) FROM mobile_data_parcelle WHERE CAST(parcelle_pay_load->>'terminalId' AS BIGINT) = :terminalId) as parcelle," +
" (SELECT count(*) FROM mobile_data_personne WHERE CAST(personne_pay_load->>'terminalId' AS BIGINT) = :terminalId) as personne," +
" (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_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)
TailleObjet calculateTailleEnqueteData(@Param("terminalId") Long terminalId);
}

View File

@@ -1,9 +1,12 @@
package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -13,4 +16,7 @@ public interface MobileDataEnqueteUniteLogementRepository extends JpaRepository<
Optional<MobileDataEnqueteUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataEnqueteUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM public.mobile_data_enquete_unite_logement WHERE CAST(enquete_unite_logement_payload ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataEnqueteUniteLogement> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -4,6 +4,8 @@ import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataMembreGroupe;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -13,4 +15,6 @@ public interface MobileDataMembreGroupeRepository extends JpaRepository<MobileDa
Optional<MobileDataMembreGroupe> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataMembreGroupe> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_membre_groupe WHERE CAST(membre_groupe_pay_load->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataMembreGroupe> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -5,6 +5,8 @@ import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.modelmapper.internal.bytebuddy.dynamic.DynamicType;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -14,4 +16,7 @@ public interface MobileDataParcelleRepository extends JpaRepository<MobileDataPa
Optional<MobileDataParcelle> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataParcelle> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_parcelle WHERE CAST(parcelle_pay_load->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataParcelle> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -5,6 +5,8 @@ import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
import org.modelmapper.internal.bytebuddy.dynamic.DynamicType;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -14,4 +16,6 @@ public interface MobileDataPersonneRepository extends JpaRepository<MobileDataPe
List<MobileDataPersonne> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
Optional<MobileDataPersonne> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey);
@Query(value = "SELECT * FROM mobile_data_personne WHERE CAST(personne_pay_load->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataPersonne> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -5,6 +5,8 @@ import io.gmss.fiscad.entities.metadata.MobileDataParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataPersonne;
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -14,4 +16,6 @@ public interface MobileDataPieceRepository extends JpaRepository<MobileDataPiece
List<MobileDataPiece> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
Optional<MobileDataPiece> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey);
@Query(value = "SELECT * FROM mobile_data_piece WHERE CAST(piece_pay_load->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataPiece> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
}

View File

@@ -1,9 +1,12 @@
package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataPiece;
import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -12,5 +15,7 @@ public interface MobileDataUniteLogementRepository extends JpaRepository<MobileD
//Optional<MobileDataUniteLogement> findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey);
List<MobileDataUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
Optional<MobileDataUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey);
@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);
}

View File

@@ -3,6 +3,8 @@ package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
import java.util.Optional;
@@ -12,4 +14,8 @@ public interface MobileDataUploadRepository extends JpaRepository<MobileDataUplo
List<MobileDataUpload> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
Optional<MobileDataUpload> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey);
@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);
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;
import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueBatiment;
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
import io.gmss.fiscad.entities.user.User;
import io.gmss.fiscad.enums.TypeObjet;
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod;
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPayload;
import io.gmss.fiscad.repositories.infocad.metier.*;
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueBatimentRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
import io.gmss.fiscad.repositories.rfu.metier.*;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
import io.gmss.fiscad.repositories.user.UserRepository;
import io.gmss.fiscad.service.LogService;
import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.Optional;
@@ -41,24 +30,24 @@ public class CaracteristiqueBatimentAsyncWorker {
private final LogService logService;
// @Async("caracteristiqueBatimentExecutor")
public void traitementAsyncCaracteristiqueBatiment(MobileDataCaracteristiqueBatiment mobileDataCaracteristiqueBatiment) {
CaracteristiqueBatimentPaylod caracteristiqueBatimentPaylod = mobileDataCaracteristiqueBatiment.getCaracteristiqueBatimentPaylod();
CaracteristiqueBatimentPayload caracteristiqueBatimentPayload = mobileDataCaracteristiqueBatiment.getCaracteristiqueBatimentPayload();
try {
if (caracteristiqueBatimentPaylod.getTerminalId() == null) {
if (caracteristiqueBatimentPayload.getTerminalId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueBatiment.getId());
return;
} else {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId());
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPayload.getTerminalId());
if (optionalTpe.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueBatiment.getId());
return;
}
}
if (caracteristiqueBatimentPaylod.getEnqueteBatimentId() == null) {
if (caracteristiqueBatimentPayload.getEnqueteBatimentId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "enquete non fourni : ", mobileDataCaracteristiqueBatiment.getId());
return;
} else {
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteBatimentId(), caracteristiqueBatimentPaylod.getTerminalId());
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPayload.getEnqueteBatimentId(), caracteristiqueBatimentPayload.getTerminalId());
if (optionalEnqueteBatiment.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEBATIMENT, "Problème de enquete batiment", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueBatiment.getId());
return;
@@ -66,7 +55,7 @@ public class CaracteristiqueBatimentAsyncWorker {
}
CaracteristiqueBatiment caracteristiqueBatiment = new CaracteristiqueBatiment();
caracteristiqueBatiment.setMobileDataId(mobileDataCaracteristiqueBatiment.getId());
caracteristiqueBatiment = getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(caracteristiqueBatiment, caracteristiqueBatimentPaylod);
caracteristiqueBatiment = getCaracteristiqueBatimentFromCaracteristiqueBatimentPayLoad(caracteristiqueBatiment, caracteristiqueBatimentPayload);
caracteristiqueBatimentRepository.save(caracteristiqueBatiment);
mobileDataCaracteristiqueBatiment.setTraiter(true);
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) {
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteBatimentId(), caracteristiqueBatimentPaylod.getTerminalId());
if (caracteristiqueBatimentPayload.getEnqueteBatimentId() != null) {
Optional<EnqueteBatiment> optionalEnqueteBatiment = enqueteBatimentRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPayload.getEnqueteBatimentId(), caracteristiqueBatimentPayload.getTerminalId());
caracteristiqueBatiment.setEnqueteBatiment(optionalEnqueteBatiment.orElse(null));
}
if (caracteristiqueBatimentPaylod.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueBatimentPaylod.getCaracteristiqueId());
if (caracteristiqueBatimentPayload.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueBatimentPayload.getCaracteristiqueId());
caracteristiqueBatiment.setCaracteristique(optionalCaracteristique.orElse(null));
}
if (caracteristiqueBatimentPaylod.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPaylod.getTerminalId());
if (caracteristiqueBatimentPayload.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueBatimentPayload.getTerminalId());
caracteristiqueBatiment.setTerminal(optionalTpe.orElse(null));
}
if (caracteristiqueBatimentPaylod.getTerminalId() != null && caracteristiqueBatimentPaylod.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPaylod.getEnqueteId(), caracteristiqueBatimentPaylod.getTerminalId());
if (caracteristiqueBatimentPayload.getTerminalId() != null && caracteristiqueBatimentPayload.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueBatimentPayload.getEnqueteId(), caracteristiqueBatimentPayload.getTerminalId());
if (optionalEnquete.isPresent()) {
caracteristiqueBatiment.setEnqueteId(optionalEnquete.get().getId());
}
}
caracteristiqueBatiment.setEnqueteBatimentExternalKey(caracteristiqueBatimentPaylod.getEnqueteBatimentId());
caracteristiqueBatiment.setEnqueteExternalKey(caracteristiqueBatimentPaylod.getEnqueteId());
caracteristiqueBatiment.setValeur(caracteristiqueBatimentPaylod.getValeur());
caracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPaylod.getExternalKey());
caracteristiqueBatiment.setEnqueteBatimentExternalKey(caracteristiqueBatimentPayload.getEnqueteBatimentId());
caracteristiqueBatiment.setEnqueteExternalKey(caracteristiqueBatimentPayload.getEnqueteId());
caracteristiqueBatiment.setValeur(caracteristiqueBatimentPayload.getValeur());
caracteristiqueBatiment.setExternalKey(caracteristiqueBatimentPayload.getExternalKey());
return caracteristiqueBatiment;
}

View File

@@ -1,29 +1,18 @@
package io.gmss.fiscad.service.worker;
import io.gmss.fiscad.entities.infocad.metier.Enquete;
import io.gmss.fiscad.entities.infocad.metier.Parcelle;
import io.gmss.fiscad.entities.infocad.metier.Tpe;
import io.gmss.fiscad.entities.infocad.parametre.Bloc;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueParcelle;
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
import io.gmss.fiscad.entities.rfu.parametre.ZoneRfu;
import io.gmss.fiscad.entities.user.User;
import io.gmss.fiscad.enums.TypeObjet;
import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePaylod;
import io.gmss.fiscad.paylaods.request.EnquetePayLoad;
import io.gmss.fiscad.paylaods.request.CaracteristiqueParcellePayload;
import io.gmss.fiscad.repositories.infocad.metier.*;
import io.gmss.fiscad.repositories.infocad.parametre.BlocRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueParcelleRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataEnqueteRepository;
import io.gmss.fiscad.repositories.rfu.metier.*;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
import io.gmss.fiscad.repositories.rfu.parametre.ZoneRfuRepository;
import io.gmss.fiscad.repositories.user.UserRepository;
import io.gmss.fiscad.service.LogService;
import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.Optional;
@@ -39,25 +28,25 @@ public class CaracteristiqueParcelleAsyncWorker {
private final LogService logService;
//@Async("caracteristiqueParcelleExecutor")
public void traitementAsyncCaracteristiqueParcelle(MobileDataCaracteristiqueParcelle mobileDataCaracteristiqueParcelle) {
CaracteristiqueParcellePaylod caracteristiqueParcellePaylod = mobileDataCaracteristiqueParcelle.getCaracteristiqueParcellePaylod();
CaracteristiqueParcellePayload caracteristiqueParcellePayload = mobileDataCaracteristiqueParcelle.getCaracteristiqueParcellePayload();
try {
if (caracteristiqueParcellePaylod.getTerminalId() == null) {
if (caracteristiqueParcellePayload.getTerminalId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueParcelle.getId());
return;
} else {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId());
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePayload.getTerminalId());
if (optionalTpe.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueParcelle.getId());
return;
}
}
if (caracteristiqueParcellePaylod.getEnqueteId() == null) {
if (caracteristiqueParcellePayload.getEnqueteId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "enquete non fourni : ", mobileDataCaracteristiqueParcelle.getId());
return;
} else {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePaylod.getEnqueteId(), caracteristiqueParcellePaylod.getTerminalId());
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePayload.getEnqueteId(), caracteristiqueParcellePayload.getTerminalId());
if (optionalEnquete.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEPARCELLE, "Problème de enquete", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueParcelle.getId());
return;
@@ -65,7 +54,7 @@ public class CaracteristiqueParcelleAsyncWorker {
}
CaracteristiqueParcelle caracteristiqueParcelle = new CaracteristiqueParcelle();
caracteristiqueParcelle.setMobileDataId(mobileDataCaracteristiqueParcelle.getId());
caracteristiqueParcelle = getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(caracteristiqueParcelle, caracteristiqueParcellePaylod);
caracteristiqueParcelle = getCaracteristiqueParcelleFromCaracteristiqueParcellePayLoad(caracteristiqueParcelle, caracteristiqueParcellePayload);
caracteristiqueParcelleRepository.save(caracteristiqueParcelle);
mobileDataCaracteristiqueParcelle.setTraiter(true);
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) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePaylod.getEnqueteId(), caracteristiqueParcellePaylod.getTerminalId());
if (caracteristiqueParcellePayload.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueParcellePayload.getEnqueteId(), caracteristiqueParcellePayload.getTerminalId());
caracteristiqueParcelle.setEnquete(optionalEnquete.orElse(null));
}
if (caracteristiqueParcellePaylod.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueParcellePaylod.getCaracteristiqueId());
if (caracteristiqueParcellePayload.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueParcellePayload.getCaracteristiqueId());
caracteristiqueParcelle.setCaracteristique(optionalCaracteristique.orElse(null));
}
if (caracteristiqueParcellePaylod.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePaylod.getTerminalId());
if (caracteristiqueParcellePayload.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueParcellePayload.getTerminalId());
caracteristiqueParcelle.setTerminal(optionalTpe.orElse(null));
}
caracteristiqueParcelle.setEnqueteExternalKey(caracteristiqueParcellePaylod.getEnqueteId());
caracteristiqueParcelle.setValeur(caracteristiqueParcellePaylod.getValeur());
caracteristiqueParcelle.setExternalKey(caracteristiqueParcellePaylod.getExternalKey());
caracteristiqueParcelle.setEnqueteExternalKey(caracteristiqueParcellePayload.getEnqueteId());
caracteristiqueParcelle.setValeur(caracteristiqueParcellePayload.getValeur());
caracteristiqueParcelle.setExternalKey(caracteristiqueParcellePayload.getExternalKey());
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.Tpe;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueBatiment;
import io.gmss.fiscad.entities.rfu.metier.CaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.rfu.metier.EnqueteBatiment;
import io.gmss.fiscad.entities.rfu.metier.EnqueteUniteLogement;
import io.gmss.fiscad.entities.rfu.parametre.Caracteristique;
import io.gmss.fiscad.enums.TypeObjet;
import io.gmss.fiscad.paylaods.request.CaracteristiqueBatimentPaylod;
import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPaylod;
import io.gmss.fiscad.paylaods.request.CaracteristiqueUniteLogementPayload;
import io.gmss.fiscad.repositories.infocad.metier.EnqueteRepository;
import io.gmss.fiscad.repositories.infocad.metier.TpeRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueBatimentRepository;
import io.gmss.fiscad.repositories.metadata.MobileDataCaracteristiqueUniteLogementRepository;
import io.gmss.fiscad.repositories.rfu.metier.CaracteristiqueBatimentRepository;
import io.gmss.fiscad.repositories.rfu.metier.CaracteristiqueUniteLogementRepository;
import io.gmss.fiscad.repositories.rfu.metier.EnqueteBatimentRepository;
import io.gmss.fiscad.repositories.rfu.metier.EnqueteUniteLogementRepository;
import io.gmss.fiscad.repositories.rfu.parametre.CaracteristiqueRepository;
import io.gmss.fiscad.service.LogService;
import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.Optional;
@@ -41,24 +34,24 @@ public class CaracteristiqueUniteLogementAsyncWorker {
private final LogService logService;
//@Async("caracteristiqueUniteLogementExecutor")
public void traitementAsyncCaracteristiqueUniteLogement(MobileDataCaracteristiqueUniteLogement mobileDataCaracteristiqueUniteLogement) {
CaracteristiqueUniteLogementPaylod caracteristiqueUniteLogementPaylod = mobileDataCaracteristiqueUniteLogement.getCaracteristiqueUniteLogementPaylod();
CaracteristiqueUniteLogementPayload caracteristiqueUniteLogementPayload = mobileDataCaracteristiqueUniteLogement.getCaracteristiqueUniteLogementPayload();
try {
if (caracteristiqueUniteLogementPaylod.getTerminalId() == null) {
if (caracteristiqueUniteLogementPayload.getTerminalId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal non fourni : ", mobileDataCaracteristiqueUniteLogement.getId());
return;
} else {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId());
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPayload.getTerminalId());
if (optionalTpe.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de terminal", "terminal inexistant : ", mobileDataCaracteristiqueUniteLogement.getId());
return;
}
}
if (caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId() == null) {
if (caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId() == null) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "enquete non fourni : ", mobileDataCaracteristiqueUniteLogement.getId());
return;
} else {
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPaylod.getTerminalId());
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPayload.getTerminalId());
if (optionalEnqueteUniteLogement.isEmpty()) {
logService.logTraiementAsync(TypeObjet.CARACTERISTIQUEUNITELOGEMENT, "Problème de enquete unite logement", "L'enquete précisée n'existe pas : ", mobileDataCaracteristiqueUniteLogement.getId());
return;
@@ -66,7 +59,7 @@ public class CaracteristiqueUniteLogementAsyncWorker {
}
CaracteristiqueUniteLogement caracteristiqueUniteLogement = new CaracteristiqueUniteLogement();
caracteristiqueUniteLogement.setMobileDataId(mobileDataCaracteristiqueUniteLogement.getId());
caracteristiqueUniteLogement = getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(caracteristiqueUniteLogement, caracteristiqueUniteLogementPaylod);
caracteristiqueUniteLogement = getCaracteristiqueUniteLogementFromCaracteristiqueUniteLogementPayLoad(caracteristiqueUniteLogement, caracteristiqueUniteLogementPayload);
caracteristiqueUniteLogementRepository.save(caracteristiqueUniteLogement);
mobileDataCaracteristiqueUniteLogement.setTraiter(true);
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) {
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPaylod.getTerminalId());
if (caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId() != null) {
Optional<EnqueteUniteLogement> optionalEnqueteUniteLogement = enqueteUniteLogementRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId(), caracteristiqueUniteLogementPayload.getTerminalId());
caracteristiqueUniteLogement.setEnqueteUniteLogement(optionalEnqueteUniteLogement.orElse(null));
}
if (caracteristiqueUniteLogementPaylod.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueUniteLogementPaylod.getCaracteristiqueId());
if (caracteristiqueUniteLogementPayload.getCaracteristiqueId() != null) {
Optional<Caracteristique> optionalCaracteristique = caracteristiqueRepository.findById(caracteristiqueUniteLogementPayload.getCaracteristiqueId());
caracteristiqueUniteLogement.setCaracteristique(optionalCaracteristique.orElse(null));
}
if (caracteristiqueUniteLogementPaylod.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPaylod.getTerminalId());
if (caracteristiqueUniteLogementPayload.getTerminalId() != null) {
Optional<Tpe> optionalTpe = tpeRepository.findById(caracteristiqueUniteLogementPayload.getTerminalId());
caracteristiqueUniteLogement.setTerminal(optionalTpe.orElse(null));
}
if (caracteristiqueUniteLogementPaylod.getTerminalId() != null && caracteristiqueUniteLogementPaylod.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPaylod.getEnqueteId(), caracteristiqueUniteLogementPaylod.getTerminalId());
if (caracteristiqueUniteLogementPayload.getTerminalId() != null && caracteristiqueUniteLogementPayload.getEnqueteId() != null) {
Optional<Enquete> optionalEnquete = enqueteRepository.findFirstByExternalKeyAndTerminal_Id(caracteristiqueUniteLogementPayload.getEnqueteId(), caracteristiqueUniteLogementPayload.getTerminalId());
if (optionalEnquete.isPresent()) {
caracteristiqueUniteLogement.setEnqueteId(optionalEnquete.get().getId());
}
}
caracteristiqueUniteLogement.setEnqueteExternalKey(caracteristiqueUniteLogementPaylod.getEnqueteId());
caracteristiqueUniteLogement.setEnqueteUniteLogementExternalKey(caracteristiqueUniteLogementPaylod.getEnqueteUniteLogementId());
caracteristiqueUniteLogement.setValeur(caracteristiqueUniteLogementPaylod.getValeur());
caracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPaylod.getExternalKey());
caracteristiqueUniteLogement.setEnqueteExternalKey(caracteristiqueUniteLogementPayload.getEnqueteId());
caracteristiqueUniteLogement.setEnqueteUniteLogementExternalKey(caracteristiqueUniteLogementPayload.getEnqueteUniteLogementId());
caracteristiqueUniteLogement.setValeur(caracteristiqueUniteLogementPayload.getValeur());
caracteristiqueUniteLogement.setExternalKey(caracteristiqueUniteLogementPayload.getExternalKey());
return caracteristiqueUniteLogement;
}
}

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 295 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Some files were not shown because too many files have changed in this diff Show More