Skip to content

Commit

Permalink
Vise kontantstøtteperioder under vedtak og beregning for barnetilsyn (#…
Browse files Browse the repository at this point in the history
…2756)

* Skal sende med kontantstøtte perioder til frontend

* Sletter KontantstøtteController da denne ikke er i bruk lenger

* Setter kontantstøtteperioder til å være tom liste i stedet for null

* Legger til kontantstøtteperioder i BlankettPdfBehandling

* Skal vise når kontantstøtteperioder fra KS er hentet for å kunne lese kontekst bedre

* fjerner siste rest av harKontantstøttePerioder

* Rydder etter litt refaktorering

* Legger tilbake harKontantstøttePerioder pga bakoverkompabilitet

* bruker registeropplysningerOpprettetDato i stedet for egen dato i kontantstøtteperioder

* skal bruke ny enum for ks-sak kilde
  • Loading branch information
throndi authored Feb 5, 2025
1 parent 28d828a commit 4652677
Show file tree
Hide file tree
Showing 13 changed files with 81 additions and 46 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package no.nav.familie.ef.sak.blankett

import no.nav.familie.ef.sak.behandling.dto.ÅrsakRevurderingDto
import no.nav.familie.ef.sak.opplysninger.personopplysninger.domene.KontantstøttePeriode
import no.nav.familie.ef.sak.opplysninger.søknad.SøknadDatoerDto
import no.nav.familie.ef.sak.vedtak.dto.VedtakDto
import no.nav.familie.ef.sak.vilkår.dto.TidligereVedtaksperioderDto
import no.nav.familie.ef.sak.vilkår.dto.VilkårDto
import no.nav.familie.kontrakter.ef.felles.BehandlingÅrsak
import no.nav.familie.kontrakter.felles.ef.StønadType
import java.time.LocalDate

data class BlankettPdfRequest(
val behandling: BlankettPdfBehandling,
Expand All @@ -23,6 +25,8 @@ data class BlankettPdfBehandling(
val årsakRevurdering: ÅrsakRevurderingDto?,
val tidligereVedtaksperioder: TidligereVedtaksperioderDto?,
val harKontantstøttePerioder: Boolean?,
val kontantstøttePerioderFraKs: List<KontantstøttePeriode>,
val registeropplysningerOpprettetDato: LocalDate,
)

data class PersonopplysningerDto(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ class BlankettService(
årsakRevurdering = årsakRevurderingService.hentÅrsakRevurdering(behandlingId)?.tilDto(),
tidligereVedtaksperioder = grunnlagsdata.tidligereVedtaksperioder.tilDto(),
harKontantstøttePerioder = grunnlagsdata.harKontantstøttePerioder,
kontantstøttePerioderFraKs = grunnlagsdata.kontantstøttePerioder,
registeropplysningerOpprettetDato = vilkårVurderinger.grunnlag.registeropplysningerOpprettetTid.toLocalDate(),
),
lagPersonopplysningerDto(behandling),
vurderingService.hentEllerOpprettVurderinger(behandlingId),
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ package no.nav.familie.ef.sak.kontantstøtte
import no.nav.familie.ef.sak.opplysninger.personopplysninger.PersonService
import no.nav.familie.ef.sak.opplysninger.personopplysninger.pdl.identer
import org.springframework.stereotype.Service
import java.time.YearMonth

@Service
class KontantstøtteService(
val kontantstøtteClient: KontantstøtteClient,
val personService: PersonService,
) {
fun finnesKontantstøtteUtbetalingerPåBruker(personIdent: String): HentUtbetalingsinfoKontantstøtteDto {
fun hentUtbetalingsinfoKontantstøtte(personIdent: String): HentUtbetalingsinfoKontantstøtteDto {
val personIdenter = personService.hentPersonIdenter(personIdent).identer().toList()
return kontantstøtteClient.hentUtbetalingsinfo(personIdenter).tilDto()
}
Expand All @@ -18,8 +19,22 @@ class KontantstøtteService(
fun HentUtbetalingsinfoKontantstøtte.tilDto(): HentUtbetalingsinfoKontantstøtteDto =
HentUtbetalingsinfoKontantstøtteDto(
this.ksSakPerioder.isNotEmpty() || this.infotrygdPerioder.isNotEmpty(),
this.ksSakPerioder.map { KsSakPeriodeDto(it.fomMåned, it.tomMåned, KontantstøtteDatakilde.KS_SAK) } +
this.infotrygdPerioder.map { KsSakPeriodeDto(it.fomMåned, it.tomMåned, KontantstøtteDatakilde.INFOTRYGD) },
)

data class HentUtbetalingsinfoKontantstøtteDto(
val finnesUtbetaling: Boolean,
val finnesUtbetaling: Boolean, // gjelder historiske behandlinger
val perioder: List<KsSakPeriodeDto>,
)

data class KsSakPeriodeDto(
val årMånedFra: YearMonth,
val årMånedTil: YearMonth? = null,
val kilde: KontantstøtteDatakilde,
)

enum class KontantstøtteDatakilde {
KS_SAK,
INFOTRYGD,
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package no.nav.familie.ef.sak.opplysninger.personopplysninger

import no.nav.familie.ef.sak.arbeidsforhold.ekstern.ArbeidsforholdService
import no.nav.familie.ef.sak.felles.util.Timer.loggTid
import no.nav.familie.ef.sak.kontantstøtte.HentUtbetalingsinfoKontantstøtteDto
import no.nav.familie.ef.sak.kontantstøtte.KontantstøtteService
import no.nav.familie.ef.sak.opplysninger.personopplysninger.domene.GrunnlagsdataDomene
import no.nav.familie.ef.sak.opplysninger.personopplysninger.domene.KontantstøttePeriode
import no.nav.familie.ef.sak.opplysninger.personopplysninger.domene.Personopplysninger
import no.nav.familie.ef.sak.opplysninger.personopplysninger.domene.TidligereVedtaksperioder
import no.nav.familie.ef.sak.opplysninger.personopplysninger.fullmakt.FullmaktService
Expand Down Expand Up @@ -40,7 +42,9 @@ class GrunnlagsdataRegisterService(
arbeidsforholdService.finnesAvsluttetArbeidsforholdSisteAntallMåneder(
grunnlagsdataFraPdl.gjeldendeIdentForSøker(),
)
val harKontantstøttePerioder = kontantstøtteService.finnesKontantstøtteUtbetalingerPåBruker(personIdent).finnesUtbetaling
val utbetalingsinfoKontantstøtteDto = kontantstøtteService.hentUtbetalingsinfoKontantstøtte(personIdent)
val kontantstøttePerioder =
utledKontantstøtteperioder(utbetalingsinfoKontantstøtteDto)

return GrunnlagsdataDomene(
søker = mapSøker(grunnlagsdataFraPdl.søker, grunnlagsdataFraPdl.andrePersoner),
Expand All @@ -49,10 +53,18 @@ class GrunnlagsdataRegisterService(
barn = mapBarn(grunnlagsdataFraPdl.barn),
tidligereVedtaksperioder = tidligereVedtaksperioder,
harAvsluttetArbeidsforhold = harAvsluttetArbeidsforhold,
harKontantstøttePerioder = harKontantstøttePerioder,
harKontantstøttePerioder = utbetalingsinfoKontantstøtteDto.finnesUtbetaling,
kontantstøttePerioder = kontantstøttePerioder,
)
}

private fun utledKontantstøtteperioder(
kontantstøttePerioder: HentUtbetalingsinfoKontantstøtteDto,
) = kontantstøttePerioder
.perioder
.map { periode -> KontantstøttePeriode(periode.årMånedFra, periode.årMånedTil, periode.kilde) }
.sortedByDescending { it.fomMåned }

fun hentPersonopplysninger(personIdent: String): Personopplysninger {
val grunnlagsdataFraPdl = hentGrunnlagsdataFraPdl(personIdent, emptyList())
return Personopplysninger(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.familie.ef.sak.opplysninger.personopplysninger.domene

import no.nav.familie.ef.sak.kontantstøtte.KontantstøtteDatakilde
import no.nav.familie.ef.sak.opplysninger.personopplysninger.GrunnlagsdataPeriodeHistorikkBarnetilsyn
import no.nav.familie.ef.sak.opplysninger.personopplysninger.GrunnlagsdataPeriodeHistorikkOvergangsstønad
import no.nav.familie.ef.sak.opplysninger.personopplysninger.dto.Sivilstandstype
Expand All @@ -23,6 +24,7 @@ import no.nav.familie.ef.sak.opplysninger.personopplysninger.pdl.VergemaalEllerF
import no.nav.familie.kontrakter.felles.medlemskap.Medlemskapsinfo
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.YearMonth

/**
* Endringer i denne filen burde godkjennes av 2 personer då denne er lagret som json i databasen og breaking changes kan være
Expand Down Expand Up @@ -66,11 +68,18 @@ data class GrunnlagsdataDomene(
val barn: List<BarnMedIdent>,
val tidligereVedtaksperioder: TidligereVedtaksperioder?,
val harAvsluttetArbeidsforhold: Boolean?,
val harKontantstøttePerioder: Boolean?,
val harKontantstøttePerioder: Boolean?, // gjelder historiske behandlinger
val kontantstøttePerioder: List<KontantstøttePeriode> = emptyList(),
) {
fun tilPersonopplysninger() = Personopplysninger(søker = this.søker, annenForelder = this.annenForelder, barn = this.barn)
}

data class KontantstøttePeriode(
val fomMåned: YearMonth,
val tomMåned: YearMonth?,
val kilde: KontantstøtteDatakilde,
)

data class Personopplysninger(
valker: Søker,
val annenForelder: List<AnnenForelderMedIdent>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ class VilkårGrunnlagService(
dokumentasjon = søknad?.dokumentasjon,
harAvsluttetArbeidsforhold = grunnlagsdata.harAvsluttetArbeidsforhold,
harKontantstøttePerioder = grunnlagsdata.harKontantstøttePerioder,
kontantstøttePerioder = grunnlagsdata.kontantstøttePerioder,
)
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.familie.ef.sak.vilkår.dto

import no.nav.familie.ef.sak.opplysninger.personopplysninger.domene.KontantstøttePeriode
import no.nav.familie.ef.sak.opplysninger.personopplysninger.dto.AdresseDto
import no.nav.familie.ef.sak.opplysninger.personopplysninger.dto.NavnDto
import no.nav.familie.ef.sak.opplysninger.søknad.domain.DokumentasjonFraSøknadDto
Expand All @@ -25,6 +26,7 @@ data class VilkårGrunnlagDto(
val dokumentasjon: DokumentasjonFraSøknadDto?,
val harAvsluttetArbeidsforhold: Boolean?,
val harKontantstøttePerioder: Boolean?,
val kontantstøttePerioder: List<KontantstøttePeriode>,
)

data class PersonaliaDto(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ fun opprettGrunnlagsdata(
),
),
false,
null,
false,
emptyList(),
)

fun opprettBarnMedIdent(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,14 @@ class KontantstøtteServiceTest {

@Test
fun `skal sjekke kontantstøttevedtak for person med kontantstøtte`() {
val finnesKontantstøtte = kontantstøtteService.finnesKontantstøtteUtbetalingerPåBruker(morIdent)
val finnesKontantstøtte = kontantstøtteService.hentUtbetalingsinfoKontantstøtte(morIdent)
Assertions.assertThat(finnesKontantstøtte.finnesUtbetaling).isTrue()
verify(exactly = 1) { kontantstøtteClientMock.hentUtbetalingsinfo(morsIdenter) }
}

@Test
fun `skal sjekke kontantstøttevedtak for person uten kontantstøtte`() {
val finnesKontantstøtte = kontantstøtteService.finnesKontantstøtteUtbetalingerPåBruker(identUtenKs)
val finnesKontantstøtte = kontantstøtteService.hentUtbetalingsinfoKontantstøtte(identUtenKs)
Assertions.assertThat(finnesKontantstøtte.finnesUtbetaling).isFalse()
verify(exactly = 1) { kontantstøtteClientMock.hentUtbetalingsinfo(listOf(identUtenKs)) }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,10 @@ internal class PersonopplysningerServiceTest {

val personService = PersonService(PdlClientConfig().pdlClient(), ConcurrentMapCacheManager())
every { egenAnsattClient.egenAnsatt(any()) } returns true
every { kontantstøtteService.finnesKontantstøtteUtbetalingerPåBruker(any()) } returns
every { kontantstøtteService.hentUtbetalingsinfoKontantstøtte(any()) } returns
HentUtbetalingsinfoKontantstøtteDto(
finnesUtbetaling = false,
emptyList(),
)
every { fullmaktService.hentFullmakt(any()) } returns listOf(Fullmakt(LocalDate.of(2020, 1, 1), LocalDate.of(2021, 1, 1), "11111133333", MotpartsRolle.FULLMEKTIG, listOf()))
val grunnlagsdataRegisterService =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ object VilkårTestUtil {
adresseopplysninger: AdresseopplysningerDto = mockk(relaxed = true),
dokumentasjon: DokumentasjonFraSøknadDto? = mockk(relaxed = true),
harAvsluttetArbeidsforhold: Boolean = mockk(relaxed = true),
harKontantstøttePerioder: Boolean = mockk(relaxed = true),
) = VilkårGrunnlagDto(
personalia = registergrunnlag,
tidligereVedtaksperioder = tidligereVedtaksperioder,
Expand All @@ -45,6 +44,7 @@ object VilkårTestUtil {
adresseopplysninger = adresseopplysninger,
dokumentasjon = dokumentasjon,
harAvsluttetArbeidsforhold = harAvsluttetArbeidsforhold,
harKontantstøttePerioder = harKontantstøttePerioder,
harKontantstøttePerioder = false,
kontantstøttePerioder = emptyList(),
)
}
23 changes: 23 additions & 0 deletions src/test/resources/json/grunnlagsdata_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -2374,5 +2374,28 @@
"name" : "harKontantstøttePerioder",
"type" : "Boolean",
"nullable" : true
},
"kontantstøttePerioder" : {
"name" : "kontantstøttePerioder",
"type" : "Collection",
"fields" : {
"fomMåned" : {
"name" : "fomMåned",
"type" : "YearMonth",
"nullable" : false
},
"tomMåned" : {
"name" : "tomMåned",
"type" : "YearMonth",
"nullable" : true
},
"kilde" : {
"name" : "kilde",
"type" : "Enum",
"values" : [ "KS_SAK", "INFOTRYGD" ],
"nullable" : false
}
},
"nullable" : false
}
}

0 comments on commit 4652677

Please sign in to comment.