Skip to content

Commit

Permalink
Revert "Bugfix/sivilstand opphoerstidspunkt etter gyldighetstidspunkt (
Browse files Browse the repository at this point in the history
…#3716)"

This reverts commit f7701af.
  • Loading branch information
krharum committed Jan 13, 2025
1 parent f7701af commit 0244e78
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 64 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ public static void main(String[] args) {

SpringApplication.run(PdlForvalterApplicationStarter.class, args);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
Expand All @@ -71,6 +72,7 @@ public class PersonController {
private final ArtifactUpdateService artifactUpdateService;
private final MetadataTidspunkterService metadataTidspunkterService;

@ResponseBody
@GetMapping
@Operation(description = "Hent person(er) med angitt(e) ident(er) eller alle")
public List<FullPersonDTO> getPerson(@Parameter(description = "Ident(er) på personer som skal hentes")
Expand All @@ -94,13 +96,15 @@ public List<FullPersonDTO> getPerson(@Parameter(description = "Ident(er) på per
.build());
}

@ResponseBody
@PostMapping
@Operation(description = "Opprett person basert på angitte informasjonselementer, minimum er {}")
public String createPerson(@RequestBody BestillingRequestDTO request) {

return personService.createPerson(request);
}

@ResponseBody
@PutMapping(value = "/{ident}")
@Operation(description = "Oppdater testperson basert på angitte informasjonselementer")
public String updatePerson(@Parameter(description = "Ident på testperson som skal oppdateres")
Expand All @@ -115,6 +119,7 @@ public String updatePerson(@Parameter(description = "Ident på testperson som sk
}

@Transactional
@ResponseBody
@PostMapping(value = "/{ident}/ordre")
@Operation(description = "Send angitte testperson(er) med relasjoner til PDL")
public OrdreResponseDTO sendPersonTilPdl(@Parameter(description = "Ident på hovedperson som skal sendes")
Expand All @@ -127,6 +132,7 @@ public OrdreResponseDTO sendPersonTilPdl(@Parameter(description = "Ident på hov
return pdlOrdreService.send(ident, ekskluderEksternePersoner);
}

@ResponseBody
@DeleteMapping(value = "/{ident}")
@Operation(description = "Slett person")
public void deletePerson(@Parameter(description = "Slett angitt testperson med relasjoner")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package no.nav.pdl.forvalter.service;

import lombok.RequiredArgsConstructor;
import no.nav.pdl.forvalter.database.repository.PersonRepository;
import no.nav.pdl.forvalter.exception.InvalidRequestException;
import no.nav.testnav.libs.data.pdlforvalter.v1.DoedsfallDTO;
import no.nav.testnav.libs.data.pdlforvalter.v1.PersonDTO;
import no.nav.testnav.libs.data.pdlforvalter.v1.SivilstandDTO;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

Expand All @@ -16,14 +14,11 @@
import static no.nav.pdl.forvalter.utils.ArtifactUtils.getMaster;
import static no.nav.pdl.forvalter.utils.ArtifactUtils.renumberId;
import static org.apache.commons.lang3.BooleanUtils.isTrue;
import static org.apache.commons.lang3.StringUtils.isNotBlank;

@Service
@RequiredArgsConstructor
public class DoedsfallService implements Validation<DoedsfallDTO> {

private static final String INVALID_DATO_MISSING = "Dødsfall: dødsdato må oppgis";
private final PersonRepository personRepository;

public List<DoedsfallDTO> convert(PersonDTO person) {

Expand All @@ -35,33 +30,14 @@ public List<DoedsfallDTO> convert(PersonDTO person) {
}
}

person.setDoedsfall(new ArrayList<>(person.getDoedsfall()));

person.getDoedsfall().sort(Comparator.comparing(DoedsfallDTO::getDoedsdato).reversed());
renumberId(person.getDoedsfall());

handle(person);

return person.getDoedsfall();
}

private void handle(PersonDTO person) {

if (!person.getSivilstand().isEmpty() &&
isNotBlank(person.getSivilstand().getFirst().getRelatertVedSivilstand()) &&
person.getSivilstand().getFirst().isGift()) {

personRepository.findByIdent(person.getSivilstand().getFirst().getRelatertVedSivilstand())
.ifPresent(person1 ->
person1.getPerson().getSivilstand().addFirst(
SivilstandDTO.builder()
.type(person.getSivilstand().getFirst().getGjenlevendeSivilstand())
.sivilstandsdato(person.getDoedsfall().getFirst().getDoedsdato())
.kilde(person.getDoedsfall().getFirst().getKilde())
.master(person.getDoedsfall().getFirst().getMaster())
.id(person1.getPerson().getSivilstand().size() + 1)
.build()));
}
}

@Override
public void validate(DoedsfallDTO type) {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package no.nav.pdl.forvalter.service;

import lombok.RequiredArgsConstructor;
import ma.glasnost.orika.MapperFacade;
import no.nav.pdl.forvalter.database.model.DbPerson;
import no.nav.pdl.forvalter.database.model.DbRelasjon;
import no.nav.pdl.forvalter.database.repository.PersonRepository;
Expand Down Expand Up @@ -31,7 +30,7 @@
import java.time.LocalDateTime;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.atomic.AtomicInteger;

import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
Expand All @@ -41,7 +40,6 @@
public class MetadataTidspunkterService {

private final PersonRepository personRepository;
private final MapperFacade mapperFacade;

public void updateMetadata(String ident) {

Expand Down Expand Up @@ -223,33 +221,31 @@ private static void fixSikkerhetstiltak(SikkerhetstiltakDTO sikkerhetstiltakDTO)
sikkerhetstiltakDTO.getFolkeregistermetadata().setOpphoerstidspunkt(sikkerhetstiltakDTO.getGyldigTilOgMed());
}

private void fixSivilstand(PersonDTO person) {
private static void fixSivilstand(PersonDTO person) {

person.getSivilstand().sort(Comparator.comparing(SivilstandDTO::getId).reversed());

var sivilstandCopy = mapperFacade.mapAsList(person.getSivilstand(), SivilstandDTO.class);
var dato = new AtomicReference<>(LocalDateTime.now());

sivilstandCopy
var counter = new AtomicInteger(0);
person.getSivilstand()
.forEach(sivilstand -> {
if (isNull(sivilstand.getSivilstandsdato()) && isNull(sivilstand.getBekreftelsesdato())) {

sivilstand.setSivilstandsdato(dato.get());
dato.set(dato.get().minusYears(1));

} else {
var sivilstandsdato = nonNull(sivilstand.getSivilstandsdato()) ? sivilstand.getSivilstandsdato() : sivilstand.getBekreftelsesdato();
sivilstand.setSivilstandsdato(sivilstandsdato);
dato.set(sivilstandsdato.minusYears(1));
fixFolkeregisterMetadata(sivilstand);
if (isNull(sivilstand.getFolkeregistermetadata().getGyldighetstidspunkt())) {

LocalDateTime gyldighetstidspunkt;
if (nonNull(sivilstand.getSivilstandsdato())) {
gyldighetstidspunkt = sivilstand.getSivilstandsdato();
} else if (nonNull(sivilstand.getBekreftelsesdato())) {
gyldighetstidspunkt = sivilstand.getBekreftelsesdato();
} else {
gyldighetstidspunkt = LocalDateTime.now().minusYears(counter.incrementAndGet());
}
sivilstand.getFolkeregistermetadata().setGyldighetstidspunkt(gyldighetstidspunkt);
}
if (isNull(sivilstand.getFolkeregistermetadata().getAjourholdstidspunkt())) {
sivilstand.getFolkeregistermetadata().setAjourholdstidspunkt(
sivilstand.getFolkeregistermetadata().getGyldighetstidspunkt());
}
});

for (int i = 0; i < person.getSivilstand().size(); i++) {

var sivilstand = person.getSivilstand().get(i);
fixFolkeregisterMetadata(sivilstand);
sivilstand.getFolkeregistermetadata().setAjourholdstidspunkt(sivilstandCopy.get(i).getSivilstandsdato());
}
}

private static void fixStatsborgerskap(StatsborgerskapDTO statsborgerskapDTO) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,14 @@ public PersonDTO buildPerson(PersonDTO person, Boolean relaxed) {
person.setUtflytting(utflyttingService.convert(person));
person.setOpphold(oppholdService.convert(person.getOpphold()));
person.setTilrettelagtKommunikasjon(tilrettelagtKommunikasjonService.convert(person.getTilrettelagtKommunikasjon()));
person.setSivilstand(sivilstandService.convert(person));
person.setDoedsfall(doedsfallService.convert(person));
person.setFullmakt(fullmaktService.convert(person));
person.setKontaktadresse(kontaktAdresseService.convert(person, relaxed));
person.setUtenlandskIdentifikasjonsnummer(utenlandsidentifikasjonsnummerService.convert(person));
person.setVergemaal(vergemaalService.convert(person));
person.setFalskIdentitet(falskIdentitetService.convert(person));
person.setKontaktinformasjonForDoedsbo(kontaktinformasjonForDoedsboService.convert(person));
person.setSivilstand(sivilstandService.convert(person));
person.setForelderBarnRelasjon(forelderBarnRelasjonService.convert(person));
person.setForeldreansvar(foreldreansvarService.convert(person));
person.setDoedfoedtBarn(doedfoedtBarnService.convert(person.getDoedfoedtBarn()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,17 +96,6 @@ public boolean hasRelatertVedSivilstand() {
}

@JsonIgnore
public Sivilstand getGjenlevendeSivilstand() {

return switch (type) {
case GIFT -> Sivilstand.ENKE_ELLER_ENKEMANN;
case REGISTRERT_PARTNER -> Sivilstand.GJENLEVENDE_PARTNER;
default -> type;
};
}

@JsonIgnore
@Override
public String getIdentForRelasjon() {
return relatertVedSivilstand;
}
Expand Down

0 comments on commit 0244e78

Please sign in to comment.