Skip to content

Commit 41f0d3b

Browse files
authored
Merge branch 'main' into fjern_busybox_docker
2 parents a51861b + d690606 commit 41f0d3b

File tree

8 files changed

+81
-15
lines changed

8 files changed

+81
-15
lines changed

Diff for: .github/workflows/main.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ jobs:
2828
with:
2929
build-image: true
3030
push-image: true
31+
skip-tests: true
3132
secrets: inherit
3233
deploy-dev:
3334
name: Deploy dev

Diff for: .github/workflows/manual-deploy-dev.yaml

+1-6
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@ name: Manual deploy to dev
22
on:
33
workflow_dispatch:
44
inputs:
5-
skip-tests:
6-
description: 'Skip tests?'
7-
required: false
8-
default: false
9-
type: boolean
105

116
jobs:
127
build:
@@ -16,9 +11,9 @@ jobs:
1611
id-token: write
1712
uses: navikt/familie-baks-gha-workflows/.github/workflows/build-maven-app.yaml@main
1813
with:
19-
skip-tests: ${{ inputs.skip-tests }}
2014
build-image: true
2115
push-image: true
16+
skip-tests: true
2217
secrets: inherit
2318
deploy-with-new-image:
2419
name: Deploy with new image

Diff for: .github/workflows/manual-deploy-prod.yaml

+1-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
name: Manual deploy to prod (from main)
22
on:
33
workflow_dispatch:
4-
inputs:
5-
skip-tests:
6-
description: 'Skip tests?'
7-
required: false
8-
default: false
9-
type: boolean
104

115
jobs:
126
build:
@@ -17,9 +11,9 @@ jobs:
1711
id-token: write
1812
uses: navikt/familie-baks-gha-workflows/.github/workflows/build-maven-app.yaml@main
1913
with:
20-
skip-tests: ${{ inputs.skip-tests }}
2114
build-image: true
2215
push-image: true
16+
skip-tests: true
2317
secrets: inherit
2418
deploy-with-new-image:
2519
name: Deploy with new image

Diff for: pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<prosessering.version>2.20250219093533_62416e5</prosessering.version>
2727
<felles.version>3.20250225161902_197977b</felles.version>
2828
<eksterne-kontrakter-bisys.version>2.0_20230214104704_706e9c0</eksterne-kontrakter-bisys.version>
29-
<felles-kontrakter.version>3.0_20250224083824_7fcdc47</felles-kontrakter.version>
29+
<felles-kontrakter.version>3.0_20250226115003_49b0dfa</felles-kontrakter.version>
3030
<familie.kontrakter.saksstatistikk>2.0_20230214104704_706e9c0</familie.kontrakter.saksstatistikk>
3131
<familie.kontrakter.stønadsstatistikk>2.0_20241209130157_6873c2d</familie.kontrakter.stønadsstatistikk>
3232
<utbetalingsgenerator.version>1.0_20250206122712_9ec24df</utbetalingsgenerator.version>

Diff for: src/main/kotlin/no/nav/familie/ba/sak/common/Feil.kt

+4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package no.nav.familie.ba.sak.common
33
import com.fasterxml.jackson.annotation.JsonInclude
44
import com.fasterxml.jackson.annotation.JsonPropertyOrder
55
import no.nav.familie.ba.sak.kjerne.autovedtak.satsendring.SatsendringSvar
6+
import no.nav.familie.log.mdc.MDCConstants
7+
import org.slf4j.MDC
68
import org.springframework.http.HttpStatus
79
import java.time.LocalDateTime
810
import kotlin.contracts.ExperimentalContracts
@@ -14,6 +16,7 @@ open class Feil(
1416
open val httpStatus: HttpStatus = HttpStatus.OK,
1517
open val throwable: Throwable? = null,
1618
override val cause: Throwable? = throwable,
19+
open val callId: String? = MDC.get(MDCConstants.MDC_CALL_ID),
1720
) : RuntimeException(message)
1821

1922
open class FunksjonellFeil(
@@ -22,6 +25,7 @@ open class FunksjonellFeil(
2225
open val httpStatus: HttpStatus = HttpStatus.OK,
2326
open val throwable: Throwable? = null,
2427
override val cause: Throwable? = throwable,
28+
open val callId: String? = MDC.get(MDCConstants.MDC_CALL_ID),
2529
) : RuntimeException(melding)
2630

2731
class VilkårFeil(

Diff for: src/main/kotlin/no/nav/familie/ba/sak/common/RessursUtils.kt

+1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ object RessursUtils {
9090
Ressurs.failure(
9191
frontendFeilmelding = feil.frontendFeilmelding,
9292
errorMessage = feil.message.toString(),
93+
callId = feil.callId,
9394
),
9495
)
9596
}

Diff for: src/main/kotlin/no/nav/familie/ba/sak/integrasjoner/økonomi/UtbetalingsTidslinjeService.kt

+13-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package no.nav.familie.ba.sak.integrasjoner.økonomi
33
import no.nav.familie.ba.sak.kjerne.beregning.domene.TilkjentYtelseRepository
44
import no.nav.familie.ba.sak.kjerne.beregning.domene.utbetalingsoppdrag
55
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.transformasjon.beskjærTilOgMed
6+
import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.transformasjon.beskjærTilOgMedEtter
67
import no.nav.familie.kontrakter.felles.oppdrag.Utbetalingsoppdrag
78
import no.nav.familie.kontrakter.felles.oppdrag.Utbetalingsperiode
89
import no.nav.familie.tidslinje.Periode
@@ -87,7 +88,11 @@ class UtbetalingsTidslinjeService(
8788
}
8889
kjederForFagsak.apply {
8990
kjederForUtbetalingsperioder.forEach { periodeId, (tidslinje, forrigePeriodeId, opphørsperiode) ->
90-
val gjeldendeTidslinje = kjederForFagsak.getOrDefault(forrigePeriodeId, tomTidslinje()).beskjærOgKorrigerPerioderVedOpphør(opphørsperiode)
91+
val gjeldendeTidslinje =
92+
kjederForFagsak
93+
.getOrDefault(forrigePeriodeId, tomTidslinje())
94+
.beskjærOgKorrigerPerioderVedOpphør(opphørsperiode)
95+
.beskjærTilOgMedEtterIkkeTomTidslinje(tidslinje)
9196

9297
// Sørger for at vi alltid tar med den siste perioden dersom det er overlapp.
9398
val nyGjeldendeTidslinje =
@@ -125,4 +130,11 @@ class UtbetalingsTidslinjeService(
125130
// Beskjærer tidslinje slik at alt etter opphørsdato forsvinner
126131
.beskjærTilOgMed(opphørsperiode.opphør!!.opphørDatoFom.minusDays(1))
127132
}
133+
134+
private fun Tidslinje<Utbetalingsperiode>.beskjærTilOgMedEtterIkkeTomTidslinje(tidslinje: Tidslinje<Utbetalingsperiode>): Tidslinje<Utbetalingsperiode> {
135+
if (tidslinje.erTom()) {
136+
return this
137+
}
138+
return this.beskjærTilOgMedEtter(tidslinje)
139+
}
128140
}

Diff for: src/test/enhetstester/kotlin/no/nav/familie/ba/sak/integrasjoner/økonomi/UtbetalingsTidslinjeServiceTest.kt

+59
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,65 @@ class UtbetalingsTidslinjeServiceTest {
332332
assertThat(perioderIAndreTidslinje[0].verdi.periodeId).isEqualTo(førstegangsbehandlingPeriode1Kjede2.periodeId)
333333
assertThat(perioderIAndreTidslinje[0].verdi.forrigePeriodeId).isEqualTo(førstegangsbehandlingPeriode1Kjede2.forrigePeriodeId)
334334
}
335+
336+
@Test
337+
fun `skal generere utbetalingstidslinjer for revurdering med opphør som følge av overskrevet andel`() {
338+
// Arrange
339+
val fagsak = lagFagsak()
340+
val førstegangsbehandling = lagBehandling(fagsak)
341+
val revurdering = lagBehandling(fagsak)
342+
343+
val revurderingPeriode3Kjede1 =
344+
lagUtbetalingsperiode(
345+
fom = førstegangsBehandlingPeriode1Kjede1.vedtakdatoFom,
346+
tom = førstegangsBehandlingPeriode1Kjede1.vedtakdatoTom.plusMonths(1),
347+
periodeId = 3,
348+
forrigePeriodeId = 1,
349+
behandlingId = revurdering.id,
350+
klassifisering = YtelseType.ORDINÆR_BARNETRYGD.klassifisering,
351+
beløp = BigDecimal.valueOf(500L),
352+
)
353+
354+
val utbetalingsoppdragRevurderingOpphørVedOverskriving =
355+
lagUtbetalingsoppdrag(
356+
avstemmingTidspunkt = LocalDateTime.of(2025, 3, 1, 0, 0, 0),
357+
utbetalingsperiode =
358+
listOf(
359+
revurderingPeriode3Kjede1,
360+
),
361+
)
362+
363+
every { tilkjentYtelseRepository.findByFagsak(fagsak.id) } returns
364+
listOf(
365+
lagTilkjentYtelse(behandling = førstegangsbehandling, utbetalingsoppdrag = objectMapper.writeValueAsString(lagUtbetalingsoppdragFørstegangsbehandling())),
366+
lagTilkjentYtelse(behandling = revurdering, utbetalingsoppdrag = objectMapper.writeValueAsString(utbetalingsoppdragRevurderingOpphørVedOverskriving)),
367+
)
368+
369+
// Act
370+
val utbetalingstidslinjer = utbetalingsTidslinjeService.genererUtbetalingstidslinjerForFagsak(fagsakId = fagsak.id)
371+
val førsteTidslinje = utbetalingsTidslinjeService.finnUtbetalingsTidslinjeForPeriodeId(førstePeriodeIdKjede1, utbetalingstidslinjer)
372+
val andreTidslinje = utbetalingsTidslinjeService.finnUtbetalingsTidslinjeForPeriodeId(førstePeriodeIdKjede2, utbetalingstidslinjer)
373+
374+
// Assert
375+
assertThat(utbetalingstidslinjer).hasSize(2)
376+
assertThat(førsteTidslinje.tidslinje).isNotNull
377+
val perioderIFørsteTidslinje = førsteTidslinje.tidslinje.tilPerioderIkkeNull()
378+
assertThat(perioderIFørsteTidslinje).hasSize(1)
379+
assertThat(perioderIFørsteTidslinje[0].fom).isEqualTo(revurderingPeriode3Kjede1.vedtakdatoFom)
380+
assertThat(perioderIFørsteTidslinje[0].tom).isEqualTo(revurderingPeriode3Kjede1.vedtakdatoTom)
381+
assertThat(perioderIFørsteTidslinje[0].verdi.behandlingId).isEqualTo(revurderingPeriode3Kjede1.behandlingId)
382+
assertThat(perioderIFørsteTidslinje[0].verdi.periodeId).isEqualTo(revurderingPeriode3Kjede1.periodeId)
383+
assertThat(perioderIFørsteTidslinje[0].verdi.forrigePeriodeId).isEqualTo(revurderingPeriode3Kjede1.forrigePeriodeId)
384+
385+
assertThat(andreTidslinje.tidslinje).isNotNull
386+
val perioderIAndreTidslinje = andreTidslinje.tidslinje.tilPerioderIkkeNull()
387+
assertThat(perioderIAndreTidslinje).hasSize(1)
388+
assertThat(perioderIAndreTidslinje[0].fom).isEqualTo(førstegangsbehandlingPeriode1Kjede2.vedtakdatoFom)
389+
assertThat(perioderIAndreTidslinje[0].tom).isEqualTo(førstegangsbehandlingPeriode1Kjede2.vedtakdatoTom)
390+
assertThat(perioderIAndreTidslinje[0].verdi.behandlingId).isEqualTo(førstegangsbehandlingPeriode1Kjede2.behandlingId)
391+
assertThat(perioderIAndreTidslinje[0].verdi.periodeId).isEqualTo(førstegangsbehandlingPeriode1Kjede2.periodeId)
392+
assertThat(perioderIAndreTidslinje[0].verdi.forrigePeriodeId).isEqualTo(førstegangsbehandlingPeriode1Kjede2.forrigePeriodeId)
393+
}
335394
}
336395

337396
private val førstegangsBehandlingPeriode1Kjede1 =

0 commit comments

Comments
 (0)