From e76cabb0a08c44e103adcff9fd1833c7925a8fbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20N=C3=A6rland?= Date: Thu, 19 Oct 2023 09:12:46 +0200 Subject: [PATCH] =?UTF-8?q?Legger=20til=20"sakstype"=20(E=C3=98S/NASJONAL)?= =?UTF-8?q?=20etter=20foresp=C3=B8rsel,=20og=20oppdaterer=20sammensl=C3=A5?= =?UTF-8?q?ingsfunksjonen=20for=20=C3=A5=20ta=20h=C3=B8yde=20for=20nye=20f?= =?UTF-8?q?elter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ba/infotrygd/rest/controller/PensjonController.kt | 6 ++++++ .../familie/ba/infotrygd/service/BarnetrygdService.kt | 11 ++++++++++- .../ba/infotrygd/service/BarnetrygdServiceTest.kt | 9 ++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/PensjonController.kt b/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/PensjonController.kt index 6cc7ffe4..54ac5149 100644 --- a/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/PensjonController.kt +++ b/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/PensjonController.kt @@ -80,6 +80,7 @@ class PensjonController( val utbetaltPerMnd: Int, val stønadFom: YearMonth, val stønadTom: YearMonth, + val sakstypeEkstern: SakstypeEkstern, val kildesystem: String = "Infotrygd", val pensjonstrygdet: Boolean? = null, val norgeErSekundærland: Boolean? = null @@ -91,6 +92,11 @@ class PensjonController( SMÅBARNSTILLEGG, } + enum class SakstypeEkstern { + NASJONAL, + EØS + } + enum class YtelseProsent { FULL, DELT, diff --git a/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt b/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt index 0a83b6f1..3c4d94ed 100644 --- a/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt +++ b/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt @@ -23,6 +23,8 @@ import no.nav.familie.ba.infotrygd.rest.controller.BisysController.Stønadstype. import no.nav.familie.ba.infotrygd.rest.controller.BisysController.UtvidetBarnetrygdPeriode import no.nav.familie.ba.infotrygd.rest.controller.PensjonController.BarnetrygdPeriode import no.nav.familie.ba.infotrygd.rest.controller.PensjonController.BarnetrygdTilPensjon +import no.nav.familie.ba.infotrygd.rest.controller.PensjonController.SakstypeEkstern.EØS +import no.nav.familie.ba.infotrygd.rest.controller.PensjonController.SakstypeEkstern.NASJONAL import no.nav.familie.ba.infotrygd.rest.controller.PensjonController.YtelseProsent import no.nav.familie.ba.infotrygd.rest.controller.PensjonController.YtelseTypeEkstern import no.nav.familie.ba.infotrygd.utils.DatoUtils @@ -458,6 +460,10 @@ class BarnetrygdService( stønadTom = utbetaling.tom() ?: YearMonth.from(LocalDate.MAX), personIdent = utbetaling.fnr.asString, delingsprosentYtelse = ytelseProsent(it, undervalg, år), + sakstypeEkstern = when (undervalg) { + "EU", "ME" -> EØS + else -> NASJONAL + }, pensjonstrygdet = when (it.pensjonstrygdet) { "J" -> true "N" -> false @@ -625,7 +631,10 @@ class BarnetrygdService( .fold(mutableListOf()) { sammenslåttePerioder, nestePeriode -> val forrigePeriode = sammenslåttePerioder.lastOrNull() - if (forrigePeriode?.stønadTom?.isSameOrAfter(nestePeriode.stønadFom.minusMonths(1)) == true) { + if (forrigePeriode?.stønadTom?.isSameOrAfter(nestePeriode.stønadFom.minusMonths(1)) == true + && forrigePeriode.pensjonstrygdet == nestePeriode.pensjonstrygdet + && forrigePeriode.sakstypeEkstern == nestePeriode.sakstypeEkstern + && forrigePeriode.utbetaltPerMnd == nestePeriode.utbetaltPerMnd) { sammenslåttePerioder.apply { add(removeLast().copy(stønadTom = nestePeriode.stønadTom)) } } else { sammenslåttePerioder.apply { add(nestePeriode) } diff --git a/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt b/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt index 41ea9944..7c20b96c 100644 --- a/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt @@ -176,7 +176,8 @@ internal class BarnetrygdServiceTest { stønadFom = YearMonth.of(2020, 5), stønadTom = YearMonth.from(LocalDate.MAX), kildesystem = "Infotrygd", - utbetaltPerMnd = 1054 + utbetaltPerMnd = 1054, + sakstypeEkstern = PensjonController.SakstypeEkstern.NASJONAL ) ) } @@ -196,7 +197,8 @@ internal class BarnetrygdServiceTest { stønadFom = YearMonth.of(2019, 5), stønadTom = YearMonth.from(LocalDate.MAX), kildesystem = "Infotrygd", - utbetaltPerMnd = 1054 + utbetaltPerMnd = 1054, + sakstypeEkstern = PensjonController.SakstypeEkstern.NASJONAL ) ) assertThat(response.barnetrygdPerioder).contains( @@ -207,7 +209,8 @@ internal class BarnetrygdServiceTest { stønadFom = YearMonth.of(2020, 5), stønadTom = YearMonth.from(LocalDate.MAX), kildesystem = "Infotrygd", - utbetaltPerMnd = 660 + utbetaltPerMnd = 660, + sakstypeEkstern = PensjonController.SakstypeEkstern.NASJONAL ) ) }