gestion restauration

This commit is contained in:
2026-06-05 12:18:11 +01:00
parent 641e46fcee
commit ca1804ff8f
7 changed files with 118 additions and 21 deletions

View File

@@ -57,6 +57,12 @@ public class RestaurationServiceImpl implements RestaurationService {
private final MobileDataUploadRepository mobileDataUploadRepository; private final MobileDataUploadRepository mobileDataUploadRepository;
private final MobileDataBatimentRepository mobileDataBatimentRepository; private final MobileDataBatimentRepository mobileDataBatimentRepository;
private final MobileDataEnqueteBatimentRepository mobileDataEnqueteBatimentRepository; 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 // @Override
@@ -181,35 +187,85 @@ public List<ParcellePayLoad> getParcelle(Long terminaleId, Long limit, Long offs
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@Override // @Override
public List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId) { // public List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId) {
return caracteristiqueParcelleRepository.getCaracteristiqueParcelleByTerminalId(terminalId); // return caracteristiqueParcelleRepository.getCaracteristiqueParcelleByTerminalId(terminalId);
} // }
@Override @Override
public List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId) { public List<CaracteristiqueParcellePaylod> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset) {
return caracteristiqueBatimentRepository.getCaracteristiqueBatimentByTerminalId(terminalId);
return mobileDataCaracteristiqueParcelleRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataCaracteristiqueParcelle::getCaracteristiqueParcellePaylod)
.filter(Objects::nonNull)
.collect(Collectors.toList());
} }
@Override
public List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId) { // @Override
return caracteristiqueUniteLogementRepository.getCaracteristiqueUniteLogementByTerminalId(terminalId); // public List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId) {
} // return caracteristiqueBatimentRepository.getCaracteristiqueBatimentByTerminalId(terminalId);
// }
@Override @Override
public List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId) { public List<CaracteristiqueBatimentPaylod> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset) {
return enqueteUniteLogementRepository.getEnqueteUniteLogementByTerminalId(terminalId);
return mobileDataCaracteristiqueBatimentRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataCaracteristiqueBatiment::getCaracteristiqueBatimentPaylod)
.filter(Objects::nonNull)
.collect(Collectors.toList());
} }
// @Override
// public List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId) {
// return caracteristiqueUniteLogementRepository.getCaracteristiqueUniteLogementByTerminalId(terminalId);
// }
@Override @Override
public List<UniteLogementPayLoad> getUniteLogement(Long terminalId) { public List<CaracteristiqueUniteLogementPaylod> getCaracateristiqueUniteLogement(Long terminaleId, Long limit, Long offset) {
return uniteLogementRepository.getUniteLogementByTerminalId(terminalId);
return mobileDataCaracteristiqueUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataCaracteristiqueUniteLogement::getCaracteristiqueUniteLogementPaylod)
.filter(Objects::nonNull)
.collect(Collectors.toList());
}
// @Override
// public List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId) {
// return enqueteUniteLogementRepository.getEnqueteUniteLogementByTerminalId(terminalId);
// }
@Override
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<UniteLogementPayLoad> getUniteLogement(Long terminalId) {
// return uniteLogementRepository.getUniteLogementByTerminalId(terminalId);
// }
@Override
public List<UniteLogementPaylaod> getUniteLogement(Long terminaleId, Long limit, Long offset) {
return mobileDataUniteLogementRepository.findAllByTerminalIdIgnoreIfTreatedPaged(terminaleId, limit, offset)
.stream()
.map(MobileDataUniteLogement::getUniteLogementPaylaod)
.filter(Objects::nonNull)
.collect(Collectors.toList());
} }
private String getUploadFile(UploadPayLoad uploadPayLoad) { private String getUploadFile(UploadPayLoad uploadPayLoad) {
try { try {
Resource resource = fileStorageService.loadFileAsResource(uploadPayLoad.getFileBackendName()); Resource resource = fileStorageService.loadFileAsResource(uploadPayLoad.getName());
final var bytes = resource.getInputStream().readAllBytes(); final var bytes = resource.getInputStream().readAllBytes();
return Base64.getEncoder().encodeToString(bytes); return Base64.getEncoder().encodeToString(bytes);
} catch (Exception e) { } catch (Exception e) {

View File

@@ -43,15 +43,26 @@ public interface RestaurationService {
//List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId); //List<EnqueteBatimentPayLoad> getEnqueteBatiment(Long terminalId);
public List<EnqueteBatimentPayload> getEnqueteBatiment(Long terminaleId, Long limit, Long offset) public List<EnqueteBatimentPayload> getEnqueteBatiment(Long terminaleId, Long limit, Long offset)
List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId); //List<CaracateristiqueParcellePayLoads> getCaracateristiqueParcelle(Long terminalId);
public List<CaracteristiqueParcellePaylod> getCaracateristiqueParcelle(Long terminaleId, Long limit, Long offset)
List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId);
List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId); //List<CaracateristiqueBatimentPayLoads> getCaracateristiqueBatiment(Long terminalId);
public List<CaracteristiqueBatimentPaylod> getCaracateristiqueBatiment(Long terminaleId, Long limit, Long offset)
List<EnqueteUniteLogementPayLoad> getEnqueteUniteLogement(Long terminalId);
List<UniteLogementPayLoad> getUniteLogement(Long terminalId); //List<CaracteristiqueUniteLogementPayLoad> getCaracateristiqueUniteLogement(Long terminalId);
public List<CaracteristiqueUniteLogementPaylod> 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<UniteLogementPaylaod> getUniteLogement(Long terminaleId, Long limit, Long offset)
public List<Tpe> getTpeListByCurrentUser(); public List<Tpe> getTpeListByCurrentUser();

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.MobileDataBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment; import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataUpload; import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@@ -13,4 +16,8 @@ public interface MobileDataCaracteristiqueBatimentRepository extends JpaReposito
Optional<MobileDataCaracteristiqueBatiment> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); Optional<MobileDataCaracteristiqueBatiment> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataCaracteristiqueBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId); List<MobileDataCaracteristiqueBatiment> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_caracteristique_batiment WHERE CAST(caracteristique_batiment_paylod ->>'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.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle; import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataUpload; import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@@ -13,4 +16,7 @@ public interface MobileDataCaracteristiqueParcelleRepository extends JpaReposito
Optional<MobileDataCaracteristiqueParcelle> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); Optional<MobileDataCaracteristiqueParcelle> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataCaracteristiqueParcelle> findAllByTraiterIsFalseAndTerminalId(Long TerminalId); 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; package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueBatiment;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle; import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueParcelle;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement; import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataUpload; import io.gmss.fiscad.entities.metadata.MobileDataUpload;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@@ -13,4 +16,7 @@ public interface MobileDataCaracteristiqueUniteLogementRepository extends JpaRep
Optional<MobileDataCaracteristiqueUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); Optional<MobileDataCaracteristiqueUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataCaracteristiqueUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId); List<MobileDataCaracteristiqueUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
@Query(value = "SELECT * FROM mobile_data_caracteristique_unite_logement WHERE CAST(caracteristique_unite_logement_paylod ->>'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; package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataEnquete; import io.gmss.fiscad.entities.metadata.MobileDataEnquete;
import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement; import io.gmss.fiscad.entities.metadata.MobileDataEnqueteUniteLogement;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@@ -13,4 +16,7 @@ public interface MobileDataEnqueteUniteLogementRepository extends JpaRepository<
Optional<MobileDataEnqueteUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey); Optional<MobileDataEnqueteUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId,Long ExternalKey);
List<MobileDataEnqueteUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId); 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

@@ -1,9 +1,12 @@
package io.gmss.fiscad.repositories.metadata; package io.gmss.fiscad.repositories.metadata;
import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne; import io.gmss.fiscad.entities.metadata.MobileDataActeurConcerne;
import io.gmss.fiscad.entities.metadata.MobileDataCaracteristiqueUniteLogement;
import io.gmss.fiscad.entities.metadata.MobileDataPiece; import io.gmss.fiscad.entities.metadata.MobileDataPiece;
import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement; import io.gmss.fiscad.entities.metadata.MobileDataUniteLogement;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@@ -12,5 +15,7 @@ public interface MobileDataUniteLogementRepository extends JpaRepository<MobileD
//Optional<MobileDataUniteLogement> findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey); //Optional<MobileDataUniteLogement> findByUniteLogementPaylaod_TerminalIdAndUniteLogementPaylaod_ExternalKey(Long terminalId,Long externalKey);
List<MobileDataUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId); List<MobileDataUniteLogement> findAllByTraiterIsFalseAndTerminalId(Long TerminalId);
Optional<MobileDataUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey); Optional<MobileDataUniteLogement> findFirstByTerminalIdAndExternalKey(Long terminalId, Long ExternalKey);
@Query(value = "SELECT * FROM mobile_data_unite_logement WHERE CAST(unite_logement_paylaod ->>'terminalId' AS BIGINT) = :terminalId limit :limit offset :offset", nativeQuery = true)
List<MobileDataUniteLogement> findAllByTerminalIdIgnoreIfTreatedPaged(@Param("terminalId") Long terminalId, @Param("limit") Long limit, @Param("offset") Long offset);
} }