diff --git a/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/DokumentMalType.java b/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/DokumentMalType.java
index 9da97af4de2..dbf203b4940 100644
--- a/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/DokumentMalType.java
+++ b/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/DokumentMalType.java
@@ -38,6 +38,7 @@ public enum DokumentMalType implements Kodeverdi {
ETTERLYS_INNTEKTSMELDING("ELYSIM"),
ENDRING_UTBETALING("ENDUTB"), // Denne brukes kun for å utlede tittel når overstyrer vedtaksbrev pga fordeling av ytelsen
FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_INFOBREV("INFOPU"),
+ FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_FORLENGET_SAKSBEHANDLINGSTID("FORPUS"),
// Må gjeninnføre for å flytte anker
@Deprecated KLAGE_AVVIST_DOK("KLAGAV"),
@@ -165,6 +166,7 @@ private static String utledDokumentTittel(DokumentMalType mal) {
case ANKE_OPPHEVET -> "Ankebrev om beslutning om oppheving";
case ENDRING_UTBETALING -> "Endring i fordeling av ytelsen";
case FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_INFOBREV -> "Melding om ny vurdering av tidligere avslag";
+ case FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_FORLENGET_SAKSBEHANDLINGSTID -> "Forlenget saksbehandlingstid - Fedrekvotesaken";
};
}
}
diff --git a/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/formidling/BestillDokumentDtoMapper.java b/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/formidling/BestillDokumentDtoMapper.java
index a87b34c59b2..2e7ae399d61 100644
--- a/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/formidling/BestillDokumentDtoMapper.java
+++ b/domenetjenester/dokumentbestiller/src/main/java/no/nav/foreldrepenger/dokumentbestiller/formidling/BestillDokumentDtoMapper.java
@@ -39,6 +39,7 @@ public static DokumentMal mapDokumentMal(DokumentMalType bestillingDokumentMal)
case ETTERLYS_INNTEKTSMELDING -> DokumentMal.ETTERLYS_INNTEKTSMELDING;
case ENDRING_UTBETALING -> DokumentMal.ENDRING_UTBETALING;
case FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_INFOBREV -> DokumentMal.FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_INFOBREV;
+ case FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_FORLENGET_SAKSBEHANDLINGSTID -> DokumentMal.FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_FORLENGET_SAKSBEHANDLINGSTID;
case KLAGE_AVVIST_DOK,
KLAGE_AVVIST_FRITEKST,
KLAGE_HJEMSENDT_DOK,
diff --git a/pom.xml b/pom.xml
index 2fbd255b5b7..5b6c3407b1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
7.4.5
5.1.1
- 9.2.1
+ 9.2.2
2.2.1
0.0.14
diff --git a/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/forvaltning/praksisutsettelse/FeilPraksisForlengetSaksbehandlingstidTask.java b/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/forvaltning/praksisutsettelse/FeilPraksisForlengetSaksbehandlingstidTask.java
new file mode 100644
index 00000000000..394c350d536
--- /dev/null
+++ b/web/src/main/java/no/nav/foreldrepenger/web/app/tjenester/forvaltning/praksisutsettelse/FeilPraksisForlengetSaksbehandlingstidTask.java
@@ -0,0 +1,87 @@
+package no.nav.foreldrepenger.web.app.tjenester.forvaltning.praksisutsettelse;
+
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
+
+import jakarta.enterprise.context.Dependent;
+import jakarta.inject.Inject;
+import jakarta.persistence.EntityManager;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import no.nav.foreldrepenger.behandlingslager.behandling.Behandling;
+import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingType;
+import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingÅrsakType;
+import no.nav.foreldrepenger.behandlingslager.fagsak.FagsakProsesstaskRekkefølge;
+import no.nav.foreldrepenger.dokumentbestiller.DokumentBehandlingTjeneste;
+import no.nav.foreldrepenger.dokumentbestiller.DokumentBestillerTjeneste;
+import no.nav.foreldrepenger.dokumentbestiller.DokumentBestilling;
+import no.nav.foreldrepenger.dokumentbestiller.DokumentMalType;
+import no.nav.vedtak.felles.prosesstask.api.ProsessTask;
+import no.nav.vedtak.felles.prosesstask.api.ProsessTaskData;
+import no.nav.vedtak.felles.prosesstask.api.ProsessTaskHandler;
+
+@Dependent
+@ProsessTask(value = "behandling.feilpraksisutsettelse.forlenget", prioritet = 4, maxFailedRuns = 1)
+@FagsakProsesstaskRekkefølge(gruppeSekvens = false)
+class FeilPraksisForlengetSaksbehandlingstidTask implements ProsessTaskHandler {
+
+ private static final Logger LOG = LoggerFactory.getLogger(FeilPraksisForlengetSaksbehandlingstidTask.class);
+ private static final String DRY_RUN = "dryRun";
+
+ private final DokumentBestillerTjeneste dokumentBestillerTjeneste;
+ private final EntityManager entityManager;
+ private final DokumentBehandlingTjeneste dokumentBehandlingTjeneste;
+
+
+ @Inject
+ FeilPraksisForlengetSaksbehandlingstidTask(DokumentBestillerTjeneste dokumentBestillerTjeneste,
+ EntityManager entityManager,
+ DokumentBehandlingTjeneste dokumentBehandlingTjeneste) {
+ this.dokumentBestillerTjeneste = dokumentBestillerTjeneste;
+ this.entityManager = entityManager;
+ this.dokumentBehandlingTjeneste = dokumentBehandlingTjeneste;
+ }
+
+ @Override
+ public void doTask(ProsessTaskData prosessTaskData) {
+ var kandidater = finnKandidater();
+ var dryRun = Optional.ofNullable(prosessTaskData.getPropertyValue(DRY_RUN)).filter("false"::equalsIgnoreCase).isEmpty();
+ kandidater.forEach(k -> opprettBestillingTask(k, dryRun));
+ }
+
+ private List finnKandidater() {
+ return entityManager.createQuery("""
+ select b from Behandling b
+ join BehandlingÅrsak ba on ba.behandling = b
+ where ba.behandlingÅrsakType =:årsak
+ and not exists (select 1 from Behandling b2 where b2.avsluttetDato is null and b2.fagsak = b.fagsak and b2.behandlingType in (:ikkeTyper))
+ and b.avsluttetDato is null
+ """, Behandling.class)
+ .setParameter("årsak", BehandlingÅrsakType.FEIL_PRAKSIS_UTSETTELSE)
+ .setParameter("ikkeTyper", Set.of(BehandlingType.KLAGE, BehandlingType.ANKE))
+ .getResultList();
+ }
+
+ private void opprettBestillingTask(Behandling behandling, boolean dryRun) {
+ if (dokumentBehandlingTjeneste.erDokumentBestiltForFagsak(behandling.getFagsakId(),
+ DokumentMalType.FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_FORLENGET_SAKSBEHANDLINGSTID)) {
+ LOG.info("Brev allerede bestilt for {}", behandling.getSaksnummer());
+ return;
+ }
+
+ var saksnummer = behandling.getSaksnummer();
+ LOG.info("Bestiller forlenget saksbehandlingstid brev for {} {}", saksnummer, behandling.getId());
+ var behandlingUuid = behandling.getUuid();
+ var bestilling = DokumentBestilling.builder()
+ .medBehandlingUuid(behandlingUuid)
+ .medSaksnummer(saksnummer)
+ .medDokumentMal(DokumentMalType.FORELDREPENGER_FEIL_PRAKSIS_UTSETTELSE_FORLENGET_SAKSBEHANDLINGSTID)
+ .build();
+ if (!dryRun) {
+ dokumentBestillerTjeneste.bestillDokument(bestilling);
+ }
+ }
+}