diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapper.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapper.java index 70240e766..a020e87d2 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapper.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapper.java @@ -103,7 +103,7 @@ private boolean gjelderMor(FagsakBackend fagsak) { private void mapAvslåttePerioder(Behandling behandling, ForeldrepengerAvslagDokumentdata.Builder dokumentdataBuilder, Optional uttakResultatPerioder) { - var tilkjentYtelseFP = domeneobjektProvider.hentTilkjentYtelseFPHvisFinnes(behandling); + var tilkjentYtelseFP = domeneobjektProvider.hentTilkjentYtelseDagytelseHvisFinnes(behandling); var avslåttePerioderOgLovhjemmel = AvslåttPeriodeMapper.mapAvslåttePerioderOgLovhjemmel(behandling, tilkjentYtelseFP.map(TilkjentYtelseForeldrepenger::getPerioder).orElse(Collections.emptyList()), uttakResultatPerioder); diff --git "a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapper.java" "b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapper.java" index a68fae08e..640aa5e20 100644 --- "a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapper.java" +++ "b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapper.java" @@ -59,7 +59,7 @@ public String getTemplateNavn() { var svpUttaksresultat = domeneobjektProvider.hentSvangerskapspengerUttakHvisFinnes(behandling); var familieHendelse = domeneobjektProvider.hentFamiliehendelse(behandling); var iay = domeneobjektProvider.hentInntektsmeldinger(behandling); - var tilkjentYtelsePerioder = domeneobjektProvider.hentTilkjentYtelseFPHvisFinnes(behandling) + var tilkjentYtelsePerioder = domeneobjektProvider.hentTilkjentYtelseDagytelseHvisFinnes(behandling) .map(TilkjentYtelseForeldrepenger::getPerioder) .orElse(Collections.emptyList()); diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/tjenester/DomeneobjektProvider.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/tjenester/DomeneobjektProvider.java index b9b0cc5e5..51bdecbb4 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/tjenester/DomeneobjektProvider.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/tjenester/DomeneobjektProvider.java @@ -101,13 +101,13 @@ public Optional hentOriginalBehandlingHvisFinnes(Behandling behandli } public TilkjentYtelseForeldrepenger hentTilkjentYtelseForeldrepenger(Behandling behandling) { - return TilkjentYtelseDtoMapper.mapTilkjentYtelseFPFraDto( - behandlingRestKlient.hentTilkjentYtelseForeldrepenger(behandling.getResourceLinker()), arbeidsgiverTjeneste::hentArbeidsgiverNavn); + return TilkjentYtelseDtoMapper.mapTilkjentYtelseDagytelseFraDto( + behandlingRestKlient.hentTilkjentYtelseDagytelse(behandling.getResourceLinker()), arbeidsgiverTjeneste::hentArbeidsgiverNavn); } - public Optional hentTilkjentYtelseFPHvisFinnes(Behandling behandling) { - return behandlingRestKlient.hentTilkjentYtelseForeldrepengerHvisFinnes(behandling.getResourceLinker()) - .map(r -> TilkjentYtelseDtoMapper.mapTilkjentYtelseFPFraDto(r, arbeidsgiverTjeneste::hentArbeidsgiverNavn)); + public Optional hentTilkjentYtelseDagytelseHvisFinnes(Behandling behandling) { + return behandlingRestKlient.hentTilkjentYtelseDagytelseHvisFinnes(behandling.getResourceLinker()) + .map(r -> TilkjentYtelseDtoMapper.mapTilkjentYtelseDagytelseFraDto(r, arbeidsgiverTjeneste::hentArbeidsgiverNavn)); } public FamilieHendelse hentFamiliehendelse(Behandling behandling) { diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/Behandlinger.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/Behandlinger.java index e7119fa29..8a3f1b35d 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/Behandlinger.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/Behandlinger.java @@ -19,7 +19,6 @@ import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.personopplysning.VergeDto; import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.soknad.SoknadBackendDto; import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.tilkjentytelse.TilkjentYtelseEngangsstønadDto; -import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.tilkjentytelse.TilkjentYtelseMedUttaksplanDto; import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.uttak.StartdatoUtsattDto; import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.uttak.UttakResultatPerioderDto; import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.uttak.YtelseFordelingDto; @@ -27,6 +26,7 @@ import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.uttak.svp.SvangerskapspengerUttakResultatDto; import no.nav.foreldrepenger.kontrakter.formidling.v1.DokumentProdusertDto; import no.nav.foreldrepenger.kontrakter.fpsak.beregningsgrunnlag.v2.BeregningsgrunnlagDto; +import no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseDagytelseDto; public interface Behandlinger { @@ -69,7 +69,7 @@ default Optional hentFamiliehendelseHvisFinnes(List< default Optional hentTilkjentYtelseEngangsstønadHvisFinnes(List resourceLinker) { return resourceLinker.stream() - .filter(dto -> "beregningsresultat-engangsstonad".equals(dto.getRel())) + .filter(dto -> "tilkjentytelse-engangsstonad".equals(dto.getRel())) .findFirst() .flatMap(link -> hentDtoFraLink(link, TilkjentYtelseEngangsstønadDto.class)); } @@ -79,17 +79,17 @@ default Optional hentFamiliehendelseHvisFinnes(List< () -> new IllegalStateException("Klarte ikke hente Tilkjent ytelse engangsstønad for behandling: " + hentBehandlingId(resourceLinker))); } - default TilkjentYtelseMedUttaksplanDto hentTilkjentYtelseForeldrepenger(List resourceLinker) { - return hentTilkjentYtelseForeldrepengerHvisFinnes(resourceLinker).orElseThrow(() -> { + default TilkjentYtelseDagytelseDto hentTilkjentYtelseDagytelse(List resourceLinker) { + return hentTilkjentYtelseDagytelseHvisFinnes(resourceLinker).orElseThrow(() -> { throw new IllegalStateException("Klarte ikke hente Tilkjent ytelse foreldrepenger for behandling: " + hentBehandlingId(resourceLinker)); }); } - default Optional hentTilkjentYtelseForeldrepengerHvisFinnes(List resourceLinker) { + default Optional hentTilkjentYtelseDagytelseHvisFinnes(List resourceLinker) { return resourceLinker.stream() - .filter(dto -> "beregningsresultat-dagytelse".equals(dto.getRel())) + .filter(dto -> "tilkjentytelse-dagytelse".equals(dto.getRel())) .findFirst() - .flatMap(link -> hentDtoFraLink(link, TilkjentYtelseMedUttaksplanDto.class)); + .flatMap(link -> hentDtoFraLink(link, TilkjentYtelseDagytelseDto.class)); } default Optional hentSoknadHvisFinnes(List resourceLinker) { diff --git a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/mapper/TilkjentYtelseDtoMapper.java b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/mapper/TilkjentYtelseDtoMapper.java index d3ef0a66c..5acb18686 100644 --- a/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/mapper/TilkjentYtelseDtoMapper.java +++ b/brevproduksjon/src/main/java/no/nav/foreldrepenger/fpformidling/integrasjon/fpsak/mapper/TilkjentYtelseDtoMapper.java @@ -1,15 +1,13 @@ package no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.function.UnaryOperator; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotNull; import no.nav.foreldrepenger.fpformidling.beregningsgrunnlag.AktivitetStatus; -import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.tilkjentytelse.TilkjentYtelseAndelDto; import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.tilkjentytelse.TilkjentYtelseEngangsstønadDto; -import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.tilkjentytelse.TilkjentYtelseMedUttaksplanDto; -import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.tilkjentytelse.TilkjentYtelsePeriodeDto; import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.sortering.PeriodeComparator; import no.nav.foreldrepenger.fpformidling.tilkjentytelse.TilkjentYtelseAndel; import no.nav.foreldrepenger.fpformidling.tilkjentytelse.TilkjentYtelseEngangsstønad; @@ -18,6 +16,7 @@ import no.nav.foreldrepenger.fpformidling.typer.ArbeidsforholdRef; import no.nav.foreldrepenger.fpformidling.typer.DatoIntervall; import no.nav.foreldrepenger.fpformidling.virksomhet.Arbeidsgiver; +import no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseDagytelseDto; public class TilkjentYtelseDtoMapper { @@ -29,8 +28,9 @@ private TilkjentYtelseDtoMapper() { return new TilkjentYtelseEngangsstønad(dto.beregnetTilkjentYtelse()); } - public static TilkjentYtelseForeldrepenger mapTilkjentYtelseFPFraDto(TilkjentYtelseMedUttaksplanDto dto, UnaryOperator hentNavn) { - var tilkjentYtelsePerioder = Arrays.stream(dto.getPerioder()) + public static TilkjentYtelseForeldrepenger mapTilkjentYtelseDagytelseFraDto(TilkjentYtelseDagytelseDto dto, UnaryOperator hentNavn) { + var tilkjentYtelsePerioder = dto.perioder() + .stream() .map(p -> mapPeriodeFraDto(p, hentNavn)) .sorted(PeriodeComparator.TILKJENTYTELSERESULTAT) .toList(); @@ -38,22 +38,22 @@ public static TilkjentYtelseForeldrepenger mapTilkjentYtelseFPFraDto(TilkjentYte } - private static TilkjentYtelsePeriode mapPeriodeFraDto(TilkjentYtelsePeriodeDto dto, UnaryOperator hentNavn) { + private static TilkjentYtelsePeriode mapPeriodeFraDto(TilkjentYtelseDagytelseDto.@Valid @NotNull TilkjentYtelsePeriodeDto dto, UnaryOperator hentNavn) { List andelListe = new ArrayList<>(); - for (var tilkjentYtelseAndelDto : dto.getAndeler()) { + for (var tilkjentYtelseAndelDto : dto.andeler()) { andelListe.add(mapAndelFraDto(tilkjentYtelseAndelDto, hentNavn)); } return TilkjentYtelsePeriode.ny() - .medDagsats((long) dto.getDagsats()) - .medPeriode(DatoIntervall.fraOgMedTilOgMed(dto.getFom(), dto.getTom())) + .medDagsats((long) dto.dagsats()) + .medPeriode(DatoIntervall.fraOgMedTilOgMed(dto.fom(), dto.tom())) .medAndeler(andelListe) .build(); } //Fpsak slår sammen andeler i dto, så vi må eventuelt splitte dem opp igjen - private static TilkjentYtelseAndel mapAndelFraDto(TilkjentYtelseAndelDto dto, UnaryOperator hentNavn) { + private static TilkjentYtelseAndel mapAndelFraDto(TilkjentYtelseDagytelseDto.@Valid @NotNull TilkjentYtelseAndelDto dto, UnaryOperator hentNavn) { return TilkjentYtelseAndel.ny() - .medAktivitetStatus(dto.aktivitetStatus()) + .medAktivitetStatus(mapAktivitetstatusFraKontrakt(dto.aktivitetstatus())) .medArbeidsforholdRef( dto.arbeidsforholdId() != null && !dto.arbeidsforholdId().isEmpty() ? ArbeidsforholdRef.ref(dto.arbeidsforholdId()) : null) .medArbeidsgiver(mapArbeidsgiverFraDto(dto, hentNavn)) @@ -65,14 +65,32 @@ private static TilkjentYtelseAndel mapAndelFraDto(TilkjentYtelseAndelDto dto, Un .build(); } - private static Arbeidsgiver mapArbeidsgiverFraDto(TilkjentYtelseAndelDto dto, UnaryOperator hentNavn) { - if (!AktivitetStatus.ARBEIDSTAKER.equals(dto.aktivitetStatus()) || dto.arbeidsgiverReferanse() == null) { + private static AktivitetStatus mapAktivitetstatusFraKontrakt(TilkjentYtelseDagytelseDto.Aktivitetstatus aktivitetstatus) { + return switch(aktivitetstatus) { + case ARBEIDSAVKLARINGSPENGER -> AktivitetStatus.ARBEIDSAVKLARINGSPENGER; + case ARBEIDSTAKER -> AktivitetStatus.ARBEIDSTAKER; + case DAGPENGER -> AktivitetStatus.DAGPENGER; + case FRILANSER -> AktivitetStatus.FRILANSER; + case MILITÆR_ELLER_SIVIL -> AktivitetStatus.MILITÆR_ELLER_SIVIL; + case SELVSTENDIG_NÆRINGSDRIVENDE -> AktivitetStatus.SELVSTENDIG_NÆRINGSDRIVENDE; + case BRUKERS_ANDEL -> AktivitetStatus.BRUKERS_ANDEL; + case KUN_YTELSE -> AktivitetStatus.KUN_YTELSE; + case TTLSTØTENDE_YTELSE -> AktivitetStatus.TTLSTØTENDE_YTELSE; + case VENTELØNN_VARTPENGER -> AktivitetStatus.VENTELØNN_VARTPENGER; + case KOMBINERT_AT_FL, KOMBINERT_AT_SN, KOMBINERT_FL_SN, + KOMBINERT_AT_FL_SN, UDEFINERT -> throw new IllegalStateException("Ugyldig aktivitetstatus for tilkjent ytelse andel: " + aktivitetstatus); + }; + } + + + private static Arbeidsgiver mapArbeidsgiverFraDto(TilkjentYtelseDagytelseDto.@Valid @NotNull TilkjentYtelseAndelDto dto, UnaryOperator hentNavn) { + if (!TilkjentYtelseDagytelseDto.Aktivitetstatus.ARBEIDSTAKER.equals(dto.aktivitetstatus()) || dto.arbeidsgiverReferanse() == null) { return null; } return new Arbeidsgiver(dto.arbeidsgiverReferanse(), hentNavn.apply(dto.arbeidsgiverReferanse())); } - private static int summerDagsats(TilkjentYtelseAndelDto dto) { + private static int summerDagsats(TilkjentYtelseDagytelseDto.TilkjentYtelseAndelDto dto) { var sum = 0; if (dto.tilSoker() != null) { sum += dto.tilSoker(); diff --git a/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapperTest.java b/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapperTest.java index ceeda81ba..157484ec3 100644 --- a/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapperTest.java +++ b/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/avslagfp/ForeldrepengerAvslagDokumentdataMapperTest.java @@ -97,7 +97,7 @@ void before() { when(domeneobjektProvider.hentFagsakBackend(any(Behandling.class))).thenReturn(opprettFagsakBackend()); when(domeneobjektProvider.hentMottatteDokumenter(any(Behandling.class))).thenReturn(opprettMottattDokument()); when(domeneobjektProvider.hentFamiliehendelse(any(Behandling.class))).thenReturn(opprettFamiliehendelse()); - when(domeneobjektProvider.hentTilkjentYtelseFPHvisFinnes(any(Behandling.class))).thenReturn(opprettTilkjentYtelseFP()); + when(domeneobjektProvider.hentTilkjentYtelseDagytelseHvisFinnes(any(Behandling.class))).thenReturn(opprettTilkjentYtelseFP()); when(domeneobjektProvider.hentBeregningsgrunnlagHvisFinnes(any(Behandling.class))).thenReturn(opprettBeregningsgrunnlag()); lenient().when(domeneobjektProvider.hentForeldrepengerUttakHvisFinnes(any(Behandling.class))).thenReturn(opprettUttaksresultat()); } diff --git "a/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapperTest.java" "b/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapperTest.java" index be020ed66..545a718d1 100644 --- "a/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapperTest.java" +++ "b/brevproduksjon/src/test/java/no/nav/foreldrepenger/fpformidling/brevproduksjon/mapper/opphorsvp/SvangerskapspengerOpph\303\270rDokumentdataMapperTest.java" @@ -87,7 +87,7 @@ void before() { when(domeneobjektProvider.hentFamiliehendelse(any(Behandling.class))).thenReturn(opprettFamiliehendelse()); when(domeneobjektProvider.hentBeregningsgrunnlagHvisFinnes(any(Behandling.class))).thenReturn(opprettBeregningsgrunnlag()); when(domeneobjektProvider.hentSvangerskapspengerUttakHvisFinnes(any(Behandling.class))).thenReturn(opprettUttaksresultat()); - when(domeneobjektProvider.hentTilkjentYtelseFPHvisFinnes(any(Behandling.class))).thenReturn(opprettTilkjentYtelse()); + when(domeneobjektProvider.hentTilkjentYtelseDagytelseHvisFinnes(any(Behandling.class))).thenReturn(opprettTilkjentYtelse()); } @Test diff --git a/pom.xml b/pom.xml index 6f00e5e64..e5ba265c6 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ 5.1.1 4.0.0 - 7.1.1 + 7.1.3 4.3.1