Skip to content

Commit

Permalink
Fikse oppdatering av barnetilsynstabell etter endring i virkningsdato
Browse files Browse the repository at this point in the history
  • Loading branch information
s148719 committed Dec 13, 2024
1 parent 247fd4a commit f53f431
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import no.nav.bidrag.behandling.fantIkkeFødselsdatoTilPerson
import no.nav.bidrag.behandling.transformers.Dtomapper
import no.nav.bidrag.behandling.transformers.behandling.hentAlleBearbeidaBarnetilsyn
import no.nav.bidrag.behandling.transformers.underhold.aktivereBarnetilsynHvisIngenEndringerMåAksepteres
import no.nav.bidrag.behandling.transformers.underhold.erstatteOffentligePerioderIBarnetilsynstabellMedOppdatertGrunnlag
import no.nav.bidrag.behandling.transformers.underhold.harAndreBarnIUnderhold
import no.nav.bidrag.behandling.transformers.underhold.henteOgValidereUnderholdskostnad
import no.nav.bidrag.behandling.transformers.underhold.justerePerioder
Expand Down Expand Up @@ -448,7 +449,10 @@ class UnderholdService(
}

private fun oppdatereUnderholdsperioderEtterEndretVirkningsdato(b: Behandling) {
b.underholdskostnader.forEach { it.justerePerioder() }
b.underholdskostnader.forEach {
it.erstatteOffentligePerioderIBarnetilsynstabellMedOppdatertGrunnlag()
it.justerePerioder()
}
}

private fun tilpasseIkkeaktiveBarnetilsynsgrunnlagEtterVirkningsdato(behandling: Behandling) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import no.nav.bidrag.behandling.database.datamodell.Underholdskostnad
import no.nav.bidrag.behandling.database.datamodell.hentAlleAktiv
import no.nav.bidrag.behandling.database.datamodell.hentAlleIkkeAktiv
import no.nav.bidrag.behandling.database.datamodell.hentGrunnlagForType
import no.nav.bidrag.behandling.database.datamodell.hentSisteAktiv
import no.nav.bidrag.behandling.database.datamodell.konvertereData
import no.nav.bidrag.behandling.dto.v2.behandling.Grunnlagsdatatype
import no.nav.bidrag.behandling.dto.v2.behandling.Grunnlagstype
Expand Down Expand Up @@ -104,6 +105,20 @@ fun Grunnlag.justerePerioderForBearbeidaBarnetilsynEtterVirkningstidspunkt(overs
}
}

fun Underholdskostnad.erstatteOffentligePerioderIBarnetilsynstabellMedOppdatertGrunnlag() {
val barnetilsynFraGrunnlag =
behandling.grunnlag
.hentSisteAktiv()
.find { Grunnlagsdatatype.BARNETILSYN == it.type && it.erBearbeidet }
.konvertereData<Set<BarnetilsynGrunnlagDto>>()
?.filter { this.person.ident == it.barnPersonId }

barnetilsynFraGrunnlag?.let { g ->
barnetilsyn.clear()
g.forEach { barnetilsyn.add(it.tilBarnetilsyn(this)) }
}
}

fun Underholdskostnad.justerePerioder() {
val virkningsdato = behandling.virkningstidspunktEllerSøktFomDato

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import no.nav.bidrag.behandling.database.datamodell.Tilleggsstønad
import no.nav.bidrag.behandling.database.datamodell.Underholdskostnad
import no.nav.bidrag.behandling.database.datamodell.hentAlleAktiv
import no.nav.bidrag.behandling.database.datamodell.hentAlleIkkeAktiv
import no.nav.bidrag.behandling.database.datamodell.hentSisteAktiv
import no.nav.bidrag.behandling.database.datamodell.henteNyesteAktiveGrunnlag
import no.nav.bidrag.behandling.database.datamodell.henteNyesteIkkeAktiveGrunnlag
import no.nav.bidrag.behandling.database.datamodell.konvertereData
Expand Down Expand Up @@ -1086,7 +1087,13 @@ class UnderholdServiceTest {
behandlingstype = TypeBehandling.BIDRAG,
)

b.leggeTilGjeldendeBarnetilsyn(oppretteBarnetilsynGrunnlagDto(b, skolealder = Skolealder.UNDER, tilsynstype = Tilsynstype.DELTID))
b.leggeTilGjeldendeBarnetilsyn(
oppretteBarnetilsynGrunnlagDto(
b,
skolealder = Skolealder.UNDER,
tilsynstype = Tilsynstype.DELTID,
),
)
b.leggeTilNyttBarnetilsyn()

val nyVirkningsdato =
Expand Down Expand Up @@ -1182,7 +1189,13 @@ class UnderholdServiceTest {
underholdService.tilpasseUnderholdEtterVirkningsdato(b)

//
u.barnetilsyn.first().fom shouldBe b.virkningstidspunkt
u.barnetilsyn.first().fom shouldBe
b.grunnlag
.hentSisteAktiv()
.find { Grunnlagsdatatype.BARNETILSYN == it.type }
.konvertereData<Set<BarnetilsynGrunnlagDto>>()!!
.minBy { it.periodeFra }
.periodeFra
u.faktiskeTilsynsutgifter.first().fom shouldBe b.virkningstidspunkt
u.tilleggsstønad.first().fom shouldBe b.virkningstidspunkt
}
Expand Down Expand Up @@ -1257,11 +1270,7 @@ class UnderholdServiceTest {
perioderBearbeida.shouldBeEmpty()
}

assertSoftly(u.barnetilsyn) {
shouldHaveSize(1)
find { Kilde.MANUELL == it.kilde }.shouldNotBeNull()
find { Kilde.MANUELL == it.kilde }!!.fom shouldBe b.virkningstidspunktEllerSøktFomDato
}
u.barnetilsyn.shouldHaveSize(0)
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/test/resources/application-local.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ AZURE_APP_CLIENT_SECRET: unset
server.port: 8990
NAIS_APP_NAME: bidrag-behandling
DB_HOST: localhost
#DB_PORT: 5432
DB_PORT: 5432
DB_DATABASE: bidrag-behandling

DB_PORT: 5454
#DB_PORT: 5454
DB_USERNAME: cloudsqliamuser
DB_PASSWORD: admin

Expand Down

0 comments on commit f53f431

Please sign in to comment.