diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettAvkortetLikBruttoBG.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettAvkortetLikBruttoBG.java index 64cdb8d3..2b2df5e2 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettAvkortetLikBruttoBG.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettAvkortetLikBruttoBG.java @@ -23,9 +23,9 @@ class FastsettAvkortetLikBruttoBG extends LeafSpecification new IllegalStateException("Brutto er ikke satt for arbeidsforhold " + af.toString())); BeregningsgrunnlagPrArbeidsforhold.builder(af) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettBrukersAndelUtenAvkorting.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettBrukersAndelUtenAvkorting.java index 69bad05c..bdd1672c 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettBrukersAndelUtenAvkorting.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/arbeidstaker/FastsettBrukersAndelUtenAvkorting.java @@ -29,7 +29,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { } // Kva skjer her? - for (BeregningsgrunnlagPrArbeidsforhold arbeidsforhold : bgps.getArbeidsforholdSomSkalBrukes()) { + for (BeregningsgrunnlagPrArbeidsforhold arbeidsforhold : bgps.getArbeidsforhold()) { BigDecimal arbeidsgiversAndel = arbeidsforhold.getMaksimalRefusjonPrÅr(); BeregningsgrunnlagPrArbeidsforhold.builder(arbeidsforhold) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java index e0d66b06..82651cbc 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java @@ -18,85 +18,83 @@ @RuleDocumentation(AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.ID) public class AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig extends LeafSpecification { - static final String ID = "FP_BR 29.8.4"; - static final String BESKRIVELSE = "Avkort alle beregningsgrunnlagsandeler som ikke gjelder arbeidsforhold andelsmessig."; + static final String ID = "FP_BR 29.8.4"; + static final String BESKRIVELSE = "Avkort alle beregningsgrunnlagsandeler som ikke gjelder arbeidsforhold andelsmessig."; - AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig() { - super(ID, BESKRIVELSE); - } + AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig() { + super(ID, BESKRIVELSE); + } - @Override - public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { - Map resultater = new HashMap<>(); - BeregningsgrunnlagPrStatus atfl = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL); - BigDecimal sumBeregningsgrunnlagArbeidsforhold = atfl == null ? BigDecimal.ZERO : atfl.getArbeidsforholdSomSkalBrukesIkkeFrilans() - .stream() - .map(BeregningsgrunnlagPrArbeidsforhold::getAktivitetsgradertBruttoInkludertNaturalytelsePrÅr) - .filter(Optional::isPresent) - .map(Optional::get) - .reduce(BigDecimal.ZERO, BigDecimal::add); - BigDecimal grenseverdi = grunnlag.getGrenseverdi(); - resultater.put("grenseverdi", grenseverdi); - BigDecimal bGUtenArbeidsforholdTilFordeling = grenseverdi.subtract(sumBeregningsgrunnlagArbeidsforhold); + @Override + public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { + Map resultater = new HashMap<>(); + BeregningsgrunnlagPrStatus atfl = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL); + BigDecimal sumBeregningsgrunnlagArbeidsforhold = atfl == null ? BigDecimal.ZERO : atfl.getArbeidsforholdIkkeFrilans() + .stream() + .map(BeregningsgrunnlagPrArbeidsforhold::getAvkortetPrÅr) + .reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal grenseverdi = grunnlag.getGrenseverdi(); + resultater.put("grenseverdi", grenseverdi); + BigDecimal bGUtenArbeidsforholdTilFordeling = grenseverdi.subtract(sumBeregningsgrunnlagArbeidsforhold); - // inntekt knyttet til frilans må fordeles først - if (atfl != null) { - Optional frilansArbeidsforholdOpt = atfl.getFrilansArbeidsforholdSomSkalBrukes(); - if (frilansArbeidsforholdOpt.isPresent()) { - BeregningsgrunnlagPrArbeidsforhold af = frilansArbeidsforholdOpt.get(); - BigDecimal bruttoBeregningsgrunnlagForAndelen = af.getAktivitetsgradertBruttoInkludertNaturalytelsePrÅr() - .orElseThrow(() -> new IllegalStateException("Brutto er ikke satt for arbeidsforhold " + af.toString())); - BigDecimal avkortetBrukersAndel; - if (bruttoBeregningsgrunnlagForAndelen.compareTo(bGUtenArbeidsforholdTilFordeling) >= 0) { - avkortetBrukersAndel = bGUtenArbeidsforholdTilFordeling; - lagResultaterFrilanser(af, avkortetBrukersAndel, resultater); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() - .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) - .forEach(bgp -> lagResultaterUtenArbeidsforhold(bgp, BigDecimal.ZERO, resultater)); - return beregnet(resultater); - } else { - avkortetBrukersAndel = bruttoBeregningsgrunnlagForAndelen; - bGUtenArbeidsforholdTilFordeling = bGUtenArbeidsforholdTilFordeling.subtract(avkortetBrukersAndel); - lagResultaterFrilanser(af, avkortetBrukersAndel, resultater); - } - } - } + // inntekt knyttet til frilans må fordeles først + if (atfl != null) { + Optional frilansArbeidsforholdOpt = atfl.getFrilansArbeidsforhold(); + if (frilansArbeidsforholdOpt.isPresent()) { + BeregningsgrunnlagPrArbeidsforhold af = frilansArbeidsforholdOpt.get(); + BigDecimal bruttoBeregningsgrunnlagForAndelen = af.getAktivitetsgradertBruttoInkludertNaturalytelsePrÅr() + .orElseThrow(() -> new IllegalStateException("Brutto er ikke satt for arbeidsforhold " + af.toString())); + BigDecimal avkortetBrukersAndel; + if (bruttoBeregningsgrunnlagForAndelen.compareTo(bGUtenArbeidsforholdTilFordeling) >= 0) { + avkortetBrukersAndel = bGUtenArbeidsforholdTilFordeling; + lagResultaterFrilanser(af, avkortetBrukersAndel, resultater); + grunnlag.getBeregningsgrunnlagPrStatus().stream() + .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) + .forEach(bgp -> lagResultaterUtenArbeidsforhold(bgp, BigDecimal.ZERO, resultater)); + return beregnet(resultater); + } else { + avkortetBrukersAndel = bruttoBeregningsgrunnlagForAndelen; + bGUtenArbeidsforholdTilFordeling = bGUtenArbeidsforholdTilFordeling.subtract(avkortetBrukersAndel); + lagResultaterFrilanser(af, avkortetBrukersAndel, resultater); + } + } + } - // sortere etter avkorting prioritet for beregningsgrunnlag uten arbeidsforhold - List bgpsSorted = finnAlleBGUtenArbeidsForholdSorterte(grunnlag); - Iterator bgpsIter = bgpsSorted.iterator(); - while (bgpsIter.hasNext()) { - BeregningsgrunnlagPrStatus bgps = bgpsIter.next(); - BigDecimal bruttoBeregningsgrunnlagForAndelen = bgps.getAktivitetsgradertBruttoInkludertNaturalytelsePrÅr(); - BigDecimal avkortetBrukersAndel; - if (bruttoBeregningsgrunnlagForAndelen.compareTo(bGUtenArbeidsforholdTilFordeling) >= 0) { - avkortetBrukersAndel = bGUtenArbeidsforholdTilFordeling; - lagResultaterUtenArbeidsforhold(bgps, avkortetBrukersAndel, resultater); - bgpsIter.forEachRemaining(bgp -> lagResultaterUtenArbeidsforhold(bgp, BigDecimal.ZERO, resultater)); - return beregnet(resultater); - } else { - avkortetBrukersAndel = bruttoBeregningsgrunnlagForAndelen; - bGUtenArbeidsforholdTilFordeling = bGUtenArbeidsforholdTilFordeling.subtract(avkortetBrukersAndel); - lagResultaterUtenArbeidsforhold(bgps, avkortetBrukersAndel, resultater); - } - } - return beregnet(resultater); - } + // sortere etter avkorting prioritet for beregningsgrunnlag uten arbeidsforhold + List bgpsSorted = finnAlleBGUtenArbeidsForholdSorterte(grunnlag); + Iterator bgpsIter = bgpsSorted.iterator(); + while (bgpsIter.hasNext()) { + BeregningsgrunnlagPrStatus bgps = bgpsIter.next(); + BigDecimal bruttoBeregningsgrunnlagForAndelen = bgps.getAktivitetsgradertBruttoInkludertNaturalytelsePrÅr(); + BigDecimal avkortetBrukersAndel; + if (bruttoBeregningsgrunnlagForAndelen.compareTo(bGUtenArbeidsforholdTilFordeling) >= 0) { + avkortetBrukersAndel = bGUtenArbeidsforholdTilFordeling; + lagResultaterUtenArbeidsforhold(bgps, avkortetBrukersAndel, resultater); + bgpsIter.forEachRemaining(bgp -> lagResultaterUtenArbeidsforhold(bgp, BigDecimal.ZERO, resultater)); + return beregnet(resultater); + } else { + avkortetBrukersAndel = bruttoBeregningsgrunnlagForAndelen; + bGUtenArbeidsforholdTilFordeling = bGUtenArbeidsforholdTilFordeling.subtract(avkortetBrukersAndel); + lagResultaterUtenArbeidsforhold(bgps, avkortetBrukersAndel, resultater); + } + } + return beregnet(resultater); + } - private List finnAlleBGUtenArbeidsForholdSorterte(BeregningsgrunnlagPeriode grunnlag) { - return grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() - .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) - .sorted(Comparator.comparingInt(bgps -> bgps.getAktivitetStatus().getAvkortingPrioritet())) - .toList(); - } + private List finnAlleBGUtenArbeidsForholdSorterte(BeregningsgrunnlagPeriode grunnlag) { + return grunnlag.getBeregningsgrunnlagPrStatus().stream() + .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) + .sorted(Comparator.comparingInt(bgps -> bgps.getAktivitetStatus().getAvkortingPrioritet())) + .toList(); + } - private void lagResultaterFrilanser(BeregningsgrunnlagPrArbeidsforhold af, BigDecimal avkortetBrukersAndel, Map resultater) { - BeregningsgrunnlagPrArbeidsforhold.builder(af).medAvkortetRefusjonPrÅr(BigDecimal.ZERO).medAvkortetBrukersAndelPrÅr(avkortetBrukersAndel).medAvkortetPrÅr(avkortetBrukersAndel).build(); - resultater.put("avkortetPrÅr.arbeidsforhold." + af.getArbeidsgiverId(), af.getAvkortetBrukersAndelPrÅr()); - } + private void lagResultaterFrilanser(BeregningsgrunnlagPrArbeidsforhold af, BigDecimal avkortetBrukersAndel, Map resultater) { + BeregningsgrunnlagPrArbeidsforhold.builder(af).medAvkortetRefusjonPrÅr(BigDecimal.ZERO).medAvkortetBrukersAndelPrÅr(avkortetBrukersAndel).medAvkortetPrÅr(avkortetBrukersAndel).build(); + resultater.put("avkortetPrÅr.arbeidsforhold." + af.getArbeidsgiverId(), af.getAvkortetBrukersAndelPrÅr()); + } - private void lagResultaterUtenArbeidsforhold(BeregningsgrunnlagPrStatus bgps, BigDecimal avkortetBrukersAndel, Map resultater) { - BeregningsgrunnlagPrStatus.builder(bgps).medAvkortetPrÅr(avkortetBrukersAndel).build(); - resultater.put("avkortetPrÅr.status." + bgps.getAktivitetStatus().name(), bgps.getAvkortetPrÅr()); - } + private void lagResultaterUtenArbeidsforhold(BeregningsgrunnlagPrStatus bgps, BigDecimal avkortetBrukersAndel, Map resultater) { + BeregningsgrunnlagPrStatus.builder(bgps).medAvkortetPrÅr(avkortetBrukersAndel).build(); + resultater.put("avkortetPrÅr.status." + bgps.getAktivitetStatus().name(), bgps.getAvkortetPrÅr()); + } } diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java index edae00f3..2df3a8f9 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java @@ -25,7 +25,7 @@ class AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0 extends LeafSpecification< public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { Map resultater = new HashMap<>(); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() + grunnlag.getBeregningsgrunnlagPrStatus().stream() .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) .forEach(bgps -> { BeregningsgrunnlagPrStatus.builder(bgps).medAvkortetPrÅr(BigDecimal.ZERO).build(); @@ -34,7 +34,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { BeregningsgrunnlagPrStatus atfl = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL); if (atfl != null) { - atfl.getFrilansArbeidsforholdSomSkalBrukes().ifPresent(af -> { + atfl.getFrilansArbeidsforhold().ifPresent(af -> { BeregningsgrunnlagPrArbeidsforhold.builder(af).medAvkortetPrÅr(BigDecimal.ZERO).medAvkortetRefusjonPrÅr(BigDecimal.ZERO).medAvkortetBrukersAndelPrÅr(BigDecimal.ZERO).build(); resultater.put("avkortetPrÅr.status." + atfl.getAktivitetStatus().name() + "." + af.getArbeidsgiverId(), af.getAvkortetPrÅr()); }); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettAvkortetRefusjonPrAndel.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettAvkortetRefusjonPrAndel.java index d567d5c9..3583d8f7 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettAvkortetRefusjonPrAndel.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettAvkortetRefusjonPrAndel.java @@ -27,7 +27,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { if (atfl != null) { Map resultater = new HashMap<>(); resultat.setEvaluationProperties(resultater); - atfl.getArbeidsforholdSomSkalBrukes().forEach(af -> + atfl.getArbeidsforhold().forEach(af -> resultater.put("avkortetRefusjonPrÅr" + "." + af.getArbeidsgiverId(), af.getMaksimalRefusjonPrÅr()) ); } diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelForBGAndelerSomGjelderArbeidsforhold.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelForBGAndelerSomGjelderArbeidsforhold.java index 2e35bb80..88caeab3 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelForBGAndelerSomGjelderArbeidsforhold.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelForBGAndelerSomGjelderArbeidsforhold.java @@ -29,7 +29,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { if (atfl != null) { Map resultater = new HashMap<>(); resultat.setEvaluationProperties(resultater); - atfl.getArbeidsforholdSomSkalBrukesIkkeFrilans().forEach(arbeidsforhold -> { + atfl.getArbeidsforholdIkkeFrilans().forEach(arbeidsforhold -> { BigDecimal avkortetRefusjonPrÅr = arbeidsforhold.getMaksimalRefusjonPrÅr() == null ? BigDecimal.ZERO : arbeidsforhold.getMaksimalRefusjonPrÅr(); BigDecimal avkortetBrukersAndel = arbeidsforhold.getAktivitetsgradertBruttoInkludertNaturalytelsePrÅr().orElse(BigDecimal.ZERO).subtract(avkortetRefusjonPrÅr); BeregningsgrunnlagPrArbeidsforhold.builder(arbeidsforhold) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelFraArbeidsforholdSomIkkeErFordelt.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelFraArbeidsforholdSomIkkeErFordelt.java index 4bf8f9f5..9ed98aba 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelFraArbeidsforholdSomIkkeErFordelt.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/FastsettBrukersAndelFraArbeidsforholdSomIkkeErFordelt.java @@ -28,7 +28,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { SingleEvaluation resultat = ja(); resultat.setEvaluationProperties(resultater); - List arbeidsforholdene = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforholdSomSkalBrukes(); + List arbeidsforholdene = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforhold(); arbeidsforholdene.stream() .filter(af -> af.getMaksimalRefusjonPrÅr() != null) .filter(af -> af.getAvkortetRefusjonPrÅr() != null) diff --git "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/RegelFastsettAvkortetBGOver6GN\303\245rRefusjonUnder6G.java" "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/RegelFastsettAvkortetBGOver6GN\303\245rRefusjonUnder6G.java" index 8945491d..e4efa073 100644 --- "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/RegelFastsettAvkortetBGOver6GN\303\245rRefusjonUnder6G.java" +++ "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/RegelFastsettAvkortetBGOver6GN\303\245rRefusjonUnder6G.java" @@ -32,17 +32,18 @@ public Specification getSpecification() { //FP_BR_29.8.4 Avkort alle beregningsgrunnlagsander som ikke gjelder arbeidsforhold andelsmessig Specification avkortAndelerAndelsmessigOgFastsettBrukersAndel = rs.beregningsRegel(AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.ID, AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.BESKRIVELSE, - new AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig(), new FastsettBrukersAndelForBGAndelerSomGjelderArbeidsforhold()); + new FastsettBrukersAndelForBGAndelerSomGjelderArbeidsforhold(), + new AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig()); Specification avkortAndelerSomIkkegjelderAFtil0 = new Fastsatt(); if (bgpsa != null) { //FP_BR_29.8.6-9 Fastsett andel til fordeling - Itereres over like mange ganger som antall arbeidsforhold. - int antallKjøringer = bgpsa.getArbeidsforholdSomSkalBrukes().size(); + int antallKjøringer = bgpsa.getArbeidsforhold().size(); if (antallKjøringer > 0) { List> prArbeidsforhold = new ArrayList<>(); - bgpsa.getArbeidsforholdSomSkalBrukes().forEach(af -> prArbeidsforhold.add(opprettRegelFastsettUtbetalingsbeløpTilBruker())); + bgpsa.getArbeidsforhold().forEach(af -> prArbeidsforhold.add(opprettRegelFastsettUtbetalingsbeløpTilBruker())); Specification fastsettUtbetalingsbeløpTilBrukerChain = rs.beregningsRegel(ID, BESKRIVELSE, prArbeidsforhold, new Fastsatt()); //FP_BR_29.8.3 Avkort alle beregningsgrunnlagsandeler som ikke gjelder arbeidsforhold til 0 diff --git "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/SjekkOmTotaltBGForArbeidsforholdSt\303\270rreEnnGrenseverdi.java" "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/SjekkOmTotaltBGForArbeidsforholdSt\303\270rreEnnGrenseverdi.java" index 30477540..9bf85d1d 100644 --- "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/SjekkOmTotaltBGForArbeidsforholdSt\303\270rreEnnGrenseverdi.java" +++ "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/SjekkOmTotaltBGForArbeidsforholdSt\303\270rreEnnGrenseverdi.java" @@ -24,7 +24,7 @@ class SjekkOmTotaltBGForArbeidsforholdStørreEnnGrenseverdi extends LeafSpecific public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { BigDecimal grenseverdi = grunnlag.getGrenseverdi(); BeregningsgrunnlagPrStatus atfl = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL); - BigDecimal totaltBG = atfl == null ? BigDecimal.ZERO : atfl.getArbeidsforholdSomSkalBrukesIkkeFrilans().stream() + BigDecimal totaltBG = atfl == null ? BigDecimal.ZERO : atfl.getArbeidsforholdIkkeFrilans().stream() .map(af -> af.getAktivitetsgradertBruttoInkludertNaturalytelsePrÅr().orElse(BigDecimal.ZERO)) .reduce(BigDecimal.ZERO, BigDecimal::add); SingleEvaluation resultat = totaltBG.compareTo(grenseverdi) > 0 ? ja() : nei(); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/VurderOmAndelerErFerdigFordeltOgOppdaterFordeltTilBruker.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/VurderOmAndelerErFerdigFordeltOgOppdaterFordeltTilBruker.java index cd4ccd59..3c44b695 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/VurderOmAndelerErFerdigFordeltOgOppdaterFordeltTilBruker.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/avkorting/VurderOmAndelerErFerdigFordeltOgOppdaterFordeltTilBruker.java @@ -27,7 +27,7 @@ class VurderOmAndelerErFerdigFordeltOgOppdaterFordeltTilBruker extends LeafSpeci public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { SingleEvaluation resultat = ja(); - List arbeidsforholdene = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforholdSomSkalBrukes(); + List arbeidsforholdene = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforhold(); // Er det arbeidsforhold som ikke er fastsatt i tidligere runder? List ikkeFastsattAf = arbeidsforholdene.stream() diff --git "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/FastsettIkkeS\303\270ktForTil0.java" "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/FastsettIkkeS\303\270ktForTil0.java" index aa493a1d..0fe79fd0 100644 --- "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/FastsettIkkeS\303\270ktForTil0.java" +++ "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/FastsettIkkeS\303\270ktForTil0.java" @@ -26,7 +26,7 @@ public class FastsettIkkeSøktForTil0 extends LeafSpecification resultater = new HashMap<>(); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() + grunnlag.getBeregningsgrunnlagPrStatus().stream() .flatMap(bgs -> bgs.getArbeidsforhold().stream()) .filter(af -> !af.getErSøktYtelseFor()) .forEach(af -> { diff --git "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/RegelFullf\303\270reBeregningsgrunnlag.java" "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/RegelFullf\303\270reBeregningsgrunnlag.java" index 7dffc991..68ab4b95 100644 --- "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/RegelFullf\303\270reBeregningsgrunnlag.java" +++ "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/RegelFullf\303\270reBeregningsgrunnlag.java" @@ -14,7 +14,7 @@ public class RegelFullføreBeregningsgrunnlag implements EksportRegel { - public static final String ID = "FP_BR_29"; + public static final String ID = "FP_BR_29"; private BeregningsgrunnlagPeriode regelmodell; @@ -28,48 +28,44 @@ public Evaluation evaluer(BeregningsgrunnlagPeriode regelmodell) { } @SuppressWarnings("unchecked") - @Override - public Specification getSpecification() { - Ruleset rs = new Ruleset<>(); - - // FP_BR_6.1 18. Fastsett Reduksjon for hver beregningsgrunnlagsandel og totalt beregningrunnlag etter reduksjon - // FP_BR_6.2 19. Fastsett dagsats pr beregningsgrunnlagsandel og totalt - Specification fastsettReduksjon = rs.beregningsRegel(ReduserBeregningsgrunnlag.ID, ReduserBeregningsgrunnlag.BESKRIVELSE, - new ReduserBeregningsgrunnlag(), new FastsettDagsatsPrAndel()); - - // 13 Fastsett avkortet BG når refusjon over 6G - Specification fastsettAvkortetVedRefusjonOver6G = rs.beregningsRegel( - RegelFastsettAvkortetVedRefusjonOver6G.ID, - RegelFastsettAvkortetVedRefusjonOver6G.BESKRIVELSE, - new RegelFastsettAvkortetVedRefusjonOver6G(regelmodell).getSpecification(), - fastsettReduksjon); - - // 8. Fastsett avkortet BG når refusjon under 6G - Specification fastsettAvkortetVedRefusjonUnder6G = rs.beregningsRegel( - RegelFastsettAvkortetBGOver6GNårRefusjonUnder6G.ID, - RegelFastsettAvkortetBGOver6GNårRefusjonUnder6G.BESKRIVELSE, - new RegelFastsettAvkortetBGOver6GNårRefusjonUnder6G(regelmodell).getSpecification(), - fastsettReduksjon); - - // FP_BR_29.7 7. Sjekk om summen av maksimal refusjon overstiger 6G - Specification sjekkMaksimaltRefusjonskrav = rs.beregningHvisRegel(new SjekkSumMaxRefusjonskravStørreEnn6G(), - fastsettAvkortetVedRefusjonOver6G, fastsettAvkortetVedRefusjonUnder6G); - - // 6. Fastsett uten avkorting - Specification fastsettUtenAvkorting = rs.beregningsRegel("FP_BR_29.6", "Fastsett BG uten avkorting", - new RegelFastsettUtenAvkortingATFL().getSpecification(), fastsettReduksjon); - - // FP_BR_29.4 4. Brutto beregnings-grunnlag totalt > 6G? - Specification beregnEventuellAvkorting = rs.beregningHvisRegel(new SjekkGradertBeregningsgrunnlagStørreEnnGrenseverdi(), sjekkMaksimaltRefusjonskrav, fastsettUtenAvkorting); - - // FP_BR_29.3 3. For hver beregningsgrunnlagsandel: Fastsett Refusjonskrav for beregnings-grunnlagsandel - Specification fastsettMaksimalRefusjon = rs.beregningsRegel(FastsettMaksimalRefusjon.ID, FastsettMaksimalRefusjon.BESKRIVELSE, - new FastsettMaksimalRefusjon(), beregnEventuellAvkorting); - - // FP_BR_29.3 3. For hver beregningsgrunnlagsandel: Fastsett Refusjonskrav for beregnings-grunnlagsandel - Specification fastsettBeregningsgrunnlag = rs.beregningsRegel(FastsettIkkeSøktForTil0.ID, FastsettIkkeSøktForTil0.BESKRIVELSE, - new FastsettIkkeSøktForTil0(), fastsettMaksimalRefusjon); - - return fastsettBeregningsgrunnlag; - } + @Override + public Specification getSpecification() { + Ruleset rs = new Ruleset<>(); + + // FP_BR_6.1 18. Fastsett Reduksjon for hver beregningsgrunnlagsandel og totalt beregningrunnlag etter reduksjon + // FP_BR_6.2 19. Fastsett dagsats pr beregningsgrunnlagsandel og totalt + Specification fastsettReduksjon = rs.beregningsRegel(ReduserBeregningsgrunnlag.ID, ReduserBeregningsgrunnlag.BESKRIVELSE, + new ReduserBeregningsgrunnlag(), new FastsettDagsatsPrAndel()); + + // 13 Fastsett avkortet BG når refusjon over 6G + Specification fastsettAvkortetVedRefusjonOver6G = rs.beregningsRegel( + RegelFastsettAvkortetVedRefusjonOver6G.ID, + RegelFastsettAvkortetVedRefusjonOver6G.BESKRIVELSE, + new RegelFastsettAvkortetVedRefusjonOver6G(regelmodell).getSpecification(), + fastsettReduksjon); + + // 8. Fastsett avkortet BG når refusjon under 6G + Specification fastsettAvkortetVedRefusjonUnder6G = rs.beregningsRegel( + RegelFastsettAvkortetBGOver6GNårRefusjonUnder6G.ID, + RegelFastsettAvkortetBGOver6GNårRefusjonUnder6G.BESKRIVELSE, + new RegelFastsettAvkortetBGOver6GNårRefusjonUnder6G(regelmodell).getSpecification(), + fastsettReduksjon); + + // FP_BR_29.7 7. Sjekk om summen av maksimal refusjon overstiger 6G + Specification sjekkMaksimaltRefusjonskrav = rs.beregningHvisRegel(new SjekkSumMaxRefusjonskravStørreEnn6G(), + fastsettAvkortetVedRefusjonOver6G, fastsettAvkortetVedRefusjonUnder6G); + + // 6. Fastsett uten avkorting + Specification fastsettUtenAvkorting = rs.beregningsRegel("FP_BR_29.6", "Fastsett BG uten avkorting", + new RegelFastsettUtenAvkortingATFL().getSpecification(), fastsettReduksjon); + + // FP_BR_29.4 4. Brutto beregnings-grunnlag totalt > 6G? + Specification beregnEventuellAvkorting = rs.beregningHvisRegel(new SjekkGradertBeregningsgrunnlagStørreEnnGrenseverdi(), sjekkMaksimaltRefusjonskrav, fastsettUtenAvkorting); + + // FP_BR_29.3 3. For hver beregningsgrunnlagsandel: Fastsett Refusjonskrav for beregnings-grunnlagsandel + Specification fastsettMaksimalRefusjon = rs.beregningsRegel(FastsettMaksimalRefusjon.ID, FastsettMaksimalRefusjon.BESKRIVELSE, + new FastsettMaksimalRefusjon(), beregnEventuellAvkorting); + + return fastsettMaksimalRefusjon; + } } diff --git "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/SjekkSumMaxRefusjonskravSt\303\270rreEnn6G.java" "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/SjekkSumMaxRefusjonskravSt\303\270rreEnn6G.java" index 6f23bc43..401d1a1e 100644 --- "a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/SjekkSumMaxRefusjonskravSt\303\270rreEnn6G.java" +++ "b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/SjekkSumMaxRefusjonskravSt\303\270rreEnn6G.java" @@ -28,7 +28,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { return nei(); } BigDecimal grenseverdi = grunnlag.getGrenseverdi(); - BigDecimal sum = atfl.getArbeidsforholdSomSkalBrukes().stream() + BigDecimal sum = atfl.getArbeidsforhold().stream() .filter(bpaf -> bpaf.getMaksimalRefusjonPrÅr() != null) .map(BeregningsgrunnlagPrArbeidsforhold::getMaksimalRefusjonPrÅr) .reduce(BigDecimal::add) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/FastsettMaksimalRefusjon.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/FastsettMaksimalRefusjon.java index d28803f2..7b9593fc 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/FastsettMaksimalRefusjon.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/FastsettMaksimalRefusjon.java @@ -25,8 +25,8 @@ public FastsettMaksimalRefusjon() { public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { Map resultater = new HashMap<>(); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() - .flatMap(bgs -> bgs.getArbeidsforholdSomSkalBrukes().stream()) + grunnlag.getBeregningsgrunnlagPrStatus().stream() + .flatMap(bgs -> bgs.getArbeidsforhold().stream()) .forEach(af -> { BigDecimal refusjonskravPrArbeidsforholdPrÅr = af.getAktivitetsgradertRefusjonskravPrÅr().orElse(BigDecimal.ZERO); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnArbeidsgiversAndeler.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnArbeidsgiversAndeler.java index f1feea16..c0845703 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnArbeidsgiversAndeler.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnArbeidsgiversAndeler.java @@ -36,7 +36,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { final Map resultater = new HashMap<>(); resultat.setEvaluationProperties(resultater); // Finn alle arbeidsforhold som ikke er avkortet allerede - List ikkeFastsatt = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforholdSomSkalBrukes() + List ikkeFastsatt = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforhold() .stream() .filter(af -> af.getMaksimalRefusjonPrÅr() != null) .filter(af -> af.getAvkortetPrÅr() == null) @@ -50,7 +50,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { resultater.put("grunnbeløp", grunnlag.getGrunnbeløp()); resultater.put("grenseverdi", grenseverdi); BigDecimal refusjonTilFordeling = grenseverdi.subtract( - grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforholdSomSkalBrukes() + grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforhold() .stream() .map(BeregningsgrunnlagPrArbeidsforhold::getAvkortetRefusjonPrÅr) .filter(Objects::nonNull) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnAvkortetRefusjon.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnAvkortetRefusjon.java index 039c56d1..a182849a 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnAvkortetRefusjon.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/BeregnAvkortetRefusjon.java @@ -25,7 +25,7 @@ class BeregnAvkortetRefusjon extends LeafSpecification resultater = new HashMap<>(); // Finn alle arbeidsforhold som ikke er avkortet allerede - grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforholdSomSkalBrukes() + grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforhold() .stream() .filter(af -> af.getAvkortetRefusjonPrÅr() != null) .filter(af -> af.getAvkortetPrÅr() == null) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/FastsettBrukersAndelerTilNull.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/FastsettBrukersAndelerTilNull.java index 1a824a9c..9bb7ae52 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/FastsettBrukersAndelerTilNull.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/FastsettBrukersAndelerTilNull.java @@ -26,13 +26,13 @@ class FastsettBrukersAndelerTilNull extends LeafSpecification resultater = new HashMap<>(); BigDecimal avkortetTilNull = BigDecimal.ZERO; - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() - .flatMap(bgs -> bgs.getArbeidsforholdSomSkalBrukes().stream()) + grunnlag.getBeregningsgrunnlagPrStatus().stream() + .flatMap(bgs -> bgs.getArbeidsforhold().stream()) .forEach(af -> { BeregningsgrunnlagPrArbeidsforhold.builder(af).medAvkortetBrukersAndelPrÅr(avkortetTilNull).build(); resultater.put("brukersAndel." + af.getArbeidsgiverId(), avkortetTilNull); }); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() + grunnlag.getBeregningsgrunnlagPrStatus().stream() .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) .forEach(bgps -> { BeregningsgrunnlagPrStatus.builder(bgps).medAvkortetPrÅr(avkortetTilNull).build(); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/RegelFastsettAvkortetVedRefusjonOver6G.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/RegelFastsettAvkortetVedRefusjonOver6G.java index 02dcd19a..e7ce533a 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/RegelFastsettAvkortetVedRefusjonOver6G.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/RegelFastsettAvkortetVedRefusjonOver6G.java @@ -34,7 +34,7 @@ public Specification getSpecification() { Specification fastsettBrukersAndelerTilNull = new FastsettBrukersAndelerTilNull(); - int antallKjøringer = bgpsa.getArbeidsforholdSomSkalBrukes().size(); + int antallKjøringer = bgpsa.getArbeidsforhold().size(); Specification fastsettAvkortetBeregningsgrunnlag = new Fastsatt(); if (antallKjøringer > 0) { List> prArbeidsforhold = new ArrayList<>(); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/VurderOmAlleFerdig.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/VurderOmAlleFerdig.java index d60d1660..c1f9aaea 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/VurderOmAlleFerdig.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/fastsette/refusjon/over6g/VurderOmAlleFerdig.java @@ -21,7 +21,7 @@ class VurderOmAlleFerdig extends LeafSpecification { @Override public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { - Optional ikkeFerdig = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforholdSomSkalBrukes() + Optional ikkeFerdig = grunnlag.getBeregningsgrunnlagPrStatus(AktivitetStatus.ATFL).getArbeidsforhold() .stream() .filter(af -> af.getMaksimalRefusjonPrÅr() != null) .filter(af -> af.getAvkortetRefusjonPrÅr() == null) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/FastsettDagsatsPrAndel.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/FastsettDagsatsPrAndel.java index bc3d4b2b..2f726d7f 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/FastsettDagsatsPrAndel.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/FastsettDagsatsPrAndel.java @@ -23,9 +23,9 @@ public FastsettDagsatsPrAndel() { @Override public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { Map resultater = new HashMap<>(); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().forEach(bgps -> { + grunnlag.getBeregningsgrunnlagPrStatus().forEach(bgps -> { if (bgps.erArbeidstakerEllerFrilanser()) { - bgps.getArbeidsforholdSomSkalBrukes().forEach(af -> + bgps.getArbeidsforhold().forEach(af -> resultater.put("dagsats." + af.getArbeidsgiverId(), af.getDagsats()) ); } else { diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/ReduserBeregningsgrunnlag.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/ReduserBeregningsgrunnlag.java index 3e0fd4c9..7f671334 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/ReduserBeregningsgrunnlag.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/reduksjon/ReduserBeregningsgrunnlag.java @@ -28,9 +28,9 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { Map resultater = new HashMap<>(); resultater.put("dekningsgrad", grunnlag.getDekningsgrad()); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().forEach(bps -> { + grunnlag.getBeregningsgrunnlagPrStatus().forEach(bps -> { if (bps.erArbeidstakerEllerFrilanser()) { - bps.getArbeidsforholdSomSkalBrukes().forEach(af -> { + bps.getArbeidsforhold().forEach(af -> { BigDecimal redusertAF = dekningsgrad.multiply(af.getAvkortetPrÅr()); BeregningsgrunnlagPrArbeidsforhold.builder(af) .medRedusertPrÅr(dekningsgrad.multiply(af.getAvkortetPrÅr())) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPeriode.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPeriode.java index bea721e5..8745d89b 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPeriode.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPeriode.java @@ -134,10 +134,6 @@ public Collection getBeregningsgrunnlagPrStatus() { return Collections.unmodifiableCollection(beregningsgrunnlagPrStatus); } - public List getBeregningsgrunnlagPrStatusSomSkalBrukes() { - return beregningsgrunnlagPrStatus.stream().filter(BeregningsgrunnlagPrStatus::erSøktYtelseFor).toList(); - } - public BigDecimal getGrunnbeløp() { return beregningsgrunnlag.getGrunnbeløp(); } diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrArbeidsforhold.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrArbeidsforhold.java index 7b3925ce..f34c6318 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrArbeidsforhold.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrArbeidsforhold.java @@ -318,6 +318,11 @@ public Builder medAktivitetsgrad(BigDecimal aktivitetsgrad) { return this; } + public Builder medErSøktYtelseFor(boolean erSøktYtelseFor) { + mal.erSøktYtelseFor = erSøktYtelseFor; + return this; + } + public BeregningsgrunnlagPrArbeidsforhold build() { verifyStateForBuild(); return mal; diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrStatus.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrStatus.java index d8aa6a73..ef789a51 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrStatus.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/regelmodell/fastsett/BeregningsgrunnlagPrStatus.java @@ -167,22 +167,10 @@ public Optional getAktivitetsgrad() { return Optional.ofNullable(aktivitetsgrad); } - public List getArbeidsforholdSomSkalBrukes() { - return getArbeidsforhold().stream().filter(BeregningsgrunnlagPrArbeidsforhold::getErSøktYtelseFor).toList(); - } - - public List getArbeidsforholdSomSkalBrukesIkkeFrilans() { - return getArbeidsforholdSomSkalBrukes().stream().filter(af -> !af.erFrilanser()).toList(); - } - public List getArbeidsforholdIkkeFrilans() { return getArbeidsforhold().stream().filter(af -> !af.erFrilanser()).toList(); } - public Optional getFrilansArbeidsforholdSomSkalBrukes() { - return getArbeidsforhold().stream().filter(BeregningsgrunnlagPrArbeidsforhold::erFrilanser).filter(BeregningsgrunnlagPrArbeidsforhold::getErSøktYtelseFor).findAny(); - } - public Optional getFrilansArbeidsforhold() { return getArbeidsforhold().stream().filter(BeregningsgrunnlagPrArbeidsforhold::erFrilanser).findAny(); } @@ -332,6 +320,11 @@ public Builder medAktivitetsgrad(BigDecimal aktivitetsgrad) { return this; } + public Builder medErSøktYtelseFor(boolean erSøktYtelseFor) { + beregningsgrunnlagPrStatusMal.erSøktYtelseFor = erSøktYtelseFor; + return this; + } + public BeregningsgrunnlagPrStatus build() { verifyStateForBuild(); return beregningsgrunnlagPrStatusMal; diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java index 72a56ef9..a980cd94 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessig.java @@ -50,7 +50,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { if (bruttoBeregningsgrunnlagForAndelen.compareTo(bGUtenArbeidsforholdTilFordeling) >= 0) { avkortetBrukersAndel = bGUtenArbeidsforholdTilFordeling; lagResultaterFrilanser(af, avkortetBrukersAndel, resultater); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() + grunnlag.getBeregningsgrunnlagPrStatus().stream() .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) .forEach(bgp -> lagResultaterUtenArbeidsforhold(bgp, BigDecimal.ZERO, resultater)); return beregnet(resultater); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessigUtenFordeling.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessigUtenFordeling.java index f047cff0..b8b34402 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessigUtenFordeling.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdAndelsmessigUtenFordeling.java @@ -47,7 +47,7 @@ public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { if (bruttoBeregningsgrunnlagForAndelen.compareTo(bGUtenArbeidsforholdTilFordeling) >= 0) { avkortetBrukersAndel = bGUtenArbeidsforholdTilFordeling; lagResultaterFrilanser(af, avkortetBrukersAndel, resultater); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() + grunnlag.getBeregningsgrunnlagPrStatus().stream() .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) .forEach(bgp -> lagResultaterUtenArbeidsforhold(bgp, BigDecimal.ZERO, resultater)); return beregnet(resultater); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java index 3e846204..6166e250 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0.java @@ -25,7 +25,7 @@ class AvkortBGAndelerSomIkkeGjelderArbeidsforholdTil0 extends LeafSpecification< public Evaluation evaluate(BeregningsgrunnlagPeriode grunnlag) { Map resultater = new HashMap<>(); - grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes().stream() + grunnlag.getBeregningsgrunnlagPrStatus().stream() .filter(bgps -> !bgps.erArbeidstakerEllerFrilanser()) .forEach(bgps -> { BeregningsgrunnlagPrStatus.builder(bgps) diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdi.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdi.java index 31091573..9ffc7fb1 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdi.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdi.java @@ -74,9 +74,9 @@ static BigDecimal min(BigDecimal a, BigDecimal b){ private static BigDecimal summerAvkortetGradertMotUttak(BeregningsgrunnlagPeriode grunnlag) { BigDecimal sum = BigDecimal.ZERO; - for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes()) { + for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatus()) { if (bps.erArbeidstakerEllerFrilanser()) { - sum = sum.add(bps.getArbeidsforholdSomSkalBrukes().stream() + sum = sum.add(bps.getArbeidsforhold().stream() .map(arb -> arb.getAndelsmessigFørGraderingPrAar().multiply(arb.getUtbetalingsprosent().scaleByPowerOfTen(-2))) .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); } else { @@ -88,10 +88,10 @@ private static BigDecimal summerAvkortetGradertMotUttak(BeregningsgrunnlagPeriod private static BigDecimal summerAvkortet(BeregningsgrunnlagPeriode grunnlag) { BigDecimal sum = BigDecimal.ZERO; - for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes()) { + for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatus()) { if (bps.erArbeidstakerEllerFrilanser()) { - sum = sum.add(bps.getArbeidsforholdSomSkalBrukes().stream() - .map(arb -> arb.getAndelsmessigFørGraderingPrAar()) + sum = sum.add(bps.getArbeidsforhold().stream() + .map(BeregningsgrunnlagPrArbeidsforhold::getAndelsmessigFørGraderingPrAar) .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); } else { sum = sum.add(bps.getAndelsmessigFørGraderingPrAar()); diff --git a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdiUtenFordeling.java b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdiUtenFordeling.java index 93cda4b7..047c9301 100644 --- a/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdiUtenFordeling.java +++ b/src/main/java/no/nav/folketrygdloven/beregningsgrunnlag/ytelse/svp/FinnGrenseverdiUtenFordeling.java @@ -74,9 +74,9 @@ static BigDecimal min(BigDecimal a, BigDecimal b){ private static BigDecimal summerAvkortetGradertMotUttak(BeregningsgrunnlagPeriode grunnlag) { BigDecimal sum = BigDecimal.ZERO; - for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes()) { + for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatus()) { if (bps.erArbeidstakerEllerFrilanser()) { - sum = sum.add(bps.getArbeidsforholdSomSkalBrukes().stream() + sum = sum.add(bps.getArbeidsforhold().stream() .map(arb -> arb.getAndelsmessigFørGraderingPrAar().multiply(arb.getUtbetalingsprosent().scaleByPowerOfTen(-2))) .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); } else { @@ -88,10 +88,10 @@ private static BigDecimal summerAvkortetGradertMotUttak(BeregningsgrunnlagPeriod private static BigDecimal summerAvkortet(BeregningsgrunnlagPeriode grunnlag) { BigDecimal sum = BigDecimal.ZERO; - for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatusSomSkalBrukes()) { + for (BeregningsgrunnlagPrStatus bps : grunnlag.getBeregningsgrunnlagPrStatus()) { if (bps.erArbeidstakerEllerFrilanser()) { - sum = sum.add(bps.getArbeidsforholdSomSkalBrukes().stream() - .map(arb -> arb.getAndelsmessigFørGraderingPrAar()) + sum = sum.add(bps.getArbeidsforhold().stream() + .map(BeregningsgrunnlagPrArbeidsforhold::getAndelsmessigFørGraderingPrAar) .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); } else { sum = sum.add(bps.getAndelsmessigFørGraderingPrAar());