diff --git "a/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/akt\303\270r/Adresseinfo.java" "b/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/akt\303\270r/Adresseinfo.java" index 93a84a1bd8a..202e5c060b4 100644 --- "a/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/akt\303\270r/Adresseinfo.java" +++ "b/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/akt\303\270r/Adresseinfo.java" @@ -3,6 +3,8 @@ import java.util.Objects; import java.util.Optional; +import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; + public class Adresseinfo { private AdresseType adresseType; @@ -13,7 +15,7 @@ public class Adresseinfo { private String adresselinje4; private String postnummer; private String poststed; - private String land; + private Landkoder land; private Adresseinfo() { } @@ -46,7 +48,7 @@ public String getPoststed() { return poststed; } - public String getLand() { + public Landkoder getLand() { return land; } @@ -146,7 +148,7 @@ public Builder medPoststed(String poststed) { return this; } - public Builder medLand(String land) { + public Builder medLand(Landkoder land) { this.kladd.land = land; return this; } diff --git a/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonAdresseEntitet.java b/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonAdresseEntitet.java index fa6e1931516..54a4f680300 100644 --- a/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonAdresseEntitet.java +++ b/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonAdresseEntitet.java @@ -76,8 +76,9 @@ public class PersonAdresseEntitet extends BaseEntitet implements HarAktørId, In private String poststed; @ChangeTracked - @Column(name = "land") - private String land; + @Convert(converter = Landkoder.KodeverdiConverter.class) + @Column(name="land") + private Landkoder land; @ManyToOne(optional = false) @JoinColumn(name = "po_informasjon_id", nullable = false, updatable = false) @@ -174,11 +175,11 @@ void setPoststed(String poststed) { this.poststed = poststed; } - public String getLand() { + public Landkoder getLand() { return land; } - void setLand(String land) { + void setLand(Landkoder land) { this.land = land; } @@ -208,7 +209,7 @@ void setPeriode(DatoIntervallEntitet periode) { } public boolean erUtlandskAdresse() { - return !Landkoder.erNorge(land) || adresseType.erUtlandsAdresseType(); + return !Landkoder.NOR.equals(land) || adresseType.erUtlandsAdresseType(); } public static boolean likeAdresser(PersonAdresseEntitet a1, PersonAdresseEntitet a2) { diff --git a/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonInformasjonBuilder.java b/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonInformasjonBuilder.java index 6412c827222..bb1af14d955 100644 --- a/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonInformasjonBuilder.java +++ b/behandlingslager/domene/src/main/java/no/nav/foreldrepenger/behandlingslager/behandling/personopplysning/PersonInformasjonBuilder.java @@ -294,7 +294,7 @@ public AdresseBuilder medPoststed(String poststed) { return this; } - public AdresseBuilder medLand(String land) { + public AdresseBuilder medLand(Landkoder land) { kladd.setLand(land); return this; } diff --git a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/AbstractTestScenario.java b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/AbstractTestScenario.java index 3968588380e..c08bc9c2cf8 100644 --- a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/AbstractTestScenario.java +++ b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/AbstractTestScenario.java @@ -31,6 +31,9 @@ import no.nav.foreldrepenger.behandlingslager.aktør.NavBrukerRepository; import no.nav.foreldrepenger.behandlingslager.aktør.OrganisasjonsEnhet; import no.nav.foreldrepenger.behandlingslager.aktør.PersonstatusType; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.Gyldighetsperiode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.PersonstatusPeriode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.StatsborgerskapPeriode; import no.nav.foreldrepenger.behandlingslager.behandling.Behandling; import no.nav.foreldrepenger.behandlingslager.behandling.Behandling.Builder; import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingResultatType; @@ -103,6 +106,7 @@ import no.nav.foreldrepenger.behandlingslager.uttak.fp.FpUttakRepository; import no.nav.foreldrepenger.behandlingslager.uttak.fp.Stønadskontoberegning; import no.nav.foreldrepenger.behandlingslager.uttak.fp.UttakResultatPerioderEntitet; +import no.nav.foreldrepenger.domene.tid.DatoIntervallEntitet; import no.nav.foreldrepenger.domene.typer.AktørId; import no.nav.foreldrepenger.domene.typer.Saksnummer; @@ -716,14 +720,11 @@ private void lagrePersonopplysning(BehandlingRepositoryProvider repositoryProvid .brukerKjønn(getKjønnFraFagsak()) .fødselsdato(LocalDate.now().minusYears(25)) .sivilstand(SivilstandType.UOPPGITT)) - .leggTilPersonstatus(Personstatus.builder() - .personstatus(PersonstatusType.BOSA) - .periode(LocalDate.now().minusYears(1), LocalDate.now().plusYears(1)) - .aktørId(behandling.getAktørId())) - .leggTilStatsborgerskap(Statsborgerskap.builder() - .aktørId(behandling.getAktørId()) - .statsborgerskap(Landkoder.NOR) - .periode(LocalDate.now().minusYears(20), LocalDate.now().plusYears(10))) + .leggTilPersonstatus(new Personstatus(behandling.getAktørId(), + new PersonstatusPeriode(Gyldighetsperiode.innenfor(LocalDate.now().minusYears(1), LocalDate.now().plusYears(1)), + PersonstatusType.BOSA))) + .leggTilStatsborgerskap(new Statsborgerskap(behandling.getAktørId(), + new StatsborgerskapPeriode(Gyldighetsperiode.innenfor(LocalDate.now().minusYears(20), LocalDate.now().plusYears(10)), Landkoder.NOR))) .build(); lagrePersoninfo(behandling, registerInformasjon, personopplysningRepository); } @@ -758,29 +759,31 @@ private void lagrePersoninfo(Behandling behandling, PersonInformasjonBuilder per }); personInformasjon.getAdresser().forEach(e -> { - var builder = personInformasjonBuilder.getAdresseBuilder(e.getAktørId(), e.getPeriode(), - e.getAdresseType()); - builder.medAdresselinje1(e.getAdresselinje1()) - .medAdresselinje2(e.getAdresselinje2()) - .medAdresselinje3(e.getAdresselinje3()) - .medAdresselinje4(e.getAdresselinje4()) - .medLand(e.getLand()) - .medPostnummer(e.getPostnummer()) - .medPoststed(e.getPoststed()); + var builder = personInformasjonBuilder.getAdresseBuilder(e.aktørId(), + DatoIntervallEntitet.fraOgMedTilOgMed(e.adressePeriode().gyldighetsperiode().fom(), e.adressePeriode().gyldighetsperiode().tom()), + e.adressePeriode().adresse().getAdresseType()); + builder.medAdresselinje1(e.adressePeriode().adresse().getAdresselinje1()) + .medAdresselinje2(e.adressePeriode().adresse().getAdresselinje2()) + .medAdresselinje3(e.adressePeriode().adresse().getAdresselinje3()) + .medAdresselinje4(e.adressePeriode().adresse().getAdresselinje4()) + .medLand(e.adressePeriode().adresse().getLand()) + .medPostnummer(e.adressePeriode().adresse().getPostnummer()) + .medPoststed(e.adressePeriode().adresse().getPoststed()); personInformasjonBuilder.leggTil(builder); }); personInformasjon.getPersonstatuser().forEach(e -> { - var builder = personInformasjonBuilder.getPersonstatusBuilder(e.getAktørId(), e.getPeriode()); - builder.medPersonstatus(e.getPersonstatus()); + var builder = personInformasjonBuilder.getPersonstatusBuilder(e.aktørId(), + DatoIntervallEntitet.fraOgMedTilOgMed(e.personstatusPeriode().gyldighetsperiode().fom(), e.personstatusPeriode().gyldighetsperiode().tom())); + builder.medPersonstatus(e.personstatusPeriode().personstatus()); personInformasjonBuilder.leggTil(builder); }); personInformasjon.getStatsborgerskap().forEach(e -> { - var builder = personInformasjonBuilder.getStatsborgerskapBuilder(e.getAktørId(), - e.getPeriode(), - e.getStatsborgerskap()); + var builder = personInformasjonBuilder.getStatsborgerskapBuilder(e.aktørId(), + DatoIntervallEntitet.fraOgMedTilOgMed(e.statsborgerskapPeriode().gyldighetsperiode().fom(), e.statsborgerskapPeriode().gyldighetsperiode().tom()), + e.statsborgerskapPeriode().statsborgerskap()); personInformasjonBuilder.leggTil(builder); }); @@ -792,7 +795,9 @@ private void lagrePersoninfo(Behandling behandling, PersonInformasjonBuilder per }); personInformasjon.getOpphold().forEach(e -> { - var builder = personInformasjonBuilder.getOppholdstillatelseBuilder(e.getAktørId(), e.getPeriode()).medOppholdstillatelse(e.getTillatelse()); + var builder = personInformasjonBuilder.getOppholdstillatelseBuilder(e.aktørId(), + DatoIntervallEntitet.fraOgMedTilOgMed(e.oppholdstillatelsePeriode().gyldighetsperiode().fom(), e.oppholdstillatelsePeriode().gyldighetsperiode().tom())) + .medOppholdstillatelse(e.oppholdstillatelsePeriode().tillatelse()); personInformasjonBuilder.leggTil(builder); }); diff --git a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Oppholdstillatelse.java b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Oppholdstillatelse.java index b2371c72871..47049363563 100644 --- a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Oppholdstillatelse.java +++ b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Oppholdstillatelse.java @@ -1,114 +1,8 @@ package no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning; -import java.time.LocalDate; -import java.util.Objects; - -import no.nav.foreldrepenger.behandlingslager.aktør.OppholdstillatelseType; -import no.nav.foreldrepenger.domene.tid.DatoIntervallEntitet; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.OppholdstillatelsePeriode; import no.nav.foreldrepenger.domene.typer.AktørId; -public class Oppholdstillatelse { - - private AktørId aktørId; - private DatoIntervallEntitet periode; - private OppholdstillatelseType tillatelse = OppholdstillatelseType.UDEFINERT; - - public Oppholdstillatelse() { - } - - Oppholdstillatelse(Oppholdstillatelse personstatus) { - this.aktørId = personstatus.getAktørId(); - this.periode = personstatus.getPeriode(); - this.tillatelse = personstatus.getTillatelse(); - } - - - public OppholdstillatelseType getTillatelse() { - return tillatelse; - } - - public void setTillatelse(OppholdstillatelseType tillatelse) { - this.tillatelse = tillatelse; - } - - public AktørId getAktørId() { - return aktørId; - } - - void setAktørId(AktørId aktørId) { - this.aktørId = aktørId; - } - - - public DatoIntervallEntitet getPeriode() { - return periode; - } - - void setPeriode(DatoIntervallEntitet gyldighetsperiode) { - this.periode = gyldighetsperiode; - } - - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - var entitet = (Oppholdstillatelse) o; - return Objects.equals(aktørId, entitet.aktørId) && - Objects.equals(periode, entitet.periode) && - Objects.equals(tillatelse, entitet.tillatelse); - } - - - @Override - public int hashCode() { - return Objects.hash(aktørId, periode, tillatelse); - } - - - @Override - public String toString() { - return "OppholdstillatelseEntitet{" + - "periode=" + periode + - ", tillatelse=" + tillatelse + - '}'; - } - - public static Oppholdstillatelse.OppholdstillatelseBuilder builder() { - return new OppholdstillatelseBuilder(new Oppholdstillatelse()); - } - - public static final class OppholdstillatelseBuilder { - - private final Oppholdstillatelse kladd; - - private OppholdstillatelseBuilder(Oppholdstillatelse kladd) { - this.kladd = kladd; - } - - public Oppholdstillatelse.OppholdstillatelseBuilder medAktørId(AktørId aktørId) { - kladd.setAktørId(aktørId); - return this; - } - - public Oppholdstillatelse.OppholdstillatelseBuilder medPeriode(LocalDate fom, LocalDate tom) { - kladd.setPeriode(DatoIntervallEntitet.fraOgMedTilOgMed(fom, tom)); - return this; - } - - public Oppholdstillatelse.OppholdstillatelseBuilder medOppholdstillatelse(OppholdstillatelseType tillatelse) { - kladd.setTillatelse(tillatelse); - return this; - } - - public Oppholdstillatelse build() { - return kladd; - } - - } +public record Oppholdstillatelse(AktørId aktørId, OppholdstillatelsePeriode oppholdstillatelsePeriode) { } diff --git a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonAdresse.java b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonAdresse.java index 64bac8190a6..9a9df4c1cbc 100644 --- a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonAdresse.java +++ b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonAdresse.java @@ -1,159 +1,7 @@ package no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning; -import java.time.LocalDate; - -import no.nav.foreldrepenger.behandlingslager.aktør.AdresseType; -import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; -import no.nav.foreldrepenger.domene.tid.DatoIntervallEntitet; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.AdressePeriode; import no.nav.foreldrepenger.domene.typer.AktørId; -public final class PersonAdresse { - - private AktørId aktørId; - private DatoIntervallEntitet periode; - private AdresseType adresseType; - private String adresselinje1; - private String adresselinje2; - private String adresselinje3; - private String adresselinje4; - private String postnummer; - private String poststed; - private String land; - - public AktørId getAktørId() { - return aktørId; - } - - public DatoIntervallEntitet getPeriode() { - return periode; - } - - public AdresseType getAdresseType() { - return adresseType; - } - - public String getAdresselinje1() { - return adresselinje1; - } - - public String getAdresselinje2() { - return adresselinje2; - } - - public String getAdresselinje3() { - return adresselinje3; - } - - public String getAdresselinje4() { - return adresselinje4; - } - - public String getPostnummer() { - return postnummer; - } - - public String getPoststed() { - return poststed; - } - - public String getLand() { - return land; - } - - private PersonAdresse(Builder builder) { - this.aktørId = builder.aktørId; - this.periode = builder.periode; - this.adresseType = builder.adresseType; - this.adresselinje1 = builder.adresselinje1; - this.adresselinje2 = builder.adresselinje2; - this.adresselinje3 = builder.adresselinje3; - this.adresselinje4 = builder.adresselinje4; - this.postnummer = builder.postnummer; - this.poststed = builder.poststed; - this.land = builder.land; - } - - public static Builder builder() { - return new Builder(); - } - - - public static final class Builder { - private AktørId aktørId; - private DatoIntervallEntitet periode; - private AdresseType adresseType; - private String adresselinje1; - private String adresselinje2; - private String adresselinje3; - private String adresselinje4; - private String postnummer; - private String poststed; - private String land; - - private Builder() { - } - - public PersonAdresse build() { - return new PersonAdresse(this); - } - - public Builder aktørId(AktørId aktørId) { - this.aktørId = aktørId; - return this; - } - - public Builder periode(LocalDate fom, LocalDate tom) { - this.periode = DatoIntervallEntitet.fraOgMedTilOgMed(fom, tom); - return this; - } - - public Builder adresseType(AdresseType adresseType) { - this.adresseType = adresseType; - return this; - } - - public Builder adresselinje1(String adresselinje1) { - this.adresselinje1 = adresselinje1; - return this; - } - - public Builder adresselinje2(String adresselinje2) { - this.adresselinje2 = adresselinje2; - return this; - } - - public Builder adresselinje3(String adresselinje3) { - this.adresselinje3 = adresselinje3; - return this; - } - - public Builder adresselinje4(String adresselinje4) { - this.adresselinje4 = adresselinje4; - return this; - } - - public Builder postnummer(String postnummer) { - this.postnummer = postnummer; - return this; - } - - public Builder poststed(String poststed) { - this.poststed = poststed; - return this; - } - - public Builder land(String land) { - this.land = land; - return this; - } - - public Builder land(Landkoder land) { - this.land = land.getKode(); // TODO (FC) Skriv om hele veien til Landkoder - return this; - } - - public DatoIntervallEntitet getPeriode() { - return periode; - } - } +public record PersonAdresse(AktørId aktørId, AdressePeriode adressePeriode) { } diff --git a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonInformasjon.java b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonInformasjon.java index eb5ce60411d..4f18a603ac8 100644 --- a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonInformasjon.java +++ b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/PersonInformasjon.java @@ -54,18 +54,18 @@ private Builder(PersonopplysningVersjonType type) { kladd.type = type; } - public Builder leggTilPersonstatus(Personstatus.Builder builder) { - kladd.personstatuser.add(builder.build()); + public Builder leggTilPersonstatus(Personstatus builder) { + kladd.personstatuser.add(builder); return this; } - public Builder leggTilStatsborgerskap(Statsborgerskap.Builder builder) { - kladd.statsborgerskap.add(builder.build()); + public Builder leggTilStatsborgerskap(Statsborgerskap builder) { + kladd.statsborgerskap.add(builder); return this; } - public Builder leggTilAdresser(PersonAdresse.Builder builder) { - kladd.adresser.add(builder.build()); + public Builder leggTilAdresser(PersonAdresse builder) { + kladd.adresser.add(builder); return this; } @@ -79,8 +79,8 @@ public Builder leggTilRelasjon(PersonRelasjon.Builder builder) { return this; } - public Builder leggTilOpphold(Oppholdstillatelse.OppholdstillatelseBuilder builder) { - kladd.opphold.add(builder.build()); + public Builder leggTilOpphold(Oppholdstillatelse builder) { + kladd.opphold.add(builder); return this; } diff --git a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personas.java b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personas.java index 1e7de36b760..6b7dddcbc53 100644 --- a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personas.java +++ b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personas.java @@ -6,6 +6,11 @@ import no.nav.foreldrepenger.behandlingslager.aktør.NavBrukerKjønn; import no.nav.foreldrepenger.behandlingslager.aktør.OppholdstillatelseType; import no.nav.foreldrepenger.behandlingslager.aktør.PersonstatusType; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.AdressePeriode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.Gyldighetsperiode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.OppholdstillatelsePeriode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.PersonstatusPeriode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.StatsborgerskapPeriode; import no.nav.foreldrepenger.behandlingslager.behandling.personopplysning.RelasjonsRolleType; import no.nav.foreldrepenger.behandlingslager.behandling.personopplysning.SivilstandType; import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; @@ -67,8 +72,7 @@ public Personas statsborgerskap(Landkoder landkode) { } public Personas statsborgerskap(Landkoder landkode, LocalDate fom, LocalDate tom) { - builder.leggTilStatsborgerskap( - Statsborgerskap.builder().aktørId(aktørId).statsborgerskap(landkode).periode(fom, tom == null ? Tid.TIDENES_ENDE : tom)); + builder.leggTilStatsborgerskap(new Statsborgerskap(aktørId, new StatsborgerskapPeriode(Gyldighetsperiode.innenfor(fom, tom), landkode))); return this; } @@ -77,13 +81,12 @@ public Personas personstatus(PersonstatusType personstatus) { } public Personas personstatus(PersonstatusType personstatus, LocalDate fom, LocalDate tom) { - builder.leggTilPersonstatus(Personstatus.builder().aktørId(aktørId).personstatus(personstatus).periode(fom, tom == null ? Tid.TIDENES_ENDE : tom)); + builder.leggTilPersonstatus(new Personstatus(aktørId, new PersonstatusPeriode(Gyldighetsperiode.innenfor(fom, tom), personstatus))); return this; } public Personas opphold(OppholdstillatelseType oppholdstillatelseType, LocalDate fom, LocalDate tom) { - builder.leggTilOpphold(Oppholdstillatelse.builder().medAktørId(aktørId).medOppholdstillatelse(oppholdstillatelseType) - .medPeriode(fom, tom == null ? Tid.TIDENES_ENDE : tom)); + builder.leggTilOpphold(new Oppholdstillatelse(aktørId, new OppholdstillatelsePeriode(Gyldighetsperiode.innenfor(fom, tom), oppholdstillatelseType))); return this; } @@ -108,19 +111,15 @@ public Personas mann(AktørId aktørId, SivilstandType st) { } - public Personas bostedsadresse(PersonAdresse.Builder adresseBuilder) { + public Personas bostedsadresse(AdressePeriode adresseBuilder) { return adresse(AdresseType.BOSTEDSADRESSE, adresseBuilder); } - public Personas adresse(AdresseType adresseType, PersonAdresse.Builder adresseBuilder) { - adresseBuilder.aktørId(aktørId); + public Personas adresse(AdresseType adresseType, AdressePeriode adresseBuilder) { + var ap = adresseBuilder.gyldighetsperiode() != null ? adresseBuilder : + new AdressePeriode(Gyldighetsperiode.innenfor(LocalDate.of(2000, 1, 1), Tid.TIDENES_ENDE), adresseBuilder.adresse()); - if (adresseBuilder.getPeriode() == null) { - // for test formål - adresseBuilder.periode(LocalDate.of(2000, 1, 1), Tid.TIDENES_ENDE); - } - adresseBuilder.adresseType(adresseType); - builder.leggTilAdresser(adresseBuilder); + builder.leggTilAdresser(new PersonAdresse(aktørId, ap)); return this; } diff --git a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personstatus.java b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personstatus.java index 9df8b1fc0e2..52493513e77 100644 --- a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personstatus.java +++ b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Personstatus.java @@ -1,65 +1,7 @@ package no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning; -import java.time.LocalDate; - -import no.nav.foreldrepenger.behandlingslager.aktør.PersonstatusType; -import no.nav.foreldrepenger.domene.tid.DatoIntervallEntitet; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.PersonstatusPeriode; import no.nav.foreldrepenger.domene.typer.AktørId; -public final class Personstatus { - - private AktørId aktørId; - private DatoIntervallEntitet periode; - private PersonstatusType personstatus = PersonstatusType.UDEFINERT; - - public AktørId getAktørId() { - return aktørId; - } - - public DatoIntervallEntitet getPeriode() { - return periode; - } - - public PersonstatusType getPersonstatus() { - return personstatus; - } - - private Personstatus(Builder builder) { - this.aktørId = builder.aktørId; - this.periode = builder.periode; - this.personstatus = builder.personstatus; - } - - public static Builder builder() { - return new Builder(); - } - - - public static final class Builder { - private AktørId aktørId; - private DatoIntervallEntitet periode; - private PersonstatusType personstatus; - - private Builder() { - } - - public Personstatus build() { - return new Personstatus(this); - } - - public Builder aktørId(AktørId aktørId) { - this.aktørId = aktørId; - return this; - } - - public Builder periode(LocalDate fom, LocalDate tom) { - this.periode = DatoIntervallEntitet.fraOgMedTilOgMed(fom, tom); - return this; - } - - public Builder personstatus(PersonstatusType personstatus) { - this.personstatus = personstatus; - return this; - } - } +public record Personstatus(AktørId aktørId, PersonstatusPeriode personstatusPeriode) { } diff --git a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Statsborgerskap.java b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Statsborgerskap.java index 618cb63943b..d40ecc61000 100644 --- a/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Statsborgerskap.java +++ b/behandlingslager/testutil/src/main/java/no/nav/foreldrepenger/behandlingslager/testutilities/behandling/personopplysning/Statsborgerskap.java @@ -1,66 +1,8 @@ package no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning; -import java.time.LocalDate; - -import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; -import no.nav.foreldrepenger.domene.tid.DatoIntervallEntitet; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.StatsborgerskapPeriode; import no.nav.foreldrepenger.domene.typer.AktørId; -public final class Statsborgerskap { - - private AktørId aktørId; - private DatoIntervallEntitet periode; - private Landkoder statsborgerskap = Landkoder.UDEFINERT; - - public AktørId getAktørId() { - return aktørId; - } - - public DatoIntervallEntitet getPeriode() { - return periode; - } - - public Landkoder getStatsborgerskap() { - return statsborgerskap; - } - - private Statsborgerskap(Builder builder) { - this.aktørId = builder.aktørId; - this.periode = builder.periode; - this.statsborgerskap = builder.statsborgerskap; - } - - public static Builder builder() { - return new Builder(); - } - - public static final class Builder { - private AktørId aktørId; - private DatoIntervallEntitet periode; - private Landkoder statsborgerskap; - - private Builder() { - } - - public Statsborgerskap build() { - return new Statsborgerskap(this); - } - - public Builder aktørId(AktørId aktørId) { - this.aktørId = aktørId; - return this; - } - - public Builder periode(LocalDate fom, LocalDate tom) { - this.periode = DatoIntervallEntitet.fraOgMedTilOgMed(fom, tom); - return this; - } - - public Builder statsborgerskap(Landkoder statsborgerskap) { - this.statsborgerskap = statsborgerskap; - return this; - } - - } +public record Statsborgerskap(AktørId aktørId, StatsborgerskapPeriode statsborgerskapPeriode) { } diff --git a/behandlingslager/testutil/src/test/java/no/nav/foreldrepenger/behandlingslager/behandling/BehandlingsgrunnlagEntitetTest.java b/behandlingslager/testutil/src/test/java/no/nav/foreldrepenger/behandlingslager/behandling/BehandlingsgrunnlagEntitetTest.java index 7cae86c37eb..dc7e801b7a6 100644 --- a/behandlingslager/testutil/src/test/java/no/nav/foreldrepenger/behandlingslager/behandling/BehandlingsgrunnlagEntitetTest.java +++ b/behandlingslager/testutil/src/test/java/no/nav/foreldrepenger/behandlingslager/behandling/BehandlingsgrunnlagEntitetTest.java @@ -462,7 +462,7 @@ void skal_innsette_bekrefet_barn_og_oppdatere_ved_endring() { .leggTil(informasjonBuilder .getAdresseBuilder(barnNummer1, DatoIntervallEntitet.fraOgMed(fødselsdatoBarn1), AdresseType.BOSTEDSADRESSE) .medAdresselinje1("Testadresse") - .medLand("Sverige").medPostnummer("1234")) + .medLand(Landkoder.SWE).medPostnummer("1234")) .leggTil(informasjonBuilder .getRelasjonBuilder(forelderAktørId, barnNummer1, RelasjonsRolleType.BARN)) .leggTil(informasjonBuilder @@ -505,7 +505,7 @@ void skal_innsette_bekrefet_barn_og_oppdatere_ved_endring() { .leggTil(informasjonBuilder .getAdresseBuilder(barnNummer2, DatoIntervallEntitet.fraOgMed(fødselsdatoBarn2), AdresseType.BOSTEDSADRESSE) .medAdresselinje1("Testadresse") - .medLand("Sverige").medPostnummer("1234")) + .medLand(Landkoder.SWE).medPostnummer("1234")) .leggTil(informasjonBuilder .getRelasjonBuilder(forelderAktørId, barnNummer2, RelasjonsRolleType.BARN)) .leggTil(informasjonBuilder @@ -566,7 +566,7 @@ void skal_innsette_bekrefet_forelder_og_oppdatere_ved_endring() { .leggTil(informasjonBuilder .getAdresseBuilder(forelder, DatoIntervallEntitet.fraOgMed(fødselsdato), AdresseType.BOSTEDSADRESSE) .medAdresselinje1("Testadresse") - .medLand("NOR").medPostnummer(OSLO)); + .medLand(Landkoder.NOR).medPostnummer(OSLO)); personopplysningRepository.lagre(behandlingId, informasjonBuilder); @@ -646,11 +646,11 @@ void skal_innsette_bekrefet_forelder() { .leggTil(informasjonBuilder .getAdresseBuilder(forelder, DatoIntervallEntitet.fraOgMed(fødselsdato), AdresseType.MIDLERTIDIG_POSTADRESSE_UTLAND) .medAdresselinje1("Utlandsadresse") - .medLand("Sverige")) + .medLand(Landkoder.SWE)) .leggTil(informasjonBuilder .getAdresseBuilder(forelder, DatoIntervallEntitet.fraOgMed(fødselsdato), AdresseType.BOSTEDSADRESSE) .medAdresselinje1("Testadresse") - .medLand("NOR").medPostnummer(OSLO)); + .medLand(Landkoder.NOR).medPostnummer(OSLO)); personopplysningRepository.lagre(behandlingId, informasjonBuilder); @@ -695,11 +695,11 @@ void skal_kunne_lagre_statsborgerskap_til_en_bekrefet_forelder() { ).leggTil(informasjonBuilder .getAdresseBuilder(aktørId, DatoIntervallEntitet.fraOgMedTilOgMed(fødselsdato, dødsdatoForelder1), AdresseType.BOSTEDSADRESSE) .medAdresselinje1("Testadresse") - .medLand("NOR").medPostnummer("1234").medPoststed(OSLO) + .medLand(Landkoder.NOR).medPostnummer("1234").medPoststed(OSLO) ).leggTil(informasjonBuilder .getAdresseBuilder(aktørId, DatoIntervallEntitet.fraOgMedTilOgMed(fødselsdato, dødsdatoForelder1), AdresseType.MIDLERTIDIG_POSTADRESSE_UTLAND) .medAdresselinje1("Testadresse") - .medLand("Sverige").medPostnummer("1234") + .medLand(Landkoder.SWE).medPostnummer("1234") ).leggTil(informasjonBuilder .getStatsborgerskapBuilder(aktørId, DatoIntervallEntitet.fraOgMedTilOgMed(fødselsdato, dødsdatoForelder1), Landkoder.NOR) ); diff --git "a/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/inngangsvilk\303\245r/medlem/es/VurderMedlemskapvilk\303\245rStegTest.java" "b/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/inngangsvilk\303\245r/medlem/es/VurderMedlemskapvilk\303\245rStegTest.java" index 9e18e5ddcee..d5fa4f2cbcb 100644 --- "a/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/inngangsvilk\303\245r/medlem/es/VurderMedlemskapvilk\303\245rStegTest.java" +++ "b/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/inngangsvilk\303\245r/medlem/es/VurderMedlemskapvilk\303\245rStegTest.java" @@ -15,7 +15,10 @@ import no.nav.foreldrepenger.behandling.steg.inngangsvilkår.medlemskap.es.VurderMedlemskapvilkårStegImpl; import no.nav.foreldrepenger.behandlingskontroll.BehandlingskontrollKontekst; import no.nav.foreldrepenger.behandlingslager.aktør.AdresseType; +import no.nav.foreldrepenger.behandlingslager.aktør.Adresseinfo; import no.nav.foreldrepenger.behandlingslager.aktør.PersonstatusType; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.AdressePeriode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.Gyldighetsperiode; import no.nav.foreldrepenger.behandlingslager.behandling.Behandling; import no.nav.foreldrepenger.behandlingslager.behandling.medlemskap.MedlemskapDekningType; import no.nav.foreldrepenger.behandlingslager.behandling.medlemskap.MedlemskapPerioderBuilder; @@ -27,7 +30,6 @@ import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.AbstractTestScenario; import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.ScenarioMorSøkerEngangsstønad; -import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning.PersonAdresse; import no.nav.foreldrepenger.dbstoette.CdiDbAwareTest; import no.nav.foreldrepenger.skjæringstidspunkt.es.BotidCore2024; @@ -170,10 +172,8 @@ void klassisk_medlem_oppfylt() { .kvinne(søkerAktørId, SivilstandType.GIFT) .personstatus(PersonstatusType.BOSA) .statsborgerskap(Landkoder.NOR) - .adresse(AdresseType.BOSTEDSADRESSE, PersonAdresse.builder() - .land(Landkoder.NOR) - .adresseType(AdresseType.BOSTEDSADRESSE) - .periode(termindato.minusYears(2), termindato.plusYears(2))) + .adresse(AdresseType.BOSTEDSADRESSE, new AdressePeriode(Gyldighetsperiode.innenfor(termindato.minusYears(2), termindato.plusYears(2)), + Adresseinfo.builder(AdresseType.BOSTEDSADRESSE).medLand(Landkoder.NOR).build())) .build(); scenario.medRegisterOpplysninger(søker); return scenario; diff --git a/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/uttak/fp/KontrollerOmsorgRettStegTest.java b/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/uttak/fp/KontrollerOmsorgRettStegTest.java index 8125b471f7e..ab6bfdb15a1 100644 --- a/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/uttak/fp/KontrollerOmsorgRettStegTest.java +++ b/behandlingsprosess/src/test/java/no/nav/foreldrepenger/behandling/steg/uttak/fp/KontrollerOmsorgRettStegTest.java @@ -14,6 +14,9 @@ import no.nav.foreldrepenger.behandling.revurdering.ytelse.UttakInputTjeneste; import no.nav.foreldrepenger.behandlingskontroll.BehandlingTypeRef; import no.nav.foreldrepenger.behandlingskontroll.FagsakYtelseTypeRef; +import no.nav.foreldrepenger.behandlingslager.aktør.AdresseType; +import no.nav.foreldrepenger.behandlingslager.aktør.Adresseinfo; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.AdressePeriode; import no.nav.foreldrepenger.behandlingslager.behandling.Behandling; import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingType; import no.nav.foreldrepenger.behandlingslager.behandling.personopplysning.RelasjonsRolleType; @@ -27,7 +30,6 @@ import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.ScenarioFarSøkerForeldrepenger; import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.ScenarioMorSøkerForeldrepenger; -import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning.PersonAdresse; import no.nav.foreldrepenger.dbstoette.CdiDbAwareTest; import no.nav.foreldrepenger.domene.typer.AktørId; import no.nav.foreldrepenger.domene.uttak.fakta.OmsorgRettUttakTjeneste; @@ -106,12 +108,14 @@ public void oppsett() { var builderForRegisteropplysninger = scenario.opprettBuilderForRegisteropplysninger(); - var bostedsadresse = PersonAdresse.builder().adresselinje1("Portveien 2").postnummer("7000").land(Landkoder.NOR); + var bostedsadresse = Adresseinfo.builder(AdresseType.BOSTEDSADRESSE) + .medAdresselinje1("Portveien 2").medPostnummer("7000").medLand(Landkoder.NOR) + .build(); var annenPrt = builderForRegisteropplysninger .medPersonas() .mann(AKTØR_ID_FAR, SivilstandType.GIFT) - .bostedsadresse(bostedsadresse) + .bostedsadresse(new AdressePeriode(null, bostedsadresse)) .relasjonTil(AKTØR_ID_MOR, RelasjonsRolleType.EKTE, true) .build(); scenario.medRegisterOpplysninger(annenPrt); @@ -119,7 +123,7 @@ public void oppsett() { var søker = builderForRegisteropplysninger .medPersonas() .kvinne(AKTØR_ID_MOR, SivilstandType.GIFT) - .bostedsadresse(bostedsadresse) + .bostedsadresse(new AdressePeriode(null, bostedsadresse)) .statsborgerskap(Landkoder.NOR) .relasjonTil(AKTØR_ID_FAR, RelasjonsRolleType.EKTE, true) .build(); diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/DvhPersonopplysningXmlTjenesteImpl.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/DvhPersonopplysningXmlTjenesteImpl.java index 9d29c2b198f..5b908a90b91 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/DvhPersonopplysningXmlTjenesteImpl.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/DvhPersonopplysningXmlTjenesteImpl.java @@ -256,7 +256,7 @@ private void setAdresse(Skjæringstidspunkt stp, PersonopplysningerDvhEngangssto private Addresse lagAdresse(PersonAdresseEntitet adresseFraBehandling) { var adresse = personopplysningDvhObjectFactory.createAddresse(); adresse.setAddresseType(VedtakXmlUtil.lagKodeverksOpplysning(adresseFraBehandling.getAdresseType())); - adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand())); + adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand().getNavn())); adresse.setPostnummer(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getPostnummer())); return adresse; } diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/PersonopplysningXmlTjenesteImpl.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/PersonopplysningXmlTjenesteImpl.java index 81f05ae5485..ea79e389f55 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/PersonopplysningXmlTjenesteImpl.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/es/PersonopplysningXmlTjenesteImpl.java @@ -260,7 +260,7 @@ private Addresse lagAdresse(PersonopplysningEntitet personopplysning, PersonAdre if (adresseFraBehandling.getAdresselinje3() != null) { adresse.setAddresselinje3(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getAdresselinje3())); } - adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand())); + adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand().getNavn())); adresse.setMottakersNavn(VedtakXmlUtil.lagStringOpplysning(personopplysning.getNavn())); adresse.setPostnummer(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getPostnummer())); return adresse; diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/DvhPersonopplysningXmlTjenesteImpl.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/DvhPersonopplysningXmlTjenesteImpl.java index 46ab85b54e4..9bc6998bc45 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/DvhPersonopplysningXmlTjenesteImpl.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/DvhPersonopplysningXmlTjenesteImpl.java @@ -450,7 +450,7 @@ private void setAdresse(Skjæringstidspunkt stp, PersonopplysningerDvhForeldrepe private Addresse lagAdresse(PersonAdresseEntitet adresseFraBehandling) { var adresse = personopplysningDvhObjectFactory.createAddresse(); adresse.setAdressetype(VedtakXmlUtil.lagKodeverksOpplysning(adresseFraBehandling.getAdresseType())); - adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand())); + adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand().getNavn())); adresse.setPostnummer(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getPostnummer())); return adresse; } diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/PersonopplysningXmlTjenesteImpl.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/PersonopplysningXmlTjenesteImpl.java index 329a36a5e6c..6b97bbcbbe3 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/PersonopplysningXmlTjenesteImpl.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/fp/PersonopplysningXmlTjenesteImpl.java @@ -352,7 +352,7 @@ private Addresse lagAdresse(PersonopplysningEntitet personopplysning, PersonAdre if (adresseFraBehandling.getAdresselinje4() != null) { adresse.setAddresselinje4(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getAdresselinje4())); } - adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand())); + adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand().getNavn())); adresse.setMottakersNavn(VedtakXmlUtil.lagStringOpplysning(personopplysning.getNavn())); adresse.setPostnummer(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getPostnummer())); return adresse; diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/DvhPersonopplysningXmlTjenesteImpl.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/DvhPersonopplysningXmlTjenesteImpl.java index ff6bea7354a..c124ae3b5fb 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/DvhPersonopplysningXmlTjenesteImpl.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/DvhPersonopplysningXmlTjenesteImpl.java @@ -363,7 +363,7 @@ private void setAdresse(Skjæringstidspunkt stp, PersonopplysningerDvhForeldrepe private Addresse lagAdresse(PersonAdresseEntitet adresseFraBehandling) { var adresse = personopplysningDvhObjectFactory.createAddresse(); adresse.setAdressetype(VedtakXmlUtil.lagKodeverksOpplysning(adresseFraBehandling.getAdresseType())); - adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand())); + adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand().getNavn())); adresse.setPostnummer(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getPostnummer())); return adresse; } diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/PersonopplysningXmlTjenesteImpl.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/PersonopplysningXmlTjenesteImpl.java index dbffde6b6c3..2326b38ba57 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/PersonopplysningXmlTjenesteImpl.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/xml/svp/PersonopplysningXmlTjenesteImpl.java @@ -255,7 +255,7 @@ private Addresse lagAdresse(PersonopplysningEntitet personopplysning, PersonAdre if (adresseFraBehandling.getAdresselinje4() != null) { adresse.setAddresselinje4(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getAdresselinje4())); } - adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand())); + adresse.setLand(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getLand().getNavn())); adresse.setMottakersNavn(VedtakXmlUtil.lagStringOpplysning(personopplysning.getNavn())); adresse.setPostnummer(VedtakXmlUtil.lagStringOpplysning(adresseFraBehandling.getPostnummer())); return adresse; diff --git a/domenetjenester/inngangsvilkar/src/test/java/no/nav/foreldrepenger/inngangsvilkaar/medlemskap/v2/MedlemRegelGrunnlagByggerTest.java b/domenetjenester/inngangsvilkar/src/test/java/no/nav/foreldrepenger/inngangsvilkaar/medlemskap/v2/MedlemRegelGrunnlagByggerTest.java index c1d9bb71bdc..d98f6cc00b9 100644 --- a/domenetjenester/inngangsvilkar/src/test/java/no/nav/foreldrepenger/inngangsvilkaar/medlemskap/v2/MedlemRegelGrunnlagByggerTest.java +++ b/domenetjenester/inngangsvilkar/src/test/java/no/nav/foreldrepenger/inngangsvilkaar/medlemskap/v2/MedlemRegelGrunnlagByggerTest.java @@ -18,9 +18,12 @@ import no.nav.foreldrepenger.behandling.BehandlingReferanse; import no.nav.foreldrepenger.behandlingskontroll.FagsakYtelseTypeRef; import no.nav.foreldrepenger.behandlingslager.aktør.AdresseType; +import no.nav.foreldrepenger.behandlingslager.aktør.Adresseinfo; import no.nav.foreldrepenger.behandlingslager.aktør.NavBrukerKjønn; import no.nav.foreldrepenger.behandlingslager.aktør.OppholdstillatelseType; import no.nav.foreldrepenger.behandlingslager.aktør.PersonstatusType; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.AdressePeriode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.Gyldighetsperiode; import no.nav.foreldrepenger.behandlingslager.behandling.medlemskap.MedlemskapOppgittLandOppholdEntitet; import no.nav.foreldrepenger.behandlingslager.behandling.medlemskap.MedlemskapOppgittTilknytningEntitet; import no.nav.foreldrepenger.behandlingslager.behandling.medlemskap.MedlemskapPerioderBuilder; @@ -29,7 +32,6 @@ import no.nav.foreldrepenger.behandlingslager.fagsak.FagsakYtelseType; import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.ScenarioMorSøkerForeldrepenger; -import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning.PersonAdresse; import no.nav.foreldrepenger.behandlingslager.virksomhet.ArbeidType; import no.nav.foreldrepenger.dbstoette.CdiDbAwareTest; import no.nav.foreldrepenger.domene.arbeidsforhold.InntektArbeidYtelseTjeneste; @@ -70,10 +72,8 @@ class MedlemRegelGrunnlagByggerTest { .medDefaultFordeling(stp) .leggTilMedlemskapPeriode(registerMedlemskapsperiode); var personInformasjonBuilder = scenario.opprettBuilderForRegisteropplysninger(); - var adresse = PersonAdresse.builder() - .adresseType(AdresseType.BOSTEDSADRESSE) - .periode(fødselsdato.minusYears(5), Tid.TIDENES_ENDE) - .land(Landkoder.NOR); + var adressinfo = Adresseinfo.builder(AdresseType.BOSTEDSADRESSE).medLand(Landkoder.NOR); + var adresse = new AdressePeriode(Gyldighetsperiode.innenfor(fødselsdato.minusYears(5), Tid.TIDENES_ENDE), adressinfo.build()); var personstatusFom = fødselsdato.minusYears(10); var personstatusTom = Tid.TIDENES_ENDE; var statsborgerFom = fødselsdato.minusYears(10); @@ -119,8 +119,8 @@ class MedlemRegelGrunnlagByggerTest { assertThat(resultat.personopplysninger().adresser()).hasSize(1); var adresse1 = resultat.personopplysninger().adresser().stream().findFirst().orElseThrow(); - assertThat(adresse1.periode().getFomDato()).isEqualTo(adresse.getPeriode().getFomDato()); - assertThat(adresse1.periode().getTomDato()).isEqualTo(adresse.getPeriode().getTomDato()); + assertThat(adresse1.periode().getFomDato()).isEqualTo(adresse.gyldighetsperiode().fom()); + assertThat(adresse1.periode().getTomDato()).isEqualTo(adresse.gyldighetsperiode().tom()); assertThat(adresse1.erUtenlandsk()).isFalse(); assertThat(adresse1.type()).isEqualTo(Adresse.Type.BOSTEDSADRESSE); diff --git a/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/person/pdl/AdresseMapper.java b/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/person/pdl/AdresseMapper.java index 389a5a58d64..a7d9141c712 100644 --- a/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/person/pdl/AdresseMapper.java +++ b/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/person/pdl/AdresseMapper.java @@ -197,7 +197,7 @@ private Adresseinfo mapVegadresse(AdresseType type, Vegadresse vegadresse) { .medAdresselinje1(gateadresse) .medPostnummer(postnummer) .medPoststed(tilPoststed(postnummer)) - .medLand(Landkoder.NOR.getKode()) + .medLand(Landkoder.NOR) .build(); } @@ -212,7 +212,7 @@ private Adresseinfo mapMatrikkeladresse(AdresseType type, Matrikkeladresse matri .medAdresselinje2(matrikkeladresse.getTilleggsnavn() != null ? matrikkeladresse.getBruksenhetsnummer() : null) .medPostnummer(postnummer) .medPoststed(tilPoststed(postnummer)) - .medLand(Landkoder.NOR.getKode()) + .medLand(Landkoder.NOR) .build(); } @@ -226,7 +226,7 @@ private Adresseinfo mapPostboksadresse(Postboksadresse postboksadresse) { .medAdresselinje2(postboksadresse.getPostbokseier() != null ? postboks : null) .medPostnummer(postnummer) .medPoststed(tilPoststed(postnummer)) - .medLand(Landkoder.NOR.getKode()) + .medLand(Landkoder.NOR) .build(); } @@ -240,12 +240,12 @@ private Adresseinfo mapFriAdresseNorsk(PostadresseIFrittFormat postadresse) { .medAdresselinje3(postadresse.getAdresselinje3() != null ? postadresse.getAdresselinje3().toUpperCase() : null) .medPostnummer(postnummer) .medPoststed(tilPoststed(postnummer)) - .medLand(Landkoder.NOR.getKode()) + .medLand(Landkoder.NOR) .build(); } private static Adresseinfo mapUkjentadresse(UkjentBosted ukjentBosted) { - return Adresseinfo.builder(AdresseType.UKJENT_ADRESSE).medLand(Landkoder.XUK.getKode()).build(); + return Adresseinfo.builder(AdresseType.UKJENT_ADRESSE).medLand(Landkoder.XUK).build(); } private static Adresseinfo mapUtenlandskadresse(AdresseType type, UtenlandskAdresse utenlandskAdresse) { @@ -258,7 +258,7 @@ private static Adresseinfo mapUtenlandskadresse(AdresseType type, UtenlandskAdre return Adresseinfo.builder(type) .medAdresselinje1(linje1) .medAdresselinje2(linje2) - .medLand(utenlandskAdresse.getLandkode()) + .medLand(Landkoder.fraKode(utenlandskAdresse.getLandkode())) .build(); } @@ -272,7 +272,7 @@ private static Adresseinfo mapFriAdresseUtland(UtenlandskAdresseIFrittFormat ute .medAdresselinje2(utenlandskAdresse.getAdresselinje2() != null ? utenlandskAdresse.getAdresselinje2() : postlinje) .medAdresselinje3(utenlandskAdresse.getAdresselinje3() != null ? utenlandskAdresse.getAdresselinje3() : utenlandskAdresse.getAdresselinje2() != null ? postlinje : null) .medAdresselinje4(sisteline) - .medLand(utenlandskAdresse.getLandkode()) + .medLand(Landkoder.fraKode(utenlandskAdresse.getLandkode())) .build(); } diff --git a/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/personopplysning/PersonopplysningGrunnlagDiff.java b/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/personopplysning/PersonopplysningGrunnlagDiff.java index 9ae7e57f030..007fb18563b 100644 --- a/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/personopplysning/PersonopplysningGrunnlagDiff.java +++ b/domenetjenester/person/src/main/java/no/nav/foreldrepenger/domene/personopplysning/PersonopplysningGrunnlagDiff.java @@ -138,10 +138,6 @@ public boolean erAdresserEndretIPeriode(DatoIntervallEntitet periode) { hentUtlandAdresserForPeriode(grunnlag2, Set.of(søkerAktørId), periode)); } - public boolean erAdresseLandEndretForSøkerPeriode(DatoIntervallEntitet periode) { - return !Objects.equals(hentAdresserLandForPeriode(grunnlag1, Set.of(søkerAktørId), periode), hentAdresserLandForPeriode(grunnlag2, Set.of(søkerAktørId), periode)); - } - public boolean erSivilstandEndretForBruker() { return !Objects.equals(hentSivilstand(grunnlag1, søkerAktørId), hentSivilstand(grunnlag2, søkerAktørId)); } @@ -186,19 +182,11 @@ private List hentUtlandAdresserForPeriode(Personopplysning return registerVersjon(grunnlag).map(PersonInformasjonEntitet::getAdresser).orElse(Collections.emptyList()).stream() .filter(adr -> personer.contains(adr.getAktørId())) .filter(adr -> adr.getPeriode().overlapper(periode)) - .filter(adr -> !Landkoder.erNorge(adr.getLand())) + .filter(adr -> !Landkoder.NOR.equals(adr.getLand())) .sorted(COMP_ADRESSE) .toList(); } - private Set hentAdresserLandForPeriode(PersonopplysningGrunnlagEntitet grunnlag, Set personer, DatoIntervallEntitet periode) { - return registerVersjon(grunnlag).map(PersonInformasjonEntitet::getAdresser).orElse(Collections.emptyList()).stream() - .filter(adr -> personer.contains(adr.getAktørId())) - .filter(adr -> adr.getPeriode().overlapper(periode)) - .map(PersonAdresseEntitet::getLand) - .collect(Collectors.toSet()); - } - private Set hentSivilstand(PersonopplysningGrunnlagEntitet grunnlag, AktørId person) { return registerVersjon(grunnlag).map(PersonInformasjonEntitet::getPersonopplysninger).orElse(Collections.emptyList()).stream() .filter(po -> person.equals(po.getAktørId())) diff --git a/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/personopplysning/PersonadresseDto.java b/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/personopplysning/PersonadresseDto.java index 45e82b230ce..5f87fbfbd0e 100644 --- a/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/personopplysning/PersonadresseDto.java +++ b/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/behandling/personopplysning/PersonadresseDto.java @@ -2,12 +2,12 @@ import static no.nav.foreldrepenger.web.app.util.StringUtils.formaterMedStoreOgSmåBokstaver; +import java.time.LocalDate; + import no.nav.foreldrepenger.behandlingslager.aktør.AdresseType; import no.nav.foreldrepenger.behandlingslager.behandling.personopplysning.PersonAdresseEntitet; import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; -import java.time.LocalDate; - public class PersonadresseDto { private LocalDate fom; @@ -29,7 +29,7 @@ public static PersonadresseDto tilDto(PersonAdresseEntitet adresse) { dto.setAdresselinje3(formaterMedStoreOgSmåBokstaver(adresse.getAdresselinje3())); dto.setPoststed(formaterMedStoreOgSmåBokstaver(adresse.getPoststed())); dto.setPostNummer(adresse.getPostnummer()); - dto.setLand(Landkoder.navnLesbart(Landkoder.fraKode(adresse.getLand()))); + dto.setLand(Landkoder.navnLesbart(adresse.getLand())); dto.setAdresseType(adresse.getAdresseType()); return dto; } diff --git a/web/src/test/java/no/nav/foreldrepenger/web/app/tjenester/behandling/medlem/MedlemDtoTjenesteTest.java b/web/src/test/java/no/nav/foreldrepenger/web/app/tjenester/behandling/medlem/MedlemDtoTjenesteTest.java index fc6d7cec77d..92c3334ab98 100644 --- a/web/src/test/java/no/nav/foreldrepenger/web/app/tjenester/behandling/medlem/MedlemDtoTjenesteTest.java +++ b/web/src/test/java/no/nav/foreldrepenger/web/app/tjenester/behandling/medlem/MedlemDtoTjenesteTest.java @@ -10,9 +10,12 @@ import org.junit.jupiter.api.Test; import no.nav.foreldrepenger.behandlingslager.aktør.AdresseType; +import no.nav.foreldrepenger.behandlingslager.aktør.Adresseinfo; import no.nav.foreldrepenger.behandlingslager.aktør.NavBrukerKjønn; import no.nav.foreldrepenger.behandlingslager.aktør.OppholdstillatelseType; import no.nav.foreldrepenger.behandlingslager.aktør.PersonstatusType; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.AdressePeriode; +import no.nav.foreldrepenger.behandlingslager.aktør.historikk.Gyldighetsperiode; import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingStegType; import no.nav.foreldrepenger.behandlingslager.behandling.aksjonspunkt.AksjonspunktDefinisjon; import no.nav.foreldrepenger.behandlingslager.behandling.medlemskap.MedlemskapOppgittLandOppholdEntitet; @@ -23,7 +26,6 @@ import no.nav.foreldrepenger.behandlingslager.geografisk.Landkoder; import no.nav.foreldrepenger.behandlingslager.geografisk.Region; import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.ScenarioMorSøkerForeldrepenger; -import no.nav.foreldrepenger.behandlingslager.testutilities.behandling.personopplysning.PersonAdresse; import no.nav.foreldrepenger.dbstoette.CdiDbAwareTest; import no.nav.foreldrepenger.domene.typer.AktørId; import no.nav.foreldrepenger.inngangsvilkaar.medlemskap.MedlemskapAvvik; @@ -51,10 +53,8 @@ void skal_lage_medlemskap_dto() { scenario.medSøknadAnnenPart().medAktørId(aktørIdAnnenPart).medNavn("Ola Dunk").build(); var personInformasjonBuilder = scenario.opprettBuilderForRegisteropplysninger(); - var adresse = PersonAdresse.builder() - .adresseType(AdresseType.BOSTEDSADRESSE) - .periode(fødselsdato.minusYears(5), Tid.TIDENES_ENDE) - .land(Landkoder.NOR); + var adresse = new AdressePeriode(Gyldighetsperiode.innenfor(fødselsdato.minusYears(5), null), + Adresseinfo.builder(AdresseType.BOSTEDSADRESSE).medLand(Landkoder.NOR).build()); var personstatusFom = fødselsdato.minusYears(10); var personstatusTom = Tid.TIDENES_ENDE; var statsborgerFom = fødselsdato.minusYears(10); @@ -104,8 +104,8 @@ void skal_lage_medlemskap_dto() { assertThat(dto.adresser()).hasSize(1); var adresse1 = dto.adresser().stream().findFirst().orElseThrow(); - assertThat(adresse1.fom()).isEqualTo(adresse.getPeriode().getFomDato()); - assertThat(adresse1.tom()).isEqualTo(adresse.getPeriode().getTomDato()); + assertThat(adresse1.fom()).isEqualTo(adresse.gyldighetsperiode().fom()); + assertThat(adresse1.tom()).isEqualTo(adresse.gyldighetsperiode().tom()); assertThat(adresse1.adresse().getAdresseType()).isEqualTo(AdresseType.BOSTEDSADRESSE); assertThat(dto.regioner()).hasSize(1); @@ -135,8 +135,8 @@ void skal_lage_medlemskap_dto() { assertThat(dto.annenpart().adresser()).hasSize(1); var adresseAP1 = dto.adresser().stream().findFirst().orElseThrow(); - assertThat(adresseAP1.fom()).isEqualTo(adresse.getPeriode().getFomDato()); - assertThat(adresseAP1.tom()).isEqualTo(adresse.getPeriode().getTomDato()); + assertThat(adresseAP1.fom()).isEqualTo(adresse.gyldighetsperiode().fom()); + assertThat(adresseAP1.tom()).isEqualTo(adresse.gyldighetsperiode().tom()); assertThat(adresseAP1.adresse().getAdresseType()).isEqualTo(AdresseType.BOSTEDSADRESSE); assertThat(dto.annenpart().regioner()).hasSize(1);