diff --git a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjeneste.java b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjeneste.java index ce348eef74..27edc7336f 100644 --- a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjeneste.java +++ b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjeneste.java @@ -24,10 +24,10 @@ public interface BehandlingProsesseringTjeneste { void tvingInnhentingRegisteropplysninger(Behandling behandling); /** Innhenter registerdata hvis utdatert. */ - ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling); + ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling, boolean manuellFortsettelse); /** Returnerer tasks for oppdatering/fortsett for bruk med BehandlingskontrollAsynkTjeneste. Blir ikke lagret her */ - ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling, boolean forceInnhent); + ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling, boolean forceInnhent, boolean manuellFortsettelse); // Til bruk for å kjøre behandlingsprosessen videre. Lagrer tasks. Returnerer gruppe-handle String opprettTasksForFortsettBehandling(Behandling behandling); diff --git a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjenesteImpl.java b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjenesteImpl.java index f33d74705c..b3ffad94da 100644 --- a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjenesteImpl.java +++ b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingProsesseringTjenesteImpl.java @@ -95,24 +95,24 @@ public void tvingInnhentingRegisteropplysninger(Behandling behandling) { } @Override - public ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling) { + public ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling, boolean manuellFortsettelse) { boolean innhentRegisterdata = skalHenteInnRegisterData(behandling); if (innhentRegisterdata) { log.info("Innhenter registerdata på nytt, grunnlg er utdatert"); } - return doOppfriskingTaskOgFortsattBehandling(behandling, innhentRegisterdata); + return doOppfriskingTaskOgFortsattBehandling(behandling, innhentRegisterdata, manuellFortsettelse); } @Override - public ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling, boolean forceInnhent) { + public ProsessTaskGruppe lagOppdaterFortsettTasksForPolling(Behandling behandling, boolean forceInnhent, boolean manuellFortsettelse) { if (forceInnhent) { log.warn("Innhenter registerdata på nytt (force), selv om data er hentet tidligere i dag"); - return doOppfriskingTaskOgFortsattBehandling(behandling, forceInnhent); + return doOppfriskingTaskOgFortsattBehandling(behandling, forceInnhent, manuellFortsettelse); } - return lagOppdaterFortsettTasksForPolling(behandling); + return lagOppdaterFortsettTasksForPolling(behandling, manuellFortsettelse); } - private ProsessTaskGruppe doOppfriskingTaskOgFortsattBehandling(Behandling behandling, boolean innhentRegisterdataFørst) { + private ProsessTaskGruppe doOppfriskingTaskOgFortsattBehandling(Behandling behandling, boolean innhentRegisterdataFørst, boolean manuellFortsettelse) { if (behandling.erSaksbehandlingAvsluttet()) { throw new IllegalStateException("Utvikler feil: Kan ikke oppdater behandling med nye data når er allerede i iverksettelse/avsluttet. behandlingId=" + behandling.getId() + ", behandlingStatus=" + behandling.getStatus() @@ -137,10 +137,11 @@ private ProsessTaskGruppe doOppfriskingTaskOgFortsattBehandling(Behandling behan ProsessTaskData fortsettBehandlingTask; if (oppfriskKontrollbehandlingEnabled) { fortsettBehandlingTask = ProsessTaskData.forProsessTask(FortsettBehandlingDersomIkkePåVentTask.class); + } else { fortsettBehandlingTask = ProsessTaskData.forProsessTask(FortsettBehandlingTask.class); - fortsettBehandlingTask.setProperty(FortsettBehandlingTask.MANUELL_FORTSETTELSE, String.valueOf(true)); } + fortsettBehandlingTask.setProperty(FortsettBehandlingTask.MANUELL_FORTSETTELSE, String.valueOf(manuellFortsettelse)); fortsettBehandlingTask.setBehandling(behandling.getFagsakId(), behandling.getId(), behandling.getAktørId().getId()); gruppe.addNesteSekvensiell(fortsettBehandlingTask); diff --git a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingsprosessApplikasjonTjeneste.java b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingsprosessApplikasjonTjeneste.java index c46f5a4ac3..1f6df5f5ee 100644 --- a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingsprosessApplikasjonTjeneste.java +++ b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/BehandlingsprosessApplikasjonTjeneste.java @@ -87,9 +87,7 @@ public String asynkStartBehandlingsprosess(Behandling behandling) { * @return Prosess Task gruppenavn som kan brukes til å sjekke fremdrift */ private String asynkInnhentingAvRegisteropplysningerOgKjørProsess(Behandling behandling) { - ProsessTaskGruppe gruppe = behandlingProsesseringTjeneste.lagOppdaterFortsettTasksForPolling(behandling); - String gruppeNavn = prosesseringAsynkTjeneste.lagreNyGruppeKunHvisIkkeAlleredeFinnesOgIngenHarFeilet(behandling.getFagsakId(), String.valueOf(behandling.getId()), - gruppe); + String gruppeNavn = asynkInnhentingAvRegisteropplysningerOgKjørProsess(behandling, true, true); return gruppeNavn; } @@ -98,8 +96,8 @@ public String asynkStartBehandlingsprosess(Behandling behandling) { * * @return Prosess Task gruppenavn som kan brukes til å sjekke fremdrift */ - public String asynkInnhentingAvRegisteropplysningerOgKjørProsess(Behandling behandling, boolean forceInnhent) { - ProsessTaskGruppe gruppe = behandlingProsesseringTjeneste.lagOppdaterFortsettTasksForPolling(behandling, forceInnhent); + public String asynkInnhentingAvRegisteropplysningerOgKjørProsess(Behandling behandling, boolean forceInnhent, boolean manuellFortsettelse) { + ProsessTaskGruppe gruppe = behandlingProsesseringTjeneste.lagOppdaterFortsettTasksForPolling(behandling, forceInnhent, manuellFortsettelse); String gruppeNavn = prosesseringAsynkTjeneste.lagreNyGruppeKunHvisIkkeAlleredeFinnesOgIngenHarFeilet(behandling.getFagsakId(), String.valueOf(behandling.getId()), gruppe); return gruppeNavn; diff --git "a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/FortsettBehandlingDersomIkkeP\303\245VentTask.java" "b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/FortsettBehandlingDersomIkkeP\303\245VentTask.java" index 32a6608624..7cdb9b55b0 100644 --- "a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/FortsettBehandlingDersomIkkeP\303\245VentTask.java" +++ "b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/FortsettBehandlingDersomIkkeP\303\245VentTask.java" @@ -4,6 +4,7 @@ import jakarta.inject.Inject; import no.nav.k9.prosesstask.api.ProsessTask; import no.nav.k9.prosesstask.api.ProsessTaskData; +import no.nav.ung.kodeverk.behandling.BehandlingStegType; import no.nav.ung.sak.behandlingskontroll.BehandlingskontrollKontekst; import no.nav.ung.sak.behandlingskontroll.BehandlingskontrollTjeneste; import no.nav.ung.sak.behandlingslager.behandling.Behandling; @@ -13,6 +14,8 @@ import no.nav.ung.sak.behandlingslager.task.UnderBehandlingProsessTask; import org.slf4j.Logger; +import java.util.Optional; + /** * Kjører behandlingskontroll automatisk fra der prosessen står. */ @@ -40,6 +43,17 @@ public class FortsettBehandlingDersomIkkePåVentTask extends UnderBehandlingPros @Override public void doProsesser(ProsessTaskData data, Behandling behandling) { var behandlingId = data.getBehandlingId(); + BehandlingskontrollKontekst kontekst = behandlingskontrollTjeneste.initBehandlingskontroll(behandlingId); + + Boolean manuellFortsettelse = Optional.ofNullable(data.getPropertyValue(FortsettBehandlingTask.MANUELL_FORTSETTELSE)) + .map(Boolean::valueOf) + .orElse(Boolean.FALSE); + + if (manuellFortsettelse) { + if (behandling.isBehandlingPåVent()) { // Autopunkt + behandlingskontrollTjeneste.taBehandlingAvVentSetAlleAutopunktUtført(behandling, kontekst); + } + } if (behandling.isBehandlingPåVent()) { logger.info("Behandling {} er på vent, fortsetter ikke behandling nå.", behandlingId); return; @@ -47,7 +61,6 @@ public void doProsesser(ProsessTaskData data, Behandling behandling) { if (behandling.erAvsluttet()) { throw new IllegalStateException("Kan ikke fortsette en avsluttet behandling"); } - BehandlingskontrollKontekst kontekst = behandlingskontrollTjeneste.initBehandlingskontroll(behandlingId); behandlingskontrollTjeneste.prosesserBehandling(kontekst); } diff --git a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/OppfriskTask.java b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/OppfriskTask.java index 73c1a0395a..55797f9a27 100644 --- a/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/OppfriskTask.java +++ b/domenetjenester/behandling-prosessering/src/main/java/no/nav/ung/sak/behandling/prosessering/task/OppfriskTask.java @@ -45,7 +45,7 @@ public void prosesser(ProsessTaskData prosessTaskData) { var behandling = repository.hentBehandling(prosessTaskData.getBehandlingId()); logContext(behandling); boolean forceInnhent = Boolean.parseBoolean(prosessTaskData.getPropertyValue(PROPERTY_FORCE)); - behandlingsprosessApplikasjonTjeneste.asynkInnhentingAvRegisteropplysningerOgKjørProsess(behandling, forceInnhent); + behandlingsprosessApplikasjonTjeneste.asynkInnhentingAvRegisteropplysningerOgKjørProsess(behandling, forceInnhent, false); } catch (RuntimeException e) { log.info("Uventet feil ved oppfrisking av behandling.", e); } diff --git a/web/src/main/java/no/nav/ung/sak/web/app/tjenester/behandling/SjekkProsessering.java b/web/src/main/java/no/nav/ung/sak/web/app/tjenester/behandling/SjekkProsessering.java index d2fea66b66..80956318b5 100644 --- a/web/src/main/java/no/nav/ung/sak/web/app/tjenester/behandling/SjekkProsessering.java +++ b/web/src/main/java/no/nav/ung/sak/web/app/tjenester/behandling/SjekkProsessering.java @@ -21,7 +21,6 @@ import no.nav.ung.sak.web.app.tjenester.VurderProsessTaskStatusForPollingApi; import no.nav.ung.sak.web.app.tjenester.VurderProsessTaskStatusForPollingApi.ProsessTaskFeilmelder; import no.nav.ung.sak.web.server.abac.NavAnsatttRestKlient; -import no.nav.ung.sak.web.server.abac.SifAbacPdpRestKlient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -139,7 +138,7 @@ public boolean opprettTaskForOppfrisking(Behandling behandling, boolean forceInn * @return Prosess Task gruppenavn som kan brukes til å sjekke fremdrift */ String asynkInnhentingAvRegisteropplysningerOgKjørProsess(Behandling behandling, boolean forceInnhent) { - ProsessTaskGruppe gruppe = behandlingProsesseringTjeneste.lagOppdaterFortsettTasksForPolling(behandling, forceInnhent); + ProsessTaskGruppe gruppe = behandlingProsesseringTjeneste.lagOppdaterFortsettTasksForPolling(behandling, forceInnhent, true); String gruppeNavn = asynkTjeneste.lagreNyGruppeKunHvisIkkeAlleredeFinnesOgIngenHarFeilet(behandling.getFagsakId(), String.valueOf(behandling.getId()), gruppe); return gruppeNavn;