Merge branch 'RED-9180-layout' into 'release/2.262.x'
RED-9180 - Also trigger a layout parsing when migrating non approved files See merge request redactmanager/persistence-service!501
This commit is contained in:
commit
f02f70ea39
@ -1,17 +1,21 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.migration;
|
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.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||||
import org.springframework.stereotype.Service;
|
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.DossierEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
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.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.DossierRepository;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository;
|
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;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
@ -23,17 +27,29 @@ public class ReanalyzeNonApprovedFilesService {
|
|||||||
private final FileRepository fileRepository;
|
private final FileRepository fileRepository;
|
||||||
private final ReanalysisService reanalysisService;
|
private final ReanalysisService reanalysisService;
|
||||||
|
|
||||||
|
private final LayoutParsingRequestFactory layoutParsingRequestFactory;
|
||||||
|
private final RabbitTemplate rabbitTemplate;
|
||||||
|
|
||||||
|
|
||||||
public void reanalyzeNonApprovedFiles() {
|
public void reanalyzeNonApprovedFiles() {
|
||||||
|
|
||||||
List<DossierEntity> dossierEntities = dossierRepository.findAll();
|
List<DossierEntity> dossierEntities = dossierRepository.findAll();
|
||||||
dossierEntities.stream().filter(dossier -> !dossier.isDeleted()).forEach(dossierEntity -> {
|
dossierEntities.stream()
|
||||||
Set<String> unapprovedFilesByDossierIds = fileRepository.findByDossierIdAndWorkflowStatusNotApproved(dossierEntity.getId()).stream()
|
.filter(dossier -> !dossier.isDeleted())
|
||||||
.filter(fileEntity -> !fileEntity.isSoftOrHardDeleted())
|
.forEach(dossierEntity -> {
|
||||||
.map(FileEntity::getId)
|
Set<String> unapprovedFilesByDossierIds = fileRepository.findByDossierIdAndWorkflowStatusNotApproved(dossierEntity.getId())
|
||||||
.collect(Collectors.toSet());
|
.stream()
|
||||||
reanalysisService.reanalyzeFiles(dossierEntity.getId(), unapprovedFilesByDossierIds, true);
|
.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);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user