Skip to content

Commit

Permalink
TFP-5879 riktig query for oppdatering anke behandling resultat DVH (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
jolarsen authored Oct 24, 2024
1 parent b096920 commit 457c7ed
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

import no.nav.foreldrepenger.behandling.BehandlingEventPubliserer;
import no.nav.foreldrepenger.behandlingslager.behandling.Behandling;
import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingResultatType;
import no.nav.foreldrepenger.behandlingslager.behandling.Behandlingsresultat;
import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingsresultatRepository;
import no.nav.foreldrepenger.behandlingslager.behandling.anke.AnkeRepository;
Expand Down Expand Up @@ -99,11 +98,6 @@ private void settBehandlingResultatTypeBasertPaaUtfall(Behandling behandling, An
}
}

public BehandlingResultatType oppdatertBehandlingsResultat(Behandling b) {
var avr = ankeRepository.hentAnkeVurderingResultat(b.getId()).orElseThrow();
return AnkeVurderingBehandlingResultat.tolkBehandlingResultatType(avr.getTrygderettVurdering(), avr.getTrygderettVurderingOmgjør());
}

public static HistorikkResultatType konverterAnkeVurderingTilResultatType(AnkeVurdering vurdering, AnkeVurderingOmgjør ankeVurderingOmgjør) {
if (AnkeVurdering.ANKE_AVVIS.equals(vurdering)) {
return HistorikkResultatType.ANKE_AVVIS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,12 @@
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;

import org.hibernate.jpa.HibernateHints;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import no.nav.foreldrepenger.behandling.anke.AnkeVurderingTjeneste;
import no.nav.foreldrepenger.behandlingslager.behandling.Behandling;
import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingStatus;
import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingStegType;
import no.nav.foreldrepenger.behandlingslager.behandling.aksjonspunkt.AksjonspunktStatus;
Expand All @@ -48,7 +44,6 @@
import no.nav.foreldrepenger.web.app.tjenester.fagsak.dto.SaksnummerDto;
import no.nav.foreldrepenger.web.app.tjenester.forvaltning.dto.AksjonspunktKodeDto;
import no.nav.foreldrepenger.web.app.tjenester.forvaltning.dto.AvstemmingPeriodeDto;
import no.nav.foreldrepenger.web.app.tjenester.forvaltning.dto.ForvaltningBehandlingIdDto;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskData;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskDataBuilder;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskGruppe;
Expand All @@ -69,7 +64,6 @@ public class ForvaltningUttrekkRestTjeneste {
private FagsakRepository fagsakRepository;
private ProsessTaskTjeneste taskTjeneste;
private OverlappVedtakRepository overlappRepository;
private AnkeVurderingTjeneste ankeVurderingTjeneste;

public ForvaltningUttrekkRestTjeneste() {
// For CDI
Expand All @@ -80,14 +74,12 @@ public ForvaltningUttrekkRestTjeneste(EntityManager entityManager,
FagsakRepository fagsakRepository,
BehandlingRepository behandlingRepository,
ProsessTaskTjeneste taskTjeneste,
OverlappVedtakRepository overlappRepository,
AnkeVurderingTjeneste ankeVurderingTjeneste) {
OverlappVedtakRepository overlappRepository) {
this.entityManager = entityManager;
this.fagsakRepository = fagsakRepository;
this.behandlingRepository = behandlingRepository;
this.taskTjeneste = taskTjeneste;
this.overlappRepository = overlappRepository;
this.ankeVurderingTjeneste = ankeVurderingTjeneste;
}

@POST
Expand Down Expand Up @@ -274,52 +266,21 @@ public Response hentAvstemtSakOverlappTrex(@TilpassetAbacAttributt(supplierClass
return Response.ok(resultat).build();
}

@POST
@Path("/fikseAnkeBehandlinger1")
@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 fikseAnkeBehandlinger1(@BeanParam @Valid ForvaltningBehandlingIdDto dto) {
var query = entityManager.createNativeQuery("""
select ba.*
from fpsak.behandling ba
join fpsak.ANKE_RESULTAT ar on ba.id = ar.anke_behandling_id
join fpsak.anke_vurdering_resultat on anke_resultat_id = ar.id
where behandling_type = 'BT-008' and behandling_status = 'AVSLU' and tr_vurdering <> '-'
and (tr_vurdering <> ankevurdering or tr_vurdering_omgjoer <> anke_vurdering_omgjoer)
""", Behandling.class)
.setHint(HibernateHints.HINT_READ_ONLY, "true");
List<Behandling> behandlinger = query.getResultList();
behandlinger.forEach(behandling -> oppdaterBehandlingsresultat(behandling));
return Response.ok().build();
}

private void oppdaterBehandlingsresultat(Behandling behandling) {
var nyttresultat = ankeVurderingTjeneste.oppdatertBehandlingsResultat(behandling);
entityManager.createNativeQuery("UPDATE fpsak.behandling_resultat set behandling_resultat_type = :res where behandling_id = :id and behandling_resultat_type <> :res")
.setParameter("id", behandling.getId())
.setParameter("res", nyttresultat.getKode())
.executeUpdate();
}

@POST
@Path("/fikseAnkeBehandlinger2")
@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 fikseAnkeBehandlinger2(@BeanParam @Valid ForvaltningBehandlingIdDto dto) {
var behandling = behandlingRepository.hentBehandlingReadOnly(dto.getBehandlingUuid());
var behandlingId = behandling.getId();
public Response fikseAnkeBehandlinger2() {
entityManager.createNativeQuery("""
merge into fpsak_hist.behandling_dvh bdvh
using (select bid, brt from(
select ba.id bid, br.behandling_resultat_type brt
from fpsak.behandling ba join fpsak.behandling_RESULTAT br on ba.id = br.behandling_id
where ba.behandling_type = 'BT-008' and ba.behandling_status = 'AVSLU'
)) utvalg
on (bdvh.behandling_id = utvalg.bid and bdvh.behandling_resultat_type = 'AVSLU')
on (bdvh.behandling_id = utvalg.bid and bdvh.behandling_status = 'AVSLU')
when matched then
update set bdvh.behandling_resultat_type = utvalg.brt
""").executeUpdate();
Expand Down

0 comments on commit 457c7ed

Please sign in to comment.