From eae1b2032555ccfc19ffa274f6c7eabf1c60b60d Mon Sep 17 00:00:00 2001 From: kristenhaerum Date: Wed, 19 Jun 2024 10:54:42 +0200 Subject: [PATCH] Refactor birth-related methods in multiple services #deploy-test-pdl-forvalter The commit revolves around refactoring code in 'ForelderBarnRelasjonService', 'ForeldreansvarService' and 'MetadataTidspunkterService'. It replaces the usage of 'FoedselDTO' with 'FoedselsdatoDTO' and adds handling for an extra parameter 'Foedselsdato'. Exception checks are made more comprehensive in 'ForeldreansvarService'. These modifications improve the handling of birth-related information like birthdate and birthplace in the services. --- .../service/ForelderBarnRelasjonService.java | 4 ++-- .../pdl/forvalter/service/ForeldreansvarService.java | 12 +++++++----- .../service/MetadataTidspunkterService.java | 10 +++++++--- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForelderBarnRelasjonService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForelderBarnRelasjonService.java index 015c39c594b..bc79b90eada 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForelderBarnRelasjonService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForelderBarnRelasjonService.java @@ -242,11 +242,11 @@ private String setRelatertPerson(ForelderBarnRelasjonDTO relasjon, PersonDTO hov PersonDTO relatertPerson = createPersonService.execute(relasjon.getNyRelatertPerson()); if (isNotTrue(relasjon.getBorIkkeSammen()) && !hovedperson.getBostedsadresse().isEmpty()) { - BostedadresseDTO fellesAdresse = hovedperson.getBostedsadresse().stream() + var fellesAdresse = mapperFacade.map(hovedperson.getBostedsadresse().stream() .findFirst() .orElse(BostedadresseDTO.builder() .vegadresse(mapperFacade.map(defaultAdresse(), VegadresseDTO.class)) - .build()); + .build()), BostedadresseDTO.class); fellesAdresse.setGyldigFraOgMed(getMaxDato(getLastFlyttedato(hovedperson), getLastFlyttedato(relatertPerson))); if (!relatertPerson.getBostedsadresse().isEmpty()) { relatertPerson.getBostedsadresse().set(0, fellesAdresse); diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForeldreansvarService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForeldreansvarService.java index a8e047536c2..32e5c6ec31a 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForeldreansvarService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/ForeldreansvarService.java @@ -87,8 +87,10 @@ public List convert(PersonDTO person) { type.setKilde(getKilde(type)); type.setMaster(getMaster(type, person)); - if (person.getFoedsel().stream() - .anyMatch(alder -> alder.getFoedselsdato().isBefore(LocalDateTime.now().minusYears(MYNDIG_ALDER)))) { + if (person.getFoedselsdato().stream() + .anyMatch(alder -> alder.getFoedselsdato().isBefore(LocalDateTime.now().minusYears(MYNDIG_ALDER))) || + person.getFoedsel().stream() + .anyMatch(alder -> alder.getFoedselsdato().isBefore(LocalDateTime.now().minusYears(MYNDIG_ALDER)))) { // hovedperson er voksen handle(type, person); } else { @@ -197,11 +199,11 @@ private static boolean isRelasjonFraBarn(PersonDTO barn, Rolle... roller) { .anyMatch(relasjon -> List.of(roller).contains(relasjon.getRelatertPersonsRolle())); } - private boolean isRelasjonForeldre(PersonDTO hovedperson) { + private boolean isRelasjonForeldre(PersonDTO person) { - return hovedperson.getForelderBarnRelasjon().stream() + return person.getForelderBarnRelasjon().stream() .anyMatch(relasjon -> relasjon.isForeldre() && isNotTrue(relasjon.getPartnerErIkkeForelder())) && - hovedperson.getSivilstand().stream() + person.getSivilstand().stream() .anyMatch(sivilstand -> (sivilstand.isGift() || sivilstand.isSeparert())); } diff --git a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/MetadataTidspunkterService.java b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/MetadataTidspunkterService.java index 78cde9e2045..9f833fa2824 100644 --- a/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/MetadataTidspunkterService.java +++ b/apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/service/MetadataTidspunkterService.java @@ -10,7 +10,7 @@ import no.nav.testnav.libs.data.pdlforvalter.v1.DeltBostedDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.DoedsfallDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.FalskIdentitetDTO; -import no.nav.testnav.libs.data.pdlforvalter.v1.FoedselDTO; +import no.nav.testnav.libs.data.pdlforvalter.v1.FoedselsdatoDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.FolkeregisterPersonstatusDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.FolkeregistermetadataDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.ForeldreansvarDTO; @@ -68,6 +68,10 @@ private void fixPerson(String ident) { .forEach(this::fixDoedsfall); person.getFoedsel() .forEach(foedsel -> fixFoedsel(foedsel, person)); + person.getFoedselsdato() + .forEach(foedselsdato -> fixFoedsel(foedselsdato, person)); + person.getFoedested() + .forEach(this::fixVersioning); person.getFalskIdentitet() .forEach(this::fixFalskIdentitet); person.getFolkeregisterPersonstatus() @@ -264,7 +268,7 @@ private void fixNavn(PersonDTO personDTO) { }); } - private static LocalDateTime getFoedselsdato(PersonDTO personDTO, FoedselDTO foedsel) { + private static LocalDateTime getFoedselsdato(PersonDTO personDTO, FoedselsdatoDTO foedsel) { return nonNull(foedsel.getFoedselsdato()) ? foedsel.getFoedselsdato() : LocalDate.of(foedsel.getFoedselsaar(), @@ -280,7 +284,7 @@ private void fixDoedsfall(DoedsfallDTO doedsfallDTO) { doedsfallDTO.getFolkeregistermetadata().setGyldighetstidspunkt(doedsfallDTO.getDoedsdato()); } - private void fixFoedsel(FoedselDTO foedselDTO, PersonDTO personDTO) { + private void fixFoedsel(FoedselsdatoDTO foedselDTO, PersonDTO personDTO) { fixFolkeregisterMetadata(foedselDTO);