Skip to content

Commit

Permalink
Vedtak notat beregningsdetaljer for særbidrag (#528)
Browse files Browse the repository at this point in the history
* Vedtak notat beregningsdetaljer for særbidrag

* Vedtak notat beregningsdetaljer for særbidrag

* Vedtak notat beregningsdetaljer for særbidrag

* Vedtak notat beregningsdetaljer for særbidrag
  • Loading branch information
ugur93 authored Oct 14, 2024
1 parent fde1d2a commit 5a8122c
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 12 deletions.
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
<properties>
<java.version>21</java.version>
<kotlin.version>2.0.20</kotlin.version>
<bidrag-felles.version>2024.10.10.152423</bidrag-felles.version>
<bidrag-beregn-felles.version>2024.10.10.154604</bidrag-beregn-felles.version>
<bidrag-felles.version>2024.10.12.143049</bidrag-felles.version>
<bidrag-beregn-felles.version>2024.10.11.125647</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 @@ -6,6 +6,7 @@ import no.nav.bidrag.behandling.dto.v2.behandling.UtgiftBeregningDto
import no.nav.bidrag.behandling.dto.v2.behandling.UtgiftspostDto
import no.nav.bidrag.domene.enums.beregning.Resultatkode
import no.nav.bidrag.domene.tid.ÅrMånedsperiode
import no.nav.bidrag.domene.util.årsbeløpTilMåndesbeløp
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBidragspliktigesAndel
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningSumLøpendeBidrag
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningUtgift
Expand Down Expand Up @@ -42,21 +43,23 @@ data class DelberegningBidragsevneDto(
val utgifter: BidragsevneUtgifterBolig,
) {
data class UnderholdEgneBarnIHusstand(
val resultat: BigDecimal,
val årsbeløp: BigDecimal,
val sjablon: BigDecimal,
val antallBarnIHusstanden: Double,
)
) {
val måndesbeløp get() = årsbeløp.årsbeløpTilMåndesbeløp()
}

data class Skatt(
val sumSkatt: BigDecimal,
val skattAlminneligInntekt: BigDecimal,
val trinnskatt: BigDecimal,
val trygdeavgift: BigDecimal,
) {
val skattResultat get() = sumSkatt.divide(BigDecimal(12), MathContext(10, RoundingMode.HALF_UP))
val trinnskattResultat get() = trinnskatt.divide(BigDecimal(12), MathContext(10, RoundingMode.HALF_UP))
val skattAlminneligInntektResultat get() = skattAlminneligInntekt.divide(BigDecimal(12), MathContext(10, RoundingMode.HALF_UP))
val trygdeavgiftResultat get() = trygdeavgift.divide(BigDecimal(12), MathContext(10, RoundingMode.HALF_UP))
val skattMånedsbeløp get() = sumSkatt.årsbeløpTilMåndesbeløp()
val trinnskattMånedsbeløp get() = trinnskatt.årsbeløpTilMåndesbeløp()
val skattAlminneligInntektMånedsbeløp get() = skattAlminneligInntekt.årsbeløpTilMåndesbeløp()
val trygdeavgiftMånedsbeløp get() = trygdeavgift.årsbeløpTilMåndesbeløp()
}

data class BidragsevneUtgifterBolig(
Expand All @@ -75,4 +78,7 @@ data class ResultatSærbidragsberegningInntekterDto(
val totalEndeligInntekt get() =
(inntektBM ?: BigDecimal.ZERO) + (inntektBP ?: BigDecimal.ZERO) +
(barnEndeligInntekt ?: BigDecimal.ZERO)
val inntektBPMånedlig get() = inntektBP?.divide(BigDecimal(12), MathContext(10, RoundingMode.HALF_UP))
val inntektBMMånedlig get() = inntektBM?.divide(BigDecimal(12), MathContext(10, RoundingMode.HALF_UP))
val inntektBarnMånedlig get() = inntektBarn?.divide(BigDecimal(12), MathContext(10, RoundingMode.HALF_UP))
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ import no.nav.bidrag.transport.notat.NotatBegrunnelseDto
import no.nav.bidrag.transport.notat.NotatBehandlingDetaljerDto
import no.nav.bidrag.transport.notat.NotatBeregnetInntektDto
import no.nav.bidrag.transport.notat.NotatBoforholdDto
import no.nav.bidrag.transport.notat.NotatDelberegningBidragsevneDto
import no.nav.bidrag.transport.notat.NotatInntektDto
import no.nav.bidrag.transport.notat.NotatInntekterDto
import no.nav.bidrag.transport.notat.NotatInntektspostDto
Expand Down Expand Up @@ -267,6 +268,8 @@ class NotatOpplysningerService(
resultat = it.resultat,
resultatKode = it.resultatKode,
bpsAndel = it.bpsAndel,
forskuddssats = it.forskuddssats,
maksGodkjentBeløp = it.maksGodkjentBeløp,
beregning =
it.beregning?.let {
NotatResultatSærbidragsberegningDto.UtgiftBeregningDto(
Expand All @@ -283,9 +286,36 @@ class NotatOpplysningerService(
inntektBM = it.inntektBM,
inntektBP = it.inntektBP,
inntektBarn = it.inntektBarn,
barnEndeligInntekt = it.barnEndeligInntekt,
)
},
delberegningUtgift = it.delberegningUtgift,
delberegningSumLøpendeBidrag = it.delberegningSumLøpendeBidrag,
delberegningBidragsevne =
it.delberegningBidragsevne?.let {
NotatDelberegningBidragsevneDto(
bidragsevne = it.bidragsevne,
utgifter =
NotatDelberegningBidragsevneDto.NotatBidragsevneUtgifterBolig(
boutgiftBeløp = it.utgifter.boutgiftBeløp,
borMedAndreVoksne = it.utgifter.borMedAndreVoksne,
underholdBeløp = it.utgifter.underholdBeløp,
),
skatt =
NotatDelberegningBidragsevneDto.NotatSkattBeregning(
skattAlminneligInntekt = it.skatt.skattAlminneligInntekt,
sumSkatt = it.skatt.sumSkatt,
trinnskatt = it.skatt.trinnskatt,
trygdeavgift = it.skatt.trygdeavgift,
),
underholdEgneBarnIHusstand =
NotatDelberegningBidragsevneDto.NotatUnderholdEgneBarnIHusstand(
antallBarnIHusstanden = it.underholdEgneBarnIHusstand.antallBarnIHusstanden,
årsbeløp = it.underholdEgneBarnIHusstand.årsbeløp,
sjablon = it.underholdEgneBarnIHusstand.sjablon,
),
)
},
antallBarnIHusstanden = it.antallBarnIHusstanden,
voksenIHusstanden = it.voksenIHusstanden,
enesteVoksenIHusstandenErEgetBarn = it.enesteVoksenIHusstandenErEgetBarn,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ fun List<GrunnlagDto>.finnDelberegningBidragsevne(grunnlagsreferanseListe: List<
),
underholdEgneBarnIHusstand =
DelberegningBidragsevneDto.UnderholdEgneBarnIHusstand(
resultat = delberegningBidragsevne.underholdBarnEgenHusstand,
årsbeløp = delberegningBidragsevne.underholdBarnEgenHusstand,
sjablon = sjablonUnderholdEgnebarnIHusstand.verdi,
antallBarnIHusstanden = delberegningBarnIHusstanden.antallBarn,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,7 @@ class VedtakserviceSærbidragTest : VedtakserviceTest() {
shouldHaveSize(1)
val grunnlag = it.first()
val innhold = grunnlag.innholdTilObjekt<DelberegningSumLøpendeBidrag>()
innhold.sumLøpendeBidrag shouldBe BigDecimal("4207.00")
innhold.sumLøpendeBidrag shouldBe BigDecimal("4208.00")
grunnlagsliste
.finnGrunnlagSomErReferertFraGrunnlagsreferanseListe(
Grunnlagstype.SJABLON_SAMVARSFRADRAG,
Expand All @@ -631,7 +631,7 @@ class VedtakserviceSærbidragTest : VedtakserviceTest() {
assertSoftly(hentGrunnlagstyper(Grunnlagstype.DELBEREGNING_SUM_LØPENDE_BIDRAG)) {
shouldHaveSize(1)
val innhold = innholdTilObjekt<DelberegningSumLøpendeBidrag>().first()
innhold.sumLøpendeBidrag shouldBe BigDecimal("4207.00")
innhold.sumLøpendeBidrag shouldBe BigDecimal("4208.00")
}
assertSoftly(hentGrunnlagstyper(Grunnlagstype.LØPENDE_BIDRAG)) {
it.shouldHaveSize(1)
Expand Down Expand Up @@ -1940,7 +1940,7 @@ class VedtakserviceSærbidragTest : VedtakserviceTest() {

assertSoftly(delberegningSumLøpendeBidragGrunnlag) {
val innhold = it.innholdTilObjekt<DelberegningSumLøpendeBidrag>()
innhold.sumLøpendeBidrag.setScale(0, RoundingMode.HALF_UP) shouldBe BigDecimal(9261)
innhold.sumLøpendeBidrag.setScale(0, RoundingMode.HALF_UP) shouldBe BigDecimal(9263)
innhold.periode shouldBe ÅrMånedsperiode(virkningstidspunkt, virkningstidspunkt.plusMonths(1))
}

Expand Down

0 comments on commit 5a8122c

Please sign in to comment.