Skip to content

Commit

Permalink
Visning av beregningsdetaljer tilsynsutgift
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Dec 13, 2024
1 parent 9a80c14 commit 21c3187
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<java.version>21</java.version>
<kotlin.version>2.1.0</kotlin.version>
<bidrag-felles.version>2024.12.11.070437</bidrag-felles.version>
<bidrag-beregn-felles.version>2024.12.10.160924</bidrag-beregn-felles.version>
<bidrag-beregn-felles.version>2024.12.13.140638</bidrag-beregn-felles.version>
<h2.version>2.3.232</h2.version>
<logback-encoder.version>8.0</logback-encoder.version>
<token-support.version>3.2.0</token-support.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ data class UnderholdskostnadDto(
data class Beregningsdetaljer(
val tilsynsutgifterBarn: List<TilsynsutgiftBarn> = emptyList(),
val sjablonMaksTilsynsutgift: BigDecimal,
val sjablonMaksFradrag: BigDecimal,
val sjablonAntallBarn: Int,
val skattAlminneligInntektFaktor: BigDecimal,
val totalTilsynsutgift: BigDecimal,
val sumTilsynsutgifter: BigDecimal,
val endeligBeløp: BigDecimal,
Expand All @@ -123,7 +126,8 @@ data class UnderholdskostnadDto(
val erBegrensetAvMaksTilsyn: Boolean,
val fordelingFaktor: BigDecimal,
val skattefradrag: BigDecimal,
val skattefradragFaktor: BigDecimal,
val maksFradragAndel: BigDecimal,
val beløpTrukkeFraSkattefradrag: BigDecimal,
)

data class TilsynsutgiftBarn(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ import no.nav.bidrag.transport.behandling.felles.grunnlag.Person
import no.nav.bidrag.transport.behandling.felles.grunnlag.SamværsklassePeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.SivilstandPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.SjablonBidragsevnePeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.SjablonMaksFradragPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.SjablonMaksTilsynPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.SjablonSjablontallPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.SluttberegningBarnebidrag
Expand Down Expand Up @@ -486,6 +487,16 @@ fun List<GrunnlagDto>.tilUnderholdskostnadDetaljer(
Grunnlagstype.SJABLON_MAKS_TILSYN,
grunnlagsreferanseListe,
)
val sjablonMaksfradrag =
finnOgKonverterGrunnlagSomErReferertFraGrunnlagsreferanseListe<SjablonMaksFradragPeriode>(
Grunnlagstype.SJABLON_MAKS_FRADRAG,
grunnlagsreferanseListe,
)
val sjablonSkattesats =
finnOgKonverterGrunnlagSomErReferertFraGrunnlagsreferanseListe<SjablonSjablontallPeriode>(
Grunnlagstype.SJABLON_SJABLONTALL,
nettoTilsyn.grunnlag.grunnlagsreferanseListe,
).find { it.innhold.sjablon == SjablonTallNavn.SKATT_ALMINNELIG_INNTEKT_PROSENT }
val maksTilsynBeløp = sjablonMaksTilsyn.firstOrNull()?.innhold?.maksBeløpTilsyn ?: BigDecimal.ZERO
val søknadsbarnEndeligBeløp =
nettoTilsyn.innhold.tilsynsutgiftBarnListe
Expand All @@ -500,6 +511,9 @@ fun List<GrunnlagDto>.tilUnderholdskostnadDetaljer(
val sumTilsynsutgifter = nettoTilsyn.innhold.tilsynsutgiftBarnListe.sumOf { it.sumTilsynsutgifter }
val erBegrensetAvMaksTilsyn =
nettoTilsyn.innhold.totalTilsynsutgift.setScale(0, RoundingMode.HALF_UP) != sumTilsynsutgifter.setScale(0, RoundingMode.HALF_UP)
val sjablonMaksFradragBeløp = sjablonMaksfradrag.firstOrNull()?.innhold?.maksBeløpFradrag ?: BigDecimal.ZERO
val antallBarn = nettoTilsyn.innhold.tilsynsutgiftBarnListe.size
val maksfradragAndel = sjablonMaksFradragBeløp.divide(antallBarn.toBigDecimal(), 10, RoundingMode.HALF_UP)
return Beregningsdetaljer(
erBegrensetAvMaksTilsyn = erBegrensetAvMaksTilsyn,
endeligBeløp = søknadsbarnEndeligBeløp,
Expand All @@ -511,7 +525,12 @@ fun List<GrunnlagDto>.tilUnderholdskostnadDetaljer(
sumTilsynsutgifter = sumTilsynsutgifter,
fordelingFaktor = nettoTilsyn.innhold.andelTilsynsutgiftFaktor,
skattefradrag = nettoTilsyn.innhold.skattefradrag,
skattefradragFaktor = nettoTilsyn.innhold.skattefradrag,
maksFradragAndel = maksfradragAndel,
beløpTrukkeFraSkattefradrag = minOf(maksfradragAndel, nettoTilsyn.innhold.andelTilsynsutgiftBeløp),
sjablonMaksFradrag = sjablonMaksfradrag.firstOrNull()?.innhold?.maksBeløpFradrag ?: BigDecimal.ZERO,
skattAlminneligInntektFaktor =
sjablonSkattesats?.innhold?.verdi?.divide(BigDecimal(100), 10, RoundingMode.HALF_UP) ?: BigDecimal.ZERO,
sjablonAntallBarn = antallBarn,
tilsynsutgifterBarn =
nettoTilsyn.innhold.tilsynsutgiftBarnListe.sortedBy { it.gjelderBarn }.map { fu ->
tilsynsutgifterBarn(grunnlagsreferanseListe, fu)
Expand Down

0 comments on commit 21c3187

Please sign in to comment.