Skip to content

Commit

Permalink
TFP-5605: Går over til å bruke nytt restpunkt for tilkjent ytelse (#2456
Browse files Browse the repository at this point in the history
)
  • Loading branch information
pekern authored Nov 7, 2023
1 parent ee64df2 commit de28f8d
Show file tree
Hide file tree
Showing 8 changed files with 43 additions and 247 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.MottattDokumentDtoMapper;
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.StønadskontoDtoMapper;
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.SøknadDtoMapper;
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.TilkjentYtelseDiffSjekk;
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.TilkjentYtelseDtoMapper;
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.TilkjentYtelseDtoMapperV2;
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.UttakDtoMapper;
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.mapper.UttakSvpDtoMapper;
import no.nav.foreldrepenger.fpformidling.klage.Klage;
Expand Down Expand Up @@ -93,39 +91,23 @@ public Optional<Behandling> hentOriginalBehandlingHvisFinnes(Behandling behandli
}

public TilkjentYtelseEngangsstønad hentTilkjentYtelseEngangsstønad(Behandling behandling) {
var res = TilkjentYtelseDtoMapper.mapTilkjentYtelseESFraDto(
behandlingRestKlient.hentTilkjentYtelseEngangsstønad(behandling.getResourceLinker()));
var resV2 = TilkjentYtelseDtoMapperV2.mapTilkjentYtelseESFraDto(
behandlingRestKlient.hentTilkjentYtelseEngangsstønadV2(behandling.getFormidlingRessurser()));
TilkjentYtelseDiffSjekk.loggDiff(res, resV2);
return res;
return TilkjentYtelseDtoMapper.mapTilkjentYtelseESFraDto(
behandlingRestKlient.hentTilkjentYtelseEngangsstønad(behandling.getFormidlingRessurser()));
}

public Optional<TilkjentYtelseEngangsstønad> hentTilkjentYtelseESHvisFinnes(Behandling behandling) {
var res = behandlingRestKlient.hentTilkjentYtelseEngangsstønadHvisFinnes(behandling.getResourceLinker())
return behandlingRestKlient.hentTilkjentYtelseEngangsstønadHvisFinnes(behandling.getFormidlingRessurser())
.map(TilkjentYtelseDtoMapper::mapTilkjentYtelseESFraDto);
var resV2 = behandlingRestKlient.hentTilkjentYtelseEngangsstønadHvisFinnesV2(behandling.getFormidlingRessurser())
.map(TilkjentYtelseDtoMapperV2::mapTilkjentYtelseESFraDto);
TilkjentYtelseDiffSjekk.loggDiff(res.orElse(null), resV2.orElse(null));
return res;
}

public TilkjentYtelseForeldrepenger hentTilkjentYtelseForeldrepenger(Behandling behandling) {
var res = TilkjentYtelseDtoMapper.mapTilkjentYtelseFPFraDto(
behandlingRestKlient.hentTilkjentYtelseForeldrepenger(behandling.getResourceLinker()), arbeidsgiverTjeneste::hentArbeidsgiverNavn);
var resV2 = TilkjentYtelseDtoMapperV2.mapTilkjentYtelseDagytelseFraDto(
behandlingRestKlient.hentTilkjentYtelseForeldrepengerV2(behandling.getFormidlingRessurser()), arbeidsgiverTjeneste::hentArbeidsgiverNavn);
TilkjentYtelseDiffSjekk.loggDiff(res, resV2);
return res;
return TilkjentYtelseDtoMapper.mapTilkjentYtelseDagytelseFraDto(
behandlingRestKlient.hentTilkjentYtelseForeldrepenger(behandling.getFormidlingRessurser()), arbeidsgiverTjeneste::hentArbeidsgiverNavn);
}

public Optional<TilkjentYtelseForeldrepenger> hentTilkjentYtelseFPHvisFinnes(Behandling behandling) {
var res = behandlingRestKlient.hentTilkjentYtelseForeldrepengerHvisFinnes(behandling.getResourceLinker())
.map(r -> TilkjentYtelseDtoMapper.mapTilkjentYtelseFPFraDto(r, arbeidsgiverTjeneste::hentArbeidsgiverNavn));
var resV2 = behandlingRestKlient.hentTilkjentYtelseForeldrepengerHvisFinnesV2(behandling.getFormidlingRessurser())
.map(r -> TilkjentYtelseDtoMapperV2.mapTilkjentYtelseDagytelseFraDto(r, arbeidsgiverTjeneste::hentArbeidsgiverNavn));
TilkjentYtelseDiffSjekk.loggDiff(res.orElse(null), resV2.orElse(null));
return res;
return behandlingRestKlient.hentTilkjentYtelseForeldrepengerHvisFinnes(behandling.getFormidlingRessurser())
.map(r -> TilkjentYtelseDtoMapper.mapTilkjentYtelseDagytelseFraDto(r, arbeidsgiverTjeneste::hentArbeidsgiverNavn));
}

public FamilieHendelse hentFamiliehendelse(Behandling behandling) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
import no.nav.foreldrepenger.fpformidling.integrasjon.fpsak.dto.klage.MottattKlagedokumentDto;
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;
Expand Down Expand Up @@ -68,50 +66,25 @@ default Optional<FamilieHendelseGrunnlagDto> hentFamiliehendelseHvisFinnes(List<
.flatMap(link -> hentDtoFraLink(link, FamilieHendelseGrunnlagDto.class));
}

default Optional<TilkjentYtelseEngangsstønadDto> hentTilkjentYtelseEngangsstønadHvisFinnes(List<BehandlingResourceLink> resourceLinker) {
return resourceLinker.stream()
.filter(dto -> "beregningsresultat-engangsstonad".equals(dto.getRel()))
.findFirst()
.flatMap(link -> hentDtoFraLink(link, TilkjentYtelseEngangsstønadDto.class));
}

default Optional<no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseEngangsstønadDto> hentTilkjentYtelseEngangsstønadHvisFinnesV2(List<BehandlingResourceLink> resourceLinker) {
default Optional<no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseEngangsstønadDto> hentTilkjentYtelseEngangsstønadHvisFinnes(List<BehandlingResourceLink> resourceLinker) {
return resourceLinker.stream()
.filter(dto -> "tilkjentytelse-engangsstonad".equals(dto.getRel()))
.findFirst()
.flatMap(link -> hentDtoFraLink(link, no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseEngangsstønadDto.class));
}

default TilkjentYtelseEngangsstønadDto hentTilkjentYtelseEngangsstønad(List<BehandlingResourceLink> resourceLinker) {
default no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseEngangsstønadDto hentTilkjentYtelseEngangsstønad(List<BehandlingResourceLink> resourceLinker) {
return hentTilkjentYtelseEngangsstønadHvisFinnes(resourceLinker).orElseThrow(
() -> new IllegalStateException("Klarte ikke hente Tilkjent ytelse engangsstønad for behandling: " + hentBehandlingId(resourceLinker)));
}

default no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseEngangsstønadDto hentTilkjentYtelseEngangsstønadV2(List<BehandlingResourceLink> resourceLinker) {
return hentTilkjentYtelseEngangsstønadHvisFinnesV2(resourceLinker).orElseThrow(
() -> new IllegalStateException("Klarte ikke hente Tilkjent ytelse engangsstønad for behandling: " + hentBehandlingId(resourceLinker)));
}

default TilkjentYtelseMedUttaksplanDto hentTilkjentYtelseForeldrepenger(List<BehandlingResourceLink> resourceLinker) {
default TilkjentYtelseDagytelseDto hentTilkjentYtelseForeldrepenger(List<BehandlingResourceLink> resourceLinker) {
return hentTilkjentYtelseForeldrepengerHvisFinnes(resourceLinker).orElseThrow(() -> {
throw new IllegalStateException("Klarte ikke hente Tilkjent ytelse foreldrepenger for behandling: " + hentBehandlingId(resourceLinker));
});
}

default TilkjentYtelseDagytelseDto hentTilkjentYtelseForeldrepengerV2(List<BehandlingResourceLink> resourceLinker) {
return hentTilkjentYtelseForeldrepengerHvisFinnesV2(resourceLinker).orElseThrow(() -> {
throw new IllegalStateException("Klarte ikke hente Tilkjent ytelse foreldrepenger for behandling: " + hentBehandlingId(resourceLinker));
});
}

default Optional<TilkjentYtelseMedUttaksplanDto> hentTilkjentYtelseForeldrepengerHvisFinnes(List<BehandlingResourceLink> resourceLinker) {
return resourceLinker.stream()
.filter(dto -> "beregningsresultat-dagytelse".equals(dto.getRel()))
.findFirst()
.flatMap(link -> hentDtoFraLink(link, TilkjentYtelseMedUttaksplanDto.class));
}

default Optional<TilkjentYtelseDagytelseDto> hentTilkjentYtelseForeldrepengerHvisFinnesV2(List<BehandlingResourceLink> resourceLinker) {
default Optional<TilkjentYtelseDagytelseDto> hentTilkjentYtelseForeldrepengerHvisFinnes(List<BehandlingResourceLink> resourceLinker) {
return resourceLinker.stream()
.filter(dto -> "tilkjentytelse-dagytelse".equals(dto.getRel()))
.findFirst()
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
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 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;
Expand All @@ -18,6 +13,8 @@
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;
import no.nav.foreldrepenger.kontrakter.fpsak.tilkjentytelse.TilkjentYtelseEngangsstønadDto;

public class TilkjentYtelseDtoMapper {

Expand All @@ -29,31 +26,32 @@ private TilkjentYtelseDtoMapper() {
return new TilkjentYtelseEngangsstønad(dto.beregnetTilkjentYtelse());
}

public static TilkjentYtelseForeldrepenger mapTilkjentYtelseFPFraDto(TilkjentYtelseMedUttaksplanDto dto, UnaryOperator<String> hentNavn) {
var tilkjentYtelsePerioder = Arrays.stream(dto.getPerioder())
public static TilkjentYtelseForeldrepenger mapTilkjentYtelseDagytelseFraDto(TilkjentYtelseDagytelseDto dto, UnaryOperator<String> hentNavn) {
var tilkjentYtelsePerioder = dto.perioder()
.stream()
.map(p -> mapPeriodeFraDto(p, hentNavn))
.sorted(PeriodeComparator.TILKJENTYTELSERESULTAT)
.toList();
return TilkjentYtelseForeldrepenger.ny().leggTilPerioder(tilkjentYtelsePerioder).build();
}


private static TilkjentYtelsePeriode mapPeriodeFraDto(TilkjentYtelsePeriodeDto dto, UnaryOperator<String> hentNavn) {
private static TilkjentYtelsePeriode mapPeriodeFraDto(TilkjentYtelseDagytelseDto.TilkjentYtelsePeriodeDto dto, UnaryOperator<String> hentNavn) {
List<TilkjentYtelseAndel> 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<String> hentNavn) {
private static TilkjentYtelseAndel mapAndelFraDto(TilkjentYtelseDagytelseDto.TilkjentYtelseAndelDto dto, UnaryOperator<String> 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))
Expand All @@ -65,14 +63,32 @@ private static TilkjentYtelseAndel mapAndelFraDto(TilkjentYtelseAndelDto dto, Un
.build();
}

private static Arbeidsgiver mapArbeidsgiverFraDto(TilkjentYtelseAndelDto dto, UnaryOperator<String> 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.TilkjentYtelseAndelDto dto, UnaryOperator<String> 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();
Expand All @@ -82,5 +98,4 @@ private static int summerDagsats(TilkjentYtelseAndelDto dto) {
}
return sum;
}

}
Loading

0 comments on commit de28f8d

Please sign in to comment.