diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierTemplateController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierTemplateController.java index 5b145cf10..91f1a6ab6 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierTemplateController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DossierTemplateController.java @@ -316,6 +316,7 @@ public class DossierTemplateController implements DossierTemplateResource { .removeWatermark(dossierTemplate.isRemoveWatermark()) .idpByDefault(dossierTemplate.isIdpByDefault()) .rotationCorrectionByDefault(dossierTemplate.isRotationCorrectionByDefault()) + .fontStyleDetection(dossierTemplate.isFontStyleDetection()) .build(); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierTemplateEntity.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierTemplateEntity.java index 8b0900d69..4fa89592c 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierTemplateEntity.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/entity/dossier/DossierTemplateEntity.java @@ -89,6 +89,9 @@ public class DossierTemplateEntity { @Column(name = "idp_by_default") private boolean idpByDefault; + @Column(name = "font_style_detection") + private boolean fontStyleDetection; + @Column(name = "remove_watermark") private boolean removeWatermark; @@ -134,6 +137,7 @@ public class DossierTemplateEntity { @Enumerated(EnumType.STRING) private LayoutParsingType layoutParsingType; + public static DossierTemplateEntity copyDossierTemplateEntityWithoutChildEntities(DossierTemplateEntity dossierTemplateEntity) { DossierTemplateEntity dossierTemplateCopy = new DossierTemplateEntity(); @@ -156,6 +160,7 @@ public class DossierTemplateEntity { dossierTemplateCopy.layoutParsingType = dossierTemplateEntity.layoutParsingType; dossierTemplateCopy.rotationCorrectionByDefault = dossierTemplateEntity.rotationCorrectionByDefault; dossierTemplateCopy.idpByDefault = dossierTemplateEntity.idpByDefault; + dossierTemplateCopy.fontStyleDetection = dossierTemplateEntity.fontStyleDetection; return dossierTemplateCopy; } 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 4029891b8..600109a7f 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 @@ -770,7 +770,9 @@ public class FileStatusService { DossierTemplateEntity dt = dossierTemplatePersistenceService.getDossierTemplate(dossierPersistenceService.getDossierTemplateId(dossierId)); Set features = new HashSet<>(); - features.add(AzureOcrFeature.FONT_STYLE_DETECTION); + if (dt.isFontStyleDetection()) { + features.add(AzureOcrFeature.FONT_STYLE_DETECTION); + } if (dt.isRemoveWatermark()) { features.add(AzureOcrFeature.REMOVE_WATERMARKS); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java index d412833a2..fe5a7ef74 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java @@ -603,9 +603,9 @@ public class FileStatusPersistenceService { public int getNumberOfAssignedFiles(String userId) { List files = fileRepository.findFilesByAssignee(userId); - return files.stream() - .filter(fileEntity -> fileEntity.getHardDeletedTime() == null) - .collect(Collectors.toList()).size(); + return Math.toIntExact(files.stream() + .filter(fileEntity -> fileEntity.getHardDeletedTime() == null) + .count()); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/160.0.0-add-idp-related-fields-to-dossier-template.yaml b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/160.0.0-add-idp-related-fields-to-dossier-template.yaml index f4e4d59b1..3161a6c0a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/160.0.0-add-idp-related-fields-to-dossier-template.yaml +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/resources/db/changelog/tenant/160.0.0-add-idp-related-fields-to-dossier-template.yaml @@ -15,6 +15,11 @@ databaseChangeLog: name: rotation_correction_by_default type: boolean remarks: "Indicates if rotation correction is enabled by default" + - column: + name: font_style_detection + type: boolean + defaultValueBoolean: true + remarks: "Indicates if bold detection is enabled in OCR" - update: tableName: dossier_template @@ -44,3 +49,7 @@ databaseChangeLog: tableName: dossier_template columnName: rotation_correction_by_default columnDataType: boolean + - addNotNullConstraint: + tableName: dossier_template + columnName: font_style_detection + columnDataType: boolean diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/DossierTemplateModel.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/DossierTemplateModel.java index 399c43fb5..b7df60e28 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/DossierTemplateModel.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/DossierTemplateModel.java @@ -74,6 +74,9 @@ public class DossierTemplateModel { @Schema(description = "Flag that specifies if IDP is performed instead of OCR for all dossiers of this template") private boolean idpByDefault; + @Schema(description = "Flag that specifies if font style detection is performed during OCR") + private boolean fontStyleDetection; + @Schema(description = "Flag that specifies the watermark removal in documents will be performed before the OCR processing") private boolean removeWatermark; diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/CreateOrUpdateDossierTemplateRequest.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/CreateOrUpdateDossierTemplateRequest.java index 97f354ab8..0ed496b51 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/CreateOrUpdateDossierTemplateRequest.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/CreateOrUpdateDossierTemplateRequest.java @@ -45,6 +45,8 @@ public class CreateOrUpdateDossierTemplateRequest { private boolean rotationCorrectionByDefault; + private boolean fontStyleDetection; + private boolean removeWatermark; private LayoutParsingType layoutParsingType; diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/DossierTemplate.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/DossierTemplate.java index c38b8f67c..91dff5de0 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/DossierTemplate.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/DossierTemplate.java @@ -39,6 +39,7 @@ public class DossierTemplate { private boolean rotationCorrectionByDefault; private boolean idpByDefault; private boolean removeWatermark; + private boolean fontStyleDetection; private LayoutParsingType layoutParsingType; }