From 8e7bbc5c4895dd2316e80ee3d9673078a0bd5b91 Mon Sep 17 00:00:00 2001 From: Ugur Alpay Cenar Date: Sat, 28 Dec 2024 11:49:22 +0100 Subject: [PATCH] Underhold lagre andre barn til BM --- .../behandling/service/GrunnlagService.kt | 25 ++++++++++++------- .../behandling/service/GrunnlagMockService.kt | 24 +++++++++++++++++- 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/main/kotlin/no/nav/bidrag/behandling/service/GrunnlagService.kt b/src/main/kotlin/no/nav/bidrag/behandling/service/GrunnlagService.kt index 7abbaa0f..43c040c5 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/service/GrunnlagService.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/service/GrunnlagService.kt @@ -807,18 +807,25 @@ class GrunnlagService( val søknadsbarnidenter = behandling.søknadsbarn.map { it.ident } val andreBarnIkkeIBehandling = husstandsmedlemmerOgEgneBarn - .filter { it.erBarnTilBMUnder13År } + .filter { it.erBarn } .filter { !søknadsbarnidenter.contains(it.gjelderPersonId) } - andreBarnIkkeIBehandling.forEach { - secureLogger.info { "$it er annen barn til BM. Oppretter eller oppdaterer underholdskostnad til kilde OFFENTLIG" } - behandling.underholdskostnader.find { u -> u.person.ident == it.gjelderPersonId }?.let { + andreBarnIkkeIBehandling.forEach { barn -> + behandling.underholdskostnader.find { u -> u.person.ident == barn.gjelderPersonId }?.let { + secureLogger.info { "$barn er annen barn til BM. Oppdaterer underholdskostnad til kilde OFFENTLIG" } it.kilde = Kilde.OFFENTLIG - } ?: underholdService.oppretteUnderholdskostnad( - behandling, - BarnDto(personident = Personident(it.gjelderPersonId!!), fødselsdato = it.fødselsdato), - kilde = Kilde.OFFENTLIG, - ) + } + } + + andreBarnIkkeIBehandling.filter { it.erBarnTilBMUnder13År }.forEach { barn -> + if (behandling.underholdskostnader.none { u -> u.person.ident == barn.gjelderPersonId }) { + secureLogger.info { "$barn er annen barn til BM. Oppretter underholdskostnad med kilde OFFENTLIG" } + underholdService.oppretteUnderholdskostnad( + behandling, + BarnDto(personident = Personident(barn.gjelderPersonId!!), fødselsdato = barn.fødselsdato), + kilde = Kilde.OFFENTLIG, + ) + } } val andreBarnIdenter = andreBarnIkkeIBehandling.map { it.gjelderPersonId } diff --git a/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagMockService.kt b/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagMockService.kt index 832fb739..1d146e2a 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagMockService.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/service/GrunnlagMockService.kt @@ -303,6 +303,7 @@ class GrunnlagMockService { @Test fun `skal endre underholdskostnad andre barn til bidragsmottaker fra manuell til offentlig hvis finnes i ny grunnlag`() { + val barnOver13Ident = "123213123123" val behandling = oppretteTestbehandling( inkludereInntekter = true, @@ -331,12 +332,28 @@ class GrunnlagMockService { partPersonId = testdataBM.ident, borISammeHusstandDtoListe = emptyList(), ), + RelatertPersonGrunnlagDto( + relatertPersonPersonId = barnOver13Ident, + fødselsdato = LocalDate.now().minusYears(16), + relasjon = Familierelasjon.BARN, + navn = "Lyrisk Sopp 3", + partPersonId = testdataBM.ident, + borISammeHusstandDtoListe = emptyList(), + ), ) mockGrunnlagrespons( opprettHentGrunnlagDto().copy(husstandsmedlemmerOgEgneBarnListe = grunnlagBarnBM), opprettHentGrunnlagDto().copy(husstandsmedlemmerOgEgneBarnListe = emptyList()), ) + behandling.underholdskostnader.add( + Underholdskostnad( + id = 3, + behandling = behandling, + kilde = Kilde.MANUELL, + person = Person(id = 1, ident = barnOver13Ident, fødselsdato = LocalDate.now().minusYears(16)), + ), + ) behandling.underholdskostnader.add( Underholdskostnad( id = 3, @@ -353,7 +370,7 @@ class GrunnlagMockService { it.rolle.rolletype shouldBe Rolletype.BIDRAGSMOTTAKER } - behandling.underholdskostnader shouldHaveSize 4 + behandling.underholdskostnader shouldHaveSize 5 assertSoftly(behandling.underholdskostnader.find { it.person.ident == testdataBarnBm2.ident }) { it.shouldNotBeNull() it.kilde shouldBe Kilde.OFFENTLIG @@ -364,6 +381,11 @@ class GrunnlagMockService { it.kilde shouldBe Kilde.OFFENTLIG it.barnetsRolleIBehandlingen shouldBe null } + assertSoftly(behandling.underholdskostnader.find { it.person.ident == barnOver13Ident }) { + it.shouldNotBeNull() + it.kilde shouldBe Kilde.OFFENTLIG + it.barnetsRolleIBehandlingen shouldBe null + } } private fun mockGrunnlagrespons(