Skip to content

Commit

Permalink
Grunnlag tillegsstønad
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Dec 9, 2024
1 parent 30d0064 commit 0921bf0
Show file tree
Hide file tree
Showing 17 changed files with 178 additions and 132 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<properties>
<java.version>21</java.version>
<kotlin.version>2.1.0</kotlin.version>
<bidrag-felles.version>2024.12.01.120917</bidrag-felles.version>
<bidrag-felles.version>1.0-SNAPSHOT</bidrag-felles.version>
<bidrag-beregn-felles.version>2024.12.03.120201</bidrag-beregn-felles.version>
<h2.version>2.3.232</h2.version>
<logback-encoder.version>8.0</logback-encoder.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -495,9 +495,9 @@ fun List<GrunnlagDto>.finnBarnetillegg(
nettoBeløp =
beregnNettoBarnetillegg(it.beløp, skattFaktor),
visningsnavn =
it.inntekstpostListe
it.inntektspostListe
.first()
.inntekstype!!
.inntektstype!!
.visningsnavn.intern,
)
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ import no.nav.bidrag.transport.behandling.grunnlag.response.KontantstøtteGrunnl
import no.nav.bidrag.transport.behandling.grunnlag.response.RelatertPersonGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.SivilstandGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.SmåbarnstilleggGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.TilleggsstønadGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.UtvidetBarnetrygdGrunnlagDto
import no.nav.bidrag.transport.behandling.inntekt.response.SummertMånedsinntekt
import no.nav.bidrag.transport.behandling.inntekt.response.SummertÅrsinntekt
Expand Down Expand Up @@ -192,7 +193,7 @@ fun List<Grunnlag>.tilBeregnetInntekt(personobjekter: Set<GrunnlagDto>): Set<Gru
månedsinntekt.inntektPostListe.map { post ->
BeregnetInntekt.InntektPost(
kode = post.kode,
inntekstype = post.inntekstype,
inntektstype = post.inntekstype,
beløp = post.beløp,
)
},
Expand Down Expand Up @@ -300,6 +301,21 @@ private fun List<Grunnlag>.mapBarnetillegg(personobjekter: Set<GrunnlagDto>) =
)
}.toSet()

private fun List<Grunnlag>.mapTilleggstønad(personobjekter: Set<GrunnlagDto>) =
filter { it.type == Grunnlagsdatatype.TILLEGGSSTØNAD && !it.erBearbeidet }
.groupBy { it.rolle.ident }
.map { (partPersonId, grunnlagListe) ->
val grunnlag = grunnlagListe.first()
val tilleggsstønadListe =
grunnlag.konvertereData<List<TilleggsstønadGrunnlagDto>>() ?: emptyList()
val gjelder = personobjekter.hentPersonNyesteIdent(partPersonId)!!
tilleggsstønadListe.tilGrunnlagsobjekt(
grunnlag.innhentet,
gjelder.referanse,
first().behandling.søktFomDato,
)
}.toSet()

private fun List<Grunnlag>.mapBarnetilsyn(personobjekter: Set<GrunnlagDto>) =
filter { it.type == Grunnlagsdatatype.BARNETILSYN && !it.erBearbeidet }
.groupBy { it.rolle.ident }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ fun List<GrunnlagDto>.hentBeregnetInntekt(): Map<String, SummerteInntekter<Summe
InntektPost(
kode = it.kode,
beløp = it.beløp,
inntekstype = it.inntekstype,
inntekstype = it.inntektstype,
)
},
)
Expand Down Expand Up @@ -448,9 +448,9 @@ private fun BaseGrunnlag.tilInntektBearbeidet(grunnlagsListe: List<GrunnlagDto>)
periode = ÅrMånedsperiode(opprinneligFom, opprinneligTom),
sumInntekt = inntektPeriode.beløp,
inntektPostListe =
inntektPeriode.inntekstpostListe.map {
inntektPeriode.inntektspostListe.map {
InntektPost(
inntekstype = it.inntekstype,
inntekstype = it.inntektstype,
beløp = it.beløp,
kode = it.kode,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -666,12 +666,12 @@ private fun BaseGrunnlag.tilInntekt(
)

inntektBO.inntektsposter =
inntektPeriode.inntekstpostListe
inntektPeriode.inntektspostListe
.mapIndexed { i, it ->
Inntektspost(
id = if (id != null) id + i else null,
kode = it.kode,
inntektstype = it.inntekstype,
inntektstype = it.inntektstype,
beløp = it.beløp,
inntekt = inntektBO,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import no.nav.bidrag.transport.behandling.felles.grunnlag.InnhentetKontantstøtt
import no.nav.bidrag.transport.behandling.felles.grunnlag.InnhentetSivilstand
import no.nav.bidrag.transport.behandling.felles.grunnlag.InnhentetSkattegrunnlag
import no.nav.bidrag.transport.behandling.felles.grunnlag.InnhentetSmåbarnstillegg
import no.nav.bidrag.transport.behandling.felles.grunnlag.InnhentetTilleggstønad
import no.nav.bidrag.transport.behandling.felles.grunnlag.InnhentetUtvidetBarnetrygd
import no.nav.bidrag.transport.behandling.felles.grunnlag.Person
import no.nav.bidrag.transport.behandling.felles.grunnlag.opprettAinntektGrunnlagsreferanse
Expand All @@ -45,6 +46,7 @@ import no.nav.bidrag.transport.behandling.grunnlag.response.RelatertPersonGrunnl
import no.nav.bidrag.transport.behandling.grunnlag.response.SivilstandGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.SkattegrunnlagGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.SmåbarnstilleggGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.TilleggsstønadGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.UtvidetBarnetrygdGrunnlagDto
import no.nav.bidrag.transport.felles.toCompactString
import java.time.LocalDate
Expand Down Expand Up @@ -363,6 +365,34 @@ fun List<BarnetilleggGrunnlagDto>.tilGrunnlagsobjekt(
),
)

@JvmName("tilInnhentetTilleggsstønadGrunnlag")
fun List<TilleggsstønadGrunnlagDto>.tilGrunnlagsobjekt(
hentetTidspunkt: LocalDateTime,
gjelderReferanse: String,
ktFomDato: LocalDate,
) = GrunnlagDto(
referanse =
opprettBarnetilleggGrunnlagsreferanse(
gjelderReferanse,
kilde = GrunnlagDatakilde.TILLEGGSSTØNAD_SAK,
),
type = Grunnlagstype.INNHENTET_TILLEGGSTØNAD,
gjelderReferanse = gjelderReferanse,
innhold =
POJONode(
InnhentetTilleggstønad(
hentetTidspunkt = hentetTidspunkt,
grunnlag =
map {
InnhentetTilleggstønad.Tilleggsstønad(
periode = Datoperiode(søktFomDato, null),
harInnvilgetVedtak = it.harInnvilgetVedtak,
)
},
),
),
)

@JvmName("tilInnhentetKontantstøtteGrunnlag")
fun List<KontantstøtteGrunnlagDto>.tilGrunnlagsobjekt(
hentetTidspunkt: LocalDateTime,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,11 +333,11 @@ internal fun Inntekt.tilInntektsrapporteringPeriode(
inntektsrapportering = type,
manueltRegistrert = kilde == Kilde.MANUELL,
valgt = taMed,
inntekstpostListe =
inntektspostListe =
inntektsposter.map {
InntektsrapporteringPeriode.Inntektspost(
beløp = it.beløp,
inntekstype = it.inntektstype,
inntektstype = it.inntektstype,
kode = it.kode,
)
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1311,7 +1311,7 @@ private fun OpprettVedtakRequestDto.validerInntekter() {
assertSoftly(it[0].innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2023-02")
periode.til shouldBe null
inntekstpostListe shouldHaveSize 0
inntektspostListe shouldHaveSize 0
beløp shouldBe 500000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.PERSONINNTEKT_EGNE_OPPLYSNINGER
gjelderBarn shouldBe null
Expand All @@ -1321,7 +1321,7 @@ private fun OpprettVedtakRequestDto.validerInntekter() {
assertSoftly(it[1].innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2023-07")
periode.til shouldBe null
inntekstpostListe shouldHaveSize 1
inntektspostListe shouldHaveSize 1
beløp shouldBe 3000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.BARNETILLEGG
gjelderBarn shouldBe søknadsbarnGrunnlag.referanse
Expand All @@ -1332,7 +1332,7 @@ private fun OpprettVedtakRequestDto.validerInntekter() {
assertSoftly(it[3].innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2023-07")
periode.til shouldBe null
inntekstpostListe shouldHaveSize 1
inntektspostListe shouldHaveSize 1
beløp shouldBe 3000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.BARNETILLEGG
gjelderBarn shouldBe søknadsbarnGrunnlag.referanse
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -625,7 +625,7 @@ private fun OpprettVedtakRequestDto.validerInntektrapportering() {
assertSoftly(it[0].innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2022-01")
periode.til shouldBe YearMonth.parse("2022-07")
inntekstpostListe shouldHaveSize 0
inntektspostListe shouldHaveSize 0
beløp shouldBe 50000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.PERSONINNTEKT_EGNE_OPPLYSNINGER
gjelderBarn shouldBe null
Expand All @@ -635,7 +635,7 @@ private fun OpprettVedtakRequestDto.validerInntektrapportering() {
assertSoftly(it[1].innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2022-07")
periode.til shouldBe YearMonth.parse("2022-10")
inntekstpostListe shouldHaveSize 0
inntektspostListe shouldHaveSize 0
beløp shouldBe 60000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.SAKSBEHANDLER_BEREGNET_INNTEKT
gjelderBarn shouldBe null
Expand All @@ -650,7 +650,7 @@ private fun OpprettVedtakRequestDto.validerInntektrapportering() {
assertSoftly(innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2022-10")
periode.til shouldBe null
inntekstpostListe shouldHaveSize 1
inntektspostListe shouldHaveSize 1
beløp shouldBe 60000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.AINNTEKT_BEREGNET_12MND
gjelderBarn shouldBe null
Expand All @@ -661,7 +661,7 @@ private fun OpprettVedtakRequestDto.validerInntektrapportering() {
assertSoftly(it[3].innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2022-01")
periode.til shouldBe null
inntekstpostListe shouldHaveSize 0
inntektspostListe shouldHaveSize 0
beløp shouldBe 60000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.BARNETILLEGG
gjelderBarn shouldBe søknadsbarnGrunnlag.referanse
Expand All @@ -671,7 +671,7 @@ private fun OpprettVedtakRequestDto.validerInntektrapportering() {
assertSoftly(it[4].innholdTilObjekt<InntektsrapporteringPeriode>()) {
periode.fom shouldBe YearMonth.parse("2022-01")
periode.til shouldBe null
inntekstpostListe shouldHaveSize 0
inntektspostListe shouldHaveSize 0
beløp shouldBe 60000.toBigDecimal()
inntektsrapportering shouldBe Inntektsrapportering.AINNTEKT_BEREGNET_12MND
gjelderBarn shouldBe null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -850,13 +850,13 @@ class GrunnlagMappingTest {
innhold.valgt shouldBe false
innhold.manueltRegistrert shouldBe false
innhold.gjelderBarn.shouldBeNull()
innhold.inntekstpostListe shouldHaveSize 2
innhold.inntektspostListe shouldHaveSize 2
inntekt.grunnlagsreferanseListe shouldHaveSize 3
with(innhold.inntekstpostListe[0]) {
with(innhold.inntektspostListe[0]) {
beløp shouldBe BigDecimal(5000)
kode shouldBe "fisking"
}
with(innhold.inntekstpostListe[1]) {
with(innhold.inntektspostListe[1]) {
beløp shouldBe BigDecimal(40000)
kode shouldBe "krypto"
}
Expand All @@ -870,17 +870,17 @@ class GrunnlagMappingTest {
innhold.valgt shouldBe true
innhold.manueltRegistrert shouldBe false
innhold.gjelderBarn.shouldBeNull()
innhold.inntekstpostListe shouldHaveSize 2
innhold.inntektspostListe shouldHaveSize 2
inntekt.grunnlagsreferanseListe shouldHaveSize 1
with(innhold.inntekstpostListe[0]) {
with(innhold.inntektspostListe[0]) {
beløp shouldBe BigDecimal(5000)
kode shouldBe ""
inntekstype shouldBe Inntektstype.NÆRINGSINNTEKT
inntektstype shouldBe Inntektstype.NÆRINGSINNTEKT
}
with(innhold.inntekstpostListe[1]) {
with(innhold.inntektspostListe[1]) {
beløp shouldBe BigDecimal(28000)
kode shouldBe ""
inntekstype shouldBe Inntektstype.LØNNSINNTEKT
inntektstype shouldBe Inntektstype.LØNNSINNTEKT
}
}

Expand All @@ -894,7 +894,7 @@ class GrunnlagMappingTest {
innhold.manueltRegistrert shouldBe true
inntekt.grunnlagsreferanseListe shouldHaveSize 0
innhold.gjelderBarn.shouldBeNull()
innhold.inntekstpostListe shouldHaveSize 0
innhold.inntektspostListe shouldHaveSize 0
}

assertSoftly(this[3]) { inntekt ->
Expand All @@ -906,12 +906,12 @@ class GrunnlagMappingTest {
innhold.valgt shouldBe true
innhold.gjelderBarn shouldBe søknadsbarnGrunnlag1.referanse
innhold.manueltRegistrert shouldBe false
innhold.inntekstpostListe shouldHaveSize 1
innhold.inntektspostListe shouldHaveSize 1
inntekt.grunnlagsreferanseListe shouldHaveSize 3
with(innhold.inntekstpostListe[0]) {
with(innhold.inntektspostListe[0]) {
beløp shouldBe BigDecimal(5000)
kode shouldBe ""
inntekstype shouldBe Inntektstype.BARNETILLEGG_PENSJON
inntektstype shouldBe Inntektstype.BARNETILLEGG_PENSJON
}
}

Expand All @@ -925,11 +925,11 @@ class GrunnlagMappingTest {
innhold.gjelderBarn shouldBe søknadsbarnGrunnlag1.referanse
innhold.manueltRegistrert shouldBe false
inntekt.grunnlagsreferanseListe shouldHaveSize 3
innhold.inntekstpostListe shouldHaveSize 1
with(innhold.inntekstpostListe[0]) {
innhold.inntektspostListe shouldHaveSize 1
with(innhold.inntektspostListe[0]) {
beløp shouldBe BigDecimal(5000)
kode shouldBe ""
inntekstype shouldBe Inntektstype.KONTANTSTØTTE
inntektstype shouldBe Inntektstype.KONTANTSTØTTE
}
}
}
Expand Down
Loading

0 comments on commit 0921bf0

Please sign in to comment.