Skip to content

Commit

Permalink
TFP-5887 TFP-5890 opprett maskinelle oppgaver uten enhet. Delvis medh…
Browse files Browse the repository at this point in the history
…old anke (#6830)

* TFP-5887 TFP-5890 opprett maskinelle oppgaver uten enhet. Delvis medhold anke

* Ikke etterkontroller tilfelle der fødsel er bekreftet (overstyrt) av saksbehandler
  • Loading branch information
jolarsen authored Nov 1, 2024
1 parent 58b0f0f commit 0244c95
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@
import no.nav.foreldrepenger.domene.person.PersoninfoAdapter;
import no.nav.foreldrepenger.familiehendelse.FamilieHendelseTjeneste;
import no.nav.foreldrepenger.produksjonsstyring.behandlingenhet.BehandlendeEnhetTjeneste;
import no.nav.foreldrepenger.produksjonsstyring.oppgavebehandling.task.OpprettOppgaveVurderKonsekvensTask;
import no.nav.vedtak.felles.prosesstask.api.ProsessTask;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskData;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskTjeneste;

@ApplicationScoped
@ProsessTask(value = "behandlingsprosess.etterkontroll", prioritet = 3)
Expand All @@ -38,7 +36,6 @@ public class AutomatiskEtterkontrollTask extends FagsakProsessTask {

private PersoninfoAdapter personinfoAdapter;
private BehandlingRepository behandlingRepository;
private ProsessTaskTjeneste taskTjeneste;
private FamilieHendelseTjeneste familieHendelseTjeneste;
private BehandlendeEnhetTjeneste behandlendeEnhetTjeneste;
private EtterkontrollRepository etterkontrollRepository;
Expand All @@ -50,17 +47,15 @@ public class AutomatiskEtterkontrollTask extends FagsakProsessTask {

@Inject
public AutomatiskEtterkontrollTask(BehandlingRepositoryProvider repositoryProvider,
EtterkontrollRepository etterkontrollRepository,
HistorikkRepository historikkRepository,
FamilieHendelseTjeneste familieHendelseTjeneste,
PersoninfoAdapter personinfoAdapter,
ProsessTaskTjeneste taskTjeneste,
BehandlendeEnhetTjeneste behandlendeEnhetTjeneste) {
EtterkontrollRepository etterkontrollRepository,
HistorikkRepository historikkRepository,
FamilieHendelseTjeneste familieHendelseTjeneste,
PersoninfoAdapter personinfoAdapter,
BehandlendeEnhetTjeneste behandlendeEnhetTjeneste) {
super(repositoryProvider.getFagsakLåsRepository(), repositoryProvider.getBehandlingLåsRepository());
this.familieHendelseTjeneste = familieHendelseTjeneste;
this.personinfoAdapter = personinfoAdapter;
this.behandlingRepository = repositoryProvider.getBehandlingRepository();
this.taskTjeneste = taskTjeneste;
this.revurderingHistorikk = new RevurderingHistorikk(historikkRepository);
this.behandlendeEnhetTjeneste = behandlendeEnhetTjeneste;
this.etterkontrollRepository = etterkontrollRepository;
Expand All @@ -75,7 +70,6 @@ protected void prosesser(ProsessTaskData prosessTaskData, Long fagsakId, Long be
etterkontrollRepository.avflaggDersomEksisterer(fagsakId, KontrollType.MANGLENDE_FØDSEL);

if (behandlingRepository.harÅpenOrdinærYtelseBehandlingerForFagsakId(fagsakId)) {
opprettTaskForÅVurdereKonsekvens(fagsakId, behandling.getBehandlendeEnhet());
return;
}

Expand All @@ -100,14 +94,4 @@ protected void prosesser(ProsessTaskData prosessTaskData, Long fagsakId, Long be
automatiskEtterkontrollTjeneste.opprettRevurdering(behandling, årsak, enhet);
});
}

private void opprettTaskForÅVurdereKonsekvens(Long fagsakId, String behandlendeEnhetsId) {
var prosessTaskData = ProsessTaskData.forProsessTask(OpprettOppgaveVurderKonsekvensTask.class);
prosessTaskData.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_BEHANDLENDE_ENHET, behandlendeEnhetsId);
prosessTaskData.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_BESKRIVELSE, "Kontroller manglende fødselsregistrering");
prosessTaskData.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_PRIORITET, OpprettOppgaveVurderKonsekvensTask.PRIORITET_NORM);
prosessTaskData.setFagsakId(fagsakId);
prosessTaskData.setCallIdFraEksisterende();
taskTjeneste.lagre(prosessTaskData);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,7 @@ private Optional<LocalDate> skalEtterkontrolleresMedDato(Behandling behandling,
if (!Set.of(FagsakYtelseType.FORELDREPENGER, FagsakYtelseType.ENGANGSTØNAD).contains(behandling.getFagsak().getYtelseType())) {
return Optional.empty();
}
if (familieHendelseGrunnlag.getBekreftetVersjon().map(FamilieHendelseEntitet::getType).map(FamilieHendelseType.FØDSEL::equals)
.orElse(false)) {
if (familieHendelseGrunnlag.getGjeldendeBekreftetVersjon().map(FamilieHendelseEntitet::getType).filter(FamilieHendelseType.FØDSEL::equals).isPresent()) {
return Optional.empty();
}
return Optional.of(familieHendelseGrunnlag.finnGjeldendeFødselsdato());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@

import jakarta.persistence.EntityManager;

import no.nav.foreldrepenger.behandlingslager.behandling.beregning.SatsRepository;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
Expand All @@ -33,6 +31,7 @@
import no.nav.foreldrepenger.behandlingslager.behandling.beregning.LegacyESBeregning;
import no.nav.foreldrepenger.behandlingslager.behandling.beregning.LegacyESBeregningRepository;
import no.nav.foreldrepenger.behandlingslager.behandling.beregning.LegacyESBeregningsresultat;
import no.nav.foreldrepenger.behandlingslager.behandling.beregning.SatsRepository;
import no.nav.foreldrepenger.behandlingslager.behandling.historikk.HistorikkRepository;
import no.nav.foreldrepenger.behandlingslager.behandling.repository.BehandlingRepository;
import no.nav.foreldrepenger.behandlingslager.behandling.repository.BehandlingRepositoryProvider;
Expand All @@ -47,7 +46,6 @@
import no.nav.foreldrepenger.familiehendelse.FamilieHendelseTjeneste;
import no.nav.foreldrepenger.produksjonsstyring.behandlingenhet.BehandlendeEnhetTjeneste;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskData;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskTjeneste;

@ExtendWith(MockitoExtension.class)
@ExtendWith(JpaExtension.class)
Expand All @@ -58,9 +56,6 @@ class AutomatiskEtterkontrollTaskTest {

private BehandlingRepository behandlingRepository;

@Mock
private ProsessTaskTjeneste taskTjenesteMock;

private AutomatiskEtterkontrollTask task;
@Mock
private BehandlendeEnhetTjeneste behandlendeEnhetTjeneste;
Expand Down Expand Up @@ -90,8 +85,7 @@ public void setUp(EntityManager entityManager) {
etterkontrollRepository = new EtterkontrollRepository(entityManager);
familieHendelseTjeneste = new FamilieHendelseTjeneste(null, repositoryProvider.getFamilieHendelseRepository());
task = new AutomatiskEtterkontrollTask(repositoryProvider, etterkontrollRepository, historikkRepository,
familieHendelseTjeneste, personinfoAdapter,
taskTjenesteMock, behandlendeEnhetTjeneste);
familieHendelseTjeneste, personinfoAdapter, behandlendeEnhetTjeneste);
lenient().when(behandlendeEnhetTjeneste.finnBehandlendeEnhetFor(any(Fagsak.class)))
.thenReturn(new OrganisasjonsEnhet("1234", "Testlokasjon"));
}
Expand Down Expand Up @@ -137,7 +131,7 @@ private void createTask() {
Period.parse("P11W");
task = new AutomatiskEtterkontrollTask(repositoryProvider, etterkontrollRepository, historikkRepository,
familieHendelseTjeneste, personinfoAdapter,
taskTjenesteMock, behandlendeEnhetTjeneste);
behandlendeEnhetTjeneste);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.TrekkdagerUtregningUtil;
import no.nav.foreldrepenger.regler.uttak.fastsetteperiode.grunnlag.Periode;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskData;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskTjeneste;

@ExtendWith(MockitoExtension.class)
@ExtendWith(JpaExtension.class)
Expand All @@ -74,9 +73,6 @@ class AutomatiskEtterkontrollTaskTest {
@Mock
private PersoninfoAdapter personinfoAdapter;

@Mock
private ProsessTaskTjeneste taskTjenesteMock;

private BehandlingRepositoryProvider repositoryProvider;
private FagsakRelasjonTjeneste fagsakRelasjonTjeneste;

Expand Down Expand Up @@ -404,7 +400,7 @@ private void assertIngenRevurdering(Behandling behandling) {

private void createTask() {
task = new AutomatiskEtterkontrollTask(repositoryProvider, etterkontrollRepository, historikkRepository, familieHendelseTjeneste,
personinfoAdapter, taskTjenesteMock, behandlendeEnhetTjeneste);
personinfoAdapter, behandlendeEnhetTjeneste);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@
import org.slf4j.LoggerFactory;

import no.nav.foreldrepenger.behandling.kabal.KabalHendelse;
import no.nav.foreldrepenger.behandling.kabal.KabalUtfall;
import no.nav.foreldrepenger.behandling.kabal.MottaFraKabalTask;
import no.nav.foreldrepenger.behandlingslager.behandling.Behandling;
import no.nav.foreldrepenger.behandlingslager.behandling.BehandlingType;
import no.nav.foreldrepenger.behandlingslager.behandling.anke.AnkeRepository;
import no.nav.foreldrepenger.behandlingslager.behandling.klage.KlageRepository;
Expand All @@ -24,6 +26,7 @@
import no.nav.foreldrepenger.behandlingslager.kodeverk.Fagsystem;
import no.nav.foreldrepenger.domene.json.StandardJsonConfig;
import no.nav.foreldrepenger.konfig.KonfigVerdi;
import no.nav.foreldrepenger.produksjonsstyring.oppgavebehandling.task.OpprettOppgaveVurderKonsekvensTask;
import no.nav.vedtak.felles.integrasjon.kafka.KafkaMessageHandler;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskData;
import no.nav.vedtak.felles.prosesstask.api.ProsessTaskTjeneste;
Expand All @@ -40,6 +43,7 @@ public class KabalHendelseHåndterer implements KafkaMessageHandler.KafkaStringM
private static final Logger LOG = LoggerFactory.getLogger(KabalHendelseHåndterer.class);
private static final String GROUP_ID = "fpsak"; // Hold konstant pga offset commit !!
private static final String KABAL = "KABAL";
private static final String VKY_TEKST = "Vedtaket er delvis omgjort i ankebehandling. Opprett en ny behandling.";

private String topicName;
private ProsessTaskTjeneste taskTjeneste;
Expand Down Expand Up @@ -130,6 +134,19 @@ private void handleMessageInternal(KabalHendelse mottattHendelse) {
task.setProperty(MottaFraKabalTask.FEILOPPRETTET_TYPE_KEY, mottattHendelse.detaljer().behandlingFeilregistrert().type().name());
}
taskTjeneste.lagre(task);

if (KabalHendelse.BehandlingEventType.ANKE_I_TRYGDERETTENBEHANDLING_OPPRETTET.equals(mottattHendelse.type()) &&
KabalUtfall.DELVIS_MEDHOLD.equals(mottattHendelse.detaljer().ankeITrygderettenbehandlingOpprettet().utfall())) {
var sisteYtelseEnhet = behandlingRepository.hentSisteYtelsesBehandlingForFagsakId(behandling.getFagsakId())
.map(Behandling::getBehandlendeEnhet).orElse(null);
var opprettOppgave = ProsessTaskData.forProsessTask(OpprettOppgaveVurderKonsekvensTask.class);
opprettOppgave.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_BEHANDLENDE_ENHET, sisteYtelseEnhet);
opprettOppgave.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_BESKRIVELSE, VKY_TEKST);
opprettOppgave.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_PRIORITET, OpprettOppgaveVurderKonsekvensTask.PRIORITET_HØY);
opprettOppgave.setCallIdFraEksisterende();
opprettOppgave.setBehandling(behandling.getFagsakId(), behandling.getId(), behandling.getAktørId().getId());
taskTjeneste.lagre(opprettOppgave);
}
}

private static void setCallIdForHendelse(KabalHendelse hendelse) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,13 +97,13 @@ private void opprettTaskDataForKlage(Behandling behandling) {
}
}

private void lagOpprettVurderKonsekvensTask(Behandling behandling, String beskrivelse) {
private void lagOpprettVurderKonsekvensTask(Behandling sisteYtelseBehandling, String beskrivelse) {
var opprettOppgave = ProsessTaskData.forProsessTask(OpprettOppgaveVurderKonsekvensTask.class);
opprettOppgave.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_BEHANDLENDE_ENHET, behandling.getBehandlendeEnhet());
opprettOppgave.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_BEHANDLENDE_ENHET, sisteYtelseBehandling.getBehandlendeEnhet());
opprettOppgave.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_BESKRIVELSE, beskrivelse);
opprettOppgave.setProperty(OpprettOppgaveVurderKonsekvensTask.KEY_PRIORITET, OpprettOppgaveVurderKonsekvensTask.PRIORITET_HØY);
opprettOppgave.setCallIdFraEksisterende();
opprettOppgave.setBehandling(behandling.getFagsakId(), behandling.getId(), behandling.getAktørId().getId());
opprettOppgave.setBehandling(sisteYtelseBehandling.getFagsakId(), sisteYtelseBehandling.getId(), sisteYtelseBehandling.getAktørId().getId());
taskTjeneste.lagre(opprettOppgave);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public OverlappOppgaveTjeneste(OppgaveTjeneste oppgaveTjeneste) {
// Beskrivelse må tilpasses dersom / når det skal opprettes oppgaver ved overlapp mot Infotrygd
var beskrivelse = String.format("Det er innvilget %s (%s%%) som overlapper med sykepenger i periode %s - %s i %s. Vurder konsekvens for ytelse.",
foreldrepengerYtelse, maxUtbetalingsprosent, minFom, maxTom, system );
oppgaveTjeneste.opprettVurderKonsekvensHosSykepenger(behandling.getBehandlendeEnhet(), beskrivelse, behandling.getAktørId());
oppgaveTjeneste.opprettVurderKonsekvensHosSykepenger(beskrivelse, behandling.getAktørId());

}

Expand All @@ -94,11 +94,11 @@ public OverlappOppgaveTjeneste(OppgaveTjeneste oppgaveTjeneste) {
if (Fagsystem.K9SAK.equals(gruppering.fagsystem())) {
var beskrivelse = String.format("Det er innvilget %s (%s%%) som overlapper med %s sak %s i periode %s - %s i K9-sak. Vurder konsekvens for ytelse.",
foreldrepengerYtelse, maxUtbetalingsprosent, omsorgspengerYtelse, gruppering.saksnummer(), minFom, maxTom );
oppgaveTjeneste.opprettVurderKonsekvensHosPleiepenger(behandling.getBehandlendeEnhet(), beskrivelse, behandling.getAktørId());
oppgaveTjeneste.opprettVurderKonsekvensHosPleiepenger(beskrivelse, behandling.getAktørId());
} else {
var beskrivelse = String.format("Det er innvilget %s (%s%%) som overlapper med pleiepenger i periode %s - %s i Infotrygd. Vurder konsekvens for ytelse.",
foreldrepengerYtelse, maxUtbetalingsprosent, minFom, maxTom );
oppgaveTjeneste.opprettVurderKonsekvensHosPleiepenger(behandling.getBehandlendeEnhet(), beskrivelse, behandling.getAktørId());
oppgaveTjeneste.opprettVurderKonsekvensHosPleiepenger(beskrivelse, behandling.getAktørId());
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ public void oppsett() {
var overlappIT = overlappRepository.hentForSaksnummer(behandlingFP.getFagsak().getSaksnummer());
assertThat(overlappIT).hasSize(1);
assertThat(overlappIT.getFirst().getPeriode().getTomDato()).isEqualTo(førsteUttaksdatoFp);
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any(), any());
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any());
verifyNoMoreInteractions(oppgaveTjenesteMock);
}

Expand Down Expand Up @@ -181,7 +181,7 @@ public void oppsett() {
var overlappIT2 = overlappRepository.hentForSaksnummer(behandlingFP.getFagsak().getSaksnummer());
assertThat(overlappIT2).hasSize(1);
assertThat(overlappIT2.getFirst().getPeriode().getTomDato()).isEqualTo(førsteUttaksdatoFp.plusWeeks(4));
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any(), any());
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any());
verifyNoMoreInteractions(oppgaveTjenesteMock);
}

Expand Down Expand Up @@ -219,8 +219,8 @@ void flereOverlappIlisten() {
// Assert
var overlappIT = overlappRepository.hentForSaksnummer(behandlingFP.getFagsak().getSaksnummer());
assertThat(overlappIT).hasSize(2);
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any(), any());
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosSykepenger(any(), any(), any());
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any());
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosSykepenger(any(), any());
verifyNoMoreInteractions(oppgaveTjenesteMock);
}

Expand Down Expand Up @@ -259,7 +259,7 @@ void nyeSykepengerOverlappIlisten() {
// Assert
var overlappIT = overlappRepository.hentForSaksnummer(behandlingFP.getFagsak().getSaksnummer());
assertThat(overlappIT).hasSize(3);
verify(oppgaveTjenesteMock, times(2)).opprettVurderKonsekvensHosSykepenger(any(), any(), any());
verify(oppgaveTjenesteMock, times(2)).opprettVurderKonsekvensHosSykepenger(any(), any());
verifyNoMoreInteractions(oppgaveTjenesteMock);
}

Expand Down Expand Up @@ -299,7 +299,7 @@ void flereGrunnlagMenEttOverlappIlisten() {
var overlappIT = overlappRepository.hentForSaksnummer(behandlingFP.getFagsak().getSaksnummer());
assertThat(overlappIT).hasSize(1);
assertThat(overlappIT.getFirst().getPeriode().getTomDato()).isEqualTo(førsteUttaksdatoFp.plusWeeks(3));
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any(), any());
verify(oppgaveTjenesteMock, times(1)).opprettVurderKonsekvensHosPleiepenger(any(), any());
verifyNoMoreInteractions(oppgaveTjenesteMock);
}

Expand Down Expand Up @@ -370,7 +370,7 @@ void pleiepengerK9sak() {
// Assert
var overlappIT = overlappRepository.hentForSaksnummer(behandlingFP.getFagsak().getSaksnummer());
assertThat(overlappIT).hasSize(2);
verify(oppgaveTjenesteMock, times(2)).opprettVurderKonsekvensHosPleiepenger(any(), any(), any());
verify(oppgaveTjenesteMock, times(2)).opprettVurderKonsekvensHosPleiepenger(any(), any());
verifyNoMoreInteractions(oppgaveTjenesteMock);
}

Expand Down
Loading

0 comments on commit 0244c95

Please sign in to comment.