Skip to content

Commit

Permalink
TFP-5859 TFP-5885 DVH får relatert_til_uuid og omgjoering_aarsak + TR (
Browse files Browse the repository at this point in the history
…#6820)

* TFP-5859 TFP-5885 DVH får relatert_til_uuid og omgjoering_aarsak + TR

* Korrektur

* Tilpasninger til DVH-praksis for TR
  • Loading branch information
jolarsen authored Oct 28, 2024
1 parent d228616 commit 8bfe699
Show file tree
Hide file tree
Showing 15 changed files with 265 additions and 245 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,8 @@ public class Behandling extends BaseEntitet {
@Column(name = "aapnet_for_endring", nullable = false)
private boolean åpnetForEndring = false;

// Kolonnen SIST_OPPDATERT_TIDSPUNKT aksesseres via 2 direkte queries - søk i koden etter kolonnenavn

Behandling() {
// Hibernate
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,12 +115,10 @@ public Optional<KlageFormkravEntitet> hentKlageFormkrav(Long klageBehandlingId,
public Optional<KlageVurderingResultat> hentGjeldendeKlageVurderingResultat(Behandling behandling) {
var klageVurderingResultat = hentVurderingsResultaterForKlageBehandling(behandling.getId());

var resultat = klageVurderingResultat.stream()
return klageVurderingResultat.stream()
.filter(kvr -> KlageVurdertAv.NK.equals(kvr.getKlageVurdertAv()))
.findFirst()
.orElseGet(() -> klageVurderingResultat.stream().findFirst().orElse(null));

return Optional.ofNullable(resultat);
.or(() -> klageVurderingResultat.stream().findFirst());
}

public void lagreFormkrav(Behandling klageBehandling, KlageFormkravEntitet.Builder klageFormkravBuilder) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import org.hibernate.jpa.HibernateHints;

import no.nav.foreldrepenger.behandlingslager.BehandlingslagerRepository;
import no.nav.foreldrepenger.behandlingslager.fagsak.FagsakYtelseType;

@ApplicationScoped
public class LagretVedtakRepository implements BehandlingslagerRepository {
Expand Down Expand Up @@ -91,22 +90,4 @@ public List<Long> hentLagreteVedtakBehandlingId(LocalDateTime fom, LocalDateTime
return resultater.stream().map(Number::longValue).toList();

}

public List<Long> hentLagretVedtakBehandlingId(LocalDateTime fom, LocalDateTime tom, FagsakYtelseType fagsakYtelseType) {
Objects.requireNonNull(fom, "fom");
Objects.requireNonNull(tom, "tom");
Objects.requireNonNull(fagsakYtelseType, "fagsakYtelseType");

var sql = "select lv.behandling_id from LAGRET_VEDTAK lv, FAGSAK fs where lv.OPPRETTET_TID >= :fom and lv.OPPRETTET_TID <= :tom and lv.FAGSAK_ID = fs.ID and fs.YTELSE_TYPE = :fagsakYtelseType";

var query = entityManager.createNativeQuery(sql);
query.setParameter("fom", fom);
query.setParameter("tom", tom);
query.setParameter("fagsakYtelseType", fagsakYtelseType.getKode());

@SuppressWarnings("unchecked")
List<Number> resultater = query.getResultList();
return resultater.stream().map(Number::longValue).toList();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ public class BehandlingDvh extends DvhBaseEntitet {
@Column(name = "RELATERT_TIL")
private Long relatertBehandling;

@Column(name = "RELATERT_TIL_UUID")
private UUID relatertBehandlingUuid;

@Column(name = "FAMILIE_HENDELSE_TYPE")
private String familieHendelseType;

Expand All @@ -84,6 +87,9 @@ public class BehandlingDvh extends DvhBaseEntitet {
@Column(name = "REVURDERING_AARSAK")
private String revurderingÅrsak;

@Column(name = "OMGJOERING_AARSAK")
private String omgjøringÅrsak;

@Column(name = "MOTTATT_TID")
private LocalDateTime mottattTid;

Expand Down Expand Up @@ -174,6 +180,10 @@ public Long getRelatertBehandling() {
return relatertBehandling;
}

public UUID getRelatertBehandlingUuid() {
return relatertBehandlingUuid;
}

public String getFamilieHendelseType() {
return familieHendelseType;
}
Expand All @@ -198,6 +208,10 @@ public String getBehandlingMetode() {
return revurderingÅrsak;
}

public String getOmgjøringÅrsak() {
return omgjøringÅrsak;
}

public LocalDateTime getMottattTid() {
return mottattTid;
}
Expand Down Expand Up @@ -258,12 +272,14 @@ public boolean equals(final Object obj) {
&& Objects.equals(ansvarligSaksbehandler, other.ansvarligSaksbehandler)
&& Objects.equals(ansvarligBeslutter, other.ansvarligBeslutter)
&& Objects.equals(relatertBehandling, other.relatertBehandling)
&& Objects.equals(relatertBehandlingUuid, other.relatertBehandlingUuid)
&& Objects.equals(familieHendelseType, other.familieHendelseType)
&& Objects.equals(foersteStoenadsdag, other.foersteStoenadsdag)
&& Objects.equals(uuid, other.uuid)
&& Objects.equals(papirSøknad, other.papirSøknad)
&& Objects.equals(behandlingMetode, other.behandlingMetode)
&& Objects.equals(revurderingÅrsak, other.revurderingÅrsak)
&& Objects.equals(omgjøringÅrsak, other.omgjøringÅrsak)
&& Objects.equals(mottattTid, other.mottattTid)
&& Objects.equals(registrertTid, other.registrertTid)
&& Objects.equals(kanBehandlesTid, other.kanBehandlesTid)
Expand All @@ -280,7 +296,7 @@ public int hashCode() {
return Objects.hash(super.hashCode(), behandlingId, fagsakId, behandlingResultatType, behandlingType,
behandlingStatus, behandlendeEnhet, utlandstilsnitt, ansvarligSaksbehandler, ansvarligBeslutter,
familieHendelseType, foersteStoenadsdag,papirSøknad,
behandlingMetode, revurderingÅrsak, mottattTid, registrertTid, kanBehandlesTid, ferdigBehandletTid, forventetOppstartTid,
behandlingMetode, revurderingÅrsak, omgjøringÅrsak, mottattTid, registrertTid, kanBehandlesTid, ferdigBehandletTid, forventetOppstartTid,
vedtakTid, utbetaltTid, vedtakResultatType, vilkårIkkeOppfylt, saksnummer, aktørId, ytelseType);
}

Expand All @@ -304,12 +320,14 @@ public static class Builder {
private LocalDateTime funksjonellTid;
private String endretAv;
private Long relatertBehandling;
private UUID relatertBehandlingUuid;
private String familieHendelseType;
private LocalDate foersteStoenadsdag;
private UUID uuid;
private String papirSøknad;
private String behandlingMetode;
private String revurderingÅrsak;
private String omgjøringÅrsak;
private LocalDateTime mottattTid;
private LocalDateTime registrertTid;
private LocalDateTime kanBehandlesTid;
Expand Down Expand Up @@ -401,6 +419,11 @@ public Builder relatertBehandling(Long behandlingId) {
return this;
}

public Builder relatertBehandlingUuid(UUID relatertBehandlingUuid) {
this.relatertBehandlingUuid = relatertBehandlingUuid;
return this;
}

public Builder familieHendelseType(String familieHendelseType) {
this.familieHendelseType = familieHendelseType;
return this;
Expand All @@ -426,6 +449,11 @@ public Builder medBehandlingMetode(BehandlingMetode behandlingMetode) {
return this;
}

public Builder medOmgjøringÅrsak(String omgjøringÅrsak) {
this.omgjøringÅrsak = omgjøringÅrsak;
return this;
}

public Builder medMottattTid(LocalDateTime mottattTid) {
this.mottattTid = mottattTid;
return this;
Expand Down Expand Up @@ -486,6 +514,7 @@ public BehandlingDvh build() {
behandlingDvh.ansvarligSaksbehandler = ansvarligSaksbehandler;
behandlingDvh.ansvarligBeslutter = ansvarligBeslutter;
behandlingDvh.relatertBehandling = relatertBehandling;
behandlingDvh.relatertBehandlingUuid = relatertBehandlingUuid;
behandlingDvh.setFunksjonellTid(funksjonellTid);
behandlingDvh.setEndretAv(endretAv);
behandlingDvh.familieHendelseType = familieHendelseType;
Expand All @@ -494,6 +523,7 @@ public BehandlingDvh build() {
behandlingDvh.papirSøknad = papirSøknad;
behandlingDvh.behandlingMetode = behandlingMetode;
behandlingDvh.revurderingÅrsak = revurderingÅrsak;
behandlingDvh.omgjøringÅrsak = omgjøringÅrsak;
behandlingDvh.mottattTid = mottattTid;
behandlingDvh.registrertTid = registrertTid;
behandlingDvh.kanBehandlesTid = kanBehandlesTid;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package no.nav.foreldrepenger.datavarehus.domene;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
Expand Down Expand Up @@ -47,21 +46,6 @@ public long oppdater(Long eksisterendeBehandlingId, Long eksisterendeVedtakId, S
throw new IllegalStateException(String.format("Finner ikke eksiterende dvh vedtak utbetaling for behandling %s og vedtak %s", eksisterendeBehandlingId, eksisterendeVedtakId));
}

public List<Long> hentVedtakBehandlinger(LocalDateTime fom, LocalDateTime tom) {
var query = entityManager.createQuery("from VedtakUtbetalingDvh where funksjonellTid >= :fom " +
"AND funksjonellTid <= :tom", VedtakUtbetalingDvh.class);
query.setParameter("fom", fom);
query.setParameter("tom", tom);

return query.getResultList().stream().map(VedtakUtbetalingDvh::getBehandlingId).toList();
}

public List<Long> hentVedtakBehandlinger(Long behandlingid) {
var query = entityManager.createQuery("from VedtakUtbetalingDvh where behandlingId = :bid ", VedtakUtbetalingDvh.class);
query.setParameter("bid", behandlingid);
return query.getResultList().stream().map(VedtakUtbetalingDvh::getBehandlingId).toList();
}

public long oppdater(VedtakUtbetalingDvh vedtakUtbetalingDvh, String nyVedtakXml) {
vedtakUtbetalingDvh.setXmlClob(nyVedtakXml);
vedtakUtbetalingDvh.setTransTid();
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import java.util.function.Function;

import no.nav.foreldrepenger.behandlingslager.behandling.Behandling;
import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingType;
Expand Down Expand Up @@ -46,12 +48,15 @@ public static BehandlingDvh map(Behandling behandling, // NOSONAR
Optional<AnkeResultatEntitet> ankeResultat,
Optional<LocalDate> skjæringstidspunkt,
Collection<FagsakMarkering> fagsakMarkering,
Optional<LocalDate> forventetOppstartDato) {
Optional<LocalDate> forventetOppstartDato,
Optional<String> brukEnhet,
String omgjøringÅrsak,
Function<Long, UUID> behandlingUuidHenter) {

var builder = BehandlingDvh.builder()
.ansvarligBeslutter(behandling.getAnsvarligBeslutter())
.ansvarligSaksbehandler(utledAnsvarligSaksbehandler(behandling))
.behandlendeEnhet(behandling.getBehandlendeEnhet())
.behandlendeEnhet(brukEnhet.orElseGet(behandling::getBehandlendeEnhet))
.behandlingId(behandling.getId())
.behandlingUuid(behandling.getUuid())
.behandlingResultatType(behandlingsresultat == null ? null : behandlingsresultat.getBehandlingResultatType().getKode())
Expand All @@ -65,11 +70,13 @@ public static BehandlingDvh map(Behandling behandling, // NOSONAR
.funksjonellTid(LocalDateTime.now())
.utlandstilsnitt(getUtlandstilsnitt(fagsakMarkering))
.relatertBehandling(getRelatertBehandling(behandling, klageResultat, ankeResultat))
.relatertBehandlingUuid(getRelatertBehandlingUuid(behandling, klageResultat, ankeResultat, behandlingUuidHenter))
.familieHendelseType(mapFamilieHendelse(fh))
.medFoersteStoenadsdag(skjæringstidspunkt.orElse(null))
.medPapirSøknad(finnPapirSøknad(behandling, mottatteDokument))
.medBehandlingMetode(utledBehandlingMetode(behandling, behandlingsresultat))
.medRevurderingÅrsak(utledRevurderingÅrsak(behandling, fagsakMarkering))
.medOmgjøringÅrsak(omgjøringÅrsak)
.medMottattTid(finnMottattTidspunkt(mottatteDokument))
.medRegistrertTid(behandling.getOpprettetTidspunkt())
.medKanBehandlesTid(kanBehandlesTid(behandling))
Expand Down Expand Up @@ -130,6 +137,21 @@ private static Long getRelatertBehandling(Behandling behandling,
return behandling.getOriginalBehandlingId().orElse(null);
}

private static UUID getRelatertBehandlingUuid(Behandling behandling,
Optional<KlageResultatEntitet> klageResultat,
Optional<AnkeResultatEntitet> ankeResultat,
Function<Long, UUID> behandlingUuidHenter) {
if (BehandlingType.ANKE.equals(behandling.getType()) && ankeResultat.isPresent()) {
return ankeResultat.flatMap(AnkeResultatEntitet::getPåAnketKlageBehandlingId).map(behandlingUuidHenter).orElse(null);
}
if (BehandlingType.KLAGE.equals(behandling.getType()) && klageResultat.isPresent()) {
return klageResultat.flatMap(KlageResultatEntitet::getPåKlagdEksternBehandlingUuid)
.or(() -> klageResultat.flatMap(KlageResultatEntitet::getPåKlagdBehandlingId).map(behandlingUuidHenter))
.orElse(null);
}
return behandling.getOriginalBehandlingId().map(behandlingUuidHenter).orElse(null);
}

private static String mapFamilieHendelse(Optional<FamilieHendelseGrunnlagEntitet> fh) {
return fh.map(FamilieHendelseGrunnlagEntitet::getGjeldendeVersjon)
.map(FamilieHendelseEntitet::getType)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package no.nav.foreldrepenger.datavarehus.tjeneste;

import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;

import no.nav.foreldrepenger.behandlingslager.behandling.Behandling;
import no.nav.foreldrepenger.behandlingslager.behandling.aksjonspunkt.Aksjonspunkt;
Expand All @@ -16,11 +14,5 @@ public interface DatavarehusTjeneste {

void opprettOgLagreVedtakXml(Long behandlingId);

void oppdaterVedtakXml(Long behandlingId);

List<Long> hentVedtakBehandlinger(LocalDateTime fom, LocalDateTime tom);

List<Long> hentVedtakBehandlinger(Long behandlingid);

void oppdaterHvisKlageEllerAnke(Long behandlingId, Collection<Aksjonspunkt> aksjonspunkter);
}
Loading

0 comments on commit 8bfe699

Please sign in to comment.