From 93c352d4d632f9a08aae9e8b39c732722b6d806f Mon Sep 17 00:00:00 2001 From: Magnus Rinnan Date: Mon, 7 Oct 2024 08:50:41 +0200 Subject: [PATCH 1/3] =?UTF-8?q?Utvidet=20respons=20DelberegningSumL=C3=B8p?= =?UTF-8?q?endeBidrag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../behandling/felles/grunnlag/Beregning.kt | 14 +- .../behandling/felles/grunnlag/Beregning.kt~ | 139 ++++++++++++++++++ 2 files changed, 152 insertions(+), 1 deletion(-) create mode 100644 bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ diff --git a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt index 75a8084..d54298d 100644 --- a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt +++ b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt @@ -7,6 +7,7 @@ import no.nav.bidrag.domene.enums.beregning.Resultatkode import no.nav.bidrag.domene.enums.beregning.Samværsklasse import no.nav.bidrag.domene.enums.person.AldersgruppeForskudd import no.nav.bidrag.domene.enums.vedtak.Stønadstype +import no.nav.bidrag.domene.ident.Personident import no.nav.bidrag.domene.sak.Saksnummer import no.nav.bidrag.domene.tid.ÅrMånedsperiode import java.math.BigDecimal @@ -100,9 +101,20 @@ data class DelberegningUtgift( data class DelberegningSumLøpendeBidrag( override val periode: ÅrMånedsperiode, - val sum: BigDecimal, + val sumLøpendeBidrag: BigDecimal, + val beregningPerBarn: List, ) : Delberegning +data class DelberegningSumLøpendeBidragPerBarn( + val personidentBarn: Personident, + val saksnummer: Saksnummer, + val løpendeBeløp: BigDecimal, + val samværsfradrag: BigDecimal, + val beregnetBeløp: BigDecimal, + val faktiskBeløp: BigDecimal, + val resultat: BigDecimal, +) + data class DelberegningSamværsfradrag( override val periode: ÅrMånedsperiode, val beløp: BigDecimal, diff --git a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ new file mode 100644 index 0000000..f609874 --- /dev/null +++ b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ @@ -0,0 +1,139 @@ +package no.nav.bidrag.transport.behandling.felles.grunnlag + +import com.fasterxml.jackson.annotation.JsonAlias +import com.fasterxml.jackson.annotation.JsonIgnore +import io.swagger.v3.oas.annotations.media.Schema +import no.nav.bidrag.domene.enums.beregning.Resultatkode +import no.nav.bidrag.domene.enums.beregning.Samværsklasse +import no.nav.bidrag.domene.enums.person.AldersgruppeForskudd +import no.nav.bidrag.domene.enums.vedtak.Stønadstype +import no.nav.bidrag.domene.ident.Personident +import no.nav.bidrag.domene.sak.Saksnummer +import no.nav.bidrag.domene.tid.ÅrMånedsperiode +import java.math.BigDecimal +import java.math.MathContext + +data class SluttberegningForskudd( + override val periode: ÅrMånedsperiode, + val beløp: BigDecimal, + val resultatKode: Resultatkode, + val aldersgruppe: AldersgruppeForskudd, +) : Sluttberegning + +data class SluttberegningSærbidrag( + override val periode: ÅrMånedsperiode, + val beregnetBeløp: BigDecimal, + val resultatKode: Resultatkode, + val resultatBeløp: BigDecimal?, +) : Sluttberegning + +@Deprecated("", replaceWith = ReplaceWith("DelberegningSumInntekt")) +data class DelberegningInntekt( + override val periode: ÅrMånedsperiode, + val summertBeløp: BigDecimal, +) : Delberegning + +data class DelberegningSumInntekt( + override val periode: ÅrMånedsperiode, + val totalinntekt: BigDecimal, + val kontantstøtte: BigDecimal? = null, + val skattepliktigInntekt: BigDecimal? = null, + val barnetillegg: BigDecimal? = null, + val utvidetBarnetrygd: BigDecimal? = null, + val småbarnstillegg: BigDecimal? = null, +) : Delberegning + +data class DelberegningBarnIHusstand( + override val periode: ÅrMånedsperiode, + val antallBarn: Double, +) : Delberegning + +data class DelberegningBidragsevne( + override val periode: ÅrMånedsperiode, + val beløp: BigDecimal, + val skatt: Skatt, + val underholdBarnEgenHusstand: BigDecimal, +) : Delberegning { + data class Skatt( + val minstefradrag: BigDecimal, + val skattAlminneligInntekt: BigDecimal, + val trinnskatt: BigDecimal, + val trygdeavgift: BigDecimal, + val sumSkatt: BigDecimal, + ) +} + +data class DelberegningVoksneIHustand( + override val periode: ÅrMånedsperiode, + val borMedAndreVoksne: Boolean, +) : Delberegning + +data class DelberegningBidragspliktigesAndel( + override val periode: ÅrMånedsperiode, + @JsonAlias("andelFaktor", "andelProsent") + val endeligAndelFaktor: BigDecimal, + val andelBeløp: BigDecimal, + val beregnetAndelFaktor: BigDecimal, + val barnEndeligInntekt: BigDecimal, + val barnetErSelvforsørget: Boolean, +) : Delberegning { + @get:JsonIgnore + val andelProsent: BigDecimal + get() = + if (endeligAndelFaktor < BigDecimal.ONE) { + endeligAndelFaktor + .multiply(BigDecimal(100)) + .round(MathContext(4)) + } else { + endeligAndelFaktor.round(MathContext(4)) + } + + @get:JsonIgnore + val erAndelRedusert: Boolean + get() = endeligAndelFaktor < beregnetAndelFaktor +} + +data class DelberegningUtgift( + override val periode: ÅrMånedsperiode, + val sumBetaltAvBp: BigDecimal, + val sumGodkjent: BigDecimal, +) : Delberegning + +data class DelberegningSumLøpendeBidrag( + override val periode: ÅrMånedsperiode, + val sumLøpendeBidrag: BigDecimal, + val beregningPerBarn: List +) : Delberegning + +data class DelberegningSumLøpendeBidragPerBarn( + val personidentBarn: Personident, + val saksnummer: Saksnummer, + val løpendeBeløp: BigDecimal, + val samværsfradrag: BigDecimal, + val beregnetBeløp: BigDecimal, + val faktiskBeløp: BigDecimal, + val resultat: BigDecimal, +) + +data class DelberegningSamværsfradrag( + override val periode: ÅrMånedsperiode, + val beløp: BigDecimal, +) : Delberegning + +@Schema(description = "Informasjon om persons løpende bidragssaker") +data class LøpendeBidragGrunnlag( + val løpendeBidragListe: List, +) : GrunnlagInnhold + +data class LøpendeBidrag( + val saksnummer: Saksnummer, + val type: Stønadstype, + val løpendeBeløp: BigDecimal, + val samværsklasse: Samværsklasse, + val beregnetBeløp: BigDecimal, + val faktiskBeløp: BigDecimal, + @Schema(description = "Referanse til barnet løpende bidraget gjelder for") + val gjelderBarn: Grunnlagsreferanse, +) : GrunnlagInnhold + +fun List.filtrerDelberegninger() = filterIsInstance() From c455223002a3c23a462a359688f755186e09b606 Mon Sep 17 00:00:00 2001 From: Magnus Rinnan Date: Mon, 7 Oct 2024 08:53:49 +0200 Subject: [PATCH 2/3] =?UTF-8?q?Utvidet=20respons=20DelberegningSumL=C3=B8p?= =?UTF-8?q?endeBidrag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/no/nav/bidrag/domene/enums/sak/Fogd\303\245rsak.kt" | 2 +- .../kotlin/no/nav/bidrag/domene/enums/sak/SakHendelsestype.kt | 2 +- .../main/kotlin/no/nav/bidrag/domene/enums/sak/Tilgangstype.kt | 2 +- .../main/kotlin/no/nav/bidrag/domene/enums/sak/UkjentPart.kt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git "a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Fogd\303\245rsak.kt" "b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Fogd\303\245rsak.kt" index 48cb770..e281ed1 100644 --- "a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Fogd\303\245rsak.kt" +++ "b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Fogd\303\245rsak.kt" @@ -19,4 +19,4 @@ enum class Fogdårsak( MAUT("Utlandssak", true, Tilgangstype.MIDL, "Alle"), MOT("Motregning", true, Tilgangstype.MIDL, "Alle"), OORG("Omorganisering", true, Tilgangstype.EIER, "Batch"), -} \ No newline at end of file +} diff --git a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/SakHendelsestype.kt b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/SakHendelsestype.kt index f0b3185..fc184be 100644 --- a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/SakHendelsestype.kt +++ b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/SakHendelsestype.kt @@ -110,4 +110,4 @@ enum class SakHendelsestype(private val beskrivelse: String, val gyldig: Boolean override fun toString(): String { return beskrivelse } -} \ No newline at end of file +} diff --git a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Tilgangstype.kt b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Tilgangstype.kt index e308160..28da832 100644 --- a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Tilgangstype.kt +++ b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/Tilgangstype.kt @@ -3,4 +3,4 @@ package no.nav.bidrag.domene.enums.sak enum class Tilgangstype(val beskrivelse: String) { EIER("Eierfogd"), MIDL("Midlertidig autorisasjon"), -} \ No newline at end of file +} diff --git a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/UkjentPart.kt b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/UkjentPart.kt index f0c0c70..d83db56 100644 --- a/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/UkjentPart.kt +++ b/bidrag-domene/src/main/kotlin/no/nav/bidrag/domene/enums/sak/UkjentPart.kt @@ -2,4 +2,4 @@ package no.nav.bidrag.domene.enums.sak enum class UkjentPart(val beskrivelse: String) { UK("Ukjent"), -} \ No newline at end of file +} From 9ec3642ed119b2479485c2f7107dac83efdf9b9e Mon Sep 17 00:00:00 2001 From: Magnus Rinnan Date: Mon, 7 Oct 2024 09:15:20 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Lagt=20til=20alias=20og=20defaultverdi=20re?= =?UTF-8?q?spons=20DelberegningSumL=C3=B8pendeBidrag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../behandling/felles/grunnlag/Beregning.kt | 3 +- .../behandling/felles/grunnlag/Beregning.kt~ | 139 ------------------ 2 files changed, 2 insertions(+), 140 deletions(-) delete mode 100644 bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ diff --git a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt index d54298d..3ed6d29 100644 --- a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt +++ b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt @@ -101,8 +101,9 @@ data class DelberegningUtgift( data class DelberegningSumLøpendeBidrag( override val periode: ÅrMånedsperiode, + @JsonAlias("sum") val sumLøpendeBidrag: BigDecimal, - val beregningPerBarn: List, + val beregningPerBarn: List = emptyList(), ) : Delberegning data class DelberegningSumLøpendeBidragPerBarn( diff --git a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ b/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ deleted file mode 100644 index f609874..0000000 --- a/bidrag-transport/src/main/kotlin/no/nav/bidrag/transport/behandling/felles/grunnlag/Beregning.kt~ +++ /dev/null @@ -1,139 +0,0 @@ -package no.nav.bidrag.transport.behandling.felles.grunnlag - -import com.fasterxml.jackson.annotation.JsonAlias -import com.fasterxml.jackson.annotation.JsonIgnore -import io.swagger.v3.oas.annotations.media.Schema -import no.nav.bidrag.domene.enums.beregning.Resultatkode -import no.nav.bidrag.domene.enums.beregning.Samværsklasse -import no.nav.bidrag.domene.enums.person.AldersgruppeForskudd -import no.nav.bidrag.domene.enums.vedtak.Stønadstype -import no.nav.bidrag.domene.ident.Personident -import no.nav.bidrag.domene.sak.Saksnummer -import no.nav.bidrag.domene.tid.ÅrMånedsperiode -import java.math.BigDecimal -import java.math.MathContext - -data class SluttberegningForskudd( - override val periode: ÅrMånedsperiode, - val beløp: BigDecimal, - val resultatKode: Resultatkode, - val aldersgruppe: AldersgruppeForskudd, -) : Sluttberegning - -data class SluttberegningSærbidrag( - override val periode: ÅrMånedsperiode, - val beregnetBeløp: BigDecimal, - val resultatKode: Resultatkode, - val resultatBeløp: BigDecimal?, -) : Sluttberegning - -@Deprecated("", replaceWith = ReplaceWith("DelberegningSumInntekt")) -data class DelberegningInntekt( - override val periode: ÅrMånedsperiode, - val summertBeløp: BigDecimal, -) : Delberegning - -data class DelberegningSumInntekt( - override val periode: ÅrMånedsperiode, - val totalinntekt: BigDecimal, - val kontantstøtte: BigDecimal? = null, - val skattepliktigInntekt: BigDecimal? = null, - val barnetillegg: BigDecimal? = null, - val utvidetBarnetrygd: BigDecimal? = null, - val småbarnstillegg: BigDecimal? = null, -) : Delberegning - -data class DelberegningBarnIHusstand( - override val periode: ÅrMånedsperiode, - val antallBarn: Double, -) : Delberegning - -data class DelberegningBidragsevne( - override val periode: ÅrMånedsperiode, - val beløp: BigDecimal, - val skatt: Skatt, - val underholdBarnEgenHusstand: BigDecimal, -) : Delberegning { - data class Skatt( - val minstefradrag: BigDecimal, - val skattAlminneligInntekt: BigDecimal, - val trinnskatt: BigDecimal, - val trygdeavgift: BigDecimal, - val sumSkatt: BigDecimal, - ) -} - -data class DelberegningVoksneIHustand( - override val periode: ÅrMånedsperiode, - val borMedAndreVoksne: Boolean, -) : Delberegning - -data class DelberegningBidragspliktigesAndel( - override val periode: ÅrMånedsperiode, - @JsonAlias("andelFaktor", "andelProsent") - val endeligAndelFaktor: BigDecimal, - val andelBeløp: BigDecimal, - val beregnetAndelFaktor: BigDecimal, - val barnEndeligInntekt: BigDecimal, - val barnetErSelvforsørget: Boolean, -) : Delberegning { - @get:JsonIgnore - val andelProsent: BigDecimal - get() = - if (endeligAndelFaktor < BigDecimal.ONE) { - endeligAndelFaktor - .multiply(BigDecimal(100)) - .round(MathContext(4)) - } else { - endeligAndelFaktor.round(MathContext(4)) - } - - @get:JsonIgnore - val erAndelRedusert: Boolean - get() = endeligAndelFaktor < beregnetAndelFaktor -} - -data class DelberegningUtgift( - override val periode: ÅrMånedsperiode, - val sumBetaltAvBp: BigDecimal, - val sumGodkjent: BigDecimal, -) : Delberegning - -data class DelberegningSumLøpendeBidrag( - override val periode: ÅrMånedsperiode, - val sumLøpendeBidrag: BigDecimal, - val beregningPerBarn: List -) : Delberegning - -data class DelberegningSumLøpendeBidragPerBarn( - val personidentBarn: Personident, - val saksnummer: Saksnummer, - val løpendeBeløp: BigDecimal, - val samværsfradrag: BigDecimal, - val beregnetBeløp: BigDecimal, - val faktiskBeløp: BigDecimal, - val resultat: BigDecimal, -) - -data class DelberegningSamværsfradrag( - override val periode: ÅrMånedsperiode, - val beløp: BigDecimal, -) : Delberegning - -@Schema(description = "Informasjon om persons løpende bidragssaker") -data class LøpendeBidragGrunnlag( - val løpendeBidragListe: List, -) : GrunnlagInnhold - -data class LøpendeBidrag( - val saksnummer: Saksnummer, - val type: Stønadstype, - val løpendeBeløp: BigDecimal, - val samværsklasse: Samværsklasse, - val beregnetBeløp: BigDecimal, - val faktiskBeløp: BigDecimal, - @Schema(description = "Referanse til barnet løpende bidraget gjelder for") - val gjelderBarn: Grunnlagsreferanse, -) : GrunnlagInnhold - -fun List.filtrerDelberegninger() = filterIsInstance()