From 6d2e5d1b91a4a7542c80a6d95189eadfdce2aea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stig=20Helge=20Str=C3=B8m?= Date: Wed, 19 Jun 2024 13:30:09 +0200 Subject: [PATCH] VurderLivsehendelse-oppgave for KS skal ha behandlingstype og ikke behandlingstema --- .../mottak/integrasjoner/OppgaveClient.kt | 7 ++-- .../mottak/task/VurderLivshendelseService.kt | 41 +++++++++++++++---- .../task/VurderLivshendelseServiceTest.kt | 8 +++- 3 files changed, 42 insertions(+), 14 deletions(-) diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt index 25b33079b..7a5053d3a 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/integrasjoner/OppgaveClient.kt @@ -73,7 +73,7 @@ class OppgaveClient beskrivelse = dto.beskrivelse, enhetsnummer = dto.enhetsId, behandlingstema = dto.behandlingstema, - behandlingstype = null, + behandlingstype = dto.behandlingstype, behandlesAvApplikasjon = dto.behandlesAvApplikasjon, ) @@ -225,8 +225,9 @@ data class OppgaveVurderLivshendelseDto( val aktørId: String, val beskrivelse: String, val saksId: String, - val behandlingstema: String, + val tema: Tema, + val behandlingstema: String?, val enhetsId: String? = null, val behandlesAvApplikasjon: String? = null, - val tema: Tema, + val behandlingstype: String? = null, ) diff --git a/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseService.kt b/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseService.kt index f6c5a9dc5..81d24bcbf 100644 --- a/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseService.kt +++ b/src/main/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseService.kt @@ -22,6 +22,7 @@ import no.nav.familie.baks.mottak.integrasjoner.Sivilstand import no.nav.familie.kontrakter.felles.Behandlingstema import no.nav.familie.kontrakter.felles.Tema import no.nav.familie.kontrakter.felles.objectMapper +import no.nav.familie.kontrakter.felles.oppgave.Behandlingstype import no.nav.familie.kontrakter.felles.oppgave.Oppgave import no.nav.familie.kontrakter.felles.oppgave.OppgaveResponse import no.nav.familie.kontrakter.felles.oppgave.Oppgavetype @@ -214,8 +215,17 @@ class VurderLivshendelseService( val restBehandling = hentSisteBehandlingSomErIverksatt(restFagsak) ?: hentAktivBehandling(restFagsak) val behandlingstema = hentBehandlingstema(tema, restBehandling) + val behandlingstype = hentBehandlingstype(tema, restBehandling) - val oppgave = opprettOppgavePåAktør(aktørIdForOppgave, fagsakIdForOppgave, beskrivelse, behandlingstema, tema) + val oppgave = + opprettOppgavePåAktør( + aktørId = aktørIdForOppgave, + fagsakId = fagsakIdForOppgave, + beskrivelse = beskrivelse, + tema = tema, + behandlingstema = behandlingstema, + behandlingstype = behandlingstype, + ) task.metadata["oppgaveId"] = oppgave.oppgaveId.toString() secureLog.info( @@ -248,7 +258,19 @@ class VurderLivshendelseService( restBehandling: RestVisningBehandling, ) = when (tema) { Tema.BAR -> tilBarnetrygdBehandlingstema(restBehandling) - Tema.KON -> tilKontanstøtteBehandlingstema(restBehandling) + // behandlingstema brukes ikke i kombinasjon med behandlingstype for kontantstøtte + Tema.KON -> null + Tema.ENF, Tema.OPP -> throw RuntimeException("Tema $tema er ikke støttet") + } + + private fun hentBehandlingstype( + tema: Tema, + restBehandling: RestVisningBehandling, + ) = when (tema) { + Tema.BAR -> null + // Setter behandlingstype i stedet fore behandlingstema i KS. Siden behandlingstema for KS EØS + // ikke finnes i oppgave, og det er slik man gjør det i KS + Tema.KON -> tilKontanstøtteBehandlingstype(restBehandling) Tema.ENF, Tema.OPP -> throw RuntimeException("Tema $tema er ikke støttet") } @@ -324,8 +346,9 @@ class VurderLivshendelseService( aktørId: String, fagsakId: Long, beskrivelse: String, - behandlingstema: Behandlingstema, tema: Tema, + behandlingstema: Behandlingstema?, + behandlingstype: Behandlingstype? = null, ): OppgaveResponse { log.info("Oppretter oppgave for aktørId=$aktørId") @@ -334,8 +357,9 @@ class VurderLivshendelseService( aktørId = aktørId, beskrivelse = beskrivelse, saksId = fagsakId.toString(), - behandlingstema = behandlingstema.value, tema = tema, + behandlingstema = behandlingstema?.value, + behandlingstype = behandlingstype?.value, ), ) } @@ -374,11 +398,10 @@ class VurderLivshendelseService( else -> Behandlingstema.Barnetrygd } - private fun tilKontanstøtteBehandlingstema(restBehandling: RestVisningBehandling?): Behandlingstema = + private fun tilKontanstøtteBehandlingstype(restBehandling: RestVisningBehandling?): Behandlingstype = when { - restBehandling == null -> Behandlingstema.Kontantstøtte - restBehandling.kategori == BehandlingKategori.EØS -> Behandlingstema.KontantstøtteEØS - else -> Behandlingstema.Kontantstøtte + restBehandling?.kategori == BehandlingKategori.EØS -> Behandlingstype.EØS + else -> Behandlingstype.NASJONAL } private fun sjekkOmDatoErEtterEldsteVedtaksdato( @@ -432,8 +455,8 @@ class VurderLivshendelseService( aktørId = aktørIdForOppgave, fagsakId = fagsakIdForOppgave, beskrivelse = initiellBeskrivelse, - behandlingstema = Behandlingstema.UtvidetBarnetrygd, tema = tema, + behandlingstema = Behandlingstema.UtvidetBarnetrygd, ) when (oppgave) { diff --git a/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseServiceTest.kt b/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseServiceTest.kt index 3cbc9aaad..50b7486c7 100644 --- a/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/baks/mottak/task/VurderLivshendelseServiceTest.kt @@ -33,6 +33,7 @@ import no.nav.familie.kontrakter.ba.infotrygd.Stønad import no.nav.familie.kontrakter.felles.Behandlingstema import no.nav.familie.kontrakter.felles.Tema import no.nav.familie.kontrakter.felles.objectMapper +import no.nav.familie.kontrakter.felles.oppgave.Behandlingstype import no.nav.familie.kontrakter.felles.oppgave.IdentGruppe import no.nav.familie.kontrakter.felles.oppgave.Oppgave import no.nav.familie.kontrakter.felles.oppgave.OppgaveResponse @@ -289,7 +290,8 @@ class VurderLivshendelseServiceTest { Assertions.assertThat(oppgaveDto.captured.aktørId).isEqualTo(PERSONIDENT_MOR + "00") Assertions.assertThat(oppgaveDto.captured.saksId).isEqualTo(SAKS_ID.toString()) Assertions.assertThat(oppgaveDto.captured.enhetsId).isNull() - Assertions.assertThat(oppgaveDto.captured.behandlingstema).isEqualTo(Behandlingstema.Kontantstøtte.value) + Assertions.assertThat(oppgaveDto.captured.behandlingstema).isNull() + Assertions.assertThat(oppgaveDto.captured.behandlingstype).isEqualTo(Behandlingstype.NASJONAL.value) Assertions.assertThat(oppgaveDto.captured.behandlesAvApplikasjon).isNull() Assertions.assertThat(oppgaveDto.captured.tema).isEqualTo(Tema.KON) } @@ -358,6 +360,7 @@ class VurderLivshendelseServiceTest { Assertions.assertThat(oppgaveDto.captured.saksId).isEqualTo(SAKS_ID.toString()) Assertions.assertThat(oppgaveDto.captured.enhetsId).isNull() Assertions.assertThat(oppgaveDto.captured.behandlingstema).isEqualTo(Behandlingstema.UtvidetBarnetrygd.value) + Assertions.assertThat(oppgaveDto.captured.behandlingstype).isNull() Assertions.assertThat(oppgaveDto.captured.behandlesAvApplikasjon).isNull() Assertions.assertThat(oppgaveDto.captured.tema).isEqualTo(Tema.BAR) } @@ -425,7 +428,8 @@ class VurderLivshendelseServiceTest { Assertions.assertThat(oppgaveDto.captured.aktørId).isEqualTo(PERSONIDENT_MOR + "00") Assertions.assertThat(oppgaveDto.captured.saksId).isEqualTo(SAKS_ID.toString()) Assertions.assertThat(oppgaveDto.captured.enhetsId).isNull() - Assertions.assertThat(oppgaveDto.captured.behandlingstema).isEqualTo(Behandlingstema.Kontantstøtte.value) + Assertions.assertThat(oppgaveDto.captured.behandlingstema).isNull() + Assertions.assertThat(oppgaveDto.captured.behandlingstype).isEqualTo(Behandlingstype.NASJONAL.value) Assertions.assertThat(oppgaveDto.captured.behandlesAvApplikasjon).isNull() Assertions.assertThat(oppgaveDto.captured.tema).isEqualTo(Tema.KON) }