From a223dd4985c2403e45bc70e747e4c72211584914 Mon Sep 17 00:00:00 2001 From: Jens-Otto Larsen <46576810+jolarsen@users.noreply.github.com> Date: Wed, 30 Oct 2024 10:22:36 +0100 Subject: [PATCH] TFP-5859 dvh relatert til fagsystem (#6824) * TFP-5859 dvh relatert til fagsystem * Mappe inn ny kolonne * Manglende oppsett * Litt mer fiks --- .../datavarehus/domene/BehandlingDvh.java | 14 ++ .../tjeneste/BehandlingDvhMapper.java | 10 ++ ....0_23__TFP_5859_relatert_til_fagsystem.sql | 2 + .../ForvaltningUttrekkRestTjeneste.java | 148 +----------------- 4 files changed, 29 insertions(+), 145 deletions(-) create mode 100644 migreringer/src/main/resources/db/migration/dvhDS/2.4.0/V2.4.0_23__TFP_5859_relatert_til_fagsystem.sql diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/domene/BehandlingDvh.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/domene/BehandlingDvh.java index 65452520885..5ef46e772c2 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/domene/BehandlingDvh.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/domene/BehandlingDvh.java @@ -68,6 +68,9 @@ public class BehandlingDvh extends DvhBaseEntitet { @Column(name = "RELATERT_TIL_UUID") private UUID relatertBehandlingUuid; + @Column(name = "RELATERT_TIL_FAGSYSTEM") + private String relatertBehandlingFagsystem; + @Column(name = "FAMILIE_HENDELSE_TYPE") private String familieHendelseType; @@ -184,6 +187,10 @@ public UUID getRelatertBehandlingUuid() { return relatertBehandlingUuid; } + public String getRelatertBehandlingFagsystem() { + return relatertBehandlingFagsystem; + } + public String getFamilieHendelseType() { return familieHendelseType; } @@ -321,6 +328,7 @@ public static class Builder { private String endretAv; private Long relatertBehandling; private UUID relatertBehandlingUuid; + private String relatertBehandlingFagsystem; private String familieHendelseType; private LocalDate foersteStoenadsdag; private UUID uuid; @@ -424,6 +432,11 @@ public Builder relatertBehandlingUuid(UUID relatertBehandlingUuid) { return this; } + public Builder relatertBehandlingFagsystem(String relatertBehandlingFagsystem) { + this.relatertBehandlingFagsystem = relatertBehandlingFagsystem; + return this; + } + public Builder familieHendelseType(String familieHendelseType) { this.familieHendelseType = familieHendelseType; return this; @@ -515,6 +528,7 @@ public BehandlingDvh build() { behandlingDvh.ansvarligBeslutter = ansvarligBeslutter; behandlingDvh.relatertBehandling = relatertBehandling; behandlingDvh.relatertBehandlingUuid = relatertBehandlingUuid; + behandlingDvh.relatertBehandlingFagsystem = relatertBehandlingFagsystem; behandlingDvh.setFunksjonellTid(funksjonellTid); behandlingDvh.setEndretAv(endretAv); behandlingDvh.familieHendelseType = familieHendelseType; diff --git a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/tjeneste/BehandlingDvhMapper.java b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/tjeneste/BehandlingDvhMapper.java index ab54e4e864d..9bc3e5b68db 100644 --- a/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/tjeneste/BehandlingDvhMapper.java +++ b/domenetjenester/datavarehus/src/main/java/no/nav/foreldrepenger/datavarehus/tjeneste/BehandlingDvhMapper.java @@ -71,6 +71,7 @@ public static BehandlingDvh map(Behandling behandling, // NOSONAR .utlandstilsnitt(getUtlandstilsnitt(fagsakMarkering)) .relatertBehandling(getRelatertBehandling(behandling, klageResultat, ankeResultat)) .relatertBehandlingUuid(getRelatertBehandlingUuid(behandling, klageResultat, ankeResultat, behandlingUuidHenter)) + .relatertBehandlingFagsystem(getRelatertBehandlingFagsystem(behandling, klageResultat)) .familieHendelseType(mapFamilieHendelse(fh)) .medFoersteStoenadsdag(skjæringstidspunkt.orElse(null)) .medPapirSøknad(finnPapirSøknad(behandling, mottatteDokument)) @@ -152,6 +153,15 @@ private static UUID getRelatertBehandlingUuid(Behandling behandling, return behandling.getOriginalBehandlingId().map(behandlingUuidHenter).orElse(null); } + private static String getRelatertBehandlingFagsystem(Behandling behandling, + Optional klageResultat) { + if (BehandlingType.KLAGE.equals(behandling.getType()) && + klageResultat.flatMap(KlageResultatEntitet::getPåKlagdEksternBehandlingUuid).isPresent()) { + return "FPTILBAKE"; + } + return "FPSAK"; + } + private static String mapFamilieHendelse(Optional fh) { return fh.map(FamilieHendelseGrunnlagEntitet::getGjeldendeVersjon) .map(FamilieHendelseEntitet::getType) diff --git a/migreringer/src/main/resources/db/migration/dvhDS/2.4.0/V2.4.0_23__TFP_5859_relatert_til_fagsystem.sql b/migreringer/src/main/resources/db/migration/dvhDS/2.4.0/V2.4.0_23__TFP_5859_relatert_til_fagsystem.sql new file mode 100644 index 00000000000..42f87f9d4e3 --- /dev/null +++ b/migreringer/src/main/resources/db/migration/dvhDS/2.4.0/V2.4.0_23__TFP_5859_relatert_til_fagsystem.sql @@ -0,0 +1,2 @@ +ALTER TABLE BEHANDLING_DVH ADD RELATERT_TIL_FAGSYSTEM VARCHAR2(20 CHAR) DEFAULT 'FPSAK'; +COMMENT ON COLUMN BEHANDLING_DVH.RELATERT_TIL_FAGSYSTEM IS 'Relatert til behandling i fagsystem'; diff --git a/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/forvaltning/ForvaltningUttrekkRestTjeneste.java b/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/forvaltning/ForvaltningUttrekkRestTjeneste.java index a6afc3edcfc..f0401535c6c 100644 --- a/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/forvaltning/ForvaltningUttrekkRestTjeneste.java +++ b/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/forvaltning/ForvaltningUttrekkRestTjeneste.java @@ -267,149 +267,7 @@ public Response hentAvstemtSakOverlappTrex(@TilpassetAbacAttributt(supplierClass } @POST - @Path("/fikseAnkeBehandlingerRelatert1") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseAnkeBehandlingerRelatert1() { - var rader = entityManager.createNativeQuery(""" - merge into fpsak_hist.behandling_dvh bdvh - using (select id bid, uuid buid from fpsak.behandling) utvalg - on (bdvh.RELATERT_TIL = utvalg.bid) - when matched then update set bdvh.relatert_til_uuid = utvalg.buid - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseAnkeBehandlingerRelatert2") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseAnkeBehandlingerRelatert2() { - var rader = entityManager.createNativeQuery(""" - merge into fpsak_hist.behandling_dvh bdvh - using (select klage_behandling_id bid, paaklagd_ekstern_uuid buid from fpsak.klage_resultat where paaklagd_ekstern_uuid is not null) utvalg - on (bdvh.behandling_id = utvalg.bid) - when matched then update set bdvh.relatert_til_uuid = utvalg.buid - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseAnkeBehandlingerOmgjør1") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseAnkeBehandlingerOmgjør1() { - var rader = entityManager.createNativeQuery(""" - merge into fpsak_hist.behandling_dvh bdvh - using (select anke_behandling_id bid, - case when tr_omgjoer_aarsak <> '-' then tr_omgjoer_aarsak - when anke_omgjoer_aarsak <> '-' then anke_omgjoer_aarsak - else null end boa - from fpsak.anke_vurdering_resultat avr join fpsak.anke_resultat ar on avr.anke_resultat_id = ar.id - where anke_omgjoer_aarsak <> '-' or tr_omgjoer_aarsak <> '-') utvalg - on (bdvh.behandling_id = utvalg.bid and behandling_resultat_type is not null and behandling_resultat_type <> '-') - when matched then update set bdvh.omgjoering_aarsak = utvalg.boa - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseKlageOverskuddResultat") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseKlageOverskuddResultat() { - var rader = entityManager.createNativeQuery(""" - delete from fpsak.klage_vurdering_resultat where id = 84752 - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseAnkeBehandlingerOmgjør2") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseAnkeBehandlingerOmgjør2() { - var rader = entityManager.createNativeQuery(""" - merge into fpsak_hist.behandling_dvh bdvh - using (select klage_behandling_id bid, - case when kvrka.klage_medhold_aarsak is not null and kvrka.klage_medhold_aarsak <> '-' then kvrka.klage_medhold_aarsak - when kvrnfp.klage_medhold_aarsak <> '-' and (kvrka.klage_medhold_aarsak is null or kvrka.klage_medhold_aarsak = '-') then kvrnfp.klage_medhold_aarsak - else null end boa - from fpsak.klage_resultat kr - join fpsak.klage_vurdering_resultat kvrnfp on (kvrnfp.klage_resultat_id = kr.id and kvrnfp.klage_vurdert_av = 'NFP') - left outer join fpsak.klage_vurdering_resultat kvrka on (kvrka.klage_resultat_id = kr.id and kvrka.klage_vurdert_av = 'NK') - where kvrnfp.klage_medhold_aarsak <> '-' or (kvrka.klage_medhold_aarsak is not null and kvrka.klage_medhold_aarsak <> '-')) utvalg - on (bdvh.behandling_id = utvalg.bid and behandling_resultat_type is not null and behandling_resultat_type <> '-') - when matched then update set bdvh.omgjoering_aarsak = utvalg.boa - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseAnkeBehandlingerEnhet1") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseAnkeBehandlingerEnhet1() { - var rader = entityManager.createNativeQuery(""" - update fpsak_hist.behandling_dvh bdvh - set BEHANDLENDE_ENHET = 'TR' - where BEHANDLING_STATUS = 'AVSLU' - and BEHANDLING_ID in (select anke_behandling_id - from fpsak.anke_vurdering_resultat avr join fpsak.anke_resultat ar on avr.anke_resultat_id = ar.id - join fpsak.behandling_resultat on behandling_id = anke_behandling_id - where behandling_resultat_type like '%ENLAG%' - and (ankevurdering in ('ANKE_STADFESTE_YTELSESVEDTAK', 'ANKE_AVVIS') or anke_vurdering_omgjoer = 'ANKE_DELVIS_OMGJOERING_TIL_GUNST')) - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseAnkeBehandlingerEnhet2") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseAnkeBehandlingerEnhet2() { - var rader = entityManager.createNativeQuery(""" - update fpsak_hist.behandling_dvh bdvh - set BEHANDLENDE_ENHET = 'TR' - where BEHANDLING_STATUS = 'AVSLU' - and BEHANDLING_ID in (select anke_behandling_id - from fpsak.anke_vurdering_resultat avr join fpsak.anke_resultat ar on avr.anke_resultat_id = ar.id - where tr_vurdering not in ('-' , 'ANKE_OPPHEVE_OG_HJEMSENDE', 'ANKE_HJEMSENDE_UTEN_OPPHEV')) - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseAnkeBehandlingerEnhet3") - @Consumes(MediaType.APPLICATION_JSON) - @Produces(MediaType.APPLICATION_JSON) - @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") - @BeskyttetRessurs(actionType = ActionType.CREATE, resourceType = ResourceType.DRIFT) - public Response fikseAnkeBehandlingerEnhet3() { - var rader = entityManager.createNativeQuery(""" - update fpsak_hist.behandling_dvh bdvh - set BEHANDLENDE_ENHET = 'TR' - where BEHANDLING_STATUS = 'VENT_TRYGDERETT' - """).executeUpdate(); - return Response.ok(rader).build(); - } - - @POST - @Path("/fikseAnkeBehandlingerEnhet0000") + @Path("/fikseRelatertTilbake") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @Operation(description = "Kopiering før unmapping", tags = "FORVALTNING-uttrekk") @@ -417,8 +275,8 @@ public Response fikseAnkeBehandlingerEnhet3() { public Response fikseAnkeBehandlingerEnhet0000() { var rader = entityManager.createNativeQuery(""" update fpsak_hist.behandling_dvh bdvh - set BEHANDLENDE_ENHET = 'TR0000' - where BEHANDLENDE_ENHET = 'TR' + set RELATERT_TIL_FAGSYSTEM = 'FPTILBAKE' + where RELATERT_TIL_UUID in (select PAAKLAGD_EKSTERN_UUID from FPSAK.KLAGE_RESULTAT) """).executeUpdate(); return Response.ok(rader).build(); }