diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapper.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapper.java index 9761eacdb..a0d6b6367 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapper.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapper.java @@ -204,7 +204,7 @@ static boolean starterMedFullUtbetaling(List utbetalingsperi if (utbetalingsperioder.isEmpty()) { return false; } - return utbetalingsperioder.get(0).getPrioritertUtbetalingsgrad().erFull(); + return utbetalingsperioder.get(0).isFullUtbetaling(); } static boolean harVarierendeDagsats(List utbetalingsperioder) { diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMapper.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMapper.java index 31be57ee9..041bf3e88 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMapper.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMapper.java @@ -219,6 +219,7 @@ private static Utbetalingsperiode mapEnkelPeriode(TilkjentYtelsePeriode tilkjent .medNæring(næring) .medAnnenAktivitet(annenAktivitetListe) .medPrioritertUtbetalingsgrad(finnPrioritertUtbetalingsgrad(arbeidsfoholdListe, næring, annenAktivitetListe)) + .medFullUtbetaling(erFullUtbetaling(uttakResultatPeriode)) .medTidligstMottattDato(uttakResultatPeriode.getTidligstMottattDato(), språkkode); if (tilkjentYtelsePeriode.getDagsats() != null) { @@ -228,6 +229,10 @@ private static Utbetalingsperiode mapEnkelPeriode(TilkjentYtelsePeriode tilkjent return utbetalingsPerioder.build(); } + private static boolean erFullUtbetaling(UttakResultatPeriode uttakResultatPeriode) { + return uttakResultatPeriode.getAktiviteter().stream().allMatch(a -> Prosent.of(a.getUtbetalingsprosent()).erFull()); + } + private static StønadskontoType hentStønadskontoType(UttakResultatPeriode uttakResultatPeriode) { return uttakResultatPeriode.getAktiviteter() .stream() diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMerger.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMerger.java index d4552146d..9d8065f4f 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMerger.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/UtbetalingsperiodeMerger.java @@ -61,6 +61,7 @@ public static List mergePerioder(List pe .medPeriodeDagsats(periodeEn.getPeriodeDagsats()) .medAntallTapteDager(finnRiktigAntallTapteDager(periodeEn, periodeTo), BigDecimal.ZERO) .medPrioritertUtbetalingsgrad(periodeEn.getPrioritertUtbetalingsgrad()) + .medFullUtbetaling(periodeEn.isFullUtbetaling()) .medStønadskontoType(periodeEn.getStønadskontoType()) .medArbeidsforhold(periodeEn.getArbeidsforholdsliste()) .medNæring(periodeEn.getNæring()) diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/dokgen/dto/innvilgelsefp/Utbetalingsperiode.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/dokgen/dto/innvilgelsefp/Utbetalingsperiode.java index 32503c060..f4f595f71 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/dokgen/dto/innvilgelsefp/Utbetalingsperiode.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/dokgen/dto/innvilgelsefp/Utbetalingsperiode.java @@ -32,6 +32,8 @@ public class Utbetalingsperiode { private long periodeDagsats; private int antallTapteDager; private Prosent prioritertUtbetalingsgrad = Prosent.NULL; + @JsonIgnore + private boolean fullUtbetaling; private List arbeidsforholdsliste = new ArrayList<>(); private Næring næring; private List annenAktivitetsliste = new ArrayList<>(); @@ -73,6 +75,10 @@ public int getAntallTapteDager() { return antallTapteDager; } + public boolean isFullUtbetaling() { + return fullUtbetaling; + } + public Prosent getPrioritertUtbetalingsgrad() { return prioritertUtbetalingsgrad; } @@ -114,13 +120,13 @@ public boolean equals(Object object) { && Objects.equals(periodeTom, that.periodeTom) && Objects.equals(periodeDagsats, that.periodeDagsats) && Objects.equals(antallTapteDager, that.antallTapteDager) && Objects.equals(prioritertUtbetalingsgrad, that.prioritertUtbetalingsgrad) && Objects.equals( arbeidsforholdsliste, that.arbeidsforholdsliste) && Objects.equals(næring, that.næring) && Objects.equals(annenAktivitetsliste, - that.annenAktivitetsliste) && Objects.equals(tidligstMottattDato, that.tidligstMottattDato); + that.annenAktivitetsliste) && Objects.equals(tidligstMottattDato, that.tidligstMottattDato) && Objects.equals(fullUtbetaling, that.fullUtbetaling); } @Override public int hashCode() { return Objects.hash(innvilget, årsak, periodeFom, periodeTom, periodeDagsats, antallTapteDager, prioritertUtbetalingsgrad, - arbeidsforholdsliste, næring, annenAktivitetsliste, tidligstMottattDato); + arbeidsforholdsliste, næring, annenAktivitetsliste, tidligstMottattDato, fullUtbetaling); } public static Builder ny() { @@ -181,6 +187,11 @@ public Builder medPrioritertUtbetalingsgrad(Prosent prioritertUtbetalingsgrad) { return this; } + public Builder medFullUtbetaling(boolean fullUtbetaling) { + this.kladd.fullUtbetaling = fullUtbetaling; + return this; + } + public Builder medArbeidsforhold(List arbeidsfoholdListe) { this.kladd.arbeidsforholdsliste = arbeidsfoholdListe; return this; diff --git a/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapperTest.java b/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapperTest.java index 93c54e203..8e8581b84 100644 --- a/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapperTest.java +++ b/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/innvilgelsefp/ForeldrepengerInnvilgelseDokumentdataMapperTest.java @@ -243,8 +243,10 @@ void varierer_dagsats() { void starter_med_fullutbetaling() { var ingenUtbetaling = Utbetalingsperiode.ny() .medPrioritertUtbetalingsgrad(Prosent.NULL) + .medFullUtbetaling(false) .build(); var fullUtbetaling = Utbetalingsperiode.ny() + .medFullUtbetaling(true) .medPrioritertUtbetalingsgrad(Prosent.HUNDRE) .build(); assertThat(starterMedFullUtbetaling(List.of(ingenUtbetaling))).isFalse();