Skip to content

Commit

Permalink
FAGSYSTEM-369054: Tillatter fjerning av saksbehandlerrefusjon hvis de… (
Browse files Browse the repository at this point in the history
#602)

* FAGSYSTEM-369054: Tillatter fjerning av saksbehandlerrefusjon hvis denne feilaktig er satt
  • Loading branch information
pekern authored Feb 18, 2025
1 parent 39c5352 commit ec291b1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ private static BeregningsgrunnlagDto oppdaterRefusjonIRelevantePerioder(Beregnin
nyttGrunnlag.getBeregningsgrunnlagPerioder()
.forEach(eksisterendePeriode -> eksisterendePeriode.getBeregningsgrunnlagPrStatusOgAndelList()
.stream()
.filter(PeriodiserOgFastsettRefusjonTjeneste::harInnvilgetRefusjonskrav)
.filter(PeriodiserOgFastsettRefusjonTjeneste::harInnvilgetRefusjonEllerSattRefusjonFraSaksbehandler)
.forEach(eksisterendeAndel -> {
Optional<RefusjonSplittAndel> matchetSplittAndel = finnFastsattAndelForBGAndel(eksisterendeAndel, splittAndeler);
// Hvis saksbehandlet andel er tom er ikke andelens refusjon vurdert og den skal ha refusjon fra start
Expand All @@ -83,11 +83,11 @@ private static BeregningsgrunnlagDto oppdaterRefusjonIRelevantePerioder(Beregnin
return nyttGrunnlag;
}

private static boolean harInnvilgetRefusjonskrav(BeregningsgrunnlagPrStatusOgAndelDto a) {
return a.getBgAndelArbeidsforhold().isPresent() &&
a.getBgAndelArbeidsforhold().get().getRefusjon().isPresent() &&
a.getBgAndelArbeidsforhold().get().getRefusjon().get().getInnvilgetRefusjonskravPrÅr() != null &&
a.getBgAndelArbeidsforhold().get().getRefusjon().get().getInnvilgetRefusjonskravPrÅr().compareTo(Beløp.ZERO) > 0;
private static boolean harInnvilgetRefusjonEllerSattRefusjonFraSaksbehandler(BeregningsgrunnlagPrStatusOgAndelDto a) {
var refusjon = a.getBgAndelArbeidsforhold().flatMap(BGAndelArbeidsforholdDto::getRefusjon);
var saksbehandletRefusjonErSatt = refusjon.map(r -> r.getSaksbehandletRefusjonPrÅr() != null && r.getSaksbehandletRefusjonPrÅr().compareTo(Beløp.ZERO) > 0).orElse(false);
var innvilgetRefusjonErSatt = refusjon.map(r -> r.getInnvilgetRefusjonskravPrÅr() != null && r.getInnvilgetRefusjonskravPrÅr().compareTo(Beløp.ZERO) > 0).orElse(false);
return innvilgetRefusjonErSatt || saksbehandletRefusjonErSatt;
}

private static boolean refusjonSkalEndres(BeregningsgrunnlagPeriodeDto eksisterendePeriode, LocalDate startdatoRefusjon) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -265,6 +265,20 @@ void skal_kopiere_med_tidligere_andeler_som_ikke_er_arbeidstakerandeler() {
assertPeriode(dagerEtterSTP(30), UENDELIG, AG1, REF1, 100000, resultat, 2, PeriodeÅrsak.ENDRING_I_REFUSJONSKRAV);
}

@Test
void skal_fjerne_saksbehandlet_refusjon_selv_om_opprinnelig_refsujon_er_0() {
lagBGPeriode(STP, dagerEtterSTP(30), lagBGAndel(AG1, InternArbeidsforholdRefDto.nullRef(), 600000));
lagBGPeriode(dagerEtterSTP(31), UENDELIG, PeriodeÅrsak.ENDRING_I_REFUSJONSKRAV, lagBGAndel(AG1, InternArbeidsforholdRefDto.nullRef(), 0, 12));
lagSaksbehandlerDto(AG1, InternArbeidsforholdRefDto.nullRef(), STP);

BeregningsgrunnlagDto resultat = oppdater();

assertThat(resultat).isEqualTo(grunnlagBuilder.build());
assertThat(resultat.getBeregningsgrunnlagPerioder()).hasSize(2);

assertPeriode(STP, dagerEtterSTP(30), AG1, InternArbeidsforholdRefDto.nullRef(), 600000, resultat, 1);
assertPeriode(dagerEtterSTP(31), UENDELIG, AG1, InternArbeidsforholdRefDto.nullRef(), 0, resultat, 1, PeriodeÅrsak.ENDRING_I_REFUSJONSKRAV);
}


private BeregningsgrunnlagDto oppdater() {
Expand Down

0 comments on commit ec291b1

Please sign in to comment.