From 0d85c32e0996f2f871faaf07f1b9a1ea9aae11f8 Mon Sep 17 00:00:00 2001 From: albrektsson Date: Tue, 20 Feb 2024 09:16:14 +0100 Subject: [PATCH] =?UTF-8?q?Setter=20k9losoppgave=20status=20f=C3=B8r=20vi?= =?UTF-8?q?=20sender=20p=C3=A5=20topic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../akjonspunkter/AksjonspunktServiceImpl.kt | 36 +++++++++++++++---- .../integrasjoner/k9losapi/K9LosOppgaveDto.kt | 4 +-- .../jobber/SjekkOmUtl\303\270ptJobb.kt" | 4 ++- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/no/nav/k9punsj/akjonspunkter/AksjonspunktServiceImpl.kt b/src/main/kotlin/no/nav/k9punsj/akjonspunkter/AksjonspunktServiceImpl.kt index 05f1d67af..45ed348f8 100644 --- a/src/main/kotlin/no/nav/k9punsj/akjonspunkter/AksjonspunktServiceImpl.kt +++ b/src/main/kotlin/no/nav/k9punsj/akjonspunkter/AksjonspunktServiceImpl.kt @@ -54,7 +54,8 @@ internal class AksjonspunktServiceImpl( aktørId = punsjJournalpost.aktørId, aksjonspunkter = mutableMapOf(aksjonspunktKode.kode to aksjonspunktStatus.kode), ytelse = ytelse, - type = punsjJournalpost.type!! + type = punsjJournalpost.type!!, + status = K9LosOppgaveStatusDto.AAPEN ) log.info("Oppretter aksjonspunkt(" + aksjonspunktEntitet.aksjonspunktId + ") med kode (" + aksjonspunktEntitet.aksjonspunktKode.kode + ")") @@ -107,7 +108,8 @@ internal class AksjonspunktServiceImpl( aksjonspunkter = mutableMap, sendtInn = erSendtInn, ferdigstiltAv = ansvarligSaksbehandler, - type = journalpost.type!! + type = journalpost.type!!, + status = K9LosOppgaveStatusDto.LUKKET ) hendelseProducer.sendMedOnSuccess( @@ -188,7 +190,8 @@ internal class AksjonspunktServiceImpl( AksjonspunktKode.VENTER_PÅ_INFORMASJON.kode to AksjonspunktStatus.OPPRETTET.kode ), barnIdent = barnIdent, - type = journalpost.type!! + type = journalpost.type!!, + status = K9LosOppgaveStatusDto.VENTER ) hendelseProducer.sendMedOnSuccess( @@ -224,7 +227,8 @@ internal class AksjonspunktServiceImpl( AksjonspunktKode.VENTER_PÅ_INFORMASJON.kode to AksjonspunktStatus.OPPRETTET.kode ), barnIdent = barnIdent, - type = journalpost.type!! + type = journalpost.type!!, + status = K9LosOppgaveStatusDto.VENTER ) hendelseProducer.sendMedOnSuccess( @@ -261,6 +265,25 @@ internal class AksjonspunktServiceImpl( it.aksjonspunktKode.kode to it.aksjonspunktStatus.kode } + // TODO: Utled status + // Hvordan håndtere flere aksjonspunkter? Sortere på opprettet_tid og ta den siste? + var status = aksjonspunkterPaJournalpost.values.firstOrNull() + ?.let { if (it == AksjonspunktStatus.OPPRETTET.kode) K9LosOppgaveStatusDto.AAPEN else K9LosOppgaveStatusDto.VENTER } + ?: K9LosOppgaveStatusDto.AAPEN + + // Sjekker ifall journalposten er ferdigstilt/journalfoert og setter status til lukket + journalpostService.hentSafJournalPost(punsjJournalpost.journalpostId)?.let { + when (it.journalstatus) { + "JOURNALFOERT", "FERDIGSTILT" -> { + status = K9LosOppgaveStatusDto.LUKKET + } + + else -> { + // DO NOTHING + } + } + } + // TODO: Trenger mer info her? Finns det en bedre måte og sende journalpost på? val punsjDtoJson = lagPunsjDto( eksternId = punsjJournalpost.uuid, @@ -269,7 +292,8 @@ internal class AksjonspunktServiceImpl( aktørId = punsjJournalpost.aktørId, barnIdent = null, type = punsjJournalpost.type!!, - aksjonspunkter = aksjonspunkterPaJournalpost + aksjonspunkter = aksjonspunkterPaJournalpost, + status = status ) hendelseProducer.sendMedOnSuccess( topicName = k9PunsjTilLosTopic, @@ -308,7 +332,7 @@ internal class AksjonspunktServiceImpl( sendtInn: Boolean? = null, ferdigstiltAv: String? = null, mottattDato: LocalDateTime? = null, - status: K9LosOppgaveStatusDto? = null + status: K9LosOppgaveStatusDto? = K9LosOppgaveStatusDto.AAPEN ): String { val punsjEventDto = PunsjEventDto( eksternId = eksternId.toString(), diff --git a/src/main/kotlin/no/nav/k9punsj/integrasjoner/k9losapi/K9LosOppgaveDto.kt b/src/main/kotlin/no/nav/k9punsj/integrasjoner/k9losapi/K9LosOppgaveDto.kt index f95517be2..af4a00823 100644 --- a/src/main/kotlin/no/nav/k9punsj/integrasjoner/k9losapi/K9LosOppgaveDto.kt +++ b/src/main/kotlin/no/nav/k9punsj/integrasjoner/k9losapi/K9LosOppgaveDto.kt @@ -13,6 +13,6 @@ data class PunsjEventDto( val ytelse: String? = null, val sendtInn: Boolean? = null, // Slettes, erstattes med status UTFØRT val ferdigstiltAv: String? = null, // Slettes - val mottattDato: LocalDateTime? = null, - val status: K9LosOppgaveStatusDto? = null + val mottattDato: LocalDateTime? = null, // TODO: Mottatt dato for journalposten? + val status: K9LosOppgaveStatusDto? = K9LosOppgaveStatusDto.AAPEN ) \ No newline at end of file diff --git "a/src/main/kotlin/no/nav/k9punsj/jobber/SjekkOmUtl\303\270ptJobb.kt" "b/src/main/kotlin/no/nav/k9punsj/jobber/SjekkOmUtl\303\270ptJobb.kt" index 09a87e5fc..d41b3d5b9 100644 --- "a/src/main/kotlin/no/nav/k9punsj/jobber/SjekkOmUtl\303\270ptJobb.kt" +++ "b/src/main/kotlin/no/nav/k9punsj/jobber/SjekkOmUtl\303\270ptJobb.kt" @@ -6,6 +6,7 @@ import no.nav.k9punsj.akjonspunkter.AksjonspunktKode import no.nav.k9punsj.akjonspunkter.AksjonspunktRepository import no.nav.k9punsj.akjonspunkter.AksjonspunktStatus import no.nav.k9punsj.fordel.K9FordelType +import no.nav.k9punsj.integrasjoner.k9losapi.K9LosOppgaveStatusDto import no.nav.k9punsj.integrasjoner.k9losapi.PunsjEventDto import no.nav.k9punsj.journalpost.JournalpostRepository import no.nav.k9punsj.journalpost.dto.PunsjJournalpost @@ -71,7 +72,8 @@ class SjekkOmUtløptJobb @Autowired constructor( aksjonspunkt.aksjonspunktKode.kode to AksjonspunktStatus.UTFØRT.kode, AksjonspunktKode.PUNSJ_HAR_UTLØPT.kode to AksjonspunktStatus.OPPRETTET.kode ), - type = punsjJournalpost.type ?: K9FordelType.UKJENT.kode + type = punsjJournalpost.type ?: K9FordelType.UKJENT.kode, + status = K9LosOppgaveStatusDto.AAPEN ) ) hendelseProducer.send(