Skip to content

Commit

Permalink
Refactor birth-related methods in multiple services #deploy-test-pdl-…
Browse files Browse the repository at this point in the history
…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.
  • Loading branch information
krharum committed Jun 19, 2024
1 parent 1a52375 commit eae1b20
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,10 @@ public List<ForeldreansvarDTO> 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 {
Expand Down Expand Up @@ -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()));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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()
Expand Down Expand Up @@ -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(),
Expand All @@ -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);

Expand Down

0 comments on commit eae1b20

Please sign in to comment.