Skip to content

Commit

Permalink
Legge til flere tester for beregning
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Nov 23, 2024
1 parent a501bec commit 6f769e3
Show file tree
Hide file tree
Showing 9 changed files with 928 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class NotatService {
behandling.notater.add(
Notat(
behandling = behandling,
rolle = rolle ?: behandling.rolleGrunnlagSkalHentesFor!!,
rolle = rolle,
innhold = notattekst,
type = notattype,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ fun OpprettVedtakRequestDto.tilVedtakDto(): VedtakDto =
innhold = it.innhold,
grunnlagsreferanseListe = it.grunnlagsreferanseListe,
gjelderReferanse = it.gjelderReferanse,
gjelderBarnReferanse = it.gjelderBarnReferanse,
)
},
)
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ class BehandlingTilGrunnlagMappingV2(
)
}

fun Behandling.tilGrunnlagSamvær(søknadsbarn: GrunnlagDto? = null): List<GrunnlagDto> {
fun Behandling.tilGrunnlagSamvær(søknadsbarn: BaseGrunnlag? = null): List<GrunnlagDto> {
val søknadsbarnIdent = søknadsbarn?.personIdent
return samvær
.filter { søknadsbarn == null || it.rolle.ident == søknadsbarnIdent }
Expand All @@ -237,8 +237,9 @@ class BehandlingTilGrunnlagMappingV2(
GrunnlagDto(
referanse = it.tilGrunnlagsreferanseSamværsperiode(),
type = Grunnlagstype.SAMVÆRSPERIODE,
gjelderReferanse = samvær.rolle.tilGrunnlagPerson().referanse,
gjelderReferanse = samvær.behandling.bidragspliktig!!.tilGrunnlagsreferanse(),
grunnlagsreferanseListe = grunnlagBeregning.map { it.referanse },
gjelderBarnReferanse = samvær.rolle.tilGrunnlagPerson().referanse,
innhold =
POJONode(
SamværsperiodeGrunnlag(
Expand All @@ -252,7 +253,7 @@ class BehandlingTilGrunnlagMappingV2(
}
}

private fun Behandling.tilGrunnlagFaktiskeTilsynsutgifter(personobjekter: Set<GrunnlagDto> = emptySet()): List<GrunnlagDto> {
fun Behandling.tilGrunnlagFaktiskeTilsynsutgifter(personobjekter: Set<GrunnlagDto> = emptySet()): List<GrunnlagDto> {
val grunnlagslistePersoner: MutableList<GrunnlagDto> = mutableListOf()

fun FaktiskTilsynsutgift.tilPersonGrunnlag(): GrunnlagDto {
Expand Down Expand Up @@ -285,34 +286,36 @@ class BehandlingTilGrunnlagMappingV2(
return relatertPersonGrunnlag
}

return underholdskostnader
.flatMap { u ->
u.faktiskeTilsynsutgifter.map {
val underholdRolle = u.person.rolle.find { it.behandling.id == id }
val gjelderBarn =
underholdRolle?.tilGrunnlagPerson()?.also {
grunnlagslistePersoner.add(it)
} ?: personobjekter.hentPerson(u.person.ident) ?: it.opprettPersonGrunnlag()
val gjelderBarnReferanse = gjelderBarn.referanse
GrunnlagDto(
referanse = it.tilGrunnlagsreferanseFaktiskTilsynsutgift(gjelderBarnReferanse),
type = Grunnlagstype.FAKTISK_UTGIFT_PERIODE,
gjelderReferanse = bidragsmottaker!!.tilGrunnlagsreferanse(),
gjelderBarnReferanse = gjelderBarnReferanse,
innhold =
POJONode(
FaktiskUtgiftPeriode(
periode = ÅrMånedsperiode(it.fom, it.tom?.plusDays(1)),
fødselsdatoBarn = gjelderBarn.personObjekt.fødselsdato,
kostpengerBeløp = it.kostpenger ?: BigDecimal.ZERO,
faktiskUtgiftBeløp = it.tilsynsutgift,
kommentar = it.kommentar,
manueltRegistrert = true,
return (
underholdskostnader
.flatMap { u ->
u.faktiskeTilsynsutgifter.map {
val underholdRolle = u.person.rolle.find { it.behandling.id == id }
val gjelderBarn =
underholdRolle?.tilGrunnlagPerson()?.also {
grunnlagslistePersoner.add(it)
} ?: personobjekter.hentPerson(u.person.ident) ?: it.opprettPersonGrunnlag()
val gjelderBarnReferanse = gjelderBarn.referanse
GrunnlagDto(
referanse = it.tilGrunnlagsreferanseFaktiskTilsynsutgift(gjelderBarnReferanse),
type = Grunnlagstype.FAKTISK_UTGIFT_PERIODE,
gjelderReferanse = bidragsmottaker!!.tilGrunnlagsreferanse(),
gjelderBarnReferanse = gjelderBarnReferanse,
innhold =
POJONode(
FaktiskUtgiftPeriode(
periode = ÅrMånedsperiode(it.fom, it.tom?.plusDays(1)),
fødselsdatoBarn = gjelderBarn.personObjekt.fødselsdato,
kostpengerBeløp = it.kostpenger ?: BigDecimal.ZERO,
faktiskUtgiftBeløp = it.tilsynsutgift,
kommentar = it.kommentar,
manueltRegistrert = true,
),
),
),
)
}
} + grunnlagslistePersoner
)
}
} + grunnlagslistePersoner
).toSet().toList()
}

fun Collection<GrunnlagDto>.hentPersonNyesteIdent(ident: String?) =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import no.nav.bidrag.domene.tid.ÅrMånedsperiode
import no.nav.bidrag.transport.behandling.felles.grunnlag.BarnetilsynMedStønadPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.GrunnlagDto
import no.nav.bidrag.transport.behandling.felles.grunnlag.TilleggsstønadPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.opprettBarnetilsynGrunnlagsreferanse
import no.nav.bidrag.transport.behandling.vedtak.request.OpprettPeriodeRequestDto

fun Behandling.tilGrunnlagBarnetilsyn(inkluderIkkeAngitt: Boolean = false): List<GrunnlagDto> =
Expand All @@ -26,9 +27,10 @@ fun Behandling.tilGrunnlagBarnetilsyn(inkluderIkkeAngitt: Boolean = false): List
u.barnetilsyn
.filter { inkluderIkkeAngitt || it.omfang != Tilsynstype.IKKE_ANGITT && it.under_skolealder != null }
.flatMap {
val underholdRolle = u.person.rolle.find { it.behandling.id == id }
val underholdRolleGrunnlagobjekt =
underholdRolle?.tilGrunnlagPerson() ?: ugyldigForespørsel("Fant ikke person for underholdskostnad i behandlingen")
val underholdRolle =
u.person.rolle.find { it.behandling.id == id }
?: ugyldigForespørsel("Fant ikke person for underholdskostnad i behandlingen")
val underholdRolleGrunnlagobjekt = underholdRolle.tilGrunnlagPerson()
val gjelderBarnReferanse = underholdRolleGrunnlagobjekt.referanse
listOf(
underholdRolleGrunnlagobjekt,
Expand All @@ -37,6 +39,14 @@ fun Behandling.tilGrunnlagBarnetilsyn(inkluderIkkeAngitt: Boolean = false): List
type = Grunnlagstype.BARNETILSYN_MED_STØNAD_PERIODE,
gjelderReferanse = bidragsmottaker!!.tilGrunnlagsreferanse(),
gjelderBarnReferanse = gjelderBarnReferanse,
grunnlagsreferanseListe =
if (it.kilde == Kilde.OFFENTLIG) {
listOf(
opprettBarnetilsynGrunnlagsreferanse(bidragsmottaker!!.tilGrunnlagsreferanse()),
)
} else {
emptyList()
},
innhold =
POJONode(
BarnetilsynMedStønadPeriode(
Expand All @@ -52,15 +62,17 @@ fun Behandling.tilGrunnlagBarnetilsyn(inkluderIkkeAngitt: Boolean = false): List
),
)
}
}
}.toSet()
.toList()

fun Behandling.tilGrunnlagTilleggsstønad(): List<GrunnlagDto> =
underholdskostnader
.flatMap { u ->
u.tilleggsstønad.flatMap {
val underholdRolle = u.person.rolle.find { it.behandling.id == id }
val underholdRolleGrunnlagobjekt =
underholdRolle?.tilGrunnlagPerson() ?: ugyldigForespørsel("Fant ikke person for underholdskostnad i behandlingen")
val underholdRolle =
u.person.rolle.find { it.behandling.id == id }
?: ugyldigForespørsel("Fant ikke person for underholdskostnad i behandlingen")
val underholdRolleGrunnlagobjekt = underholdRolle.tilGrunnlagPerson()
val gjelderBarnReferanse = underholdRolleGrunnlagobjekt.referanse
listOf(
underholdRolleGrunnlagobjekt,
Expand All @@ -80,7 +92,8 @@ fun Behandling.tilGrunnlagTilleggsstønad(): List<GrunnlagDto> =
),
)
}
}
}.toSet()
.toList()

fun ResultatBidragsberegningBarn.byggStønadsendringerForVedtak(behandling: Behandling): StønadsendringPeriode {
val søknadsbarn =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ internal fun Inntekt.tilInntektsrapporteringPeriode(
this,
),
gjelderReferanse = gjelder.referanse,
gjelderBarnReferanse = søknadsbarn?.referanse,
innhold =
POJONode(
InntektsrapporteringPeriode(
Expand Down
Loading

0 comments on commit 6f769e3

Please sign in to comment.