diff --git a/pom.xml b/pom.xml
index c563b2339..65fe0a7c5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,7 +18,7 @@
2.0.20
2.6.0
3.20240806111424_fff2930
- 3.0_20240910101142_f4fc87e
+ 3.0_20240911135543_ae5a9ac
2.0_20240425094647_26b983d
2.0_20230214104704_706e9c0
2.0_20230214104704_706e9c0
diff --git "a/src/main/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtil.kt" "b/src/main/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtil.kt"
index fcc8271f8..d07581ba5 100644
--- "a/src/main/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtil.kt"
+++ "b/src/main/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtil.kt"
@@ -46,6 +46,7 @@ fun lagSimuleringsoppsummering(
tidSimuleringHentet = tidSimuleringHentet,
tomSisteUtbetaling = tomSisteUtbetaling,
sumManuellePosteringer = summerManuellePosteringer(detaljertSimuleringResultat),
+ sumKreditorPosteringer = summerKreditorPosteringer(detaljertSimuleringResultat),
)
}
@@ -53,7 +54,13 @@ fun summerManuellePosteringer(detaljertSimuleringResultat: DetaljertSimuleringRe
detaljertSimuleringResultat.simuleringMottaker
.flatMap { simuleringMottaker -> simuleringMottaker.simulertPostering }
.filter { simulertPostering -> simulertPostering.fagOmrådeKode.gjelderManuellPostering() }
- .fold(ZERO) { acc, simulertPostering -> acc + simulertPostering.beløp }
+ .sumOf ( SimulertPostering::beløp )
+
+fun summerKreditorPosteringer(detaljertSimuleringResultat: DetaljertSimuleringResultat): BigDecimal =
+ detaljertSimuleringResultat.simuleringMottaker
+ .flatMap { simuleringMottaker -> simuleringMottaker.simulertPostering }
+ .filter { simulertPostering -> simulertPostering.gjelderKreditortrekk() }
+ .sumOf ( SimulertPostering::beløp )
fun grupperPosteringerEtterDato(mottakere: List): List =
mottakere
diff --git a/src/test/kotlin/no/nav/familie/ef/iverksett/DomainTestUtil.kt b/src/test/kotlin/no/nav/familie/ef/iverksett/DomainTestUtil.kt
index 88546d5a8..87137cdbc 100644
--- a/src/test/kotlin/no/nav/familie/ef/iverksett/DomainTestUtil.kt
+++ b/src/test/kotlin/no/nav/familie/ef/iverksett/DomainTestUtil.kt
@@ -139,6 +139,7 @@ fun posteringer(
posteringstype: PosteringType = PosteringType.YTELSE,
betalingstype: BetalingType = if (beløp >= 0) BetalingType.DEBIT else BetalingType.KREDIT,
fagOmrådeKode: FagOmrådeKode = FagOmrådeKode.ENSLIG_FORSØRGER_OVERGANGSSTØNAD,
+ klassekode: String = "EFOG"
): List =
MutableList(antallMåneder) { index ->
SimulertPostering(
@@ -154,6 +155,7 @@ fun posteringer(
.atEndOfMonth(),
// Forfallsdato i bank (dagen går til brukeren). Det sendes til banken kanskje en uke i forveien
utenInntrekk = false,
+ klassekode = klassekode
) // Brukes ikke for EF
}
diff --git "a/src/test/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtilKtTest.kt" "b/src/test/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtilKtTest.kt"
index 698f1fa6a..e7448aa21 100644
--- "a/src/test/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtilKtTest.kt"
+++ "b/src/test/kotlin/no/nav/familie/ef/iverksett/\303\270konomi/simulering/SimuleringUtilKtTest.kt"
@@ -71,4 +71,30 @@ class SimuleringUtilKtTest {
every { simuleringsResultat.simuleringMottaker } returns emptyList()
assertThat(summerManuellePosteringer(simuleringsResultat)).isEqualTo(BigDecimal.ZERO)
}
+
+ @Test
+ fun `summerKreditorPosteringer skal returnere ZERO by default `() {
+ every { simuleringsResultat.simuleringMottaker } returns emptyList()
+ assertThat(summerKreditorPosteringer(simuleringsResultat)).isEqualTo(BigDecimal.ZERO)
+ }
+
+ @Test
+ fun `summer flere kreditorposteringer`() {
+ val simulertePosteringer =
+ posteringer(klassekode = "KREDKRED", beløp = 1, antallMåneder = 3)
+ val simulertePosteringerAnnenKlassekode =
+ posteringer(klassekode = "KLASSEKODE", beløp = 2)
+ val simuleringsMottaker =
+ listOf(
+ SimuleringMottaker(
+ simulertPostering = simulertePosteringer + simulertePosteringerAnnenKlassekode,
+ mottakerType = MottakerType.BRUKER,
+ ),
+ )
+
+ every { simuleringsResultat.simuleringMottaker } returns simuleringsMottaker
+
+ assertThat(summerKreditorPosteringer(simuleringsResultat)).isEqualTo(BigDecimal(3))
+ }
+
}