Skip to content

Commit

Permalink
SVP: Fjerner gammel tilrettelegging felt i søknaden (#2736)
Browse files Browse the repository at this point in the history
* SVP: Fjerner gammel tilrettelegging felt i søknaden

* Rydder

* Bump fpsoknad felles 3.2.0
  • Loading branch information
espenwaaga authored Oct 23, 2024
1 parent 66e23ef commit ffd6874
Show file tree
Hide file tree
Showing 15 changed files with 41 additions and 403 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ void foreldrepengesoknadAnnenInntektValidering() throws Exception {
@Test
void svangerskapspengerValidering() throws Exception {
var svpSøknad = mapper.readValue(bytesFra("json/svangerskapspengesøknad.json"), SvangerskapspengesøknadDto.class);
var tilrettelegging = svpSøknad.tilrettelegging().get(0);
var tilrettelegging = svpSøknad.tilretteleggingsbehov().get(0);
var virksomhet = (VirksomhetDto) tilrettelegging.arbeidsforhold();
var result = mvc.perform(post(InnsendingController.INNSENDING_CONTROLLER_PATH + "/svangerskapspenger")
.contentType(MediaType.APPLICATION_JSON)
Expand Down
28 changes: 18 additions & 10 deletions domene/src/test/resources/json/svangerskapspengesøknad.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,29 +19,37 @@
"landkode": "PF"
}
],
"tilrettelegging":
"tilretteleggingsbehov":
[
{
"type": "ingen",
"slutteArbeidFom": "2024-08-21",
"arbeidsforhold":
{
"id": "896929119",
"type": "virksomhet"
},
"behovForTilretteleggingFom": "2024-08-01"
"behovForTilretteleggingFom": "2024-08-01",
"tilrettelegginger": [
{
"type": "ingen",
"fom": "2024-08-21"
}
]
},
{
"type": "delvis",
"tilrettelagtArbeidFom": "2024-09-01",
"arbeidsforhold":
{
"type": "frilanser",
"risikoFaktorer": "aosudhsadasd",
"tilretteleggingstiltak": "dasdasdasda"
"type": "frilanser"
},
"behovForTilretteleggingFom": "2024-09-01",
"stillingsprosent": 55
"risikoFaktorer": "aosudhsadasd",
"tilretteleggingstiltak": "dasdasdasda",
"tilrettelegginger": [
{
"type": "delvis",
"fom": "2024-09-01",
"stillingsprosent": 55
}
]
}
],
"vedlegg":
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,28 @@
import jakarta.validation.constraints.Size;
import no.nav.foreldrepenger.common.domain.BrukerRolle;
import no.nav.foreldrepenger.common.oppslag.dkif.Målform;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.VedleggDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.dto.validering.VedlegglistestørrelseConstraint;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.AnnenInntektDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.FrilansDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.NæringDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.SøknadDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.UtenlandsoppholdsperiodeDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.TilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilretteleggingbehov.TilretteleggingbehovDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.VedleggDto;

public record SvangerskapspengesøknadDto(LocalDate mottattdato,
@Valid @NotNull BarnSvpDto barn,
@Valid BrukerRolle rolle,
@Valid Målform språkkode,
@Valid FrilansDto frilans,
@Valid NæringDto egenNæring,
@Valid @Size(max = 40) List<AnnenInntektDto.@NotNull @Valid Utlandet> andreInntekterSiste10Mnd,
@Valid @Size(max = 40) List<@Valid @NotNull UtenlandsoppholdsperiodeDto> utenlandsopphold,
@Valid @Size(max = 100) List<@Valid @NotNull TilretteleggingDto> tilrettelegging,
@Valid @Size(max = 100) List<@Valid @NotNull TilretteleggingbehovDto> tilretteleggingsbehov,
@Valid @Size(max = 100) List<@Valid @NotNull AvtaltFerieDto> avtaltFerie,
@Valid @VedlegglistestørrelseConstraint @Size(max = 100) List<@Valid @NotNull VedleggDto> vedlegg) implements SøknadDto {
@Valid @Size(max = 20) List<AnnenInntektDto.@NotNull @Valid Utlandet> andreInntekterSiste10Mnd,
@Valid @Size(max = 20) List<@Valid @NotNull UtenlandsoppholdsperiodeDto> utenlandsopphold,
@Valid @Size(min = 1, max = 20) List<@Valid @NotNull TilretteleggingbehovDto> tilretteleggingsbehov,
@Valid @Size(max = 20) List<@Valid @NotNull AvtaltFerieDto> avtaltFerie,
@Valid @VedlegglistestørrelseConstraint @Size(min = 1, max = 20) List<@Valid @NotNull VedleggDto> vedlegg) implements SøknadDto {

public SvangerskapspengesøknadDto {
utenlandsopphold = Optional.ofNullable(utenlandsopphold).orElse(List.of());
tilrettelegging = Optional.ofNullable(tilrettelegging).orElse(List.of());
tilretteleggingsbehov = Optional.ofNullable(tilretteleggingsbehov).orElse(List.of());
andreInntekterSiste10Mnd = Optional.ofNullable(andreInntekterSiste10Mnd).orElse(List.of());
vedlegg = Optional.ofNullable(vedlegg).orElse(List.of());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilretteleggingbehov;
package no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger;

import static com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY;
import static com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME;
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
Expand Up @@ -11,20 +11,15 @@
import no.nav.foreldrepenger.common.domain.BrukerRolle;
import no.nav.foreldrepenger.common.domain.Søker;
import no.nav.foreldrepenger.common.domain.Søknad;
import no.nav.foreldrepenger.common.domain.felles.ProsentAndel;
import no.nav.foreldrepenger.common.domain.felles.opptjening.Opptjening;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.AvtaltFerie;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.Svangerskapspenger;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.DelvisTilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.HelTilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.IngenTilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.Tilrettelegging;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.Arbeidsforhold;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.Frilanser;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.PrivatArbeidsgiver;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.SelvstendigNæringsdrivende;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilrettelegging.arbeidsforhold.Virksomhet;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.tilretteleggingsbehov.Tilretteleggingbehov;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.Arbeidsforhold;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.Frilanser;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.PrivatArbeidsgiver;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.SelvstendigNæringsdrivende;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.arbeidsforhold.Virksomhet;
import no.nav.foreldrepenger.common.domain.svangerskapspenger.Tilretteleggingbehov;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.mapper.DokumentasjonReferanseMapper;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.AnnenInntektDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.FrilansDto;
Expand All @@ -36,11 +31,7 @@
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.arbeidsforhold.PrivatArbeidsgiverDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.arbeidsforhold.SelvstendigNæringsdrivendeDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.arbeidsforhold.VirksomhetDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.DelvisTilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.HelTilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.IngenTilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilrettelegging.TilretteleggingDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.tilretteleggingbehov.TilretteleggingbehovDto;
import no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.dto.svangerskapspenger.TilretteleggingbehovDto;


public final class SvangerskapspengerMapper {
Expand Down Expand Up @@ -69,7 +60,6 @@ public static Svangerskapspenger tilYtelse(SvangerskapspengesøknadDto s, List<V
s.barn().fødselsdato(),
tilOppholdIUtlandet(s.utenlandsopphold()),
tilOpptjening(s.egenNæring(), s.frilans(), s.andreInntekterSiste10Mnd(), vedlegg),
tilTilrettelegging(s, vedlegg),
tilTilretteleggingBehov(s, vedlegg),
tilFerieperioder(s)
);
Expand Down Expand Up @@ -128,55 +118,6 @@ private static List<AvtaltFerie> tilFerieperioder(SvangerskapspengesøknadDto s)
}).toList();
}

@Deprecated
private static List<Tilrettelegging> tilTilrettelegging(SvangerskapspengesøknadDto s, List<VedleggDto> vedlegg) {
return safeStream(s.tilrettelegging())
.map(tilrettelegging -> tilTilretteleggings(tilrettelegging, vedlegg))
.toList();
}

private static Tilrettelegging tilTilretteleggings(TilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
if (tilrettelegging instanceof HelTilretteleggingDto hel) {
return tilHelTilrettelegging(hel, vedlegg);
}
if (tilrettelegging instanceof DelvisTilretteleggingDto del) {
return tilDelvisTilrettelegging(del, vedlegg);
}
if (tilrettelegging instanceof IngenTilretteleggingDto ingen) {
return tilIngenTilrettelegging(ingen, vedlegg);
}
throw new IllegalStateException("Utviklerfeil: Tilrettelegging kan bare være hel, delvis eller ingen, men er " + tilrettelegging);
}

private static IngenTilrettelegging tilIngenTilrettelegging(IngenTilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
return new IngenTilrettelegging(
tilArbeidsforhold(tilrettelegging.arbeidsforhold()),
tilrettelegging.behovForTilretteleggingFom(),
tilrettelegging.slutteArbeidFom(),
tilVedleggsreferanse(DokumentasjonReferanseMapper.dokumentasjonSomDokumentererTilrettelegggingAv(vedlegg, tilrettelegging.arbeidsforhold()))
);
}

private static DelvisTilrettelegging tilDelvisTilrettelegging(DelvisTilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
return new DelvisTilrettelegging(
tilArbeidsforhold(tilrettelegging.arbeidsforhold()),
tilrettelegging.behovForTilretteleggingFom(),
tilrettelegging.tilrettelagtArbeidFom(),
ProsentAndel.valueOf(tilrettelegging.stillingsprosent()),
tilVedleggsreferanse(DokumentasjonReferanseMapper.dokumentasjonSomDokumentererTilrettelegggingAv(vedlegg, tilrettelegging.arbeidsforhold()))
);
}

private static HelTilrettelegging tilHelTilrettelegging(HelTilretteleggingDto tilrettelegging, List<VedleggDto> vedlegg) {
return new HelTilrettelegging(
tilArbeidsforhold(tilrettelegging.arbeidsforhold()),
tilrettelegging.behovForTilretteleggingFom(),
tilrettelegging.tilrettelagtArbeidFom(),
tilVedleggsreferanse(DokumentasjonReferanseMapper.dokumentasjonSomDokumentererTilrettelegggingAv(vedlegg, tilrettelegging.arbeidsforhold()))
);
}


private static Arbeidsforhold tilArbeidsforhold(ArbeidsforholdDto arbeidsforhold) {
if (arbeidsforhold instanceof VirksomhetDto virksomhet) {
return tilVirksomhet(virksomhet);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
import static no.nav.foreldrepenger.common.domain.foreldrepenger.fordeling.StønadskontoType.FELLESPERIODE;
import static no.nav.foreldrepenger.common.domain.foreldrepenger.fordeling.StønadskontoType.FORELDREPENGER_FØR_FØDSEL;
import static no.nav.foreldrepenger.common.domain.foreldrepenger.fordeling.StønadskontoType.MØDREKVOTE;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.TilretteleggingBuilder.delvis;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.TilretteleggingBuilder.hel;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.TilretteleggingBuilder.ingen;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.UttakplanPeriodeBuilder.gradert;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.UttakplanPeriodeBuilder.overføring;
import static no.nav.foreldrepenger.selvbetjening.kontrakt.innsending.v2.util.builder.UttakplanPeriodeBuilder.uttak;
Expand Down Expand Up @@ -159,24 +156,6 @@ void fpGraderingFrilansTermingRountripTest() throws IOException {
test(søknad);
}

@Test
void svangerskapspengerRountripTest() throws IOException {
var tilrettelegginger = List.of(
hel(NOW.minusMonths(1), NOW.minusMonths(1), ArbeidsforholdMaler.selvstendigNæringsdrivende()).build(),
delvis(NOW, NOW, ArbeidsforholdMaler.privatArbeidsgiver(DUMMY_FNR), 55.0).build(),
ingen(NOW.plusWeeks(1), NOW.plusWeeks(1), ArbeidsforholdMaler.virksomhet(Orgnummer.MAGIC_ORG)).build()
);
var søknad = new SvangerskapspengerBuilder(null)
.medTilrettelegging(tilrettelegginger)
.medUtenlandsopphold(UtenlandsoppholdMaler.oppholdIUtlandetForrige12mnd())
.medSelvstendigNæringsdrivendeInformasjon(OpptjeningMaler.egenNaeringOpptjening(Orgnummer.MAGIC_ORG.value()))
.medBarn(BarnBuilder.termin(2, LocalDate.now().plusWeeks(2)).build())
.build();

assertThat(søknad).isInstanceOf(SvangerskapspengesøknadDto.class);
test(søknad);
}

@Test
void svangerskapspengerBehovRountripTest() throws IOException {
var tilretteleggingbehov = List.of(
Expand Down
Loading

0 comments on commit ffd6874

Please sign in to comment.