Skip to content

Commit

Permalink
Slår sammen over helg dersom tilkommet inntekt er lik på begge sider
Browse files Browse the repository at this point in the history
  • Loading branch information
espenjv committed Nov 20, 2024
1 parent b54ec75 commit ec3c1b5
Showing 1 changed file with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import no.nav.folketrygdloven.kalkulator.modell.typer.InternArbeidsforholdRefDto;
import no.nav.folketrygdloven.kalkulator.modell.typer.StatusOgArbeidsgiver;
import no.nav.folketrygdloven.kalkulator.tid.Intervall;
import no.nav.folketrygdloven.kalkulator.tid.TimelineWeekendCompressor;
import no.nav.folketrygdloven.kalkulus.kodeverk.AktivitetStatus;
import no.nav.folketrygdloven.kalkulus.kodeverk.AndelKilde;
import no.nav.folketrygdloven.kalkulus.kodeverk.UttakArbeidType;
Expand Down Expand Up @@ -90,7 +91,15 @@ public static LocalDateTimeline<Set<StatusOgArbeidsgiver>> finnTilkommetInntekts
var utbetalingTidslinje = finnTidslinjeForUtbetalingsperiode((UtbetalingsgradGrunnlag) utbetalingsgradGrunnlag);
aktivitetTidslinje = aktivitetTidslinje.intersection(utbetalingTidslinje, StandardCombinators::leftOnly);
}
return aktivitetTidslinje.map(s -> mapTilkommetTidslinje(andelerFraStart, yrkesaktiviteter, utbetalingsgradGrunnlag, s, ikkeFiltrerVedFulltFravær)).compress();
var tilkommetTidslinje = aktivitetTidslinje.map(s -> mapTilkommetTidslinje(andelerFraStart, yrkesaktiviteter, utbetalingsgradGrunnlag, s, ikkeFiltrerVedFulltFravær)).compress();
return slåSammenOverHelgDersomLike(tilkommetTidslinje);
}

private static <T> LocalDateTimeline<T> slåSammenOverHelgDersomLike(LocalDateTimeline<T> tidslinje) {
var factory = new TimelineWeekendCompressor.CompressorFactory<T>(Objects::equals, (i, lhs, rhs) -> new LocalDateSegment<>(i, lhs.getValue()));
TimelineWeekendCompressor<T> compressor = tidslinje.toSegments().stream()
.collect(factory::get, TimelineWeekendCompressor::accept, TimelineWeekendCompressor::combine);
return new LocalDateTimeline<>(compressor.getSegmenter());
}

private static LocalDateTimeline<Set<Inntektsforhold>> finnDagpengetidslinje(InntektArbeidYtelseGrunnlagDto iayGrunnlag, LocalDate skjæringstidspunkt) {
Expand Down

0 comments on commit ec3c1b5

Please sign in to comment.