summaryrefslogtreecommitdiff
path: root/src/main/kotlin/dev/dnpm
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2023-07-25 21:28:06 +0200
committerPaul-Christian Volkmer2023-07-25 21:35:26 +0200
commitcd20e0a17050c7096d3bf50dcf34d7bffd6cc1c6 (patch)
treec185d05e56f398e76317e4ea0eba7b10a95a6edc /src/main/kotlin/dev/dnpm
parentc8f1f1df1447cd927b228da82490e0f460da8d9f (diff)
Check fingerprint against last accepted mtb file
Diffstat (limited to 'src/main/kotlin/dev/dnpm')
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/web/MtbFileController.kt4
1 files changed, 3 insertions, 1 deletions
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
}