From d54af769363366093832a1bd3ebafd315eba8c8c Mon Sep 17 00:00:00 2001 From: Jens-Otto Larsen <46576810+jolarsen@users.noreply.github.com> Date: Tue, 12 Sep 2023 09:30:42 +0200 Subject: [PATCH] =?UTF-8?q?Metode=20for=20=C3=A5=20knytte=20en=20journalpo?= =?UTF-8?q?st=20til=20annen=20sak=20(#1322)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dokarkiv/AbstractDokArkivKlient.java | 32 +++++++++++++------ .../felles/integrasjon/dokarkiv/DokArkiv.java | 4 +++ .../dokarkiv/dto/KnyttTilAnnenSakRequest.java | 8 +++++ .../dto/KnyttTilAnnenSakResponse.java | 5 +++ 4 files changed, 39 insertions(+), 10 deletions(-) create mode 100644 integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakRequest.java create mode 100644 integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakResponse.java diff --git a/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/AbstractDokArkivKlient.java b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/AbstractDokArkivKlient.java index f9e914b14..592d63bfb 100644 --- a/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/AbstractDokArkivKlient.java +++ b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/AbstractDokArkivKlient.java @@ -2,22 +2,20 @@ import java.net.URI; -import jakarta.ws.rs.core.UriBuilder; -import jakarta.ws.rs.core.UriBuilderException; - -import no.nav.vedtak.exception.TekniskException; - -import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.TilknyttVedleggRequest; - -import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.TilknyttVedleggResponse; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import jakarta.ws.rs.core.UriBuilder; +import jakarta.ws.rs.core.UriBuilderException; +import no.nav.vedtak.exception.TekniskException; import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.FerdigstillJournalpostRequest; +import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.KnyttTilAnnenSakRequest; +import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.KnyttTilAnnenSakResponse; import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.OppdaterJournalpostRequest; import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.OpprettJournalpostRequest; import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.OpprettJournalpostResponse; +import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.TilknyttVedleggRequest; +import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.TilknyttVedleggResponse; import no.nav.vedtak.felles.integrasjon.rest.RestClient; import no.nav.vedtak.felles.integrasjon.rest.RestConfig; import no.nav.vedtak.felles.integrasjon.rest.RestRequest; @@ -100,8 +98,22 @@ public void tilknyttVedlegg(TilknyttVedleggRequest request, String journalpostId LOG.info("Vedlegg tilknyttet {} OK", journalpostId); } } catch (UriBuilderException | IllegalArgumentException e) { - throw new TekniskException("FPFORMIDLING-156531", + throw new TekniskException("F-156531", String.format("Feil ved oppretting av URI for tilknytning av vedlegg til %s: %s.", journalpostId, request.toString()), e); } } + + @Override + public KnyttTilAnnenSakResponse knyttTilAnnenSak(String journalpostId, KnyttTilAnnenSakRequest request) { + try { + var tilknyttPath = String.format("/%s/knyttTilAnnenSak", journalpostId); + var uri = UriBuilder.fromUri(restConfig.endpoint()).path(tilknyttPath).build(); + + var method = new RestRequest.Method(RestRequest.WebMethod.PUT, RestRequest.jsonPublisher(request)); + var rrequest = RestRequest.newRequest(method, uri, restConfig); + return restKlient.send(rrequest, KnyttTilAnnenSakResponse.class); + } catch (Exception e) { + throw new TekniskException("F-156532", String.format("Feil ved knytning av journalpost %s til annen sak: %s.", journalpostId, request.toString()), e); + } + } } diff --git a/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/DokArkiv.java b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/DokArkiv.java index 7a67e2b79..9b6223bcb 100644 --- a/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/DokArkiv.java +++ b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/DokArkiv.java @@ -1,6 +1,8 @@ package no.nav.vedtak.felles.integrasjon.dokarkiv; +import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.KnyttTilAnnenSakRequest; +import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.KnyttTilAnnenSakResponse; import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.OppdaterJournalpostRequest; import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.OpprettJournalpostRequest; import no.nav.vedtak.felles.integrasjon.dokarkiv.dto.OpprettJournalpostResponse; @@ -15,4 +17,6 @@ public interface DokArkiv { boolean oppdaterJournalpost(String journalpostId, OppdaterJournalpostRequest request); void tilknyttVedlegg(TilknyttVedleggRequest request, String journalpostId); + + KnyttTilAnnenSakResponse knyttTilAnnenSak(String journalpostId, KnyttTilAnnenSakRequest request); } diff --git a/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakRequest.java b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakRequest.java new file mode 100644 index 000000000..729efc29d --- /dev/null +++ b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakRequest.java @@ -0,0 +1,8 @@ +package no.nav.vedtak.felles.integrasjon.dokarkiv.dto; + +import java.time.LocalDate; + +public record KnyttTilAnnenSakRequest(String sakstype, String fagsakId, String fagsaksystem, + Bruker bruker, String tema, String journalfoerendeEnhet) { + +} diff --git a/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakResponse.java b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakResponse.java new file mode 100644 index 000000000..bf43d7813 --- /dev/null +++ b/integrasjon/dokarkiv-klient/src/main/java/no/nav/vedtak/felles/integrasjon/dokarkiv/dto/KnyttTilAnnenSakResponse.java @@ -0,0 +1,5 @@ +package no.nav.vedtak.felles.integrasjon.dokarkiv.dto; + +public record KnyttTilAnnenSakResponse(String nyJournalpostId) { + +}