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

Do not detect duplicates after deletion request

This commit is contained in:
Paul-Christian Volkmer 2023-08-04 11:43:23 +02:00
parent b14f2c1794
commit 459ad59c1d

View File

@ -46,12 +46,15 @@ class RequestProcessor(
val pid = mtbFile.patient.id val pid = mtbFile.patient.id
val pseudonymized = pseudonymizeService.pseudonymize(mtbFile) val pseudonymized = pseudonymizeService.pseudonymize(mtbFile)
val lastRequestForPatient = val allRequests = requestRepository.findAllByPatientIdOrderByProcessedAtDesc(pseudonymized.patient.id)
requestRepository.findAllByPatientIdOrderByProcessedAtDesc(pseudonymized.patient.id)
val lastMtbFileRequestForPatient = allRequests
.filter { it.type == RequestType.MTB_FILE } .filter { it.type == RequestType.MTB_FILE }
.firstOrNull { it.status == RequestStatus.SUCCESS || it.status == RequestStatus.WARNING } .firstOrNull { it.status == RequestStatus.SUCCESS || it.status == RequestStatus.WARNING }
if (null != lastRequestForPatient && lastRequestForPatient.fingerprint == fingerprint(mtbFile)) { val isLastRequestDeletion = allRequests.firstOrNull()?.type == RequestType.DELETE
if (null != lastMtbFileRequestForPatient && lastMtbFileRequestForPatient.fingerprint == fingerprint(mtbFile) && !isLastRequestDeletion) {
requestRepository.save( requestRepository.save(
Request( Request(
patientId = pseudonymized.patient.id, patientId = pseudonymized.patient.id,