Skip to content

Commit ec291b1

Browse files
authored
FAGSYSTEM-369054: Tillatter fjerning av saksbehandlerrefusjon hvis de… (#602)
* FAGSYSTEM-369054: Tillatter fjerning av saksbehandlerrefusjon hvis denne feilaktig er satt
1 parent 39c5352 commit ec291b1

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

kalkulator/src/main/java/no/nav/folketrygdloven/kalkulator/avklaringsbehov/refusjon/PeriodiserOgFastsettRefusjonTjeneste.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ private static BeregningsgrunnlagDto oppdaterRefusjonIRelevantePerioder(Beregnin
6666
nyttGrunnlag.getBeregningsgrunnlagPerioder()
6767
.forEach(eksisterendePeriode -> eksisterendePeriode.getBeregningsgrunnlagPrStatusOgAndelList()
6868
.stream()
69-
.filter(PeriodiserOgFastsettRefusjonTjeneste::harInnvilgetRefusjonskrav)
69+
.filter(PeriodiserOgFastsettRefusjonTjeneste::harInnvilgetRefusjonEllerSattRefusjonFraSaksbehandler)
7070
.forEach(eksisterendeAndel -> {
7171
Optional<RefusjonSplittAndel> matchetSplittAndel = finnFastsattAndelForBGAndel(eksisterendeAndel, splittAndeler);
7272
// Hvis saksbehandlet andel er tom er ikke andelens refusjon vurdert og den skal ha refusjon fra start
@@ -83,11 +83,11 @@ private static BeregningsgrunnlagDto oppdaterRefusjonIRelevantePerioder(Beregnin
8383
return nyttGrunnlag;
8484
}
8585

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

9393
private static boolean refusjonSkalEndres(BeregningsgrunnlagPeriodeDto eksisterendePeriode, LocalDate startdatoRefusjon) {

kalkulator/src/test/java/no/nav/folketrygdloven/kalkulator/steg/refusjon/PeriodiserOgFastsettRefusjonTjenesteTest.java

+14
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,20 @@ void skal_kopiere_med_tidligere_andeler_som_ikke_er_arbeidstakerandeler() {
265265
assertPeriode(dagerEtterSTP(30), UENDELIG, AG1, REF1, 100000, resultat, 2, PeriodeÅrsak.ENDRING_I_REFUSJONSKRAV);
266266
}
267267

268+
@Test
269+
void skal_fjerne_saksbehandlet_refusjon_selv_om_opprinnelig_refsujon_er_0() {
270+
lagBGPeriode(STP, dagerEtterSTP(30), lagBGAndel(AG1, InternArbeidsforholdRefDto.nullRef(), 600000));
271+
lagBGPeriode(dagerEtterSTP(31), UENDELIG, PeriodeÅrsak.ENDRING_I_REFUSJONSKRAV, lagBGAndel(AG1, InternArbeidsforholdRefDto.nullRef(), 0, 12));
272+
lagSaksbehandlerDto(AG1, InternArbeidsforholdRefDto.nullRef(), STP);
273+
274+
BeregningsgrunnlagDto resultat = oppdater();
275+
276+
assertThat(resultat).isEqualTo(grunnlagBuilder.build());
277+
assertThat(resultat.getBeregningsgrunnlagPerioder()).hasSize(2);
278+
279+
assertPeriode(STP, dagerEtterSTP(30), AG1, InternArbeidsforholdRefDto.nullRef(), 600000, resultat, 1);
280+
assertPeriode(dagerEtterSTP(31), UENDELIG, AG1, InternArbeidsforholdRefDto.nullRef(), 0, resultat, 1, PeriodeÅrsak.ENDRING_I_REFUSJONSKRAV);
281+
}
268282

269283

270284
private BeregningsgrunnlagDto oppdater() {

0 commit comments

Comments
 (0)