Skip to content

Commit 938a42c

Browse files
committed
Sender kun nye beregninger frem i tid til utbetaling
1 parent 738ae70 commit 938a42c

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

app/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/clients/utbetaling/UtbetalingDTO.kt

+10-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import no.nav.utsjekk.kontrakter.iverksett.IverksettV2Dto
1717
import no.nav.utsjekk.kontrakter.iverksett.StønadsdataTiltakspengerV2Dto
1818
import no.nav.utsjekk.kontrakter.iverksett.UtbetalingV2Dto
1919
import no.nav.utsjekk.kontrakter.iverksett.VedtaksdetaljerV2Dto
20+
import java.time.LocalDate
2021
import kotlin.collections.fold
2122

2223
/**
@@ -25,12 +26,16 @@ import kotlin.collections.fold
2526
fun Utbetalingsvedtak.toDTO(
2627
forrigeUtbetalingJson: String?,
2728
): String {
28-
val forrigeUtbetaling = forrigeUtbetalingJson?.let { deserialize<IverksettV2Dto>(it) }
2929
val vedtak: Utbetalingsvedtak = this
3030

3131
val utbetalingerStønad = meldekortbehandling.toUtbetalingDto(vedtak.brukerNavkontor, barnetillegg = false)
3232
val utbetalingerBarnetillegg = meldekortbehandling.toUtbetalingDto(vedtak.brukerNavkontor, barnetillegg = true)
3333

34+
val nyeUtbetalinger = (utbetalingerStønad + utbetalingerBarnetillegg)
35+
36+
val tidligereUtbetalinger = forrigeUtbetalingJson?.let { deserialize<IverksettV2Dto>(it) }
37+
?.utbetalingerEtter(nyeUtbetalinger.maxOf { it.tilOgMedDato }) ?: emptyList()
38+
3439
return IverksettV2Dto(
3540
sakId = vedtak.saksnummer.toString(),
3641
// Brukes som dedupliseringsnøkkel av helved dersom iverksettingId er null.
@@ -43,7 +48,7 @@ fun Utbetalingsvedtak.toDTO(
4348
vedtakstidspunkt = vedtak.opprettet,
4449
saksbehandlerId = vedtak.saksbehandler,
4550
beslutterId = vedtak.beslutter,
46-
utbetalinger = utbetalingerStønad + utbetalingerBarnetillegg,
51+
utbetalinger = tidligereUtbetalinger + nyeUtbetalinger,
4752
),
4853
forrigeIverksetting =
4954
vedtak.forrigeUtbetalingsvedtakId?.let { ForrigeIverksettingV2Dto(behandlingId = it.uuidPart()) },
@@ -52,6 +57,9 @@ fun Utbetalingsvedtak.toDTO(
5257
}
5358
}
5459

60+
private fun IverksettV2Dto.utbetalingerEtter(dato: LocalDate) =
61+
this.vedtak.utbetalinger.filter { dato > it.tilOgMedDato }
62+
5563
private fun MeldekortBehandling.MeldekortBehandlet.toUtbetalingDto(
5664
brukersNavKontor: Navkontor,
5765
barnetillegg: Boolean,

app/src/main/kotlin/no/nav/tiltakspenger/saksbehandling/meldekort/domene/BeregnMeldeperiode.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ private data class MeldekortBeregning(
6969
fun beregn(): NonEmptyList<MeldeperiodeBeregningDag.Utfylt> {
7070
val oppdatertMeldekortId = kommando.meldekortId
7171
val oppdaterteDager = kommando.dager
72-
val oppdatertFraOgMed = kommando.dager.first().dag
72+
val oppdatertTilOgMed = kommando.dager.last().dag
7373

7474
val eksisterendeDager = eksisterendeMeldekortPåSaken.utfylteDager
7575
.filter { eksisterendeDag ->
@@ -97,7 +97,7 @@ private data class MeldekortBeregning(
9797
is DeltattUtenLønnITiltaket -> deltattUtenLønn(dag, meldekortId, tiltakstype, antallBarn)
9898
}
9999

100-
if (dag > oppdatertFraOgMed) utfyltDag else null
100+
if (dag > oppdatertTilOgMed) utfyltDag else null
101101
}
102102

103103
val oppdaterteDagerBeregnet = oppdaterteDager.map { meldekortdag ->

app/src/test/kotlin/no/nav/tiltakspenger/saksbehandling/clients/utbetaling/UtbetalingDTOTest.kt

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import no.nav.tiltakspenger.libs.periodisering.Periode
99
import no.nav.tiltakspenger.libs.periodisering.PeriodeMedVerdi
1010
import no.nav.tiltakspenger.libs.periodisering.Periodisering
1111
import no.nav.tiltakspenger.saksbehandling.barnetillegg.AntallBarn
12-
import no.nav.tiltakspenger.saksbehandling.clients.utbetaling.toDTO
1312
import no.nav.tiltakspenger.saksbehandling.felles.januar
1413
import no.nav.tiltakspenger.saksbehandling.objectmothers.ObjectMother
1514
import no.nav.tiltakspenger.saksbehandling.saksbehandling.domene.sak.Saksnummer

0 commit comments

Comments
 (0)