Skip to content

Commit

Permalink
Gå tilbake til duplisert dto
Browse files Browse the repository at this point in the history
  • Loading branch information
johannbm committed Oct 22, 2024
1 parent 1aed3a4 commit 30e4b67
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;

import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpSakInntektsmeldingDto;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;

import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpSakInntektsmeldingDto;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package no.nav.foreldrepenger.web.app.tjenester.fpoversikt;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;

import no.nav.foreldrepenger.domene.iay.modell.kodeverk.NaturalYtelseType;
import no.nav.foreldrepenger.domene.typer.JournalpostId;

@JsonInclude(JsonInclude.Include.NON_NULL)
record FpSakInntektsmeldingDto(Boolean erAktiv, BigDecimal stillingsprosent,
BigDecimal inntektPrMnd,
BigDecimal refusjonPrMnd,
String arbeidsgiverNavn,
String arbeidsgiverIdent,
String journalpostId,
LocalDateTime mottattTidspunkt,
LocalDate startDatoPermisjon,
List<NaturalYtelse> bortfalteNaturalytelser,
List<Refusjon> refusjonsperioder
){
record NaturalYtelse(
LocalDate fomDato,
LocalDate tomDato,
BigDecimal beløpPerMnd,
NaturalYtelseType type
) {}

record Refusjon(
BigDecimal refusjonsbeløpMnd,
LocalDate fomDato
) {}
}

Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import no.nav.foreldrepenger.behandlingslager.behandling.repository.BehandlingRepository;
import no.nav.foreldrepenger.behandlingslager.behandling.repository.MottatteDokumentRepository;
import no.nav.foreldrepenger.behandlingslager.fagsak.FagsakRepository;
import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpSakInntektsmeldingDto;
import no.nav.foreldrepenger.domene.arbeidsforhold.InntektArbeidYtelseTjeneste;
import no.nav.foreldrepenger.domene.arbeidsforhold.InntektsmeldingTjeneste;
import no.nav.foreldrepenger.domene.arbeidsgiver.ArbeidsgiverTjeneste;
Expand All @@ -29,6 +28,7 @@
import no.nav.foreldrepenger.domene.iay.modell.InntektsmeldingAggregat;
import no.nav.foreldrepenger.domene.iay.modell.NaturalYtelse;
import no.nav.foreldrepenger.domene.iay.modell.Yrkesaktivitet;
import no.nav.foreldrepenger.domene.iay.modell.kodeverk.NaturalYtelseType;
import no.nav.foreldrepenger.domene.typer.Saksnummer;
import no.nav.foreldrepenger.domene.typer.Stillingsprosent;
import no.nav.vedtak.konfig.Tid;
Expand Down Expand Up @@ -122,25 +122,25 @@ private FpSakInntektsmeldingDto map(Inntektsmelding inntektsmelding, boolean erA
);
}

public static List<no.nav.foreldrepenger.common.innsyn.inntektsmelding.Refusjon> lagRefusjonsperioder(Inntektsmelding inntektsmelding) {
var refusjon = inntektsmelding.getEndringerRefusjon().stream().map(r -> new no.nav.foreldrepenger.common.innsyn.inntektsmelding.Refusjon(r.getRefusjonsbeløp().getVerdi(), r.getFom())).toList();
public static List<FpSakInntektsmeldingDto.Refusjon> lagRefusjonsperioder(Inntektsmelding inntektsmelding) {
var refusjon = inntektsmelding.getEndringerRefusjon().stream().map(r -> new FpSakInntektsmeldingDto.Refusjon(r.getRefusjonsbeløp().getVerdi(), r.getFom())).toList();
var mutableRefusjon = new ArrayList<>(refusjon);

// Representer opphøring av refusjon som en periode med 0 som refusjon
if (inntektsmelding.getRefusjonOpphører() != null && !Tid.TIDENES_ENDE.equals(inntektsmelding.getRefusjonOpphører() )) {
mutableRefusjon.add(new no.nav.foreldrepenger.common.innsyn.inntektsmelding.Refusjon(new BigDecimal(0), inntektsmelding.getRefusjonOpphører().plusDays(1)));
mutableRefusjon.add(new FpSakInntektsmeldingDto.Refusjon(new BigDecimal(0), inntektsmelding.getRefusjonOpphører().plusDays(1)));
}

mutableRefusjon.sort(Comparator.comparing(no.nav.foreldrepenger.common.innsyn.inntektsmelding.Refusjon::fomDato));
mutableRefusjon.sort(Comparator.comparing(FpSakInntektsmeldingDto.Refusjon::fomDato));

return mutableRefusjon;
}

public static List<no.nav.foreldrepenger.common.innsyn.inntektsmelding.BortfaltNaturalytelse> konverterAktivePerioderTilBortfaltePerioder(List<NaturalYtelse> aktiveNaturalytelser) {
public static List<FpSakInntektsmeldingDto.NaturalYtelse> konverterAktivePerioderTilBortfaltePerioder(List<NaturalYtelse> aktiveNaturalytelser) {
var gruppertPåType = aktiveNaturalytelser.stream()
.collect(Collectors.groupingBy(NaturalYtelse::getType));

List<no.nav.foreldrepenger.common.innsyn.inntektsmelding.BortfaltNaturalytelse> bortfalteNaturalytelser = new ArrayList<>();
List<FpSakInntektsmeldingDto.NaturalYtelse> bortfalteNaturalytelser = new ArrayList<>();

gruppertPåType.forEach((key, value) -> {
var sortert = value.stream()
Expand All @@ -158,11 +158,11 @@ public static List<no.nav.foreldrepenger.common.innsyn.inntektsmelding.BortfaltN
continue;
}

var newYtelse = new no.nav.foreldrepenger.common.innsyn.inntektsmelding.BortfaltNaturalytelse(
var newYtelse = new FpSakInntektsmeldingDto.NaturalYtelse(
nyFom.plusDays(1),
(nyTom != null) ? nyTom.minusDays(1) : TIDENES_ENDE,
current.getBeloepPerMnd().getVerdi(),
no.nav.foreldrepenger.common.innsyn.inntektsmelding.NaturalytelseType.valueOf(current.toString())
NaturalYtelseType.valueOf(current.toString())
);

bortfalteNaturalytelser.add(newYtelse);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
import no.nav.foreldrepenger.behandlingslager.behandling.repository.BehandlingRepository;
import no.nav.foreldrepenger.behandlingslager.fagsak.FagsakRepository;
import no.nav.foreldrepenger.behandlingslager.virksomhet.ArbeidType;
import no.nav.foreldrepenger.common.innsyn.inntektsmelding.BortfaltNaturalytelse;
import no.nav.foreldrepenger.common.innsyn.inntektsmelding.NaturalytelseType;
import no.nav.foreldrepenger.domene.arbeidsgiver.ArbeidsgiverOpplysninger;
import no.nav.foreldrepenger.domene.arbeidsgiver.ArbeidsgiverTjeneste;
import no.nav.foreldrepenger.domene.arbeidsgiver.VirksomhetTjeneste;
Expand Down Expand Up @@ -190,8 +188,8 @@ void konverterAktiveNaturalytelserTilBortfalte() {
);
var bortfaltePerioder = InntektsmeldingDtoTjeneste.konverterAktivePerioderTilBortfaltePerioder(aktiveNaturalytelser);
assertThat(bortfaltePerioder).hasSize(2);
assertThat(bortfaltePerioder.get(0)).isEqualTo(new BortfaltNaturalytelse(LocalDate.of(2024, 10, 17), LocalDate.of(2024, 11, 15), new BigDecimal(1000), NaturalytelseType.ELEKTRISK_KOMMUNIKASJON));
assertThat(bortfaltePerioder.get(1)).isEqualTo(new BortfaltNaturalytelse(LocalDate.of(2024, 11, 21), LocalDate.of(2024, 12, 15), new BigDecimal(1000), NaturalytelseType.ELEKTRISK_KOMMUNIKASJON));
assertThat(bortfaltePerioder.get(0)).isEqualTo(new NaturalYtelse(LocalDate.of(2024, 10, 17), LocalDate.of(2024, 11, 15), new BigDecimal(1000), NaturalYtelseType.ELEKTRISK_KOMMUNIKASJON));
assertThat(bortfaltePerioder.get(1)).isEqualTo(new NaturalYtelse(LocalDate.of(2024, 11, 21), LocalDate.of(2024, 12, 15), new BigDecimal(1000), NaturalYtelseType.ELEKTRISK_KOMMUNIKASJON));
}

private static MottattDokument mottattDokument(Behandling behandling, JournalpostId journalPostId, LocalDateTime mottattTidspunkt) {
Expand Down

0 comments on commit 30e4b67

Please sign in to comment.