diff --git a/persistence-service-v1/persistence-service-processor-v1/build.gradle.kts b/persistence-service-v1/persistence-service-processor-v1/build.gradle.kts index d19937d80..6f3a6a4f0 100644 --- a/persistence-service-v1/persistence-service-processor-v1/build.gradle.kts +++ b/persistence-service-v1/persistence-service-processor-v1/build.gradle.kts @@ -38,10 +38,7 @@ dependencies { exclude(group = "com.iqser.red.service", module = "persistence-service-internal-api-v1") exclude(group = "com.iqser.red.service", module = "persistence-service-shared-api-v1") } - api("com.knecon.fforesight.service:ocr-service-api:4.24.0") { - exclude(group = "com.iqser.red.service", module = "persistence-service-internal-api-v1") - exclude(group = "com.iqser.red.service", module = "persistence-service-shared-api-v1") - } + api("com.knecon.fforesight:azure-ocr-service-api:0.13.0") implementation("com.knecon.fforesight:llm-service-api:1.17.0") api("com.knecon.fforesight:jobs-commons:0.10.0") api("com.iqser.red.commons:storage-commons:2.50.0") diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java index 6b345735c..c777150f2 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java @@ -5,6 +5,7 @@ import static com.iqser.red.service.persistence.management.v1.processor.configur import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Comparator; +import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.function.BiFunction; @@ -76,6 +77,7 @@ import com.knecon.fforesight.databasetenantcommons.providers.utils.MagicConverte import com.knecon.fforesight.keycloakcommons.security.KeycloakSecurity; import com.knecon.fforesight.llm.service.LlmNerMessage; import com.knecon.fforesight.service.layoutparser.internal.api.queue.LayoutParsingQueueNames; +import com.knecon.fforesight.service.ocr.v1.api.model.AzureOcrFeature; import com.knecon.fforesight.service.ocr.v1.api.model.DocumentRequest; import com.knecon.fforesight.tenantcommons.TenantContext; @@ -719,13 +721,26 @@ public class FileStatusService { public void addToOcrQueue(String dossierId, String fileId, int priority) { var removeWatermark = dossierTemplatePersistenceService.getDossierTemplate(dossierPersistenceService.getDossierTemplateId(dossierId)).isRemoveWatermark(); - rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_REQUEST_EXCHANGE, - TenantContext.getTenantId(), - new DocumentRequest(dossierId, fileId, removeWatermark), - message -> { - message.getMessageProperties().setPriority(priority); - return message; - }); + Set features = new HashSet<>(); + if (removeWatermark) { + features.add(AzureOcrFeature.REMOVE_WATERMARKS); + } + if (applicationType.equals("DocuMine")) { + features.add(AzureOcrFeature.ROTATION_CORRECTION); + features.add(AzureOcrFeature.FONT_STYLE_DETECTION); + } + + var request = DocumentRequest.builder() + .dossierId(dossierId) + .fileId(fileId) + .removeWatermark(features.contains(AzureOcrFeature.REMOVE_WATERMARKS)) // needed for legacy OCR-services + .features(features) + .build(); + + rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_REQUEST_EXCHANGE, TenantContext.getTenantId(), request, message -> { + message.getMessageProperties().setPriority(priority); + return message; + }); }