Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Endre oppsett for spørsmål om kontantstøtte #2753

Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,7 @@ class MigreringService(
),
),
perioderKontantstøtte = emptyList(),
kontantstøtteBegrunnelse = null,
tilleggsstønad = TilleggsstønadDto(false, begrunnelse = null),
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ class DatabaseConfiguration : AbstractJdbcConfiguration() {
class PGobjectTilKontantstøtteConverter : Converter<PGobject, KontantstøtteWrapper> {
override fun convert(pGobject: PGobject): KontantstøtteWrapper {
val kontantstøtteVerdi: KontantstøtteWrapper? = pGobject.value?.let { objectMapper.readValue(it) }
return kontantstøtteVerdi ?: KontantstøtteWrapper(perioder = emptyList())
return kontantstøtteVerdi ?: KontantstøtteWrapper(perioder = emptyList(), begrunnelse = null)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,26 +50,28 @@ class KopierVedtakService(
): VedtakDto {
val fraDato = BeregningBarnetilsynUtil.satserForBarnetilsyn.maxOf { it.periode.fom }
val historikk = vedtakHistorikkService.hentAktivHistorikk(fagsakId).fraDato(YearMonth.from(fraDato))
val forrigeVedtak = vedtakService.hentVedtak(forrigeBehandlingId)

return InnvilgelseBarnetilsyn(
perioder = mapUtgiftsperioder(historikk, behandlingBarn),
resultatType = ResultatType.INNVILGE,
perioderKontantstøtte = mapPerioderKontantstøtte(historikk),
tilleggsstønad = mapTilleggsstønadDto(historikk, forrigeBehandlingId),
kontantstøtteBegrunnelse = forrigeVedtak.kontantstøtte?.begrunnelse,
tilleggsstønad = mapTilleggsstønadDto(historikk, forrigeVedtak.tilleggsstønad?.begrunnelse),
begrunnelse = "Satsendring barnetilsyn",
)
}

private fun mapTilleggsstønadDto(
historikk: List<AndelHistorikkDto>,
forrigeBehandlingId: UUID,
begrunnelse: String?,
): TilleggsstønadDto =
TilleggsstønadDto(
historikk.any { it.andel.tilleggsstønad > 0 },
historikk.filter { it.andel.tilleggsstønad > 0 }.map {
PeriodeMedBeløpDto(periode = it.andel.periode, beløp = it.andel.tilleggsstønad)
},
vedtakService.hentVedtak(forrigeBehandlingId).tilleggsstønad?.begrunnelse,
begrunnelse,
)

private fun mapPerioderKontantstøtte(historikk: List<AndelHistorikkDto>): List<PeriodeMedBeløpDto> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@ data class TilleggsstønadWrapper(

data class KontantstøtteWrapper(
val perioder: List<PeriodeMedBeløp>,
val begrunnelse: String?,
)

data class BarnetilsynWrapper(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ data class InnvilgelseBarnetilsyn(
val begrunnelse: String?,
val perioder: List<UtgiftsperiodeDto> = emptyList(),
val perioderKontantstøtte: List<PeriodeMedBeløpDto>,
val kontantstøtteBegrunnelse: String?,
val tilleggsstønad: TilleggsstønadDto,
override val resultatType: ResultatType = ResultatType.INNVILGE,
override val _type: String = "InnvilgelseBarnetilsyn",
Expand Down Expand Up @@ -97,6 +98,7 @@ fun Vedtak.mapInnvilgelseBarnetilsyn(resultatType: ResultatType = ResultatType.I
)
},
perioderKontantstøtte = this.kontantstøtte.perioder.map { it.tilDto() },
kontantstøtteBegrunnelse = this.kontantstøtte.begrunnelse,
tilleggsstønad =
TilleggsstønadDto(
harTilleggsstønad = this.tilleggsstønad.harTilleggsstønad,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ fun VedtakDto.tilVedtak(
perioder = this.perioder.map { it.tilDomene() },
begrunnelse = this.begrunnelse,
),
kontantstøtte = KontantstøtteWrapper(perioder = this.perioderKontantstøtte.map { it.tilDomene() }),
kontantstøtte = KontantstøtteWrapper(perioder = this.perioderKontantstøtte.map { it.tilDomene() }, begrunnelse = this.kontantstøtteBegrunnelse),
tilleggsstønad =
TilleggsstønadWrapper(
harTilleggsstønad = this.tilleggsstønad.harTilleggsstønad,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ class VedtakHistorikkService(
begrunnelse = null,
perioder = perioder,
perioderKontantstøtte = mapUtgifterBarnetilsyn(historikk, fra) { it.kontantstøtte },
kontantstøtteBegrunnelse = null,
Copy link
Contributor

@ma10s ma10s Jan 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ikke nødvendligvis en kommentar til endring, men kanskje vi kunne brukt noe annet enn InnvilgelseBarnetilsyn her? Burde dette vært et SammenslåttPeriodehistorikkBarnetilsyn klasse eller liknende??? Ny legacy oppgave?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hvorfor blir kontantstøtteBegrunnelse automatisk satt til null her egentlig? Og hvorfor skjer det samme med begrunnelse?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vi har ikke disse begrunnelsene i vedtakshistorikken - all den tid vi har et AndelHistorikkDto-objekt

tilleggsstønad =
mapUtgifterBarnetilsyn(historikk, fra) { it.tilleggsstønad }.let {
TilleggsstønadDto(harTilleggsstønad = it.isNotEmpty(), it, null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ internal class BeregnYtelseStegBarnetilsynIntegrationTest : OppslagSpringRunnerT
perioder = utgiftsperioder,
begrunnelse = null,
perioderKontantstøtte = listOf(),
kontantstøtteBegrunnelse = null,
tilleggsstønad =
TilleggsstønadDto(
harTilleggsstønad = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2053,6 +2053,7 @@ internal class BeregnYtelseStegTest {
),
),
perioderKontantstøtte = emptyList(),
kontantstøtteBegrunnelse = null,
tilleggsstønad = TilleggsstønadDto(true, emptyList(), null),
begrunnelse = null,
)
Expand Down Expand Up @@ -2080,6 +2081,7 @@ internal class BeregnYtelseStegTest {
)
},
perioderKontantstøtte = emptyList(),
kontantstøtteBegrunnelse = null,
tilleggsstønad =
TilleggsstønadDto(
true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ internal class BeregningBarnetilsynControllerTest : OppslagSpringRunnerTest() {
begrunnelse = "",
perioder = listOf(utgiftsperiode),
perioderKontantstøtte = listOf(),
kontantstøtteBegrunnelse = null,
tilleggsstønad =
TilleggsstønadDto(
harTilleggsstønad = false,
Expand Down Expand Up @@ -224,6 +225,7 @@ internal class BeregningBarnetilsynControllerTest : OppslagSpringRunnerTest() {
begrunnelse = "",
perioder = listOf(utgiftsperiode),
perioderKontantstøtte = listOf(),
kontantstøtteBegrunnelse = null,
tilleggsstønad =
TilleggsstønadDto(
harTilleggsstønad = false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ object VedtakDomeneParser {
}
vedtak.copy(
barnetilsyn = BarnetilsynWrapper(perioder, null),
kontantstøtte = KontantstøtteWrapper(emptyList()), // overskreves i egen "Gitt"
kontantstøtte = KontantstøtteWrapper(emptyList(), null), // overskreves i egen "Gitt"
tilleggsstønad = TilleggsstønadWrapper(false, emptyList(), null),
) // overskreves i egen "Gitt"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@ class StepDefinitions {
}
gittVedtak =
VedtakDomeneParser.mapOgSettPeriodeMedBeløp(gittVedtak, dataTable) { vedtak, perioder ->
vedtak.copy(kontantstøtte = KontantstøtteWrapper(perioder))
vedtak.copy(kontantstøtte = KontantstøtteWrapper(perioder, null))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ fun vedtakBarnetilsyn(
barn: List<UUID>,
resultatType: ResultatType = ResultatType.INNVILGE,
beløp: Int = 1000,
kontantstøtteWrapper: KontantstøtteWrapper = KontantstøtteWrapper(emptyList()),
kontantstøtteWrapper: KontantstøtteWrapper = KontantstøtteWrapper(emptyList(), null),
fom: YearMonth,
tom: YearMonth,
) = Vedtak(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ internal class RevurderingServiceIntegrationTest : OppslagSpringRunnerTest() {
1000,
),
),
null,
),
fom = YearMonth.of(2024, 6),
tom = YearMonth.of(2025, 12),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ internal class LagreVedtakControllerTest : OppslagSpringRunnerTest() {
begrunnelse = "",
perioder = listOf(utgiftsperiode),
perioderKontantstøtte = listOf(),
kontantstøtteBegrunnelse = null,
tilleggsstønad = tomTillegsstønad(),
)

Expand All @@ -89,7 +90,7 @@ internal class LagreVedtakControllerTest : OppslagSpringRunnerTest() {
),
begrunnelse = "",
),
kontantstøtte = KontantstøtteWrapper(emptyList()),
kontantstøtte = KontantstøtteWrapper(emptyList(), null),
tilleggsstønad = TilleggsstønadWrapper(false, emptyList(), null),
saksbehandlerIdent = "julenissen",
opprettetAv = "julenissen",
Expand Down Expand Up @@ -118,6 +119,7 @@ internal class LagreVedtakControllerTest : OppslagSpringRunnerTest() {
begrunnelse = "",
perioder = listOf(utgiftsperiode),
perioderKontantstøtte = listOf(kontantstøttePeriode),
kontantstøtteBegrunnelse = "",
tilleggsstønad = tomTillegsstønad(),
_type = "InnvilgelseBarnetilsynUtenUtbetaling",
)
Expand Down Expand Up @@ -150,6 +152,7 @@ internal class LagreVedtakControllerTest : OppslagSpringRunnerTest() {
beløp = kontantstøttePeriode.beløp,
),
),
"",
),
tilleggsstønad = TilleggsstønadWrapper(false, emptyList(), null),
saksbehandlerIdent = "julenissen",
Expand Down Expand Up @@ -179,6 +182,7 @@ internal class LagreVedtakControllerTest : OppslagSpringRunnerTest() {
begrunnelse = "",
perioder = listOf(utgiftsperiode),
perioderKontantstøtte = listOf(kontantstøttePeriode),
kontantstøtteBegrunnelse = "",
tilleggsstønad = tomTillegsstønad(),
_type = "InnvilgelseBarnetilsynUtenUtbetaling",
)
Expand All @@ -200,6 +204,7 @@ internal class LagreVedtakControllerTest : OppslagSpringRunnerTest() {
begrunnelse = "",
perioder = listOf(utgiftsperiode),
perioderKontantstøtte = listOf(kontantstøttePeriode),
kontantstøtteBegrunnelse = "",
tilleggsstønad = tomTillegsstønad(),
_type = "InnvilgelseBarnetilsyn",
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class VedtakDtoMapperTest {
val vedtakJson = readFile("BarnetilsynInnvilgetUtenUtbetalingVedtakDto.json")

val vedtak =
innvilgelseBarnetilsynDto(UUID.fromString("4ab497b2-a19c-4415-bf00-556ff8e9ce86"))
innvilgelseBarnetilsynDto(UUID.fromString("4ab497b2-a19c-4415-bf00-556ff8e9ce86"), kontantstøtteBegrunnelse = "test")
.copy(
resultatType = ResultatType.INNVILGE_UTEN_UTBETALING,
_type = "InnvilgelseBarnetilsynUtenUtbetaling",
Expand Down
16 changes: 10 additions & 6 deletions src/test/kotlin/no/nav/familie/ef/sak/vedtak/VedtakDtoUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -47,19 +47,23 @@ object VedtakDtoUtil {
SamordningsfradragType.GJENLEVENDEPENSJON,
)

fun innvilgelseBarnetilsynDto(barnId: UUID = UUID.randomUUID()) =
InnvilgelseBarnetilsyn(
"begrunnelse",
fun innvilgelseBarnetilsynDto(
barnId: UUID = UUID.randomUUID(),
kontantstøtteBegrunnelse: String? = null,
) = InnvilgelseBarnetilsyn(
begrunnelse = "begrunnelse",
perioder =
listOf(
barnetilsynperiodeDto(
fom = YearMonth.of(2021, 1),
tom = YearMonth.of(2021, 12),
barn = listOf(barnId),
),
),
listOf(periodeMedBeløpDto()),
tilleggsstønadDto(),
)
perioderKontantstøtte = listOf(periodeMedBeløpDto()),
kontantstøtteBegrunnelse = kontantstøtteBegrunnelse,
tilleggsstønad = tilleggsstønadDto(),
)

fun innvilgelseSkolepengerDto() =
InnvilgelseSkolepenger(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"beløp": 1000
}
],
"kontantstøtteBegrunnelse":"test",
"tilleggsstønad": {
"harTilleggsstønad": true,
"perioder": [
Expand Down
Loading