1
0
mirror of https://github.com/pcvolkmer/etl-processor.git synced 2025-04-20 01:36:50 +00:00

Check fingerprint against last accepted mtb file

This commit is contained in:
Paul-Christian Volkmer 2023-07-25 21:28:06 +02:00
parent c8f1f1df14
commit cd20e0a170

View File

@ -53,7 +53,8 @@ class MtbFileController(
val pseudonymized = pseudonymizeService.pseudonymize(mtbFile) val pseudonymized = pseudonymizeService.pseudonymize(mtbFile)
val lastRequestForPatient = 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)) { if (null != lastRequestForPatient && lastRequestForPatient.fingerprint == fingerprint(mtbFile)) {
requestRepository.save( requestRepository.save(
@ -107,6 +108,7 @@ class MtbFileController(
RequestStatus.ERROR -> Report("Fehler bei der Datenübertragung oder Inhalt nicht verarbeitbar") RequestStatus.ERROR -> Report("Fehler bei der Datenübertragung oder Inhalt nicht verarbeitbar")
RequestStatus.WARNING -> Report("Warnungen über mangelhafte Daten", RequestStatus.WARNING -> Report("Warnungen über mangelhafte Daten",
responses.joinToString("\n") { it.reason }) responses.joinToString("\n") { it.reason })
RequestStatus.UNKNOWN -> Report("Keine Informationen") RequestStatus.UNKNOWN -> Report("Keine Informationen")
else -> null else -> null
} }