diff --git "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" index 4ba7d2c2bd2..6e9b2113375 100644 --- "a/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.kt" @@ -18,12 +18,13 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder( val (utvidetAndelerTilkjentYtelse, øvrigeAndelerTilkjentYtelse) = forrigeTilkjentYtelse.andelerTilkjentYtelse.partition { it.erUtvidet() } val utvidetAndeler = utvidetAndelerTilkjentYtelse.mapNotNull { - // Splitter andel som treffer inneværende måned og fjerner alle andeler som kommer etter. - if (it.stønadFom <= inneværendeMåned && it.stønadTom > inneværendeMåned) { - it.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd).copy(tom = inneværendeMåned) + // Fjerner alle andeler som overlapper eller kommer etter inneværende måned + if (it.stønadFom <= inneværendeMåned && it.stønadTom >= inneværendeMåned) { + null } else if (it.stønadFom >= inneværendeMåned) { null } else { + // Tar med alle andeler som kommer før it.tilAndelDataLongId(skalBrukeNyKlassekodeForUtvidetBarnetrygd) } } 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 b1a684166a3..49fdc5acd02 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" @@ -4,7 +4,6 @@ import no.nav.familie.ba.sak.config.FeatureToggle import no.nav.familie.ba.sak.config.featureToggle.UnleashNextMedContextService 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 import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelseRepository import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelse @@ -54,7 +53,7 @@ class UtbetalingsoppdragGenerator( val forrigeAndeler = if (forrigeTilkjentYtelse == null) { emptyList() - } else if (vedtak.behandling.opprettetÅrsak != BehandlingÅrsak.OPPDATER_UTVIDET_KLASSEKODE) { + } else if (!vedtak.behandling.erOppdaterUtvidetKlassekode()) { forrigeTilkjentYtelse.tilAndelData(skalBrukeNyKlassekodeForUtvidetBarnetrygd) } else { andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(forrigeTilkjentYtelse, skalBrukeNyKlassekodeForUtvidetBarnetrygd) diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt index f04e6a08912..eeb2f8d9a49 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/AutovedtakOppdaterUtvidetKlassekodeService.kt @@ -11,6 +11,7 @@ import no.nav.familie.ba.sak.kjerne.behandling.SnikeIKøenService import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingType import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingÅrsak +import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelseRepository import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelseRepository import no.nav.familie.ba.sak.kjerne.steg.StegType import no.nav.familie.ba.sak.sikkerhet.SikkerhetContext @@ -27,29 +28,40 @@ class AutovedtakOppdaterUtvidetKlassekodeService( private val autovedtakService: AutovedtakService, private val taskRepository: TaskRepositoryWrapper, private val tilkjentYtelseRepository: TilkjentYtelseRepository, + private val andelTilkjentYtelseRepository: AndelTilkjentYtelseRepository, ) { val logger = LoggerFactory.getLogger(this::class.java) @Transactional fun utførMigreringTilOppdatertUtvidetKlassekode(fagsakId: Long) { - logger.info("Utfører migrering til ny klassekode for utvidet barnetrygd for fagsak=$fagsakId") + logger.info("Revurderer fagsak=$fagsakId som kan ha feil periodeId'er i siste vedtatte behandling") - if (tilkjentYtelseRepository.harFagsakTattIBrukNyKlassekodeForUtvidetBarnetrygd(fagsakId)) { - logger.info("Hopper ut av behandling fordi fagsak $fagsakId allerede bruker ny klassekode for utvidet barnetrygd.") - oppdaterUtvidetKlassekodeKjøringRepository.settBrukerNyKlassekodeTilTrueOgStatusTilUtført(fagsakId) - return - } - - val sisteVedtatteBehandling = - behandlingHentOgPersisterService.hentSisteBehandlingSomErVedtatt(fagsakId = fagsakId) + val sisteIverksatteBehandling = + behandlingHentOgPersisterService.hentSisteBehandlingSomErIverksatt(fagsakId = fagsakId) ?: error("Fant ikke siste vedtatte behandling for fagsak $fagsakId") - if (!sisteVedtatteBehandling.harLøpendeUtvidetBarnetrygd()) { + if (!sisteIverksatteBehandling.harLøpendeUtvidetBarnetrygd()) { logger.info("Hopper ut av behandling fordi fagsak $fagsakId ikke har løpende utvidet barnetrygd.") oppdaterUtvidetKlassekodeKjøringRepository.deleteByFagsakId(fagsakId) return } + val sisteAndelIUtvidetKjede = + andelTilkjentYtelseRepository + .hentSisteAndelPerIdentOgType(fagsakId) + .single { it.erUtvidet() } + + val harSisteUtvidetAndelISisteIverksatteBehandling = + andelTilkjentYtelseRepository + .finnAndelerTilkjentYtelseForBehandling(behandlingId = sisteIverksatteBehandling.id) + .filter { it.erUtvidet() } + .any { it.periodeOffset == sisteAndelIUtvidetKjede.periodeOffset } + + if (harSisteUtvidetAndelISisteIverksatteBehandling) { + logger.info("Hopper ut av behandling fordi fagsak $fagsakId har siste utvidet andel i siste vedtatte behandling") + oppdaterUtvidetKlassekodeKjøringRepository.deleteByFagsakId(fagsakId) + } + val aktivOgÅpenBehandling = behandlingHentOgPersisterService.finnAktivOgÅpenForFagsak(fagsakId = fagsakId) if (aktivOgÅpenBehandling != null) { @@ -69,7 +81,7 @@ class AutovedtakOppdaterUtvidetKlassekodeService( val behandlingEtterBehandlingsresultat = autovedtakService.opprettAutomatiskBehandlingOgKjørTilBehandlingsresultat( - aktør = sisteVedtatteBehandling.fagsak.aktør, + aktør = sisteIverksatteBehandling.fagsak.aktør, behandlingType = BehandlingType.REVURDERING, behandlingÅrsak = BehandlingÅrsak.OPPDATER_UTVIDET_KLASSEKODE, fagsakId = fagsakId, diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.kt deleted file mode 100644 index 063b6d52149..00000000000 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.kt +++ /dev/null @@ -1,20 +0,0 @@ -package no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode - -import no.nav.familie.ba.sak.common.inneværendeMåned -import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse - -object OppdaterUtvidetKlassekodeUtvidetAndelerSplitter { - fun splittUtvidetAndelerIInneværendeMåned(andelerTilkjentYtelse: Collection): List { - val inneværendeMåned = inneværendeMåned() - return andelerTilkjentYtelse.flatMap { - if (it.erUtvidet() && it.stønadFom <= inneværendeMåned && it.stønadTom > inneværendeMåned) { - listOf( - it.copy(stønadFom = it.stønadFom, stønadTom = inneværendeMåned), - it.copy(stønadFom = inneværendeMåned.plusMonths(1), stønadTom = it.stønadTom), - ) - } else { - listOf(it) - } - } - } -} diff --git "a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" "b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" index 02d09ed6793..198065d41cd 100644 --- "a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/PopulerOppdaterUtvidetKlassekodeKj\303\270ringTask.kt" @@ -32,7 +32,7 @@ class PopulerOppdaterUtvidetKlassekodeKjøringTask( val (fagsakerSomSkalLagres, time) = measureTimedValue { fagsakRepository - .finnFagsakerMedLøpendeUtvidetBarnetrygdSomBrukerGammelKlassekode() + .finnFagsakerMedIverksattRevurderingEtterOppdaterUtvidetKlassekodeBehandling() .minus(fagsakerSomErLagret) .map { OppdaterUtvidetKlassekodeKjøring(fagsakId = it) } } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt index e14fc39d947..cb983eeed7c 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/beregning/UtvidetBarnetrygdGenerator.kt @@ -2,7 +2,6 @@ package no.nav.familie.ba.sak.kjerne.beregning import no.nav.familie.ba.sak.common.FunksjonellFeil import no.nav.familie.ba.sak.common.Utils.avrundetHeltallAvProsent -import no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode.OppdaterUtvidetKlassekodeUtvidetAndelerSplitter import no.nav.familie.ba.sak.kjerne.beregning.UtvidetBarnetrygdUtil.filtrertForPerioderBarnaBorMedSøker import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelse import no.nav.familie.ba.sak.kjerne.beregning.domene.SatsType @@ -62,10 +61,6 @@ data class UtvidetBarnetrygdGenerator( ) } - return if (tilkjentYtelse.behandling.erOppdaterUtvidetKlassekode()) { - OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(utvidetAndeler) - } else { - utvidetAndeler - } + return utvidetAndeler } } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt index 0990a319a82..5c32da0314f 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt @@ -225,34 +225,19 @@ WHERE silp.stonad_tom < DATE_TRUNC('month', NOW()) @Query( """ - WITH sisteVedtatteBehandling AS (SELECT b.id, b.fk_fagsak_id - FROM behandling b - JOIN fagsak f ON b.fk_fagsak_id = f.id - WHERE b.status = 'AVSLUTTET' - AND b.resultat NOT LIKE 'HENLAGT%' - AND f.status = 'LØPENDE' - AND f.arkivert = false - AND b.aktivert_tid = (SELECT MAX(b2.aktivert_tid) - FROM behandling b2 - WHERE b2.fk_fagsak_id = f.id - AND b2.status = 'AVSLUTTET' - AND b2.resultat NOT LIKE 'HENLAGT%')), - fagsakMedLøpendeUtvidet AS (SELECT svb.fk_fagsak_id - FROM sisteVedtatteBehandling svb - JOIN tilkjent_ytelse ty ON ty.fk_behandling_id = svb.id - JOIN andel_tilkjent_ytelse aty ON aty.tilkjent_ytelse_id = ty.id - WHERE aty.type = 'UTVIDET_BARNETRYGD' - AND aty.stonad_tom >= DATE_TRUNC('month', NOW())) - - SELECT fmle.fk_fagsak_id - FROM fagsakMedLøpendeUtvidet fmle - EXCEPT (SELECT f.id - FROM fagsak f - JOIN behandling b on f.id = b.fk_fagsak_id - JOIN tilkjent_ytelse ty ON b.id = ty.fk_behandling_id - WHERE ty.utbetalingsoppdrag is not null and ty.utbetalingsoppdrag like '%"klassifisering":"BAUTV-OP"%') + SELECT DISTINCT b1.fk_fagsak_id + FROM behandling b1 + JOIN behandling b2 + ON b1.fk_fagsak_id = b2.fk_fagsak_id + AND b2.aktivert_tid > b1.aktivert_tid + AND b2.opprettet_aarsak != 'OPPDATER_UTVIDET_KLASSEKODE' + AND b2.status = 'AVSLUTTET' + AND b2.resultat NOT LIKE 'HENLAGT%' + JOIN tilkjent_ytelse ty + ON b2.id = ty.fk_behandling_id AND ty.utbetalingsoppdrag IS NOT NULL + WHERE b1.opprettet_aarsak = 'OPPDATER_UTVIDET_KLASSEKODE'; """, nativeQuery = true, ) - fun finnFagsakerMedLøpendeUtvidetBarnetrygdSomBrukerGammelKlassekode(): List + fun finnFagsakerMedIverksattRevurderingEtterOppdaterUtvidetKlassekodeBehandling(): List } diff --git "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" index 7ee0a825c23..27c34914874 100644 --- "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" +++ "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/\303\270konomi/utbetalingsoppdrag/AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest.kt" @@ -53,7 +53,7 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { } @Test - fun `skal splitte utvidet andel dersom nåtidspunkt treffer andelen samt fjerne alle utvidet andeler etter nåtidspunkt`() { + fun `skal fjerne utvidet andel dersom nåtidspunkt treffer andelen samt fjerne alle utvidet andeler etter nåtidspunkt`() { // Arrange val tilkjentYtelse = lagTilkjentYtelse() val denneMåned = YearMonth.now(clockProvider.get()) @@ -80,13 +80,8 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { val forrigeAndeler = andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(tilkjentYtelse, true) // Assert - assertThat(forrigeAndeler).hasSize(2) - val utvidetAndelData = forrigeAndeler.single { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData.fom).isEqualTo(utvidetAndel.stønadFom) - assertThat(utvidetAndelData.tom).isEqualTo(denneMåned) - assertThat(utvidetAndelData.id).isEqualTo(utvidetAndel.id) - assertThat(utvidetAndelData.beløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(utvidetAndelData.type).isEqualTo(YtelsetypeBA.UTVIDET_BARNETRYGD) + assertThat(forrigeAndeler).hasSize(1) + assertThat(forrigeAndeler.none { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD }).isTrue } @Test @@ -118,7 +113,7 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { } @Test - fun `skal returnere tom liste dersom det ikke finnes noen forrige tilkjent ytelse`() { + fun `skal fjerne utvidet andel som treffer nåtidspunkt og alle etterfølgende utvidet andeler`() { // Arrange val tilkjentYtelse = lagTilkjentYtelse() val denneMåned = YearMonth.now(clockProvider.get()) @@ -152,13 +147,8 @@ class AndelDataForOppdaterUtvidetKlassekodeBehandlingUtlederTest { val forrigeAndeler = andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(tilkjentYtelse, true) // Assert - assertThat(forrigeAndeler).hasSize(2) - val utvidetAndelData = forrigeAndeler.single { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData.fom).isEqualTo(utvidetAndel.stønadFom) - assertThat(utvidetAndelData.tom).isEqualTo(denneMåned) - assertThat(utvidetAndelData.id).isEqualTo(utvidetAndel.id) - assertThat(utvidetAndelData.beløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(utvidetAndelData.type).isEqualTo(YtelsetypeBA.UTVIDET_BARNETRYGD) + assertThat(forrigeAndeler).hasSize(1) + assertThat(forrigeAndeler.none { it.type == YtelsetypeBA.UTVIDET_BARNETRYGD }).isTrue } } } 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 6026b28e0b5..a1cf4500480 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" @@ -3,7 +3,9 @@ package no.nav.familie.ba.sak.integrasjoner.økonomi.utbetalingsoppdrag import io.mockk.every import io.mockk.mockk import io.mockk.verify +import no.nav.familie.ba.sak.TestClockProvider import no.nav.familie.ba.sak.common.førsteDagIInneværendeMåned +import no.nav.familie.ba.sak.common.sisteDagIInneværendeMåned import no.nav.familie.ba.sak.common.sisteDagIMåned import no.nav.familie.ba.sak.common.toYearMonth import no.nav.familie.ba.sak.config.FeatureToggle @@ -28,6 +30,7 @@ import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.ValueSource import java.time.LocalDate +import java.time.YearMonth class UtbetalingsoppdragGeneratorTest { private val klassifiseringKorrigerer: KlassifiseringKorrigerer = mockk() @@ -36,7 +39,7 @@ class UtbetalingsoppdragGeneratorTest { private val andelTilkjentYtelseRepository: AndelTilkjentYtelseRepository = mockk() private val behandlingHentOgPersisterService: BehandlingHentOgPersisterService = mockk() private val tilkjentYtelseRepository: TilkjentYtelseRepository = mockk() - private val andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder: AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder = mockk() + private val andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder: AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder = AndelDataForOppdaterUtvidetKlassekodeBehandlingUtleder(TestClockProvider.lagClockProviderMedFastTidspunkt(YearMonth.of(2025, 2))) private val utbetalingsoppdragGenerator = UtbetalingsoppdragGenerator( utbetalingsgenerator = Utbetalingsgenerator(), @@ -319,8 +322,8 @@ class UtbetalingsoppdragGeneratorTest { lagAndelTilkjentYtelse( id = 1, behandling = forrigeBehandling, - fom = LocalDate.now().toYearMonth(), - tom = LocalDate.now().toYearMonth(), + fom = YearMonth.of(2024, 6), + tom = YearMonth.of(2025, 3), periodeIdOffset = 0, forrigeperiodeIdOffset = null, person = barn, @@ -340,8 +343,8 @@ class UtbetalingsoppdragGeneratorTest { lagAndelTilkjentYtelse( id = 2, behandling = behandling, - fom = LocalDate.now().toYearMonth(), - tom = LocalDate.now().toYearMonth(), + fom = YearMonth.of(2024, 6), + tom = YearMonth.of(2025, 3), person = barn, ytelseType = YtelseType.UTVIDET_BARNETRYGD, kildeBehandlingId = null, @@ -409,8 +412,6 @@ class UtbetalingsoppdragGeneratorTest { firstArg() } - every { andelDataForOppdaterUtvidetKlassekodeBehandlingUtleder.finnForrigeAndelerForOppdaterUtvidetKlassekodeBehandling(any(), any()) } returns emptyList() - every { tilkjentYtelseRepository.findByOppdatertUtvidetBarnetrygdKlassekodeIUtbetalingsoppdrag(any()) } returns emptyList() // Act val beregnetUtbetalingsoppdragLongId = @@ -444,11 +445,21 @@ class UtbetalingsoppdragGeneratorTest { beregnetUtbetalingsoppdragLongId.utbetalingsoppdrag.utbetalingsperiode .single() .vedtakdatoFom, - ).isEqualTo(LocalDate.now().førsteDagIInneværendeMåned()) + ).isEqualTo( + tilkjentYtelse.andelerTilkjentYtelse + .single() + .stønadFom + .førsteDagIInneværendeMåned(), + ) assertThat( beregnetUtbetalingsoppdragLongId.utbetalingsoppdrag.utbetalingsperiode .single() .vedtakdatoTom, - ).isEqualTo(LocalDate.now().sisteDagIMåned()) + ).isEqualTo( + tilkjentYtelse.andelerTilkjentYtelse + .single() + .stønadTom + .sisteDagIInneværendeMåned(), + ) } } diff --git a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest.kt b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest.kt deleted file mode 100644 index 8557d125c95..00000000000 --- a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/autovedtak/oppdaterutvidetklassekode/OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest.kt +++ /dev/null @@ -1,137 +0,0 @@ -package no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode - -import no.nav.familie.ba.sak.common.inneværendeMåned -import no.nav.familie.ba.sak.datagenerator.lagAndelTilkjentYtelse -import no.nav.familie.ba.sak.datagenerator.lagTilkjentYtelse -import no.nav.familie.ba.sak.kjerne.beregning.domene.YtelseType -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.Test - -class OppdaterUtvidetKlassekodeUtvidetAndelerSplitterTest { - @Test - fun `skal splitte utvidet andel dersom nåtidspunkt treffer andelen`() { - // Arrange - val tilkjentYtelse = lagTilkjentYtelse() - val denneMåned = inneværendeMåned() - val utvidetAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.plusMonths(3), - ytelseType = YtelseType.UTVIDET_BARNETRYGD, - ) - val ordinærAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.ORDINÆR_BARNETRYGD, - ) - tilkjentYtelse.andelerTilkjentYtelse.addAll( - listOf( - utvidetAndel, - ordinærAndel, - ), - ) - - // Act - val forrigeAndeler = OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(tilkjentYtelse.andelerTilkjentYtelse) - - // Assert - assertThat(forrigeAndeler).hasSize(3) - val utvidetAndelData = forrigeAndeler.filter { it.type == YtelseType.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData).hasSize(2) - val førsteUtvidetAndelData = utvidetAndelData.first() - assertThat(førsteUtvidetAndelData.stønadFom).isEqualTo(utvidetAndel.stønadFom) - assertThat(førsteUtvidetAndelData.stønadTom).isEqualTo(denneMåned) - assertThat(førsteUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(førsteUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - - val andreUtvidetAndelData = utvidetAndelData.last() - assertThat(andreUtvidetAndelData.stønadFom).isEqualTo(denneMåned.plusMonths(1)) - assertThat(andreUtvidetAndelData.stønadTom).isEqualTo(utvidetAndel.stønadTom) - assertThat(andreUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(andreUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - } - - @Test - fun `skal returnere alle utvidet andeler uendret dersom nåtidspunkt ikke treffer noen utvidet andeler`() { - // Arrange - val tilkjentYtelse = lagTilkjentYtelse() - val denneMåned = inneværendeMåned() - val utvidetAndelFørNåtidspunkt = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.UTVIDET_BARNETRYGD, - ) - val utvidetAndelEtterNåtidspunkt = - lagAndelTilkjentYtelse( - fom = denneMåned.plusMonths(1), - tom = denneMåned.plusMonths(3), - ytelseType = YtelseType.UTVIDET_BARNETRYGD, - ) - val ordinærAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.ORDINÆR_BARNETRYGD, - ) - tilkjentYtelse.andelerTilkjentYtelse.addAll( - listOf( - utvidetAndelFørNåtidspunkt, - utvidetAndelEtterNåtidspunkt, - ordinærAndel, - ), - ) - - // Act - val forrigeAndeler = OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(tilkjentYtelse.andelerTilkjentYtelse) - - // Assert - assertThat(forrigeAndeler).hasSize(3) - val utvidetAndelData = forrigeAndeler.filter { it.type == YtelseType.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData).hasSize(2) - val førsteUtvidetAndelData = utvidetAndelData.first() - assertThat(førsteUtvidetAndelData.stønadFom).isEqualTo(utvidetAndelFørNåtidspunkt.stønadFom) - assertThat(førsteUtvidetAndelData.stønadTom).isEqualTo(utvidetAndelFørNåtidspunkt.stønadTom) - assertThat(førsteUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndelFørNåtidspunkt.kalkulertUtbetalingsbeløp) - assertThat(førsteUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - - val andreUtvidetAndelData = utvidetAndelData.last() - assertThat(andreUtvidetAndelData.stønadFom).isEqualTo(utvidetAndelEtterNåtidspunkt.stønadFom) - assertThat(andreUtvidetAndelData.stønadTom).isEqualTo(utvidetAndelEtterNåtidspunkt.stønadTom) - assertThat(andreUtvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndelEtterNåtidspunkt.kalkulertUtbetalingsbeløp) - assertThat(andreUtvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - } - - @Test - fun `skal ikke splitte utvidet andel dersom nåtidspunkt treffer andelen og andelen kun inneholder 1 mnd`() { - // Arrange - val tilkjentYtelse = lagTilkjentYtelse() - val denneMåned = inneværendeMåned() - val utvidetAndel = - lagAndelTilkjentYtelse(fom = denneMåned, tom = denneMåned, ytelseType = YtelseType.UTVIDET_BARNETRYGD) - val ordinærAndel = - lagAndelTilkjentYtelse( - fom = denneMåned.minusMonths(3), - tom = denneMåned.minusMonths(1), - ytelseType = YtelseType.ORDINÆR_BARNETRYGD, - ) - tilkjentYtelse.andelerTilkjentYtelse.addAll( - listOf( - utvidetAndel, - ordinærAndel, - ), - ) - - // Act - val forrigeAndeler = OppdaterUtvidetKlassekodeUtvidetAndelerSplitter.splittUtvidetAndelerIInneværendeMåned(tilkjentYtelse.andelerTilkjentYtelse) - - // Assert - assertThat(forrigeAndeler).hasSize(2) - val utvidetAndelData = forrigeAndeler.single { it.type == YtelseType.UTVIDET_BARNETRYGD } - assertThat(utvidetAndelData.stønadFom).isEqualTo(utvidetAndel.stønadFom) - assertThat(utvidetAndelData.stønadTom).isEqualTo(utvidetAndel.stønadTom) - assertThat(utvidetAndelData.kalkulertUtbetalingsbeløp).isEqualTo(utvidetAndel.kalkulertUtbetalingsbeløp) - assertThat(utvidetAndelData.type).isEqualTo(YtelseType.UTVIDET_BARNETRYGD) - } -} diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt index eacdf155f76..e4268e58db5 100644 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt +++ b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/VedtaksperioderOgBegrunnelserStepDefinition.kt @@ -23,7 +23,6 @@ import no.nav.familie.ba.sak.cucumber.domeneparser.parseString import no.nav.familie.ba.sak.cucumber.domeneparser.parseValgfriDato import no.nav.familie.ba.sak.cucumber.mock.CucumberMock import no.nav.familie.ba.sak.cucumber.mock.mockAutovedtakMånedligValutajusteringService -import no.nav.familie.ba.sak.cucumber.mock.mockAutovedtakOppdaterUtvidetKlassekodeService import no.nav.familie.ba.sak.ekstern.restDomene.BarnMedOpplysninger import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling import no.nav.familie.ba.sak.kjerne.beregning.domene.AndelTilkjentYtelseMedEndreteUtbetalinger @@ -672,16 +671,6 @@ class VedtaksperioderOgBegrunnelserStepDefinition { ).utførMånedligValutajustering(fagsakId = fagsakId, måned = dagensDato.toYearMonth()) } - @Når("vi lager automatisk behandling på fagsak {} med årsak OPPDATER_UTVIDET_KLASSEKODE") - fun `kjør autovetak med årsak OPPDATER_UTVIDET_KLASSEKODE på fagsak `(fagsakId: Long) { - val fagsak = fagsaker[fagsakId]!! - - mockAutovedtakOppdaterUtvidetKlassekodeService( - dataFraCucumber = this, - fagsak = fagsak, - ).utførMigreringTilOppdatertUtvidetKlassekode(fagsakId = fagsakId) - } - @Så("forvent følgende valutakurser for behandling {}") fun `forvent følgende valutakurser for behandling`( behandlingId: Long, diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/MockAutovedtakOppdaterUtvidetKlassekodeService.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/MockAutovedtakOppdaterUtvidetKlassekodeService.kt deleted file mode 100644 index 5587bbed10c..00000000000 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/cucumber/mock/MockAutovedtakOppdaterUtvidetKlassekodeService.kt +++ /dev/null @@ -1,37 +0,0 @@ -package no.nav.familie.ba.sak.cucumber.mock - -import io.mockk.every -import no.nav.familie.ba.sak.cucumber.VedtaksperioderOgBegrunnelserStepDefinition -import no.nav.familie.ba.sak.kjerne.autovedtak.oppdaterutvidetklassekode.AutovedtakOppdaterUtvidetKlassekodeService -import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingStatus -import no.nav.familie.ba.sak.kjerne.fagsak.Fagsak - -fun mockAutovedtakOppdaterUtvidetKlassekodeService( - dataFraCucumber: VedtaksperioderOgBegrunnelserStepDefinition, - fagsak: Fagsak, -): AutovedtakOppdaterUtvidetKlassekodeService { - val forrigeBehandling = - dataFraCucumber.behandlinger.values - .filter { it.fagsak.id == fagsak.id && it.status == BehandlingStatus.AVSLUTTET } - .maxByOrNull { it.id } ?: error("Fant ingen forrige behandling for fagsak=${fagsak.id}") - val nyBehandlingId = forrigeBehandling.id.plus(1) - dataFraCucumber.behandlingTilForrigeBehandling[nyBehandlingId] = forrigeBehandling.id - - val cucumberMock = - CucumberMock( - dataFraCucumber = dataFraCucumber, - nyBehandlingId = nyBehandlingId, - forrigeBehandling = forrigeBehandling, - ) - - every { cucumberMock.snikeIKøenService.kanSnikeForbi(any()) } returns true - - return AutovedtakOppdaterUtvidetKlassekodeService( - behandlingHentOgPersisterService = cucumberMock.behandlingHentOgPersisterService, - autovedtakService = cucumberMock.autovedtakService, - taskRepository = cucumberMock.taskRepository, - snikeIKøenService = cucumberMock.snikeIKøenService, - oppdaterUtvidetKlassekodeKjøringRepository = cucumberMock.oppdaterUtvidetKlassekodeKjøringRepository, - tilkjentYtelseRepository = cucumberMock.tilkjentYtelseRepository, - ) -} diff --git a/src/test/resources/no/nav/familie/ba/sak/cucumber/autovedtak_oppdater_utvidet_klassekode.feature b/src/test/resources/no/nav/familie/ba/sak/cucumber/autovedtak_oppdater_utvidet_klassekode.feature deleted file mode 100644 index 4c8cc6b00a5..00000000000 --- a/src/test/resources/no/nav/familie/ba/sak/cucumber/autovedtak_oppdater_utvidet_klassekode.feature +++ /dev/null @@ -1,74 +0,0 @@ -# language: no -# encoding: UTF-8 - -Egenskap: Automatisk behandling for ny klassekode for utvidet barnetrygd - - Bakgrunn: - Gitt følgende fagsaker - | FagsakId | Fagsaktype | Status | - | 1 | NORMAL | OPPRETTET | - - Gitt følgende behandlinger - | BehandlingId | FagsakId | Behandlingsårsak | Behandlingskategori | Underkategori | Behandlingsresultat | Behandlingsstatus | Behandlingssteg | - | 1 | 1 | SØKNAD | NASJONAL | UTVIDET | INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | - - Og følgende persongrunnlag - | BehandlingId | AktørId | Persontype | Fødselsdato | Dødsfalldato | - | 1 | 1 | SØKER | 24.08.1989 | | - | 1 | 2 | BARN | 13.06.2023 | | - - Scenario: skal gjennomføres for fagsak som har løpende barnetrygd og ikke er oppdatert - - Og med 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 | - - Og dagens dato er 15.11.2024 - Og lag personresultater for behandling 1 - - Og legg til nye vilkårresultater for behandling 1 - | AktørId | Vilkår | Fra dato | Til dato | Resultat | Er eksplisitt avslag | - | 1 | BOSATT_I_RIKET,LOVLIG_OPPHOLD | 24.08.1989 | | OPPFYLT | Nei | - | 1 | UTVIDET_BARNETRYGD | 13.06.2023 | | OPPFYLT | Nei | - - | 2 | BOSATT_I_RIKET,LOVLIG_OPPHOLD,BOR_MED_SØKER,GIFT_PARTNERSKAP | 13.06.2023 | | OPPFYLT | Nei | - | 2 | UNDER_18_ÅR | 13.06.2023 | 12.06.2041 | OPPFYLT | Nei | - - Og med andeler tilkjent ytelse - | AktørId | BehandlingId | Fra dato | Til dato | Beløp | Ytelse type | Prosent | Sats | - | 1 | 1 | 01.07.2023 | 31.05.2041 | 2516 | UTVIDET_BARNETRYGD | 100 | 2516 | - | 2 | 1 | 01.07.2023 | 31.05.2041 | 1766 | ORDINÆR_BARNETRYGD | 100 | 1766 | - - Når vi lager automatisk behandling på fagsak 1 med årsak OPPDATER_UTVIDET_KLASSEKODE - - Så forvent disse behandlingene - | BehandlingId | FagsakId | Behandlingstype | Behandlingsårsak | Behandlingskategori | Underkategori | Skal behandles automatisk | Behandlingsresultat | Behandlingsstatus | Behandlingssteg | - | 1 | 1 | FØRSTEGANGSBEHANDLING | SØKNAD | NASJONAL | UTVIDET | Nei | INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | - | 2 | 1 | REVURDERING | OPPDATER_UTVIDET_KLASSEKODE | NASJONAL | UTVIDET | Ja | FORTSATT_INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | - - Scenario: skal ikke oppdateres for fagsak som ikke har løpende barnetrygd - - Og med følgende feature toggles - | BehandlingId | FeatureToggleId | Er togglet på | - | 1 | familie-ba-sak.skal-bruke-ny-klassekode-for-utvidet-barnetrygd | Nei | - - Og dagens dato er 15.11.2024 - Og lag personresultater for behandling 1 - - Og legg til nye vilkårresultater for behandling 1 - | AktørId | Vilkår | Fra dato | Til dato | Resultat | Er eksplisitt avslag | - | 1 | BOSATT_I_RIKET,LOVLIG_OPPHOLD | 24.08.1989 | | OPPFYLT | Nei | - - | 2 | BOSATT_I_RIKET,LOVLIG_OPPHOLD,BOR_MED_SØKER,GIFT_PARTNERSKAP | 13.06.2023 | | OPPFYLT | Nei | - | 2 | UNDER_18_ÅR | 13.06.2023 | 12.06.2041 | OPPFYLT | Nei | - - Og med andeler tilkjent ytelse - | AktørId | BehandlingId | Fra dato | Til dato | Beløp | Ytelse type | Prosent | Sats | - | 2 | 1 | 01.07.2023 | 31.05.2041 | 1766 | ORDINÆR_BARNETRYGD | 100 | 1766 | - - Når vi lager automatisk behandling på fagsak 1 med årsak OPPDATER_UTVIDET_KLASSEKODE - - Så forvent nøyaktig disse behandlingene for fagsak 1 - | BehandlingId | FagsakId | Behandlingstype | Behandlingsårsak | Behandlingskategori | Underkategori | Skal behandles automatisk | Behandlingsresultat | Behandlingsstatus | Behandlingssteg | - | 1 | 1 | FØRSTEGANGSBEHANDLING | SØKNAD | NASJONAL | UTVIDET | Nei | INNVILGET | AVSLUTTET | BEHANDLING_AVSLUTTET | \ No newline at end of file diff --git a/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature index b17369a972c..5e88e1a1fa8 100644 --- a/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature +++ b/src/test/resources/no/nav/familie/ba/sak/cucumber/oppdrag/oppdaterUtvidetKlassekodeBehandling.feature @@ -3,7 +3,7 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET_KLASSEKODE - Scenario: Skal sende kjedelementer for utvidet andel fra inneværende måned og fremover i tid når inneværende måned treffer midt i en andel + Scenario: Skal sende kjedelementer for utvidet andeler fra andel som overlapper med inneværende måned og fremover Gitt følgende feature toggles | BehandlingId | FeatureToggleId | Er togglet på | @@ -13,8 +13,7 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET Gitt følgende tilkjente ytelser | BehandlingId | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | | 1 | 08.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | SØKNAD | - | 2 | 08.2024 | 11.2024 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | - | 2 | 12.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | + | 2 | 08.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | Og inneværende måned er 11.2024 @@ -23,9 +22,9 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET 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 | 08.2024 | 05.2025 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 12.2024 | 05.2025 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 08.2024 | 05.2025 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | - Scenario: Skal ikke sende kjedelementer for utvidet andel når inneværende måned treffer i en andel og andelen også slutter inneværende måned + Scenario: Skal sende kjedelementer for utvidet andel når inneværende måned treffer i en andel og andelen også slutter inneværende måned Gitt følgende feature toggles | BehandlingId | FeatureToggleId | Er togglet på | @@ -44,6 +43,7 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET 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 | 08.2024 | 11.2024 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | + | 2 | 08.2024 | 11.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | Scenario: Skal sende kjedelementer for alle utvidet andeler fra inneværende måned og fremover i tid når inneværende måned treffer midt i en andel @@ -56,8 +56,8 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET | BehandlingId | Fra dato | Til dato | Beløp | Ytelse | Behandlingsårsak | | 1 | 08.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | SØKNAD | | 1 | 06.2025 | 12.2025 | 850 | UTVIDET_BARNETRYGD | SØKNAD | - | 2 | 08.2024 | 11.2024 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | - | 2 | 12.2024 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | + | 2 | 08.2024 | 02.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | + | 2 | 03.2025 | 05.2025 | 700 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | | 2 | 06.2025 | 12.2025 | 850 | UTVIDET_BARNETRYGD | OPPDATER_UTVIDET_KLASSEKODE | Og inneværende måned er 11.2024 @@ -68,8 +68,9 @@ Egenskap: Utbetalingsoppdrag: Automatisk revurdering med årsak OPPDATER_UTVIDET | BehandlingId | Fra dato | Til dato | Opphørsdato | Beløp | Kode endring | Er endring | Periode id | Forrige periode id | Ytelse | | 1 | 08.2024 | 05.2025 | | 700 | NY | Nei | 0 | | UTVIDET_BARNETRYGD_GAMMEL | | 1 | 06.2025 | 12.2025 | | 850 | NY | Nei | 1 | 0 | UTVIDET_BARNETRYGD_GAMMEL | - | 2 | 12.2024 | 05.2025 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | - | 2 | 06.2025 | 12.2025 | | 850 | ENDR | Nei | 3 | 2 | UTVIDET_BARNETRYGD | + | 2 | 08.2024 | 02.2025 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 2 | 03.2025 | 05.2025 | | 700 | ENDR | Nei | 3 | 2 | UTVIDET_BARNETRYGD | + | 2 | 06.2025 | 12.2025 | | 850 | ENDR | Nei | 4 | 3 | UTVIDET_BARNETRYGD | Scenario: Skal sende kjedelementer for alle utvidet andeler fra inneværende måned og fremover i tid når inneværende måned treffer et hull med utvidet andeler etter 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 index a5b774b89f0..e9121ba1087 100644 --- 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 @@ -26,8 +26,9 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode 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 | + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 2 | 1 | UTVIDET_BARNETRYGD | Scenario: Endring av utvidet barnetrygd etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE @@ -53,8 +54,9 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode 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 | + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 750 | ENDR | Nei | 3 | 2 | UTVIDET_BARNETRYGD | Scenario: Opphør av utvidet barnetrygd 2 behandlinger etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE @@ -84,10 +86,11 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode 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 | + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 3 | | ORDINÆR_BARNETRYGD | + | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 4 | 3 | ORDINÆR_BARNETRYGD | + | 5 | 01.2025 | 05.2034 | 07.2023 | 700 | ENDR | Ja | 2 | 1 | UTVIDET_BARNETRYGD | Scenario: Opphør/forkorting av utvidet barnetrygd 2 behandlinger etter behandling med årsak OPPDATER_UTVIDET_KLASSEKODE @@ -117,7 +120,8 @@ Egenskap: Utbetalingsoppdrag: Opphør/simulering etter OppdaterUtvidetKlassekode 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 + | 2 | 07.2023 | 12.2024 | | 700 | ENDR | Nei | 1 | 0 | UTVIDET_BARNETRYGD | + | 2 | 01.2025 | 05.2034 | | 700 | ENDR | Nei | 2 | 1 | UTVIDET_BARNETRYGD | + | 3 | 07.2023 | 05.2026 | | 500 | ENDR | Nei | 3 | | ORDINÆR_BARNETRYGD | + | 4 | 07.2023 | 05.2026 | | 400 | ENDR | Nei | 4 | 3 | ORDINÆR_BARNETRYGD | + | 5 | 01.2025 | 05.2034 | 06.2030 | 700 | ENDR | Ja | 2 | 1 | UTVIDET_BARNETRYGD | \ No newline at end of file