Skip to content

Commit

Permalink
Gjøre fødselsdato påkrevd i persontabellen. Oppdatere fødselsdato for…
Browse files Browse the repository at this point in the history
… eksisterende personer som også har rolle i minst en behandling.
  • Loading branch information
s148719 committed Dec 11, 2024
1 parent 89fab8b commit 5874c71
Show file tree
Hide file tree
Showing 10 changed files with 62 additions and 18 deletions.
6 changes: 6 additions & 0 deletions src/main/kotlin/no/nav/bidrag/behandling/Exceptions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,12 @@ fun rolleManglerIdent(
"Manger personident for rolle $rolletype i behandling $behandlingId",
)

fun fantIkkeFødselsdatoTilPerson(behandlingsid: Long): Nothing =
throw HttpClientErrorException(
HttpStatus.INTERNAL_SERVER_ERROR,
"Fant ikke fødselsdato til person i behandling med id $behandlingsid",
)

fun fantIkkeFødselsdatoTilSøknadsbarn(behandlingsid: Long): Nothing =
throw HttpClientErrorException(
HttpStatus.INTERNAL_SERVER_ERROR,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ open class Person(
open var id: Long? = null,
open val ident: String? = null,
open val navn: String? = null,
open valdselsdato: LocalDate? = null,
open valdselsdato: LocalDate,
open val opprettet: LocalDateTime = LocalDateTime.now(),
@OneToMany(
fetch = FetchType.LAZY,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import no.nav.bidrag.behandling.dto.v2.underhold.SletteUnderholdselement
import no.nav.bidrag.behandling.dto.v2.underhold.StønadTilBarnetilsynDto
import no.nav.bidrag.behandling.dto.v2.underhold.UnderholdDto
import no.nav.bidrag.behandling.dto.v2.underhold.Underholdselement
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
Expand Down Expand Up @@ -143,6 +144,9 @@ class UnderholdService(
val person =
Person(
ident = personidentBarn.verdi,
fødselsdato =
personService.hentPersonFødselsdato(personidentBarn.verdi)
?: fantIkkeFødselsdatoTilPerson(behandling.id!!),
rolle = rolleSøknadsbarn?.let { mutableSetOf(it) } ?: mutableSetOf(),
)
person.rolle.forEach { it.person = person }
Expand All @@ -152,7 +156,7 @@ class UnderholdService(
} ?: run {
lagreUnderholdskostnad(
behandling,
Person(navn = gjelderBarn.navn, fødselsdato = gjelderBarn.fødselsdato),
Person(navn = gjelderBarn.navn, fødselsdato = gjelderBarn.fødselsdato!!),
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,11 @@ class VedtakTilBehandlingMapping(
}

behandling.roller.forEach { r ->
notatMedType(NotatGrunnlag.NotatType.UNDERHOLDSKOSTNAD, false, grunnlagListe.hentPerson(r.ident)?.referanse)?.let {
notatMedType(
NotatGrunnlag.NotatType.UNDERHOLDSKOSTNAD,
false,
grunnlagListe.hentPerson(r.ident)?.referanse,
)?.let {
behandling.notater.add(behandling.tilNotat(NotatGrunnlag.NotatType.UNDERHOLDSKOSTNAD, it, r))
}
}
Expand Down Expand Up @@ -246,10 +250,19 @@ class VedtakTilBehandlingMapping(
Underholdskostnad(
id = index.toLong(),
behandling = behandling,
person = Person(id = index.toLong(), ident = rolle.ident!!, rolle = mutableSetOf(rolle)),
person =
Person(
id = index.toLong(),
ident = rolle.ident!!,
fødselsdato = rolle.fødselsdato,
rolle = mutableSetOf(rolle),
),
)
} else {
underholdService.oppretteUnderholdskostnad(behandling, BarnDto(personident = Personident(rolle.ident!!)))
underholdService.oppretteUnderholdskostnad(
behandling,
BarnDto(personident = Personident(rolle.ident!!)),
)
}

underholdskostnad.tilleggsstønad.addAll(
Expand Down Expand Up @@ -308,10 +321,19 @@ class VedtakTilBehandlingMapping(
} else {
underholdService.oppretteUnderholdskostnad(
behandling,
BarnDto(personident = gjelderBarn.ident, navn = gjelderBarn.navn, fødselsdato = gjelderBarn.fødselsdato),
BarnDto(
personident = gjelderBarn.ident,
navn = gjelderBarn.navn,
fødselsdato = gjelderBarn.fødselsdato,
),
)
}
underholdskostnad.faktiskeTilsynsutgifter.addAll(innhold.mapFaktiskTilsynsutgift(underholdskostnad, lesemodus))
underholdskostnad.faktiskeTilsynsutgifter.addAll(
innhold.mapFaktiskTilsynsutgift(
underholdskostnad,
lesemodus,
),
)
underholdskostnad
}.toMutableSet()

Expand Down Expand Up @@ -394,8 +416,10 @@ class VedtakTilBehandlingMapping(
perioder.mapIndexed { index, it ->
val periodeInnhold = it.innholdTilObjekt<SamværsperiodeGrunnlag>()
val beregning =
finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(Grunnlagstype.SAMVÆRSKALKULATOR, it.grunnlagsreferanseListe)
.firstOrNull()
finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.SAMVÆRSKALKULATOR,
it.grunnlagsreferanseListe,
).firstOrNull()
?.innholdTilObjekt<SamværskalkulatorDetaljer>()
Samværsperiode(
id = if (lesemodus) index.toLong() else null,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
-- Sette fødselsdato for personer med rolle lik fødselsdato i rolletabellen
update person p
set fødselsdato = r.fødselsdato
from rolle r
where p.id = r.person_id
and p.ident is not null
and p.fødselsdato is null;

-- Gjøre fødselsdatokolonnen påkrevd
alter table person alter column fødselsdato set not null;
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ class UnderholdControllerTest : KontrollerTestRunner() {
open fun `skal ikke opprette ny person for annet barn oppgitt med personident dersom person med samme ident allerede eksisterer`() {
// gitt
val behandling = oppretteTestbehandling(inkludereBp = true, behandlingstype = TypeBehandling.BIDRAG)
val eksisterendePerson = Person(ident = "11223312345")
val eksisterendePerson = Person(ident = "11223312345", fødselsdato = LocalDate.now())
testdataManager.lagrePersonIEgenTransaksjon(eksisterendePerson)

testdataManager.lagreBehandlingNewTransaction(behandling)
Expand Down Expand Up @@ -437,7 +437,7 @@ class UnderholdControllerTest : KontrollerTestRunner() {
behandling.underholdskostnader.add(
Underholdskostnad(
behandling = behandling,
person = Person(navn = navnAnnetBarnBp),
person = Person(navn = navnAnnetBarnBp, fødselsdato = LocalDate.now()),
),
)
val lagretBehandling = testdataManager.lagreBehandlingNewTransaction(behandling)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ class UnderholdServiceTest {
behandlingstype = TypeBehandling.BIDRAG,
)

val annetBarnMedPersonident = Person(ident = "11223312345")
val annetBarnMedPersonident = Person(ident = "11223312345", fødselsdato = LocalDate.now())

behandling.underholdskostnader.add(
Underholdskostnad(id = 101, behandling = behandling, person = annetBarnMedPersonident),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -492,7 +492,7 @@ class DtoMapperTest : TestContainerRunner() {
no.nav.bidrag.behandling.database.datamodell.Underholdskostnad(
3,
behandling,
Person(10, navn = "Annet Barn Bm"),
Person(10, navn = "Annet Barn Bm", fødselsdato = LocalDate.now()),
),
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class UtvidelserTest {
val fødselsdato = LocalDate.now().withDayOfYear(365).minusYears(6)
val rolleBarnSomNårSkolealderIInneværendeÅr = Rolle(b, ident = null, rolletype = Rolletype.BARN, fødselsdato = fødselsdato)

val personSøknadsbarn = Person(ident = "123", rolle = mutableSetOf(rolleBarnSomNårSkolealderIInneværendeÅr))
val personSøknadsbarn = Person(ident = "123", fødselsdato = LocalDate.now(), rolle = mutableSetOf(rolleBarnSomNårSkolealderIInneværendeÅr))
b.underholdskostnader.add(
Underholdskostnad(
id = idUnderhold,
Expand Down Expand Up @@ -90,7 +90,7 @@ class UtvidelserTest {
val fødselsdato = LocalDate.now().withDayOfYear(365).minusYears(5)
val rolleBarnSomNårSkolealderIInneværendeÅr = Rolle(b, ident = null, rolletype = Rolletype.BARN, fødselsdato = fødselsdato)

val personSøknadsbarn = Person(ident = "123", rolle = mutableSetOf(rolleBarnSomNårSkolealderIInneværendeÅr))
val personSøknadsbarn = Person(ident = "123", fødselsdato = LocalDate.now(), rolle = mutableSetOf(rolleBarnSomNårSkolealderIInneværendeÅr))
b.underholdskostnader.add(
Underholdskostnad(
id = idUnderhold,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,7 @@ fun opprettGyldigBehandlingForBeregningOgVedtak(
Underholdskostnad(
id = if (generateId) 1 else null,
behandling = behandling,
person = Person(ident = it.ident, rolle = mutableSetOf(it)),
person = Person(ident = it.ident, fødselsdato = it.fødselsdato, rolle = mutableSetOf(it)),
)
}.toMutableSet()
husstandsmedlem.add(
Expand Down Expand Up @@ -1196,7 +1196,7 @@ fun oppretteTestbehandling(
var idUnderholdskostnad = if (setteDatabaseider) 1 else null
// Oppretter underholdskostnad for alle barna i behandlingen ved bidrag
behandling.søknadsbarn.forEach {
val personSøknadsbarn = Person(ident = it.ident, rolle = mutableSetOf(it))
val personSøknadsbarn = Person(ident = it.ident, fødselsdato = it.fødselsdato, rolle = mutableSetOf(it))
behandling.underholdskostnader.add(
Underholdskostnad(
id = idUnderholdskostnad?.toLong(),
Expand Down Expand Up @@ -1715,7 +1715,7 @@ fun Behandling.leggTilFaktiskTilsynsutgift(
Underholdskostnad(
id = if (medId) 1 else null,
behandling = this,
person = Person(ident = barn.ident),
person = Person(ident = barn.ident, fødselsdato = barn.fødselsdato),
).also { underholdskostnader.add(it) }
}
underholdskostnad.faktiskeTilsynsutgifter.add(
Expand Down

0 comments on commit 5874c71

Please sign in to comment.