Skip to content

Commit

Permalink
Fikset feil med konvertering av vedtak til behandling ved klage
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Oct 3, 2024
1 parent 228b02c commit f595b97
Show file tree
Hide file tree
Showing 14 changed files with 83 additions and 71 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.02.070120</bidrag-felles.version>
<bidrag-beregn-felles.version>2024.10.02.074523</bidrag-beregn-felles.version>
<bidrag-felles.version>2024.10.03.151548</bidrag-felles.version>
<bidrag-beregn-felles.version>2024.10.03.143256</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,13 +6,13 @@ 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.transport.behandling.felles.grunnlag.DelberegningBidragspliktigesAndelSærbidrag
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBidragspliktigesAndel
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningUtgift
import java.math.BigDecimal

data class ResultatSærbidragsberegningDto(
val periode: ÅrMånedsperiode,
val bpsAndel: DelberegningBidragspliktigesAndelSærbidrag? = null,
val bpsAndel: DelberegningBidragspliktigesAndel? = null,
val beregning: UtgiftBeregningDto? = null,
val inntekter: ResultatSærbidragsberegningInntekterDto? = null,
val utgiftsposter: List<UtgiftspostDto> = emptyList(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import no.nav.bidrag.transport.behandling.beregning.særbidrag.BeregnetSærbidra
import no.nav.bidrag.transport.behandling.felles.grunnlag.BostatusPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBarnIHusstand
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBidragsevne
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBidragspliktigesAndelSærbidrag
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBidragspliktigesAndel
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningSumInntekt
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningUtgift
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningVoksneIHustand
Expand Down Expand Up @@ -173,16 +173,16 @@ fun List<GrunnlagDto>.finnAntallBarnIHusstanden(grunnlagsreferanseListe: List<Gr

fun List<GrunnlagDto>.finnDelberegningBidragspliktigesAndel(
grunnlagsreferanseListe: List<Grunnlagsreferanse>,
): DelberegningBidragspliktigesAndelSærbidrag? {
): DelberegningBidragspliktigesAndel? {
val sluttberegning = finnSluttberegningIReferanser(grunnlagsreferanseListe) ?: return null
val delberegningBidragspliktigesAndel =
find {
it.type == Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL_SÆRBIDRAG &&
it.type == Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL &&
sluttberegning.grunnlagsreferanseListe.contains(
it.referanse,
)
} ?: return null
return delberegningBidragspliktigesAndel.innholdTilObjekt<DelberegningBidragspliktigesAndelSærbidrag>()
return delberegningBidragspliktigesAndel.innholdTilObjekt<DelberegningBidragspliktigesAndel>()
}

fun List<GrunnlagDto>.finnEnesteVoksenIHusstandenErEgetBarn(grunnlagsreferanseListe: List<Grunnlagsreferanse>): Boolean? {
Expand Down Expand Up @@ -215,7 +215,7 @@ fun List<GrunnlagDto>.finnDelberegningUtgift(grunnlagsreferanseListe: List<Grunn
val sluttberegning = finnSluttberegningIReferanser(grunnlagsreferanseListe) ?: return null
val delberegningBidragspliktigesAndelReferanser =
find {
it.type == Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL_SÆRBIDRAG &&
it.type == Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL &&
sluttberegning.grunnlagsreferanseListe.contains(
it.referanse,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import no.nav.bidrag.transport.behandling.felles.grunnlag.BeregnetInntekt
import no.nav.bidrag.transport.behandling.felles.grunnlag.GrunnlagDto
import no.nav.bidrag.transport.behandling.felles.grunnlag.Grunnlagsreferanse
import no.nav.bidrag.transport.behandling.felles.grunnlag.InnhentetHusstandsmedlem
import no.nav.bidrag.transport.behandling.felles.grunnlag.hentPerson
import no.nav.bidrag.transport.behandling.felles.grunnlag.hentPersonMedReferanse
import no.nav.bidrag.transport.behandling.felles.grunnlag.innholdTilObjekt
import no.nav.bidrag.transport.behandling.felles.grunnlag.opprettAinntektGrunnlagsreferanse
Expand Down Expand Up @@ -156,8 +155,8 @@ fun List<Grunnlag>.opprettInnhentetHusstandsmedlemGrunnlagForSøknadsbarnHvisMan
borISammeHusstandDtoListe = emptyList(),
).tilGrunnlagsobjekt(
LocalDateTime.now(),
personobjekter.hentPerson(behandling.rolleGrunnlagSkalHentesFor!!.ident)!!.referanse,
personobjekter.hentPerson(it.ident)!!.referanse,
personobjekter.hentPersonNyesteIdent(behandling.rolleGrunnlagSkalHentesFor!!.ident)!!.referanse,
personobjekter.hentPersonNyesteIdent(it.ident)!!.referanse,
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,28 +322,33 @@ private fun List<GrunnlagDto>.mapInntekter(
val erForskuddOmgjøring =
behandling.soknadFra == SøktAvType.NAV_BIDRAG && behandling.vedtakstype == Vedtakstype.ENDRING
if (!lesemodus && !erForskuddOmgjøring) {
inntekter.find { it.type == Inntektsrapportering.AINNTEKT_BEREGNET_12MND }?.let { originalInntekt ->
originalInntekt
.copy(
type = Inntektsrapportering.AINNTEKT_BEREGNET_12MND_FRA_OPPRINNELIG_VEDTAKSTIDSPUNKT,
).run {
inntekter.add(this)
originalInntekt.taMed = false
originalInntekt.datoFom = null
originalInntekt.datoTom = null
}
}

inntekter.find { it.type == Inntektsrapportering.AINNTEKT_BEREGNET_3MND }?.let { originalInntekt ->
originalInntekt
.copy(
type = Inntektsrapportering.AINNTEKT_BEREGNET_3MND_FRA_OPPRINNELIG_VEDTAKSTIDSPUNKT,
).run {
inntekter.add(this)
originalInntekt.taMed = false
originalInntekt.datoFom = null
originalInntekt.datoTom = null
inntekter.groupBy { it.ident }.forEach { (_, inntekterRolle) ->
inntekterRolle
.find {
it.type ==
Inntektsrapportering.AINNTEKT_BEREGNET_12MND
}?.let { originalInntekt ->
originalInntekt
.copy(
type = Inntektsrapportering.AINNTEKT_BEREGNET_12MND_FRA_OPPRINNELIG_VEDTAKSTIDSPUNKT,
).run {
inntekter.add(this)
originalInntekt.taMed = false
originalInntekt.datoFom = null
originalInntekt.datoTom = null
}
}
inntekterRolle.find { it.type == Inntektsrapportering.AINNTEKT_BEREGNET_3MND }?.let { originalInntekt ->
originalInntekt
.copy(
type = Inntektsrapportering.AINNTEKT_BEREGNET_3MND_FRA_OPPRINNELIG_VEDTAKSTIDSPUNKT,
).run {
inntekter.add(this)
originalInntekt.taMed = false
originalInntekt.datoFom = null
originalInntekt.datoTom = null
}
}
}
}
val inntekterBeregnet =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ class BehandlingBeregnControllerTest : KontrollerTestRunner() {
it.delberegningUtgift!!.sumGodkjent shouldBe BigDecimal(2500)
it.beregning!!.totalKravbeløp shouldBe BigDecimal(3000)
it.bpsAndel!!.andelBeløp shouldBe BigDecimal(2083)
it.bpsAndel.andelFaktor.round(MathContext(3)) shouldBe BigDecimal(0.8333).round(MathContext(3))
it.bpsAndel.endeligAndelFaktor.round(MathContext(3)) shouldBe BigDecimal(0.8333).round(MathContext(3))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3524,7 +3524,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
feilrapporteringListe = oppretteFeilrapporteringer(behandling.bidragsmottaker!!.ident!!),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

// hvis
Expand Down Expand Up @@ -3557,7 +3557,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
feilrapporteringListe = oppretteFeilrapporteringer(behandling.bidragsmottaker!!.ident!!),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

// hvis
Expand Down Expand Up @@ -3618,7 +3618,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
feilrapporteringListe = oppretteFeilrapporteringer(behandling.bidragsmottaker!!.ident!!),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

behandling.grunnlagsinnhentingFeilet shouldBe null
Expand Down Expand Up @@ -3676,7 +3676,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

behandling.grunnlagsinnhentingFeilet shouldBe null
Expand Down Expand Up @@ -3732,7 +3732,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
feilrapporteringListe = oppretteFeilrapporteringer(behandling.bidragsmottaker!!.ident!!),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

behandling.grunnlagsinnhentingFeilet shouldBe null
Expand Down Expand Up @@ -3790,7 +3790,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

behandling.grunnlagsinnhentingFeilet shouldBe null
Expand Down Expand Up @@ -3847,7 +3847,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
feilrapporteringListe = oppretteFeilrapporteringer(behandling.bidragsmottaker!!.ident!!),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

behandling.grunnlagsinnhentingFeilet =
Expand Down Expand Up @@ -3910,7 +3910,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

behandling.grunnlagsinnhentingFeilet =
Expand Down Expand Up @@ -3973,7 +3973,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
),
)

innhentingMedFeil.feilrapporteringListe shouldHaveSize 9
innhentingMedFeil.feilrapporteringListe shouldHaveSize 10
Mockito.`when`(bidragGrunnlagConsumerMock.henteGrunnlag(Mockito.anyList())).thenReturn(innhentingMedFeil)

// hvis
Expand Down Expand Up @@ -4024,6 +4024,7 @@ class GrunnlagServiceTest : TestContainerRunner() {
skattegrunnlagListe = skattegrunnlag,
småbarnstilleggListe = småbarnstillegg,
utvidetBarnetrygdListe = utvidetBarnetrygd,
tilleggsstønadBarnetilsynListe = emptyList(),
)

fun tilAinntektspostDto(
Expand Down Expand Up @@ -4132,6 +4133,7 @@ fun opprettHentGrunnlagDto() =
husstandsmedlemmerOgEgneBarnListe = emptyList(),
feilrapporteringListe = emptyList(),
hentetTidspunkt = LocalDateTime.now(),
tilleggsstønadBarnetilsynListe = emptyList(),
)

fun oppretteFeilrapporteringer(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ class VedtakTilBehandlingSærbidragTest {
resultat shouldNotBe null

assertSoftly(resultat!!) {
bpsAndel!!.andelFaktor shouldBe BigDecimal(0.6444, MathContext(4))
bpsAndel!!.endeligAndelFaktor shouldBe BigDecimal(0.6444, MathContext(4))
bpsAndel.andelBeløp shouldBe BigDecimal(5796)
utgiftsposter.shouldHaveSize(3)
resultatKode shouldBe Resultatkode.SÆRBIDRAG_INNVILGET
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ class VedtakserviceForskuddTest {
mottaker.verdi shouldBe nyIdentBm
}
opprettVedtakRequest.engangsbeløpListe.shouldBeEmpty()
opprettVedtakRequest.grunnlagListe.shouldHaveSize(76)
opprettVedtakRequest.grunnlagListe.shouldHaveSize(78)

opprettVedtakRequest.grunnlagListe.hentAllePersoner() shouldHaveSize 7
opprettVedtakRequest.grunnlagListe.søknadsbarn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ import no.nav.bidrag.domene.tid.ÅrMånedsperiode
import no.nav.bidrag.transport.behandling.felles.grunnlag.BeregnetInntekt
import no.nav.bidrag.transport.behandling.felles.grunnlag.BostatusPeriode
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBidragsevne
import no.nav.bidrag.transport.behandling.felles.grunnlag.DelberegningBidragspliktigesAndelSærbidrag
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
import no.nav.bidrag.transport.behandling.felles.grunnlag.InntektsrapporteringPeriode
Expand Down Expand Up @@ -622,10 +622,10 @@ class VedtakserviceSærbidragTest : VedtakserviceTest() {
val innhold = innholdTilObjekt<DelberegningBidragsevne>().first()
innhold.beløp shouldBe BigDecimal("14009")
}
assertSoftly(hentGrunnlagstyper(Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL_SÆRBIDRAG)) {
assertSoftly(hentGrunnlagstyper(Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL)) {
shouldHaveSize(1)
val innhold = innholdTilObjekt<DelberegningBidragspliktigesAndelSærbidrag>().first()
innhold.andelFaktor shouldBe BigDecimal("0.4919")
val innhold = innholdTilObjekt<DelberegningBidragspliktigesAndel>().first()
innhold.endeligAndelFaktor shouldBe BigDecimal("0.4919")
innhold.andelBeløp shouldBe BigDecimal("9838")
}
assertSoftly(hentGrunnlagstyper(Grunnlagstype.DELBEREGNING_SUM_LØPENDE_BIDRAG)) {
Expand Down Expand Up @@ -1947,14 +1947,14 @@ class VedtakserviceSærbidragTest : VedtakserviceTest() {
val delberegningBpsAndel =
grunnlagListe
.finnGrunnlagSomErReferertAv(
Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL_SÆRBIDRAG,
Grunnlagstype.DELBEREGNING_BIDRAGSPLIKTIGES_ANDEL,
sluttberegningSærbidrag.first(),
).toList()

assertSoftly(delberegningBpsAndel) {
shouldHaveSize(1)
val innhold = innholdTilObjekt<DelberegningBidragspliktigesAndelSærbidrag>().first()
innhold.andelFaktor shouldBe "0.4919".toBigDecimal()
val innhold = innholdTilObjekt<DelberegningBidragspliktigesAndel>().first()
innhold.endeligAndelFaktor shouldBe "0.4919".toBigDecimal()
innhold.andelProsent shouldBe "49.19".toBigDecimal()
innhold.andelBeløp shouldBe BigDecimal(9838)
innhold.barnetErSelvforsørget shouldBe false
Expand Down
Loading

0 comments on commit f595b97

Please sign in to comment.