diff --git a/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/inntekt/InntektDtoV2.kt b/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/inntekt/InntektDtoV2.kt index 05a84f02a..bb3771e21 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/inntekt/InntektDtoV2.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/dto/v2/inntekt/InntektDtoV2.kt @@ -13,6 +13,7 @@ import no.nav.bidrag.domene.ident.Personident import no.nav.bidrag.domene.tid.Datoperiode import no.nav.bidrag.transport.behandling.beregning.felles.InntektPerBarn import java.math.BigDecimal +import java.math.RoundingMode import java.time.LocalDate data class InntektDtoV2( @@ -46,7 +47,9 @@ data class InntektDtoV2( @Schema(required = true) val inntektstyper: Set = emptySet(), val historisk: Boolean? = false, -) +) { + val månedsbeløp: BigDecimal get() = beløp.divide(BigDecimal(12), 0, RoundingMode.HALF_UP) +} data class InntekterDtoV2( val barnetillegg: Set = emptySet(), diff --git a/src/main/kotlin/no/nav/bidrag/behandling/transformers/inntekt/Inntektsmappinger.kt b/src/main/kotlin/no/nav/bidrag/behandling/transformers/inntekt/Inntektsmappinger.kt index 4ff70cf6e..3ef5495f0 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/transformers/inntekt/Inntektsmappinger.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/transformers/inntekt/Inntektsmappinger.kt @@ -132,11 +132,7 @@ fun Inntekt.tilInntektDtoV2() = id = this.id, taMed = this.taMed, rapporteringstype = this.type, - beløp = - maxOf( - belop.nærmesteHeltall, - BigDecimal.ZERO, - ), + beløp = maxOf(belop.nærmesteHeltall, BigDecimal.ZERO), // Kapitalinntekt kan ha negativ verdi. Dette skal ikke vises i frontend datoFom = this.datoFom, datoTom = this.datoTom, diff --git a/src/test/kotlin/no/nav/bidrag/behandling/transformers/DtoMapperMockTest.kt b/src/test/kotlin/no/nav/bidrag/behandling/transformers/DtoMapperMockTest.kt index 012d8c2b7..3b58abc76 100644 --- a/src/test/kotlin/no/nav/bidrag/behandling/transformers/DtoMapperMockTest.kt +++ b/src/test/kotlin/no/nav/bidrag/behandling/transformers/DtoMapperMockTest.kt @@ -321,4 +321,87 @@ class DtoMapperMockTest { it.harInnvilgetTilleggsstønad shouldBe true } } + + @Test + fun `skal vise månedsinntekt`() { + // gitt + val behandling = opprettGyldigBehandlingForBeregningOgVedtak(true, typeBehandling = TypeBehandling.BIDRAG) + behandling.inntekter.add( + Inntekt( + belop = BigDecimal(2000), + datoFom = behandling.virkningstidspunkt?.plusMonths(1), + datoTom = null, + ident = behandling.bidragsmottaker!!.ident!!, + taMed = false, + gjelderBarn = behandling.søknadsbarn.first().ident, + kilde = Kilde.MANUELL, + behandling = behandling, + type = Inntektsrapportering.BARNETILLEGG, + id = 1, + ), + ) + behandling.inntekter.add( + Inntekt( + belop = BigDecimal(0), + datoFom = behandling.virkningstidspunkt?.plusMonths(2), + datoTom = null, + ident = behandling.bidragspliktig!!.ident!!, + gjelderBarn = behandling.søknadsbarn.first().ident, + taMed = true, + kilde = Kilde.MANUELL, + behandling = behandling, + type = Inntektsrapportering.BARNETILLEGG, + id = 1, + ), + ) + + behandling.inntekter.add( + Inntekt( + belop = BigDecimal(-1), + datoFom = behandling.virkningstidspunkt?.plusMonths(2), + datoTom = null, + ident = behandling.bidragspliktig!!.ident!!, + gjelderBarn = behandling.søknadsbarn.first().ident, + taMed = true, + kilde = Kilde.MANUELL, + behandling = behandling, + type = Inntektsrapportering.BARNETILLEGG, + id = 1, + ), + ) + + behandling.inntekter.add( + Inntekt( + belop = BigDecimal(144), + datoFom = behandling.virkningstidspunkt?.plusMonths(3), + datoTom = null, + ident = behandling.bidragspliktig!!.ident!!, + gjelderBarn = behandling.søknadsbarn.first().ident, + taMed = true, + kilde = Kilde.MANUELL, + behandling = behandling, + type = Inntektsrapportering.BARNETILLEGG, + id = 1, + ), + ) + + // hvis + val behandlingDto = dtomapper.tilDto(behandling) + + // så + behandlingDto.shouldNotBeNull() + + val barnetillegg = behandlingDto.inntekter.barnetillegg shouldHaveSize 3 + + assertSoftly(barnetillegg) { bt -> + bt.forEach { + when (it.beløp) { + BigDecimal(-1) -> it.månedsbeløp shouldBe BigDecimal.ZERO + BigDecimal.ZERO -> it.månedsbeløp shouldBe BigDecimal.ZERO + BigDecimal(144) -> it.månedsbeløp shouldBe BigDecimal(12) + BigDecimal(2000) -> it.månedsbeløp shouldBe BigDecimal(167) + } + } + } + } }