diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/fullmakt/FullmaktClient.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/fullmakt/FullmaktClient.java index b4b2e77435..45ed1b839d 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/fullmakt/FullmaktClient.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/fullmakt/FullmaktClient.java @@ -12,6 +12,7 @@ import no.nav.dolly.errorhandling.ErrorStatusDecoder; import no.nav.dolly.exceptions.DollyFunctionalException; import no.nav.dolly.util.TransactionHelperService; +import no.nav.testnav.libs.data.pdlforvalter.v1.PersonDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.RelasjonType; import org.springframework.stereotype.Service; import reactor.core.publisher.Flux; @@ -43,8 +44,11 @@ public Flux gjenopprett(RsDollyUtvidetBestilling bestilling, Dolly fullmakt.setFullmaktsgiver(dollyPerson.getIdent()); if (isBlank(fullmakt.getFullmektig())) { return pdlDataConsumer.getPersoner(singletonList(dollyPerson.getIdent())) - .flatMap(person -> Flux.fromStream(person.getRelasjoner().stream() - .filter(relasjon -> relasjon.getRelasjonType().equals(RelasjonType.FULLMEKTIG)))) + .flatMap(person -> { + fullmakt.setFullmektigsNavn(getFullName(person.getPerson())); + return Flux.fromStream(person.getRelasjoner().stream() + .filter(relasjon -> relasjon.getRelasjonType().equals(RelasjonType.FULLMEKTIG))); + }) .next() .map(relasjon -> { fullmakt.setFullmektig(relasjon.getRelatertPerson().getIdent()); @@ -86,4 +90,11 @@ private String getStatus(FullmaktResponse response) { return response.getStatus().is2xxSuccessful() ? "OK" : errorStatusDecoder.getErrorText(response.getStatus(), response.getMelding()); } + + private String getFullName(PersonDTO person) { + var navn = person.getNavn().getFirst(); + return (isBlank(navn.getMellomnavn())) + ? "%s %s".formatted(navn.getFornavn(), navn.getEtternavn()) + : "%s %s %s".formatted(navn.getFornavn(), navn.getMellomnavn(), navn.getEtternavn()); + } } diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/fullmakt/RsFullmakt.java b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/fullmakt/RsFullmakt.java index 12457bb99d..e33601537c 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/fullmakt/RsFullmakt.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/domain/resultset/fullmakt/RsFullmakt.java @@ -25,6 +25,7 @@ public class RsFullmakt { @Field(type = FieldType.Date, format = DateFormat.date_hour_minute_second, pattern = "uuuu-MM-dd'T'HH:mm:ss") private LocalDateTime gyldigTilOgMed; private String fullmektig; + private String fullmektigsNavn; private String fullmaktsgiver; private List omraade; diff --git a/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/fullmakt/FullmaktClientTest.java b/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/fullmakt/FullmaktClientTest.java index 1d6ea3d6ca..f370f0237e 100644 --- a/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/fullmakt/FullmaktClientTest.java +++ b/apps/dolly-backend/src/test/java/no/nav/dolly/bestilling/fullmakt/FullmaktClientTest.java @@ -10,6 +10,7 @@ import no.nav.dolly.errorhandling.ErrorStatusDecoder; import no.nav.dolly.util.TransactionHelperService; import no.nav.testnav.libs.data.pdlforvalter.v1.FullPersonDTO; +import no.nav.testnav.libs.data.pdlforvalter.v1.NavnDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.PersonDTO; import no.nav.testnav.libs.data.pdlforvalter.v1.RelasjonType; import org.junit.jupiter.api.BeforeEach; @@ -32,6 +33,8 @@ public class FullmaktClientTest { + private static final String NAVN = "Fornavn Etternavn"; + private static final String IDENT = "12345678902"; @Mock private ErrorStatusDecoder errorStatusDecoder; @@ -61,18 +64,25 @@ public void shouldSetMissingFullmektigFromPdlRelasjon() { .tema("AAP") .handling(singletonList("LES")) .build())) + .fullmektigsNavn(NAVN) .gyldigFraOgMed(LocalDateTime.of(2021, 1, 1, 0, 0)) .gyldigTilOgMed(LocalDateTime.of(2022, 1, 1, 0, 0)) .build())); - DollyPerson dollyPerson = DollyPerson.builder().ident("12345678901").build(); + DollyPerson dollyPerson = DollyPerson.builder().ident(IDENT).build(); BestillingProgress progress = new BestillingProgress(); FullPersonDTO fullPersonDTO = FullPersonDTO.builder() + .person(PersonDTO.builder().ident(IDENT) + .navn(singletonList(NavnDTO.builder() + .fornavn("Fornavn") + .etternavn("Etternavn") + .build())) + .build()) .relasjoner(List.of( FullPersonDTO.RelasjonDTO.builder() .relasjonType(RelasjonType.FULLMEKTIG) - .relatertPerson(PersonDTO.builder().ident("12345678902").build()) + .relatertPerson(PersonDTO.builder().ident(IDENT).build()) .build() )) .build(); @@ -91,6 +101,7 @@ public void shouldSetMissingFullmektigFromPdlRelasjon() { verify(fullmaktConsumer).createFullmaktData(fullmaktCaptor.capture(), any()); List capturedFullmaktList = fullmaktCaptor.getValue(); - assertEquals("12345678902", capturedFullmaktList.get(0).getFullmektig()); + assertEquals(IDENT, capturedFullmaktList.getFirst().getFullmektig()); + assertEquals(NAVN, capturedFullmaktList.getFirst().getFullmektigsNavn()); } } \ No newline at end of file