@@ -4,9 +4,11 @@ import no.nav.familie.ba.sak.common.Feil
4
4
import no.nav.familie.ba.sak.common.TIDENES_ENDE
5
5
import no.nav.familie.ba.sak.common.TIDENES_MORGEN
6
6
import no.nav.familie.ba.sak.common.Utils.slåSammen
7
+ import no.nav.familie.ba.sak.common.førsteDagIInneværendeMåned
7
8
import no.nav.familie.ba.sak.common.sisteDagIMåned
8
9
import no.nav.familie.ba.sak.common.tilMånedÅr
9
10
import no.nav.familie.ba.sak.common.tilMånedÅrMedium
11
+ import no.nav.familie.ba.sak.common.toYearMonth
10
12
import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandling
11
13
import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingType
12
14
import no.nav.familie.ba.sak.kjerne.behandling.domene.Behandlingsresultat.DELVIS_INNVILGET
@@ -27,7 +29,8 @@ import no.nav.familie.ba.sak.kjerne.brev.domene.maler.utbetalingEøs.UtbetalingE
27
29
import no.nav.familie.ba.sak.kjerne.brev.domene.maler.utbetalingEøs.UtbetalingMndEøs
28
30
import no.nav.familie.ba.sak.kjerne.brev.domene.maler.utbetalingEøs.UtbetalingMndEøsOppsummering
29
31
import no.nav.familie.ba.sak.kjerne.endretutbetaling.domene.EndretUtbetalingAndel
30
- import no.nav.familie.ba.sak.kjerne.eøs.felles.beregning.tilSeparateTidslinjerForBarna
32
+ import no.nav.familie.ba.sak.kjerne.eøs.felles.beregning.tilSeparateFamilieFellesTidslinjerForBarna
33
+ import no.nav.familie.ba.sak.kjerne.eøs.felles.util.MIN_MÅNED
31
34
import no.nav.familie.ba.sak.kjerne.eøs.kompetanse.domene.Kompetanse
32
35
import no.nav.familie.ba.sak.kjerne.eøs.kompetanse.domene.KompetanseResultat
33
36
import no.nav.familie.ba.sak.kjerne.eøs.kompetanse.domene.tilUtfylteKompetanserEtterEndringstidpunktPerAktør
@@ -37,18 +40,18 @@ import no.nav.familie.ba.sak.kjerne.eøs.utenlandskperiodebeløp.tilUtbetaltFraA
37
40
import no.nav.familie.ba.sak.kjerne.eøs.valutakurs.Valutakurs
38
41
import no.nav.familie.ba.sak.kjerne.fagsak.FagsakStatus
39
42
import no.nav.familie.ba.sak.kjerne.personident.Aktør
40
- import no.nav.familie.ba.sak.kjerne.tidslinje.komposisjon.erIkkeTom
41
- import no.nav.familie.ba.sak.kjerne.tidslinje.komposisjon.kombiner
42
- import no.nav.familie.ba.sak.kjerne.tidslinje.komposisjon.outerJoin
43
- import no.nav.familie.ba.sak.kjerne.tidslinje.splitPerTidsenhet
44
43
import no.nav.familie.ba.sak.kjerne.tidslinje.tidspunkt.MånedTidspunkt
45
- import no.nav.familie.ba.sak.kjerne.tidslinje.tidspunkt.MånedTidspunkt.Companion.tilMånedTidspunkt
46
- import no.nav.familie.ba.sak.kjerne.tidslinje.tidspunkt.tilYearMonth
47
- import no.nav.familie.ba.sak.kjerne.tidslinje.transformasjon.beskjærFraOgMed
48
- import no.nav.familie.ba.sak.kjerne.tidslinje.transformasjon.mapIkkeNull
44
+ import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.komposisjon.erIkkeTom
45
+ import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.komposisjon.kombiner
46
+ import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.transformasjon.beskjærFraOgMed
47
+ import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.transformasjon.mapIkkeNull
48
+ import no.nav.familie.ba.sak.kjerne.tidslinjefamiliefelles.utils.splitPerMåned
49
49
import no.nav.familie.ba.sak.kjerne.vedtak.domene.VedtaksperiodeMedBegrunnelser
50
+ import no.nav.familie.tidslinje.outerJoin
51
+ import no.nav.familie.tidslinje.utvidelser.tilPerioder
50
52
import tilLandNavn
51
53
import java.time.LocalDate
54
+ import java.time.YearMonth
52
55
53
56
fun hentAutomatiskVedtaksbrevtype (behandling : Behandling ): Brevmal {
54
57
val behandlingÅrsak = behandling.opprettetÅrsak
@@ -117,8 +120,8 @@ fun skalHenteUtbetalingerEøs(
117
120
118
121
val valutakurserEtterEndringtidspunktet =
119
122
valutakurser
120
- .tilSeparateTidslinjerForBarna ()
121
- .mapValues { (_, valutakursTidslinjeForBarn) -> valutakursTidslinjeForBarn.beskjærFraOgMed(endringstidspunkt.tilMånedTidspunkt ()) }
123
+ .tilSeparateFamilieFellesTidslinjerForBarna ()
124
+ .mapValues { (_, valutakursTidslinjeForBarn) -> valutakursTidslinjeForBarn.beskjærFraOgMed(endringstidspunkt.førsteDagIInneværendeMåned ()) }
122
125
123
126
return valutakurserEtterEndringtidspunktet.any { it.value.erIkkeTom() }
124
127
}
@@ -160,10 +163,10 @@ fun hentUtbetalingerPerMndEøs(
160
163
161
164
// Ønsker kun andeler etter endringstidspunkt så beskjærer fra og med endringstidspunktet
162
165
val andelerForVedtaksperioderPerAktørOgTypeAvgrensetTilVedtaksperioder =
163
- andelerForVedtaksperioderPerAktørOgType.mapValues { (_, andelForVedtaksperiode) -> andelForVedtaksperiode.beskjærFraOgMed(endringstidspunkt.tilMånedTidspunkt ()) }
166
+ andelerForVedtaksperioderPerAktørOgType.mapValues { (_, andelForVedtaksperiode) -> andelForVedtaksperiode.beskjærFraOgMed(endringstidspunkt.førsteDagIInneværendeMåned ()) }
164
167
165
- val utenlandskePeriodebeløpTidslinjerForBarna = utenlandskePeriodebeløp.tilSeparateTidslinjerForBarna ().mapKeys { entry -> Pair (entry.key, YtelseType .ORDIN ÆR_BARNETRYGD ) }
166
- val valutakursTidslinjerForBarna = valutakurser.tilSeparateTidslinjerForBarna ().mapKeys { entry -> Pair (entry.key, YtelseType .ORDIN ÆR_BARNETRYGD ) }
168
+ val utenlandskePeriodebeløpTidslinjerForBarna = utenlandskePeriodebeløp.tilSeparateFamilieFellesTidslinjerForBarna ().mapKeys { entry -> Pair (entry.key, YtelseType .ORDIN ÆR_BARNETRYGD ) }
169
+ val valutakursTidslinjerForBarna = valutakurser.tilSeparateFamilieFellesTidslinjerForBarna ().mapKeys { entry -> Pair (entry.key, YtelseType .ORDIN ÆR_BARNETRYGD ) }
167
170
168
171
return andelerForVedtaksperioderPerAktørOgTypeAvgrensetTilVedtaksperioder
169
172
// Kombinerer tidslinjene for andeler, utenlandskPeriodebeløp og valutakurser per aktørOgYtelse
@@ -176,13 +179,13 @@ fun hentUtbetalingerPerMndEøs(
176
179
// Kombinerer verdiene til alle tidslinjene slik at vi får en liste av UtbetalingEøs per periode, samt sørger for at vi får en periode per mnd.
177
180
// Grupperer deretter på periodenes fom
178
181
.kombiner()
179
- .perioder ()
180
- .flatMap { periode -> periode.splitPerTidsenhet( LocalDate .now().tilMånedTidspunkt ()) }
182
+ .tilPerioder ()
183
+ .flatMap { periode -> periode.splitPerMåned( YearMonth .now()) }
181
184
.associate { periode ->
182
- val utbetalingMndEøs = hentUtbetalingMndEøs(utbetalingerEøs = periode.innhold ?.toList() ? : emptyList())
183
- val fraOgMedDato = periode.fraOgMed.tilYearMonth( ).tilMånedÅrMedium()
185
+ val utbetalingMndEøs = hentUtbetalingMndEøs(utbetalingerEøs = periode.verdi ?.toList() ? : emptyList())
186
+ val fraOgMedMåned = ( periode.fom?.toYearMonth() ? : MIN_M Å NED ).tilMånedÅrMedium()
184
187
185
- fraOgMedDato to utbetalingMndEøs
188
+ fraOgMedMåned to utbetalingMndEøs
186
189
}.filter { it.value.utbetalinger.isNotEmpty() }
187
190
}
188
191
0 commit comments