Skip to content

Commit

Permalink
Tar alltid hensyn til oppgitt fravær i vurdering av om det er tilkomm…
Browse files Browse the repository at this point in the history
…et aktivitet (#544)
  • Loading branch information
espenjv committed Sep 10, 2024
1 parent 9611f42 commit ffeb245
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@ public static LocalDateTimeline<Set<StatusOgArbeidsgiver>> utledTilkommetAktivit
beregningsgrunnlagInput.getSkjæringstidspunktForBeregning(),
beregningsgrunnlagInput.getBeregningsgrunnlag().getBeregningsgrunnlagPerioder().get(0).getBeregningsgrunnlagPrStatusOgAndelList(),
beregningsgrunnlagInput.getYtelsespesifiktGrunnlag(),
beregningsgrunnlagInput.getIayGrunnlag(),
true
beregningsgrunnlagInput.getIayGrunnlag()
);
return tilkommetTidslinje.filterValue(v -> !v.isEmpty()).compress();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,27 +70,16 @@ public static LocalDateTimeline<Set<StatusOgArbeidsgiver>> finnTilkommetInntekts
Collection<BeregningsgrunnlagPrStatusOgAndelDto> andelerFraStart,
YtelsespesifiktGrunnlag utbetalingsgradGrunnlag,
InntektArbeidYtelseGrunnlagDto iayGrunnlag) {
return finnTilkommetInntektsforholdTidslinje(skjæringstidspunkt, andelerFraStart, utbetalingsgradGrunnlag, iayGrunnlag, false);
}

public static LocalDateTimeline<Set<StatusOgArbeidsgiver>> finnTilkommetInntektsforholdTidslinje(LocalDate skjæringstidspunkt,
Collection<BeregningsgrunnlagPrStatusOgAndelDto> 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);
var næringTidslinje = finnInntektsforholdForStatusFraFravær((UtbetalingsgradGrunnlag) utbetalingsgradGrunnlag, AktivitetStatus.SELVSTENDIG_NÆRINGSDRIVENDE);
var dagpengetidslinje = finnDagpengetidslinje(iayGrunnlag, skjæringstidspunkt);
var aktivitetTidslinje = yrkesaktivitetTidslinje.union(næringTidslinje, StandardCombinators::union)
.union(dagpengetidslinje, StandardCombinators::union);

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));
var fraværstidslinje = finnTidslinjeMedFravær((UtbetalingsgradGrunnlag) utbetalingsgradGrunnlag);
aktivitetTidslinje = aktivitetTidslinje.intersection(fraværstidslinje, StandardCombinators::leftOnly);
return aktivitetTidslinje.compress().map(s -> mapTilkommetTidslinje(andelerFraStart, yrkesaktiviteter, utbetalingsgradGrunnlag, s));
}

private static LocalDateTimeline<Set<Inntektsforhold>> finnDagpengetidslinje(InntektArbeidYtelseGrunnlagDto iayGrunnlag, LocalDate skjæringstidspunkt) {
Expand All @@ -117,24 +106,22 @@ private static LocalDateTimeline<Set<Inntektsforhold>> finnDagpengetidslinje(Inn
private static List<LocalDateSegment<Set<StatusOgArbeidsgiver>>> mapTilkommetTidslinje(Collection<BeregningsgrunnlagPrStatusOgAndelDto> andeler,
Collection<YrkesaktivitetDto> yrkesaktiviteter,
YtelsespesifiktGrunnlag utbetalingsgradGrunnlag,
LocalDateSegment<Set<Inntektsforhold>> s,
boolean ikkeFiltrerVedFulltFravær) {
LocalDateSegment<Set<Inntektsforhold>> s) {
var periode = Intervall.fraOgMedTilOgMed(s.getFom(), s.getTom());
return List.of(new LocalDateSegment<>(s.getFom(), s.getTom(),
mapTilkomne(yrkesaktiviteter, andeler, utbetalingsgradGrunnlag, periode, s.getValue(), ikkeFiltrerVedFulltFravær)));
mapTilkomne(yrkesaktiviteter, andeler, utbetalingsgradGrunnlag, periode, s.getValue())));
}

private static Set<StatusOgArbeidsgiver> mapTilkomne(Collection<YrkesaktivitetDto> yrkesaktiviteter,
Collection<BeregningsgrunnlagPrStatusOgAndelDto> andeler,
YtelsespesifiktGrunnlag utbetalingsgradGrunnlag,
Intervall periode,
Set<Inntektsforhold> inntektsforholdListe,
boolean ikkeFiltrerVedFulltFravær) {
Set<Inntektsforhold> inntektsforholdListe) {


var nyeInntektsforhold = inntektsforholdListe.stream()
.filter(it -> !harAndelForArbeidsgiverFraStart(it, andeler))
.filter(it -> ikkeFiltrerVedFulltFravær || harIkkeFulltFravær(utbetalingsgradGrunnlag, periode, it))
.filter(it -> harIkkeFulltFravær(utbetalingsgradGrunnlag, periode, it))
.collect(Collectors.toSet());

return nyeInntektsforhold.stream()
Expand Down

0 comments on commit ffeb245

Please sign in to comment.