From 6ecb439007b4fa6dec9af1e0334b89fd235a97be Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Fri, 11 Aug 2023 09:22:54 +0200 Subject: Issue #3: Detect the request type of request with last known status (#5) --- .../kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt | 2 +- src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/main/kotlin/dev/dnpm') diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt index d2f8619..34156f7 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestProcessor.kt @@ -95,7 +95,7 @@ class RequestProcessor( private fun isDuplication(pseudonymizedMtbFile: MtbFile): Boolean { val lastMtbFileRequestForPatient = requestService.lastMtbFileRequestForPatientPseudonym(pseudonymizedMtbFile.patient.id) - val isLastRequestDeletion = requestService.isLastRequestDeletion(pseudonymizedMtbFile.patient.id) + val isLastRequestDeletion = requestService.isLastRequestWithKnownStatusDeletion(pseudonymizedMtbFile.patient.id) return null != lastMtbFileRequestForPatient && !isLastRequestDeletion diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt index 0f69910..e0043d2 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt @@ -38,8 +38,8 @@ class RequestService( fun lastMtbFileRequestForPatientPseudonym(patientPseudonym: String) = Companion.lastMtbFileRequestForPatientPseudonym(allRequestsByPatientPseudonym(patientPseudonym)) - fun isLastRequestDeletion(patientPseudonym: String) = - Companion.isLastRequestDeletion(allRequestsByPatientPseudonym(patientPseudonym)) + fun isLastRequestWithKnownStatusDeletion(patientPseudonym: String) = + Companion.isLastRequestWithKnownStatusDeletion(allRequestsByPatientPseudonym(patientPseudonym)) companion object { @@ -48,7 +48,8 @@ class RequestService( .sortedByDescending { it.processedAt } .firstOrNull { it.status == RequestStatus.SUCCESS || it.status == RequestStatus.WARNING } - fun isLastRequestDeletion(allRequests: List) = allRequests + fun isLastRequestWithKnownStatusDeletion(allRequests: List) = allRequests + .filter { it.status != RequestStatus.UNKNOWN } .maxByOrNull { it.processedAt }?.type == RequestType.DELETE } -- cgit v1.2.3