From cd20e0a17050c7096d3bf50dcf34d7bffd6cc1c6 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 25 Jul 2023 21:28:06 +0200 Subject: [PATCH] Check fingerprint against last accepted mtb file --- .../kotlin/dev/dnpm/etl/processor/web/MtbFileController.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/web/MtbFileController.kt b/src/main/kotlin/dev/dnpm/etl/processor/web/MtbFileController.kt index 9cbb52a..ee13eed 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/web/MtbFileController.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/web/MtbFileController.kt @@ -53,7 +53,8 @@ class MtbFileController( val pseudonymized = pseudonymizeService.pseudonymize(mtbFile) val lastRequestForPatient = - requestRepository.findAllByPatientIdOrderByProcessedAtDesc(pseudonymized.patient.id).firstOrNull() + requestRepository.findAllByPatientIdOrderByProcessedAtDesc(pseudonymized.patient.id) + .firstOrNull { it.status == RequestStatus.SUCCESS || it.status == RequestStatus.WARNING } if (null != lastRequestForPatient && lastRequestForPatient.fingerprint == fingerprint(mtbFile)) { requestRepository.save( @@ -107,6 +108,7 @@ class MtbFileController( RequestStatus.ERROR -> Report("Fehler bei der Datenübertragung oder Inhalt nicht verarbeitbar") RequestStatus.WARNING -> Report("Warnungen über mangelhafte Daten", responses.joinToString("\n") { it.reason }) + RequestStatus.UNKNOWN -> Report("Keine Informationen") else -> null }