diff --git a/apps/etterlatte-beregning/src/main/resources/db/migration/V58__setter_regelverk_paa_perioder_hvor_det_mangler.sql b/apps/etterlatte-beregning/src/main/resources/db/migration/V58__setter_regelverk_paa_perioder_hvor_det_mangler.sql new file mode 100644 index 00000000000..f6f834d879b --- /dev/null +++ b/apps/etterlatte-beregning/src/main/resources/db/migration/V58__setter_regelverk_paa_perioder_hvor_det_mangler.sql @@ -0,0 +1,8 @@ +-- Setter regelverk på alle perioder fom 2024 +UPDATE beregningsperiode SET regelverk = 'REGELVERK_FOM_JAN_2024' WHERE regelverk is null AND datofom >= '2024-01-01'; + +-- Setter regelverk på alle perioder før 2024 +UPDATE beregningsperiode SET regelverk = 'REGELVERK_TOM_DES_2023' WHERE regelverk is null AND datofom < '2024-01-01'; + +-- Legger på not-null constraint på feltet +ALTER TABLE beregningsperiode ALTER COLUMN regelverk SET NOT NULL; \ No newline at end of file diff --git a/apps/etterlatte-beregning/src/test/kotlin/TestHelper.kt b/apps/etterlatte-beregning/src/test/kotlin/TestHelper.kt index 2efff291328..80338a237b8 100644 --- a/apps/etterlatte-beregning/src/test/kotlin/TestHelper.kt +++ b/apps/etterlatte-beregning/src/test/kotlin/TestHelper.kt @@ -20,6 +20,7 @@ import no.nav.etterlatte.beregning.grunnlag.InstitusjonsoppholdBeregningsgrunnla import no.nav.etterlatte.beregning.regler.barnepensjon.BarnepensjonGrunnlag import no.nav.etterlatte.ktor.token.simpleSaksbehandler import no.nav.etterlatte.libs.common.IntBroek +import no.nav.etterlatte.libs.common.Regelverk import no.nav.etterlatte.libs.common.Vedtaksloesning import no.nav.etterlatte.libs.common.behandling.BehandlingStatus import no.nav.etterlatte.libs.common.behandling.BehandlingType @@ -321,6 +322,7 @@ fun beregningsperiode( trygdetid = trygdetid, regelResultat = mapOf("regel" to "resultat").toObjectNode(), regelVersjon = "1", + regelverk = Regelverk.fraDato(datoFOM.atDay(1)), kilde = Grunnlagsopplysning.RegelKilde("regelid", Tidspunkt.now(), "1"), ) diff --git a/apps/etterlatte-statistikk/src/test/resources/melding.json b/apps/etterlatte-statistikk/src/test/resources/melding.json index 999dbe3c3e4..8249551ed9b 100644 --- a/apps/etterlatte-statistikk/src/test/resources/melding.json +++ b/apps/etterlatte-statistikk/src/test/resources/melding.json @@ -63,7 +63,8 @@ "tom": null }, "beloep": 9290, - "type": "UTBETALING" + "type": "UTBETALING", + "regelverk": "REGELVERK_FOM_JAN_2024" } ] } diff --git a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/VedtakMottakRiver.kt b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/VedtakMottakRiver.kt index 9ef4f1f1884..43b3facf31f 100644 --- a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/VedtakMottakRiver.kt +++ b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/VedtakMottakRiver.kt @@ -69,7 +69,6 @@ class VedtakMottakRiver( var vedtakId: Long? = null try { val vedtak: Utbetalingsvedtak = lesVedtak(packet).also { vedtakId = it.vedtakId } - // FIXME når VedtakNyDto tas i bruk: attestert ELLER samordnet (vedtakstatus) logger.info("Attestert vedtak med vedtakId=${vedtak.vedtakId} mottatt") when (val resultat = utbetalingService.iverksettUtbetaling(vedtak)) { diff --git a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapper.kt b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapper.kt index 0b6d8d2f2d2..0b1d18e687f 100644 --- a/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapper.kt +++ b/apps/etterlatte-utbetaling/src/main/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapper.kt @@ -93,11 +93,10 @@ class UtbetalingMapper( OppdragKlassifikasjonskode.OMSTILLINGSTOENAD_OPTP } Saktype.BARNEPENSJON -> { - // TODO i en overgangsperiode vil det finnes en del vedtak uten regelverk satt - kompenserer for dette her (https://jira.adeo.no/browse/EY-4564) - val regelverk = utbetalingsperiode.regelverk ?: Regelverk.fraDato(utbetalingsperiode.periode.fom.atDay(1)) - when (regelverk) { + when (utbetalingsperiode.regelverk) { Regelverk.REGELVERK_TOM_DES_2023 -> OppdragKlassifikasjonskode.BARNEPEFOER2024_OPTP Regelverk.REGELVERK_FOM_JAN_2024 -> OppdragKlassifikasjonskode.BARNEPENSJON_OPTP + else -> throw Exception("Mangler regelverk i utbetalingsperiode") } } } diff --git a/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapperTest.kt b/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapperTest.kt index 7908d467bb9..89e5664b71d 100644 --- a/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapperTest.kt +++ b/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingMapperTest.kt @@ -50,11 +50,14 @@ class UtbetalingMapperTest { utbetalingsperioder = listOf( utbetalingsperiode( - YearMonth.of(2023, Month.JANUARY), - YearMonth.of(2023, Month.DECEMBER), + fom = YearMonth.of(2023, Month.JANUARY), + tom = YearMonth.of(2023, Month.DECEMBER), + regelverk = Regelverk.REGELVERK_TOM_DES_2023, ), utbetalingsperiode( - YearMonth.of(2024, Month.JANUARY), + fom = YearMonth.of(2024, Month.JANUARY), + tom = null, + regelverk = Regelverk.REGELVERK_FOM_JAN_2024, ), ), sakType = Saktype.BARNEPENSJON, @@ -95,7 +98,7 @@ class UtbetalingMapperTest { private fun utbetalingsperiode( fom: YearMonth, tom: YearMonth? = null, - regelverk: Regelverk? = null, + regelverk: Regelverk, ) = Utbetalingsperiode( id = 1, periode = Periode(fom = fom, tom), diff --git a/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingsvedtakTest.kt b/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingsvedtakTest.kt index a1f3fbe3e0b..aa6a0d26798 100644 --- a/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingsvedtakTest.kt +++ b/apps/etterlatte-utbetaling/src/test/kotlin/no/nav/etterlatte/utbetaling/iverksetting/utbetaling/UtbetalingsvedtakTest.kt @@ -26,7 +26,8 @@ internal class UtbetalingsvedtakTest { "id": 72, "periode": { "fom": "2022-09", - "tom": null + "tom": null, + "regelverk": "REGELVERK_TOM_DES_2023" }, "beloep": 9290.0, "type": "UTBETALING" @@ -66,7 +67,8 @@ internal class UtbetalingsvedtakTest { "id": 72, "periode": { "fom": "2022-09", - "tom": null + "tom": null, + "regelverk": "REGELVERK_TOM_DES_2023" }, "beloep": 9290.0, "type": "UTBETALING" diff --git a/apps/etterlatte-utbetaling/src/test/resources/vedtak.json b/apps/etterlatte-utbetaling/src/test/resources/vedtak.json index 6c8992fb2b3..5245b1c6e5d 100644 --- a/apps/etterlatte-utbetaling/src/test/resources/vedtak.json +++ b/apps/etterlatte-utbetaling/src/test/resources/vedtak.json @@ -35,7 +35,8 @@ "tom": null }, "beloep": 2000, - "type": "UTBETALING" + "type": "UTBETALING", + "regelverk": "REGELVERK_TOM_DES_2023" } ] } diff --git a/apps/etterlatte-utbetaling/src/test/resources/vedtakOms.json b/apps/etterlatte-utbetaling/src/test/resources/vedtakOms.json index 56d9e670bde..eea0ba9f625 100644 --- a/apps/etterlatte-utbetaling/src/test/resources/vedtakOms.json +++ b/apps/etterlatte-utbetaling/src/test/resources/vedtakOms.json @@ -35,7 +35,8 @@ "tom": null }, "beloep": 2000, - "type": "UTBETALING" + "type": "UTBETALING", + "regelverk": "REGELVERK_TOM_DES_2023" } ] } diff --git a/apps/etterlatte-vedtaksvurdering-kafka/src/test/resources/attestertVedtakOms.json b/apps/etterlatte-vedtaksvurdering-kafka/src/test/resources/attestertVedtakOms.json index 067d50ce2b5..830d1ef367b 100644 --- a/apps/etterlatte-vedtaksvurdering-kafka/src/test/resources/attestertVedtakOms.json +++ b/apps/etterlatte-vedtaksvurdering-kafka/src/test/resources/attestertVedtakOms.json @@ -35,7 +35,8 @@ "tom": null }, "beloep": 2000, - "type": "UTBETALING" + "type": "UTBETALING", + "regelverk": "REGELVERK_FOM_JAN_2024" } ] } diff --git a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakBehandlingService.kt b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakBehandlingService.kt index 45bfcdf9ef0..25d662483fb 100644 --- a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakBehandlingService.kt +++ b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtakBehandlingService.kt @@ -554,7 +554,7 @@ class VedtakBehandlingService( opprettUtbetalingsperioder( vedtakType = vedtakType, beregningOgAvkorting = beregningOgAvkorting, - behandling.sakType, + sakType = behandling.sakType, opphoerFraOgMed = opphoerFraOgMed, ), revurderingInfo = behandling.revurderingInfo, @@ -633,7 +633,7 @@ class VedtakBehandlingService( ), beloep = it.utbetaltBeloep.toBigDecimal(), type = UtbetalingsperiodeType.UTBETALING, - regelverk = it.regelverk, + regelverk = it.regelverk ?: Regelverk.fraDato(it.datoFOM.atDay(1)), ) } } @@ -677,15 +677,7 @@ class VedtakBehandlingService( periode = Periode(opphoerFraOgMed, null), beloep = null, type = UtbetalingsperiodeType.OPPHOER, - regelverk = - if (perioderMedUtbetaling.any { it.regelverk != null }) { - // Regelverk er satt på periodene - for at det skal bli konsistent mot utbetaling - Regelverk.fraDato( - opphoerFraOgMed.atDay(1), - ) - } else { - null - }, + regelverk = Regelverk.fraDato(opphoerFraOgMed.atDay(1)), ), ) } else { @@ -698,7 +690,7 @@ class VedtakBehandlingService( private fun hentRegelverkFraBeregningForPeriode( beregningsperioder: List, fom: YearMonth, - ): Regelverk? { + ): Regelverk { val samsvarendeBeregningsperiode = beregningsperioder .sortedBy { it.datoFOM } @@ -706,6 +698,7 @@ class VedtakBehandlingService( ?: throw InternfeilException("Fant ingen beregningsperioder som samsvarte med avkortingsperiode $fom") return samsvarendeBeregningsperiode.regelverk + ?: Regelverk.fraDato(samsvarendeBeregningsperiode.datoFOM.atDay(1)) } private suspend fun hentDataForVedtak( diff --git a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt index bf41b325c96..60a46cbd3ef 100644 --- a/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt +++ b/apps/etterlatte-vedtaksvurdering/src/main/kotlin/no/nav/etterlatte/vedtaksvurdering/VedtaksvurderingRepository.kt @@ -598,7 +598,7 @@ class VedtaksvurderingRepository( ), beloep = bigDecimalOrNull("beloep"), type = UtbetalingsperiodeType.valueOf(string("type")), - regelverk = stringOrNull("regelverk")?.let { Regelverk.valueOf(it) }, + regelverk = string("regelverk").let { Regelverk.valueOf(it) }, ) private fun Row.toAvkortetYtelsePeriode() = diff --git a/apps/etterlatte-vedtaksvurdering/src/main/resources/db/migration/V38__setter_regelverk_paa_perioder_hvor_det_mangler.sql b/apps/etterlatte-vedtaksvurdering/src/main/resources/db/migration/V38__setter_regelverk_paa_perioder_hvor_det_mangler.sql new file mode 100644 index 00000000000..d32555190d3 --- /dev/null +++ b/apps/etterlatte-vedtaksvurdering/src/main/resources/db/migration/V38__setter_regelverk_paa_perioder_hvor_det_mangler.sql @@ -0,0 +1,8 @@ +-- Setter regelverk på alle perioder fom 2024 +UPDATE utbetalingsperiode SET regelverk = 'REGELVERK_FOM_JAN_2024' WHERE regelverk is null AND datofom >= '2024-01-01'; + +-- Setter regelverk på alle perioder før 2024 +UPDATE utbetalingsperiode SET regelverk = 'REGELVERK_TOM_DES_2023' WHERE regelverk is null AND datofom < '2024-01-01'; + +-- Legger på not-null constraint på feltet +ALTER TABLE utbetalingsperiode ALTER COLUMN regelverk SET NOT NULL; \ No newline at end of file diff --git a/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt b/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt index 62a80ec698b..65ece355d79 100644 --- a/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt +++ b/libs/etterlatte-vedtaksvurdering-model/src/main/kotlin/VedtakDto.kt @@ -114,7 +114,7 @@ data class Utbetalingsperiode( val periode: Periode, val beloep: BigDecimal?, val type: UtbetalingsperiodeType, - val regelverk: Regelverk?, + val regelverk: Regelverk, ) enum class UtbetalingsperiodeType {