From 1f99870992e2770e6f8fdbee25ed1a9c8616cb02 Mon Sep 17 00:00:00 2001 From: Espen Johansen Velsvik Date: Tue, 10 Sep 2024 13:24:03 +0200 Subject: [PATCH] =?UTF-8?q?Revert=20"Tar=20alltid=20hensyn=20til=20oppgitt?= =?UTF-8?q?=20frav=C3=A6r=20i=20vurdering=20av=20om=20det=20er=20tilkommet?= =?UTF-8?q?=20aktivitet=20(#544)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit ffeb24541f3ab1fb970e89c62bc4f29ac9d41155. --- .../SimulerTilkomneAktiviteterTjeneste.java | 3 ++- .../TilkommetInntektsforholdTjeneste.java | 27 ++++++++++++++----- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/felles/inntektgradering/SimulerTilkomneAktiviteterTjeneste.java b/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/felles/inntektgradering/SimulerTilkomneAktiviteterTjeneste.java index 19ed00be..59a6875b 100644 --- a/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/felles/inntektgradering/SimulerTilkomneAktiviteterTjeneste.java +++ b/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/felles/inntektgradering/SimulerTilkomneAktiviteterTjeneste.java @@ -35,7 +35,8 @@ public static LocalDateTimeline> utledTilkommetAktivit beregningsgrunnlagInput.getSkjæringstidspunktForBeregning(), beregningsgrunnlagInput.getBeregningsgrunnlag().getBeregningsgrunnlagPerioder().get(0).getBeregningsgrunnlagPrStatusOgAndelList(), beregningsgrunnlagInput.getYtelsespesifiktGrunnlag(), - beregningsgrunnlagInput.getIayGrunnlag() + beregningsgrunnlagInput.getIayGrunnlag(), + true ); return tilkommetTidslinje.filterValue(v -> !v.isEmpty()).compress(); } diff --git a/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/steg/tilkommetInntekt/TilkommetInntektsforholdTjeneste.java b/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/steg/tilkommetInntekt/TilkommetInntektsforholdTjeneste.java index 17d20a6c..0fb5004a 100644 --- a/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/steg/tilkommetInntekt/TilkommetInntektsforholdTjeneste.java +++ b/kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/steg/tilkommetInntekt/TilkommetInntektsforholdTjeneste.java @@ -70,6 +70,14 @@ public static LocalDateTimeline> finnTilkommetInntekts Collection andelerFraStart, YtelsespesifiktGrunnlag utbetalingsgradGrunnlag, InntektArbeidYtelseGrunnlagDto iayGrunnlag) { + return finnTilkommetInntektsforholdTidslinje(skjæringstidspunkt, andelerFraStart, utbetalingsgradGrunnlag, iayGrunnlag, false); + } + + public static LocalDateTimeline> finnTilkommetInntektsforholdTidslinje(LocalDate skjæringstidspunkt, + Collection andelerFraStart, + YtelsespesifiktGrunnlag utbetalingsgradGrunnlag, + InntektArbeidYtelseGrunnlagDto iayGrunnlag, + boolean ikkeFiltrerVedFulltFravær) { var yrkesaktiviteter = iayGrunnlag.getAktørArbeidFraRegister().map(AktørArbeidDto::hentAlleYrkesaktiviteter).orElse(Collections.emptyList()); var yrkesaktivitetTidslinje = finnInntektsforholdFraYrkesaktiviteter(skjæringstidspunkt, yrkesaktiviteter); @@ -77,9 +85,12 @@ public static LocalDateTimeline> finnTilkommetInntekts var dagpengetidslinje = finnDagpengetidslinje(iayGrunnlag, skjæringstidspunkt); var aktivitetTidslinje = yrkesaktivitetTidslinje.union(næringTidslinje, StandardCombinators::union) .union(dagpengetidslinje, StandardCombinators::union); - var fraværstidslinje = finnTidslinjeMedFravær((UtbetalingsgradGrunnlag) utbetalingsgradGrunnlag); - aktivitetTidslinje = aktivitetTidslinje.intersection(fraværstidslinje, StandardCombinators::leftOnly); - return aktivitetTidslinje.compress().map(s -> mapTilkommetTidslinje(andelerFraStart, yrkesaktiviteter, utbetalingsgradGrunnlag, s)); + + if (!ikkeFiltrerVedFulltFravær) { + var utbetalingTidslinje = finnTidslinjeMedFravær((UtbetalingsgradGrunnlag) utbetalingsgradGrunnlag); + aktivitetTidslinje = aktivitetTidslinje.intersection(utbetalingTidslinje, StandardCombinators::leftOnly); + } + return aktivitetTidslinje.compress().map(s -> mapTilkommetTidslinje(andelerFraStart, yrkesaktiviteter, utbetalingsgradGrunnlag, s, ikkeFiltrerVedFulltFravær)); } private static LocalDateTimeline> finnDagpengetidslinje(InntektArbeidYtelseGrunnlagDto iayGrunnlag, LocalDate skjæringstidspunkt) { @@ -106,22 +117,24 @@ private static LocalDateTimeline> finnDagpengetidslinje(Inn private static List>> mapTilkommetTidslinje(Collection andeler, Collection yrkesaktiviteter, YtelsespesifiktGrunnlag utbetalingsgradGrunnlag, - LocalDateSegment> s) { + LocalDateSegment> s, + boolean ikkeFiltrerVedFulltFravær) { var periode = Intervall.fraOgMedTilOgMed(s.getFom(), s.getTom()); return List.of(new LocalDateSegment<>(s.getFom(), s.getTom(), - mapTilkomne(yrkesaktiviteter, andeler, utbetalingsgradGrunnlag, periode, s.getValue()))); + mapTilkomne(yrkesaktiviteter, andeler, utbetalingsgradGrunnlag, periode, s.getValue(), ikkeFiltrerVedFulltFravær))); } private static Set mapTilkomne(Collection yrkesaktiviteter, Collection andeler, YtelsespesifiktGrunnlag utbetalingsgradGrunnlag, Intervall periode, - Set inntektsforholdListe) { + Set inntektsforholdListe, + boolean ikkeFiltrerVedFulltFravær) { var nyeInntektsforhold = inntektsforholdListe.stream() .filter(it -> !harAndelForArbeidsgiverFraStart(it, andeler)) - .filter(it -> harIkkeFulltFravær(utbetalingsgradGrunnlag, periode, it)) + .filter(it -> ikkeFiltrerVedFulltFravær || harIkkeFulltFravær(utbetalingsgradGrunnlag, periode, it)) .collect(Collectors.toSet()); return nyeInntektsforhold.stream()