From da158dfa24088a5979ebfe78e63377c03b266d19 Mon Sep 17 00:00:00 2001 From: Ugur Cenar Date: Tue, 5 Dec 2023 09:34:18 +0100 Subject: [PATCH] Lagre informasjon om hvem som oppretter behandling --- pom.xml | 2 +- .../controller/BehandlingController.kt | 33 ++++++++++--- .../database/datamodell/Behandling.kt | 3 ++ ...handling_opprettet_av_kildeapplikasjon.sql | 9 ++++ .../controller/BehandlingControllerTest.kt | 10 +++- .../behandling/hendelse/VedtakHendelseTest.kt | 49 ++++++++++--------- .../service/BehandlingServiceTest.kt | 3 ++ .../service/OpplysningerServiceTest.kt | 3 ++ .../nav/bidrag/behandling/utils/Testdata.kt | 11 +++-- 9 files changed, 86 insertions(+), 37 deletions(-) create mode 100644 src/main/resources/db/migration/V1.0.37__behandling_opprettet_av_kildeapplikasjon.sql diff --git a/pom.xml b/pom.xml index b8e1a0422..da9d238b4 100644 --- a/pom.xml +++ b/pom.xml @@ -16,7 +16,7 @@ 21 1.9.21 - 20231124134729_6778484 + 20231201131246_f719b2b 20231129081122_595a8a8 7.4 3.1.9 diff --git a/src/main/kotlin/no/nav/bidrag/behandling/controller/BehandlingController.kt b/src/main/kotlin/no/nav/bidrag/behandling/controller/BehandlingController.kt index ec97a2e45..7e8236887 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/controller/BehandlingController.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/controller/BehandlingController.kt @@ -21,6 +21,8 @@ import no.nav.bidrag.behandling.transformers.toLocalDate import no.nav.bidrag.behandling.transformers.toRolle import no.nav.bidrag.behandling.transformers.toRolleTypeDto import no.nav.bidrag.behandling.transformers.toSivilstandDto +import no.nav.bidrag.commons.security.utils.TokenUtils +import no.nav.bidrag.commons.service.organisasjon.SaksbehandlernavnProvider import org.apache.commons.lang3.Validate import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.PathVariable @@ -58,11 +60,15 @@ class BehandlingController(private val behandlingService: BehandlingService) { Validate.isTrue( ingenBarnMedVerkenIdentEllerNavn(createBehandling.roller) && - ingenVoksneUtenIdent( - createBehandling.roller, - ), + ingenVoksneUtenIdent( + createBehandling.roller, + ), ) + val opprettetAv = + TokenUtils.hentSaksbehandlerIdent() ?: TokenUtils.hentApplikasjonsnavn() ?: "ukjent" + val opprettetAvNavn = TokenUtils.hentSaksbehandlerIdent() + ?.let { SaksbehandlernavnProvider.hentSaksbehandlernavn(it) } val behandling = Behandling( createBehandling.behandlingType, @@ -74,6 +80,9 @@ class BehandlingController(private val behandlingService: BehandlingService) { createBehandling.soknadId, createBehandling.soknadRefId, createBehandling.behandlerEnhet, + opprettetAv = opprettetAv, + opprettetAvNavn = opprettetAvNavn, + kildeapplikasjon = TokenUtils.hentApplikasjonsnavn() ?: "ukjent", createBehandling.soknadFra, createBehandling.stonadType, createBehandling.engangsbelopType, @@ -90,9 +99,9 @@ class BehandlingController(private val behandlingService: BehandlingService) { val behandlingDo = behandlingService.createBehandling(behandling) LOGGER.info { "Opprettet behandling for behandlingType ${createBehandling.behandlingType} " + - "soknadType ${createBehandling.soknadType} " + - "og soknadFra ${createBehandling.soknadFra} " + - "med id ${behandlingDo.id} " + "soknadType ${createBehandling.soknadType} " + + "og soknadFra ${createBehandling.soknadFra} " + + "med id ${behandlingDo.id} " } return CreateBehandlingResponse(behandlingDo.id!!) } @@ -189,7 +198,14 @@ class BehandlingController(private val behandlingService: BehandlingService) { behandling.soknadId, behandling.behandlerEnhet, behandling.roller.map { - RolleDto(it.id!!, it.rolleType.toRolleTypeDto(), it.ident, it.navn, it.fodtDato, it.opprettetDato) + RolleDto( + it.id!!, + it.rolleType.toRolleTypeDto(), + it.ident, + it.navn, + it.fodtDato, + it.opprettetDato + ) }.toSet(), behandling.husstandsBarn.toHusstandsBarnDto(), behandling.sivilstand.toSivilstandDto(), @@ -232,6 +248,7 @@ class BehandlingController(private val behandlingService: BehandlingService) { } private fun ingenVoksneUtenIdent(roller: Set): Boolean { - return roller.filter { r -> r.rolleType != CreateRolleRolleType.BARN && r.ident.isNullOrBlank() }.none() + return roller.filter { r -> r.rolleType != CreateRolleRolleType.BARN && r.ident.isNullOrBlank() } + .none() } } diff --git a/src/main/kotlin/no/nav/bidrag/behandling/database/datamodell/Behandling.kt b/src/main/kotlin/no/nav/bidrag/behandling/database/datamodell/Behandling.kt index 291db5f83..b0cb41834 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/database/datamodell/Behandling.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/database/datamodell/Behandling.kt @@ -34,6 +34,9 @@ class Behandling( val soknadId: Long, val soknadRefId: Long? = null, val behandlerEnhet: String, + val opprettetAv: String, + val opprettetAvNavn: String? = null, + val kildeapplikasjon: String, @Enumerated(EnumType.STRING) val soknadFra: SøktAvType, @Enumerated(EnumType.STRING) diff --git a/src/main/resources/db/migration/V1.0.37__behandling_opprettet_av_kildeapplikasjon.sql b/src/main/resources/db/migration/V1.0.37__behandling_opprettet_av_kildeapplikasjon.sql new file mode 100644 index 000000000..068ecf154 --- /dev/null +++ b/src/main/resources/db/migration/V1.0.37__behandling_opprettet_av_kildeapplikasjon.sql @@ -0,0 +1,9 @@ +-- Table: BEHANDLING +alter table BEHANDLING + add column if not exists opprettet_av text default '' not null; + +alter table BEHANDLING + add column if not exists opprettet_av_navn text; + +alter table BEHANDLING + add column if not exists kildeapplikasjon text default 'bisys' not null; \ No newline at end of file diff --git a/src/test/kotlin/no/nav/bidrag/behandling/controller/BehandlingControllerTest.kt b/src/test/kotlin/no/nav/bidrag/behandling/controller/BehandlingControllerTest.kt index fbbe36f6d..7abbc04a4 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/controller/BehandlingControllerTest.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/controller/BehandlingControllerTest.kt @@ -225,6 +225,9 @@ class BehandlingControllerTest() : KontrollerTestRunner() { 123213L, null, "EN123", + "Z9999", + "Navn Navnesen", + "bisys", SøktAvType.VERGE, null, null, @@ -327,7 +330,12 @@ class BehandlingControllerTest() : KontrollerTestRunner() { val roller = setOf( CreateRolleDtoTest(CreateRolleRolleType.BARN, "1235", Date(1)), - CreateRolleDtoTest(CreateRolleRolleType.BIDRAGS_MOTTAKER, null, Date(1), "Ola Dunk"), + CreateRolleDtoTest( + CreateRolleRolleType.BIDRAGS_MOTTAKER, + null, + Date(1), + "Ola Dunk" + ), ) val testBehandlingMedNull = createBehandlingRequestTest("sak123", "en12", roller) diff --git a/src/test/kotlin/no/nav/bidrag/behandling/hendelse/VedtakHendelseTest.kt b/src/test/kotlin/no/nav/bidrag/behandling/hendelse/VedtakHendelseTest.kt index f38bff64b..7a42385f5 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/hendelse/VedtakHendelseTest.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/hendelse/VedtakHendelseTest.kt @@ -114,6 +114,9 @@ class VedtakHendelseTest : CommonTestRunner() { saksnummer = SAKSNUMMER, soknadId = 123123L, behandlerEnhet = "4806", + opprettetAv = "Z99999", + opprettetAvNavn = "Saksbehandler Navn", + kildeapplikasjon = "bisys", behandlingType = Behandlingstype.BIDRAG18AAR, engangsbelopType = null, mottatDato = Date(), @@ -130,21 +133,21 @@ class VedtakHendelseTest : CommonTestRunner() { return VedtakHendelse( type = Vedtakstype.FASTSETTELSE, stønadsendringListe = - listOf( - Stønadsendring( - type = stonadType, - eksternReferanse = "", - beslutning = Beslutningstype.ENDRING, - førsteIndeksreguleringsår = 2024, - innkreving = Innkrevingstype.MED_INNKREVING, - kravhaver = Personident(""), - mottaker = Personident(""), - omgjørVedtakId = 1, - periodeListe = emptyList(), - sak = Saksnummer(SAKSNUMMER), - skyldner = Personident(""), - ), + listOf( + Stønadsendring( + type = stonadType, + eksternReferanse = "", + beslutning = Beslutningstype.ENDRING, + førsteIndeksreguleringsår = 2024, + innkreving = Innkrevingstype.MED_INNKREVING, + kravhaver = Personident(""), + mottaker = Personident(""), + omgjørVedtakId = 1, + periodeListe = emptyList(), + sak = Saksnummer(SAKSNUMMER), + skyldner = Personident(""), ), + ), engangsbeløpListe = emptyList(), enhetsnummer = Enhetsnummer("4806"), id = vedtakId, @@ -158,16 +161,16 @@ class VedtakHendelseTest : CommonTestRunner() { vedtakstidspunkt = LocalDateTime.now(), fastsattILand = null, behandlingsreferanseListe = - listOf( - Behandlingsreferanse( - BehandlingsrefKilde.BEHANDLING_ID.name, - behandlingId.toString(), - ), - Behandlingsreferanse( - BehandlingsrefKilde.BISYS_SØKNAD.name, - SOKNAD_ID.toString(), - ), + listOf( + Behandlingsreferanse( + BehandlingsrefKilde.BEHANDLING_ID.name, + behandlingId.toString(), + ), + Behandlingsreferanse( + BehandlingsrefKilde.BISYS_SØKNAD.name, + SOKNAD_ID.toString(), ), + ), ) } } diff --git a/src/test/kotlin/no/nav/bidrag/behandling/service/BehandlingServiceTest.kt b/src/test/kotlin/no/nav/bidrag/behandling/service/BehandlingServiceTest.kt index fa486a778..62de24fa2 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/service/BehandlingServiceTest.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/service/BehandlingServiceTest.kt @@ -465,6 +465,9 @@ class BehandlingServiceTest : TestContainerRunner() { 123213L, null, "1234", + "Z9999", + "Navn Navnesen", + "bisys", SøktAvType.BIDRAGSMOTTAKER, null, null, diff --git a/src/test/kotlin/no/nav/bidrag/behandling/service/OpplysningerServiceTest.kt b/src/test/kotlin/no/nav/bidrag/behandling/service/OpplysningerServiceTest.kt index b8eb28bf5..d303f8fde 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/service/OpplysningerServiceTest.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/service/OpplysningerServiceTest.kt @@ -41,6 +41,9 @@ class OpplysningerServiceTest : TestContainerRunner() { 123L, null, "ENH1", + "Z9999", + "Navn Navnesen", + "bisys", SøktAvType.VERGE, engangsbelopType = Engangsbeløptype.ETTERGIVELSE, stonadType = null, diff --git a/src/test/kotlin/no/nav/bidrag/behandling/utils/Testdata.kt b/src/test/kotlin/no/nav/bidrag/behandling/utils/Testdata.kt index 9a3baf297..704b68da4 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/utils/Testdata.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/utils/Testdata.kt @@ -27,10 +27,10 @@ fun opprettForsendelseResponsUnderOpprettelse(forsendelseId: Long = 1) = forsendelseId = forsendelseId, saksnummer = SAKSNUMMER, behandlingInfo = - BehandlingInfoResponseDto( - soknadId = SOKNAD_ID.toString(), - erFattet = false, - ), + BehandlingInfoResponseDto( + soknadId = SOKNAD_ID.toString(), + erFattet = false, + ), forsendelseType = ForsendelseTypeTo.UTGÅENDE, status = ForsendelseStatusTo.UNDER_OPPRETTELSE, ) @@ -46,6 +46,9 @@ fun oppretteBehandling(): Behandling { 123, null, "ENH", + "Z9999", + "Navn Navnesen", + "bisys", SøktAvType.BIDRAGSMOTTAKER, null, null,