diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/ReanalyzeNonApprovedFilesService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/ReanalyzeNonApprovedFilesService.java index c735477e6..606bf6da6 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/ReanalyzeNonApprovedFilesService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/ReanalyzeNonApprovedFilesService.java @@ -1,17 +1,21 @@ package com.iqser.red.service.persistence.management.v1.processor.migration; +import static com.knecon.fforesight.service.layoutparser.internal.api.queue.LayoutParsingQueueNames.LAYOUT_PARSING_REQUEST_QUEUE; + import java.util.List; import java.util.Set; import java.util.stream.Collectors; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.stereotype.Service; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity; import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity; import com.iqser.red.service.persistence.management.v1.processor.service.ReanalysisService; +import com.iqser.red.service.persistence.management.v1.processor.service.layoutparsing.LayoutParsingRequestFactory; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository; -import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus; +import com.knecon.fforesight.service.layoutparser.internal.api.queue.LayoutParsingRequest; import lombok.RequiredArgsConstructor; @@ -23,17 +27,29 @@ public class ReanalyzeNonApprovedFilesService { private final FileRepository fileRepository; private final ReanalysisService reanalysisService; + private final LayoutParsingRequestFactory layoutParsingRequestFactory; + private final RabbitTemplate rabbitTemplate; + public void reanalyzeNonApprovedFiles() { List dossierEntities = dossierRepository.findAll(); - dossierEntities.stream().filter(dossier -> !dossier.isDeleted()).forEach(dossierEntity -> { - Set unapprovedFilesByDossierIds = fileRepository.findByDossierIdAndWorkflowStatusNotApproved(dossierEntity.getId()).stream() - .filter(fileEntity -> !fileEntity.isSoftOrHardDeleted()) - .map(FileEntity::getId) - .collect(Collectors.toSet()); - reanalysisService.reanalyzeFiles(dossierEntity.getId(), unapprovedFilesByDossierIds, true); - }); + dossierEntities.stream() + .filter(dossier -> !dossier.isDeleted()) + .forEach(dossierEntity -> { + Set unapprovedFilesByDossierIds = fileRepository.findByDossierIdAndWorkflowStatusNotApproved(dossierEntity.getId()) + .stream() + .filter(fileEntity -> !fileEntity.isSoftOrHardDeleted()) + .map(FileEntity::getId) + .collect(Collectors.toSet()); + + unapprovedFilesByDossierIds.forEach(id -> { + LayoutParsingRequest layoutParsingRequest = layoutParsingRequestFactory.build(dossierEntity.getId(), id, false); + rabbitTemplate.convertAndSend(LAYOUT_PARSING_REQUEST_QUEUE, layoutParsingRequest); + }); + + reanalysisService.reanalyzeFiles(dossierEntity.getId(), unapprovedFilesByDossierIds, true); + }); } } \ No newline at end of file