diff --git a/secrets/postgresPassword.txt b/secrets/postgresPassword.txt new file mode 100644 index 0000000..6cce4a9 --- /dev/null +++ b/secrets/postgresPassword.txt @@ -0,0 +1 @@ +W5fwD({9*q53 \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/implementations/synchronisation/RestaurationServiceImpl.java b/src/main/java/io/gmss/fiscad/implementations/synchronisation/RestaurationServiceImpl.java index ea24f89..5779aa6 100644 --- a/src/main/java/io/gmss/fiscad/implementations/synchronisation/RestaurationServiceImpl.java +++ b/src/main/java/io/gmss/fiscad/implementations/synchronisation/RestaurationServiceImpl.java @@ -1,10 +1,16 @@ 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.request.BatimentPaylaod; +//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.*; @@ -18,6 +24,8 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Base64; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -32,6 +40,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,78 +49,136 @@ 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; + + +// @Override +// public List getActeurConcernes(Long terminaleId) { +// return acteurConcerneRepository.getActeurConcerneByTerminalId(terminaleId); +// } + +// @Override +// public List getEnquete(Long terminaleId) { +// return enqueteRepository.getEnqueteByTerminalId(terminaleId); +// } + + @Override + public List 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 getActeurConcernes(Long terminaleId) { - return acteurConcerneRepository.getActeurConcerneByTerminalId(terminaleId); + public List 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 getPersonne(Long terminaleId) { +// return personneRepository.getPersonnesByTerminalId(terminaleId); +// } + + @Override + public List 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 getEnquete(Long terminaleId) { + public List 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 getParcelle(Long terminaleId) { +// +// return parcelleRepository.getParcellesByTerminalId(terminaleId); +// } +@Override +public List 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 getPieces(Long terminaleId) { +// return pieceRepository.getPiecesByTerminalId(terminaleId); +// } + + @Override + public List 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 getPersonne(Long terminaleId) { - return personneRepository.getPersonnesByTerminalId(terminaleId); + public List getUploads(Long terminaleId, Long limit, Long offset) { + List mobileDataUploads = mobileDataUploadRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset); + return getUploadPayLoads(mobileDataUploads); } - @Override - public List getParcelle(Long terminaleId) { +// @Override +// public List getBatiment(Long terminalId) { +// return batimentRepository.getBatimentByTerminalId(terminalId); +// } - return parcelleRepository.getParcellesByTerminalId(terminaleId); + @Override + public List 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 getPieces(Long terminaleId) { +// @Override +// public List getEnqueteBatiment(Long terminalId) { +// return enqueteBatimentRepository.getEnqueteBatimentByTerminalId(terminalId); +// } - return pieceRepository.getPiecesByTerminalId(terminaleId); - } @Override - public List getMembreGroupe(Long terminaleId) { + public List getEnqueteBatiment(Long terminaleId, Long limit, Long offset) { - return membreGroupeRepository.getMembreGroupeByTerminalId(terminaleId); - } - - @Override - public List getUpload(Long terminaleId) { - List uploadPayLoads = uploadRepository.getUploadByTerminalId(terminaleId); - - List 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 getBatiment(Long terminalId) { - return batimentRepository.getBatimentByTerminalId(terminalId); - } - - @Override - public List getEnqueteBatiment(Long terminalId) { - return enqueteBatimentRepository.getEnqueteBatimentByTerminalId(terminalId); + return mobileDataEnqueteBatimentRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset) + .stream() + .map(MobileDataEnqueteBatiment::getEnqueteBatimentPayload) + .filter(Objects::nonNull) + .collect(Collectors.toList()); } @Override @@ -164,4 +231,23 @@ public class RestaurationServiceImpl implements RestaurationService { } } + + @Override + public TailleObjet getTailleObjetByTerminalId(Long terminalId) { + return mobileDataEnqueteRepository.calculateTailleEnqueteData(terminalId); + } + + + private List getUploadPayLoads(List 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()); + } } diff --git a/src/main/java/io/gmss/fiscad/interfaces/synchronisation/RestaurationService.java b/src/main/java/io/gmss/fiscad/interfaces/synchronisation/RestaurationService.java index af5063d..0ee1318 100644 --- a/src/main/java/io/gmss/fiscad/interfaces/synchronisation/RestaurationService.java +++ b/src/main/java/io/gmss/fiscad/interfaces/synchronisation/RestaurationService.java @@ -1,29 +1,47 @@ 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.entities.metadata.MobileDataEnquete; +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 getActeurConcernes(Long terminaleId); + //List getActeurConcernes(Long terminaleId); + List getEnquete(Long terminaleId, Long limit, Long offset) ; - List getEnquete(Long terminaleId); + List getActeurConcernes(Long terminaleId, Long limit, Long offset) ; - List getPersonne(Long terminaleId); + //List getEnquete(Long terminaleId); + List getPersonne(Long terminaleId, Long limit, Long offset) ; - List getParcelle(Long terminaleId); + List getMembreGroupe(Long terminaleId, Long limit, Long offset) ; - List getPieces(Long terminaleId); - List getMembreGroupe(Long terminaleId); + //List getPersonne(Long terminaleId); - List getUpload(Long terminaleId); + //List getParcelle(Long terminaleId); + List getParcelle(Long terminaleId, Long limit, Long offset) ; - List getBatiment(Long terminalId); - List getEnqueteBatiment(Long terminalId); + //List getPieces(Long terminaleId); + List getPieces(Long terminaleId, Long limit, Long offset) ; + + + + //List getMembreGroupe(Long terminaleId); + + // List getUpload(Long terminaleId); + List getUploads(Long terminaleId, Long limit, Long offset) ; + + //List getBatiment(Long terminalId); + public List getBatiment(Long terminaleId, Long limit, Long offset) + + //List getEnqueteBatiment(Long terminalId); + public List getEnqueteBatiment(Long terminaleId, Long limit, Long offset) List getCaracateristiqueParcelle(Long terminalId); @@ -37,4 +55,6 @@ public interface RestaurationService { public List getTpeListByCurrentUser(); + TailleObjet getTailleObjetByTerminalId(Long terminalId); + } \ No newline at end of file diff --git a/src/main/java/io/gmss/fiscad/paylaods/response/restoration/TailleObjet.java b/src/main/java/io/gmss/fiscad/paylaods/response/restoration/TailleObjet.java new file mode 100644 index 0000000..a8802cf --- /dev/null +++ b/src/main/java/io/gmss/fiscad/paylaods/response/restoration/TailleObjet.java @@ -0,0 +1,12 @@ +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 getUpload(); +} + diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataActeurConcerneRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataActeurConcerneRepository.java index 461c410..35474ed 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataActeurConcerneRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataActeurConcerneRepository.java @@ -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 findByActeurConcernePayLoad_TerminalIdAndActeurConcernePayLoad_ExternalKey(Long terminalId,Long ExternalKey); Optional findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); List 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 findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataBatimentRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataBatimentRepository.java index e57dc69..f9fb453 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataBatimentRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataBatimentRepository.java @@ -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 findMobileDataBatimentByBatimentPaylaod_TerminalIdAndBatimentPaylaod_ExternalKey(Long terminalId, Long externalKey); Optional findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); List findAllByTraiterIsFalseAndTerminalId(Long TerminalId); + + @Query(value = "SELECT * FROM mobile_data_batiment WHERE CAST(batiment_paylaod ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true) + List findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); + } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteBatimentRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteBatimentRepository.java index 32b6925..66487fd 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteBatimentRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteBatimentRepository.java @@ -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 findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); List 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 findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); + } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteRepository.java index 45fd3fb..26c9d52 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataEnqueteRepository.java @@ -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,17 @@ public interface MobileDataEnqueteRepository extends JpaRepository findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); List 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 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_upload WHERE CAST(upload_pay_load->>'terminalId' AS BIGINT) = :terminalId) as upload", nativeQuery = true) + TailleObjet calculateTailleEnqueteData(@Param("terminalId") Long terminalId); } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataMembreGroupeRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataMembreGroupeRepository.java index a6cb61d..4647fbc 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataMembreGroupeRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataMembreGroupeRepository.java @@ -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 findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); List 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 findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataParcelleRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataParcelleRepository.java index 653afe7..6725b42 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataParcelleRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataParcelleRepository.java @@ -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 findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); List 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 findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPersonneRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPersonneRepository.java index 8d1ed6d..e8c376c 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPersonneRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPersonneRepository.java @@ -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 findAllByTraiterIsFalseAndTerminalId(Long TerminalId); Optional 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 findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPieceRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPieceRepository.java index b83a74d..df877c7 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPieceRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataPieceRepository.java @@ -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 findAllByTraiterIsFalseAndTerminalId(Long TerminalId); Optional 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 findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); } diff --git a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUploadRepository.java b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUploadRepository.java index c27e3a6..6815a22 100755 --- a/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUploadRepository.java +++ b/src/main/java/io/gmss/fiscad/repositories/metadata/MobileDataUploadRepository.java @@ -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,6 @@ public interface MobileDataUploadRepository extends JpaRepository findAllByTraiterIsFalseAndTerminalId(Long TerminalId); Optional 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 findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset); } diff --git a/uploads/89b760d76fe84f1ca3074b644469cfe1.jpeg b/uploads/89b760d76fe84f1ca3074b644469cfe1.jpeg new file mode 100644 index 0000000..0595930 Binary files /dev/null and b/uploads/89b760d76fe84f1ca3074b644469cfe1.jpeg differ diff --git a/uploads/e4386ce588e1415c88430b05d3e44e41.jpeg b/uploads/e4386ce588e1415c88430b05d3e44e41.jpeg new file mode 100644 index 0000000..d32a9bd Binary files /dev/null and b/uploads/e4386ce588e1415c88430b05d3e44e41.jpeg differ diff --git a/uploads/e76306474cdb4ac0a7051193228a6187.jpeg b/uploads/e76306474cdb4ac0a7051193228a6187.jpeg new file mode 100644 index 0000000..0595930 Binary files /dev/null and b/uploads/e76306474cdb4ac0a7051193228a6187.jpeg differ