diff --git a/src/main/kotlin/no/nav/familie/ba/sak/config/featureToggle/FeatureToggleConfig.kt b/src/main/kotlin/no/nav/familie/ba/sak/config/featureToggle/FeatureToggleConfig.kt index 35980d99b8c..e7da291944a 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/config/featureToggle/FeatureToggleConfig.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/config/featureToggle/FeatureToggleConfig.kt @@ -24,6 +24,9 @@ class FeatureToggleConfig { // NAV-23449 - Skrud av/på ny refaktorert logikk for hjemler i brev, skal i teorien produsere det samme resultatet const val BRUK_OMSKRIVING_AV_HJEMLER_I_BREV = "familie-ba-sak.bruk_omskriving_av_hjemler_i_brev" + // NAV-23733 + const val BRUK_OVERSTYRING_AV_FOM_SISTE_ANDEL_UTVIDET = "familie-ba-sak.bruk-overstyring-av-fom-siste-andel-utvidet" + // satsendring // Oppretter satsendring-tasker for de som ikke har fått ny task const val SATSENDRING_ENABLET: String = "familie-ba-sak.satsendring-enablet" diff --git "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtleder.kt" "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtleder.kt" index d01984978eb..6e9d091148f 100644 --- "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtleder.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtleder.kt" @@ -1,11 +1,11 @@ package no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag import no.nav.familie.ba.sak.common.ClockProvider -import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelse import no.nav.familie.ba.sak.kjerne.fagsak.Fagsak import no.nav.familie.ba.sak.kjerne.fagsak.FagsakType import no.nav.familie.ba.sak.kjerne.vedtak.Vedtak +import no.nav.familie.felles.utbetalingsgenerator.domain.AndelDataLongId import no.nav.familie.felles.utbetalingsgenerator.domain.Behandlingsinformasjon import no.nav.familie.felles.utbetalingsgenerator.domain.IdentOgType import org.springframework.stereotype.Component @@ -21,7 +21,7 @@ class BehandlingsinformasjonUtleder( saksbehandlerId: String, vedtak: Vedtak, forrigeTilkjentYtelse: TilkjentYtelse?, - sisteAndelPerKjede: Map, + sisteAndelPerKjede: Map, erSimulering: Boolean, ): Behandlingsinformasjon { val behandling = vedtak.behandling @@ -43,7 +43,7 @@ class BehandlingsinformasjonUtleder( private fun finnOpphørsdatoForAlleKjeder( forrigeTilkjentYtelse: TilkjentYtelse?, - sisteAndelPerKjede: Map, + sisteAndelPerKjede: Map, endretMigreringsdato: YearMonth?, ): YearMonth? = if (forrigeTilkjentYtelse == null || sisteAndelPerKjede.isEmpty()) { diff --git "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" index 055a87dd258..e40fcc4dd6b 100644 --- "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGenerator.kt" @@ -1,7 +1,9 @@ package no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag +import no.nav.familie.ba.sak.common.toYearMonth import no.nav.familie.ba.sak.config.FeatureToggleConfig import no.nav.familie.ba.sak.config.featureToggle.UnleashNextMedContextService +import no.nav.familie.ba.sak.integrasjoner.pdl.logger import no.nav.familie.ba.sak.kjerne.behandling.BehandlingHentOgPersisterService import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingÅrsak @@ -14,6 +16,8 @@ import no.nav.familie.felles.utbetalingsgenerator.Utbetalingsgenerator import no.nav.familie.felles.utbetalingsgenerator.domain.AndelDataLongId import no.nav.familie.felles.utbetalingsgenerator.domain.BeregnetUtbetalingsoppdragLongId import no.nav.familie.felles.utbetalingsgenerator.domain.IdentOgType +import no.nav.familie.felles.utbetalingsgenerator.domain.Utbetalingsoppdrag +import no.nav.familie.kontrakter.felles.objectMapper import org.springframework.stereotype.Component @Component @@ -72,7 +76,7 @@ class UtbetalingsoppdragGenerator( behandlingsinformasjon = behandlingsinformasjon, forrigeAndeler = forrigeAndeler, nyeAndeler = nyeAndeler, - sisteAndelPerKjede = sisteAndelPerKjede.mapValues { it.value.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd) }, + sisteAndelPerKjede = sisteAndelPerKjede, ) return klassifiseringKorrigerer.korrigerKlassifiseringVedBehov( @@ -81,15 +85,56 @@ class UtbetalingsoppdragGenerator( ) } - private fun hentSisteAndelTilkjentYtelse(behandling: Behandling): Map { + private fun hentSisteAndelTilkjentYtelse( + behandling: Behandling, + ): Map { val skalBrukeNyKlassekodeForUtvidetBarnetrygd = unleashNextMedContextService.isEnabled( toggleId = FeatureToggleConfig.SKAL_BRUKE_NY_KLASSEKODE_FOR_UTVIDET_BARNETRYGD, behandlingId = behandling.id, ) - return andelTilkjentYtelseRepository - .hentSisteAndelPerIdentOgType(fagsakId = behandling.fagsak.id) - .associateBy { IdentOgType(it.aktør.aktivFødselsnummer(), it.type.tilYtelseType(skalBrukeNyKlassekodeForUtvidetBarnetrygd)) } + + val sisteAndelPerKjede = + andelTilkjentYtelseRepository + .hentSisteAndelPerIdentOgType(fagsakId = behandling.fagsak.id) + .associateBy { IdentOgType(it.aktør.aktivFødselsnummer(), it.type.tilYtelseType(skalBrukeNyKlassekodeForUtvidetBarnetrygd)) } + + return if (unleashNextMedContextService.isEnabled(FeatureToggleConfig.BRUK_OVERSTYRING_AV_FOM_SISTE_ANDEL_UTVIDET)) { + overstyrSisteUtvidetBarnetrygdAndel(behandling, sisteAndelPerKjede, skalBrukeNyKlassekodeForUtvidetBarnetrygd) + } else { + sisteAndelPerKjede.mapValues { it.value.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd) } + } + } + + private fun overstyrSisteUtvidetBarnetrygdAndel( + behandling: Behandling, + sisteAndelPerKjede: Map, + skalBrukeNyKlassekodeForUtvidetBarnetrygd: Boolean, + ): Map { + val tilkjenteYtelserMedOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag = tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(behandling.fagsak.id) + return sisteAndelPerKjede.mapValues { (identOgType, sisteAndelIKjede) -> + if (tilkjenteYtelserMedOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag.isNotEmpty() && identOgType.type == YtelsetypeBA.UTVIDET_BARNETRYGD) { + // Finner siste utbetalingsoppdraget som innehold kjedelementer med oppdatert utvidet klassekode + val sisteTilkjenteYtelseMedOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag = tilkjenteYtelserMedOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag.maxBy { tilkjentYtelse -> tilkjentYtelse.behandling.aktivertTidspunkt } + + // Finner det siste kjedelementet med oppdatert utvidet klassekode + val sistOversendteUtvidetBarnetrygdKjedeelement = + objectMapper + .readValue(sisteTilkjenteYtelseMedOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag.utbetalingsoppdrag, Utbetalingsoppdrag::class.java) + .utbetalingsperiode + .single { utbetalingsperiode -> utbetalingsperiode.periodeId == sisteAndelIKjede.periodeOffset && utbetalingsperiode.klassifisering == YtelsetypeBA.UTVIDET_BARNETRYGD.klassifisering } + + if (sisteAndelIKjede.stønadFom != sistOversendteUtvidetBarnetrygdKjedeelement.vedtakdatoFom.toYearMonth()) { + logger.warn("Overstyrer vedtakFom i andelDataLongId da fom til siste andel per kjede ikke stemmer overens med siste kjedelement oversendt til Oppdrag") + // Oppdaterer fom i AndelDataLongId til samme fom som sist oversendte, da det ikke er 1-1 mellom fom på siste andel og fom på siste kjedelement oversendt til Oppdrag. + sisteAndelIKjede.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd).copy(fom = sistOversendteUtvidetBarnetrygdKjedeelement.vedtakdatoFom.toYearMonth()) + } else { + sisteAndelIKjede.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd) + } + } else { + sisteAndelIKjede.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd) + } + } } private fun hentForrigeTilkjentYtelse(behandling: Behandling): TilkjentYtelse? = diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/domene/TilkjentYtelseRepository.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/domene/TilkjentYtelseRepository.kt index 729809d76ea..86fb37e2c53 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/domene/TilkjentYtelseRepository.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/domene/TilkjentYtelseRepository.kt @@ -29,4 +29,13 @@ interface TilkjentYtelseRepository : JpaRepository { """, ) fun harFagsakTattIBrukNyKlassekodeForUtvidetBarnetrygd(fagsakId: Long): Boolean + + @Query( + """ + SELECT ty FROM Behandling b + JOIN TilkjentYtelse ty ON ty.behandling.id = b.id + WHERE ty.utbetalingsoppdrag IS NOT NULL AND ty.utbetalingsoppdrag like '%"klassifisering":"BAUTV-OP"%' AND b.fagsak.id = :fagsakId + """, + ) + fun findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(fagsakId: Long): List } diff --git "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtlederTest.kt" "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtlederTest.kt" index 3a27708d7b5..83944a854bc 100644 --- "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtlederTest.kt" +++ "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/BehandlingsinformasjonUtlederTest.kt" @@ -240,7 +240,7 @@ class BehandlingsinformasjonUtlederTest { val sisteAndelPerKjede = mapOf( - IdentOgType("1", YtelsetypeBA.ORDINÆR_BARNETRYGD) to lagAndelTilkjentYtelse, + IdentOgType("1", YtelsetypeBA.ORDINÆR_BARNETRYGD) to lagAndelTilkjentYtelse.tilAndelDataLongId(true), ) every { @@ -311,7 +311,7 @@ class BehandlingsinformasjonUtlederTest { val sisteAndelPerKjede = mapOf( - IdentOgType("1", YtelsetypeBA.ORDINÆR_BARNETRYGD) to lagAndelTilkjentYtelse, + IdentOgType("1", YtelsetypeBA.ORDINÆR_BARNETRYGD) to lagAndelTilkjentYtelse.tilAndelDataLongId(true), ) every { diff --git "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" index 375749d6a92..5dd20266296 100644 --- "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" +++ "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/UtbetalingsoppdragGeneratorTest.kt" @@ -111,6 +111,12 @@ class UtbetalingsoppdragGeneratorTest { ) } returns true + every { + unleashNextMedContextService.isEnabled( + toggleId = FeatureToggleConfig.BRUK_OVERSTYRING_AV_FOM_SISTE_ANDEL_UTVIDET, + ) + } returns true + every { klassifiseringKorrigerer.korrigerKlassifiseringVedBehov( beregnetUtbetalingsoppdrag = any(), @@ -120,6 +126,8 @@ class UtbetalingsoppdragGeneratorTest { firstArg() } + every { tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(any()) } returns emptyList() + // Act val beregnetUtbetalingsoppdragLongId = utbetalingsoppdragGenerator.lagUtbetalingsoppdrag( @@ -234,6 +242,12 @@ class UtbetalingsoppdragGeneratorTest { ) } returns true + every { + unleashNextMedContextService.isEnabled( + toggleId = FeatureToggleConfig.BRUK_OVERSTYRING_AV_FOM_SISTE_ANDEL_UTVIDET, + ) + } returns true + every { klassifiseringKorrigerer.korrigerKlassifiseringVedBehov( beregnetUtbetalingsoppdrag = any(), @@ -243,6 +257,8 @@ class UtbetalingsoppdragGeneratorTest { firstArg() } + every { tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(any()) } returns emptyList() + // Act val beregnetUtbetalingsoppdragLongId = utbetalingsoppdragGenerator.lagUtbetalingsoppdrag( @@ -359,6 +375,12 @@ class UtbetalingsoppdragGeneratorTest { ) } returns true + every { + unleashNextMedContextService.isEnabled( + toggleId = FeatureToggleConfig.BRUK_OVERSTYRING_AV_FOM_SISTE_ANDEL_UTVIDET, + ) + } returns true + every { klassifiseringKorrigerer.korrigerKlassifiseringVedBehov( beregnetUtbetalingsoppdrag = any(), @@ -383,6 +405,8 @@ class UtbetalingsoppdragGeneratorTest { kildeBehandlingId = null, ), ) + + every { tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(any()) } returns emptyList() // Act val beregnetUtbetalingsoppdragLongId = utbetalingsoppdragGenerator.lagUtbetalingsoppdrag( diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/OppdragSteg.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/OppdragSteg.kt index dd9aeaa52de..7441aa01e82 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/OppdragSteg.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/OppdragSteg.kt @@ -31,6 +31,7 @@ import no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag.Behandlin import no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag.EndretMigreringsdatoUtleder import no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag.KlassifiseringKorrigerer import no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag.UtbetalingsoppdragGenerator +import no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag.YtelsetypeBA import no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag.tilRestUtbetalingsoppdrag import no.nav.familie.ba.sak.kjerne.behandling.BehandlingHentOgPersisterService import no.nav.familie.ba.sak.kjerne.behandling.BehandlingService @@ -43,6 +44,7 @@ import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelse import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelseRepository import no.nav.familie.felles.utbetalingsgenerator.Utbetalingsgenerator import no.nav.familie.felles.utbetalingsgenerator.domain.BeregnetUtbetalingsoppdragLongId +import no.nav.familie.kontrakter.felles.objectMapper import no.nav.familie.kontrakter.felles.oppdrag.Utbetalingsoppdrag import no.nav.familie.kontrakter.felles.oppdrag.Utbetalingsperiode import org.assertj.core.api.Assertions.assertThat @@ -174,7 +176,10 @@ class OppdragSteg { } returns tidligereTilkjenteYtelser.lastOrNull()?.behandling every { tilkjentYtelseRepository.findByBehandlingAndHasUtbetalingsoppdrag(any()) - } returns tidligereTilkjenteYtelser.lastOrNull() + } returns tidligereTilkjenteYtelser.lastOrNull()?.copy(utbetalingsoppdrag = objectMapper.writeValueAsString(beregnetUtbetalingsoppdrag[tidligereTilkjenteYtelser.last().behandling.id]?.utbetalingsoppdrag)) + every { + tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(any()) + } returns tidligereTilkjenteYtelser.filter { beregnetUtbetalingsoppdrag[it.behandling.id]?.utbetalingsoppdrag?.utbetalingsperiode?.any { it.klassifisering == YtelsetypeBA.UTVIDET_BARNETRYGD.klassifisering } == true }.map { it.copy(utbetalingsoppdrag = objectMapper.writeValueAsString(beregnetUtbetalingsoppdrag[it.behandling.id]?.utbetalingsoppdrag)) } every { behandlingHentOgPersisterService.hentBehandlinger(any()) } returns behandlinger.filter { it.value.fagsak.id == tilkjentYtelse.behandling.fagsak.id }.values.toList() diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/komponentMocks/MockTilkjentYtelseRepository.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/komponentMocks/MockTilkjentYtelseRepository.kt index 5f78e69ad35..411c33a50b3 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/komponentMocks/MockTilkjentYtelseRepository.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/komponentMocks/MockTilkjentYtelseRepository.kt @@ -46,5 +46,10 @@ fun mockTilkjentYtelseRepository(dataFraCucumber: VedtaksperioderOgBegrunnelserS .mapNotNull { it.utbetalingsoppdrag } .any { it.contains("\"klassifisering\":\"BAUTV-OP\"") } } + + every { tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(any()) } answers { + val fagsakId = firstArg() + dataFraCucumber.tilkjenteYtelser.map { it.value }.filter { it.utbetalingsoppdrag != null && it.utbetalingsoppdrag!!.contains("\"klassifisering\":\"BAUTV-OP\"") } + } return tilkjentYtelseRepository } diff --git a/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/opphoerEtterOppdaterUtvidetKlassekodeBehandling.feature b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/opphoerEtterOppdaterUtvidetKlassekodeBehandling.feature new file mode 100644 index 00000000000..247f59f3694 --- /dev/null +++ b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/opphoerEtterOppdaterUtvidetKlassekodeBehandling.feature @@ -0,0 +1,119 @@ +# language: no +# encoding: UTF-8 + +Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode-behandling + + Scenario: Opphør av utvidet barnetrygd etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE + + Gitt følgende feature toggles + | BehandlingId | FeatureToggleId | Er togglet på | + | 1 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Nei | + | 2 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + | 3 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + + + Gitt følgende tilkjente ytelser + | BehandlingId | Uten andeler | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | Behandlingstype | + | 1 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | | + | 2 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | REVURDERING | + | 3 | Ja | | | 700 | UTVIDET_BARNETRYGD | | REVURDERING | + + Og inneværende måned er 12.2024 + + Når beregner utbetalingsoppdrag + + Så forvent følgende utbetalingsoppdrag + | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | + | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 3 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 1 | 0 | UTVIDET_BARNETRYGD | + + + Scenario: Endring av utvidet barnetrygd etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE + + Gitt følgende feature toggles + | BehandlingId | FeatureToggleId | Er togglet på | + | 1 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Nei | + | 2 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + | 3 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + + + Gitt følgende tilkjente ytelser + | BehandlingId | Uten andeler | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | Behandlingstype | + | 1 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | | + | 2 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | REVURDERING | + | 3 | | 07.2023 | 05.2026 | 750 | UTVIDET_BARNETRYGD | | REVURDERING | + + Og inneværende måned er 12.2024 + + Når beregner utbetalingsoppdrag + + Så forvent følgende utbetalingsoppdrag + | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | + | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 750 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + + + Scenario: Opphør av utvidet barnetrygd 2 behandlinger etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE + + Gitt følgende feature toggles + | BehandlingId | FeatureToggleId | Er togglet på | + | 1 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Nei | + | 2 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + | 3 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + + + Gitt følgende tilkjente ytelser + | BehandlingId | Uten andeler | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | Behandlingstype | + | 1 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | | + | 2 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | REVURDERING | + | 3 | | 07.2023 | 05.2026 | 500 | ORDINÆR_BARNETRYGD | | REVURDERING | + | 3 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | REVURDERING | + | 4 | | 07.2023 | 05.2026 | 400 | ORDINÆR_BARNETRYGD | | REVURDERING | + | 4 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | REVURDERING | + | 5 | | 07.2023 | 05.2026 | 400 | ORDINÆR_BARNETRYGD | | REVURDERING | + + Og inneværende måned er 12.2024 + + Når beregner utbetalingsoppdrag + + Så forvent følgende utbetalingsoppdrag + | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | + | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 2 | | ORDINÆR_BARNETRYGD | + | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 3 | 2 | ORDINÆR_BARNETRYGD | + | 5 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 1 | 0 | UTVIDET_BARNETRYGD | + + Scenario: Opphør/forkorting av utvidet barnetrygd 2 behandlinger etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE + + Gitt følgende feature toggles + | BehandlingId | FeatureToggleId | Er togglet på | + | 1 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Nei | + | 2 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + | 3 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Ja | + + + Gitt følgende tilkjente ytelser + | BehandlingId | Uten andeler | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | Behandlingstype | + | 1 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | | + | 2 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | REVURDERING | + | 3 | | 07.2023 | 05.2026 | 500 | ORDINÆR_BARNETRYGD | | REVURDERING | + | 3 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | REVURDERING | + | 4 | | 07.2023 | 05.2026 | 400 | ORDINÆR_BARNETRYGD | | REVURDERING | + | 4 | | 07.2023 | 05.2034 | 700 | UTVIDET_BARNETRYGD | | REVURDERING | + | 5 | | 07.2023 | 05.2026 | 400 | ORDINÆR_BARNETRYGD | | REVURDERING | + | 5 | | 07.2023 | 05.2030 | 700 | UTVIDET_BARNETRYGD | | REVURDERING | + + Og inneværende måned er 12.2024 + + Når beregner utbetalingsoppdrag + + Så forvent følgende utbetalingsoppdrag + | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | + | 1 | 07.2023 | 05.2034 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 2 | | ORDINÆR_BARNETRYGD | + | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 3 | 2 | ORDINÆR_BARNETRYGD | + | 5 | 01.2025 | 05.2034 | 06.2030 | 700 | ENDR | Ja | 1 | 0 | UTVIDET_BARNETRYGD | \ No newline at end of file