diff --git "a/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImpl.java" "b/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImpl.java" index cbab2747..0a3e72df 100644 --- "a/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImpl.java" +++ "b/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImpl.java" @@ -124,7 +124,10 @@ class ForespørselBehandlingTjenesteImpl implements ForespørselBehandlingTjenes validerOrganisasjon(foresporsel, organisasjonsnummerDto); validerStartdato(foresporsel, startdato); - arbeidsgiverNotifikasjon.oppgaveUtført(foresporsel.getOppgaveId(), OffsetDateTime.now()); + // Arbeidsgiverinitierte forespørsler har ingen oppgave + if (foresporsel.getOppgaveId() != null) { + arbeidsgiverNotifikasjon.oppgaveUtført(foresporsel.getOppgaveId(), OffsetDateTime.now()); + } arbeidsgiverNotifikasjon.ferdigstillSak(foresporsel.getArbeidsgiverNotifikasjonSakId()); // Oppdaterer status i arbeidsgiver-notifikasjon arbeidsgiverNotifikasjon.oppdaterSakTilleggsinformasjon(foresporsel.getArbeidsgiverNotifikasjonSakId(), ForespørselTekster.lagTilleggsInformasjon(årsak)); @@ -255,7 +258,9 @@ class ForespørselBehandlingTjenesteImpl implements ForespørselBehandlingTjenes @Override public void settForespørselTilUtgått(ForespørselEntitet eksisterendeForespørsel, boolean skalOppdatereArbeidsgiverNotifikasjon) { if (skalOppdatereArbeidsgiverNotifikasjon) { + if (eksisterendeForespørsel.getOppgaveId() != null) { arbeidsgiverNotifikasjon.oppgaveUtgått(eksisterendeForespørsel.getOppgaveId(), OffsetDateTime.now()); + } arbeidsgiverNotifikasjon.ferdigstillSak(eksisterendeForespørsel.getArbeidsgiverNotifikasjonSakId()); // Oppdaterer status i arbeidsgiver-notifikasjon } @@ -375,21 +380,6 @@ class ForespørselBehandlingTjenesteImpl implements ForespørselBehandlingTjenes forespørselTjeneste.setArbeidsgiverNotifikasjonSakId(uuid, fagerSakId); - String oppgaveId; - try { - oppgaveId = arbeidsgiverNotifikasjon.opprettOppgaveForArbeidsgiverIntiert(uuid.toString(), - merkelapp, - uuid.toString(), - organisasjonsnummer.orgnr(), - ForespørselTekster.lagOppgaveTekst(ytelsetype), - skjemaUri); - } catch (Exception e) { - //Manuell rollback er nødvendig fordi sak og oppgave går i to forskjellige kall - arbeidsgiverNotifikasjon.slettSak(fagerSakId); - throw e; - } - - forespørselTjeneste.setOppgaveId(uuid, oppgaveId); return uuid; } diff --git "a/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Lukke\303\205rsak.java" "b/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Lukke\303\205rsak.java" index 6da4d44c..ccc0de97 100644 --- "a/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Lukke\303\205rsak.java" +++ "b/src/main/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Lukke\303\205rsak.java" @@ -1,5 +1,8 @@ package no.nav.familie.inntektsmelding.forespørsel.tjenester; public enum LukkeÅrsak { - EKSTERN_INNSENDING, ORDINÆR_INNSENDING, UTGÅTT + EKSTERN_INNSENDING, + ORDINÆR_INNSENDING, + ARBEIDSGIVERINITIERT_INNSENDING, + UTGÅTT } diff --git a/src/main/java/no/nav/familie/inntektsmelding/imdialog/tjenester/InntektsmeldingTjeneste.java b/src/main/java/no/nav/familie/inntektsmelding/imdialog/tjenester/InntektsmeldingTjeneste.java index 8c9ae8bd..09baaff8 100644 --- a/src/main/java/no/nav/familie/inntektsmelding/imdialog/tjenester/InntektsmeldingTjeneste.java +++ b/src/main/java/no/nav/familie/inntektsmelding/imdialog/tjenester/InntektsmeldingTjeneste.java @@ -121,7 +121,7 @@ public InntektsmeldingResponseDto mottaArbeidsgiverInitiertInntektsmelding(SendI var imId = lagreOgLagJournalførTask(imEnitet, forespørselEnitet); forespørselBehandlingTjeneste.ferdigstillForespørsel(forespørselUuid, aktørId, organisasjonsnummer, - sendInntektsmeldingRequestDto.startdato(), LukkeÅrsak.ORDINÆR_INNSENDING); + sendInntektsmeldingRequestDto.startdato(), LukkeÅrsak.ARBEIDSGIVERINITIERT_INNSENDING); var imEntitet = inntektsmeldingRepository.hentInntektsmelding(imId); diff --git a/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjon.java b/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjon.java index 60d4cdcc..b97d4ff3 100644 --- a/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjon.java +++ b/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjon.java @@ -20,13 +20,6 @@ String opprettOppgave(String grupperingsid, String påminnelseTekst, URI lenke); - String opprettOppgaveForArbeidsgiverIntiert(String grupperingsId, - Merkelapp merkelapp, - String eksternId, - String virksomhetsnummer, - String oppgaveTekst, - URI skjemaUri); - String oppgaveUtført(String oppgaveId, OffsetDateTime utførtTidspunkt); String oppgaveUtgått(String oppgaveId, OffsetDateTime utgåttTidspunkt); diff --git a/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjonTjeneste.java b/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjonTjeneste.java index 04de7c04..acb94263 100644 --- a/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjonTjeneste.java +++ b/src/main/java/no/nav/familie/inntektsmelding/integrasjoner/arbeidsgivernotifikasjon/ArbeidsgiverNotifikasjonTjeneste.java @@ -99,41 +99,6 @@ public String opprettOppgave(String grupperingsid, return klient.opprettOppgave(request, projection); } - @Override - public String opprettOppgaveForArbeidsgiverIntiert(String grupperingsid, - Merkelapp oppgaveMerkelapp, - String eksternId, - String virksomhetsnummer, - String oppgaveTekst, - URI oppgaveLenke) { - var request = NyOppgaveMutationRequest.builder() - .setNyOppgave(NyOppgaveInput.builder() - .setMottaker(lagAltinnMottakerInput()) - .setNotifikasjon(NotifikasjonInput.builder() - .setMerkelapp(oppgaveMerkelapp.getBeskrivelse()) - .setTekst(oppgaveTekst) - .setLenke(oppgaveLenke.toString()) - .build()) - .setMetadata(MetadataInput.builder() - .setVirksomhetsnummer(virksomhetsnummer) - .setEksternId(eksternId) - .setGrupperingsid(grupperingsid) - .build()) - .build()) - .build(); - - var projection = new NyOppgaveResultatResponseProjection().typename() - .onNyOppgaveVellykket(new NyOppgaveVellykketResponseProjection().id()) - .onUgyldigMerkelapp(new UgyldigMerkelappResponseProjection().feilmelding()) - .onUgyldigMottaker(new UgyldigMottakerResponseProjection().feilmelding()) - .onDuplikatEksternIdOgMerkelapp(new DuplikatEksternIdOgMerkelappResponseProjection().feilmelding()) - .onUkjentProdusent(new UkjentProdusentResponseProjection().feilmelding()) - .onUkjentRolle(new UkjentRolleResponseProjection().feilmelding()) - .onUgyldigPaaminnelseTidspunkt(new UgyldigPaaminnelseTidspunktResponseProjection().feilmelding()); - - return klient.opprettOppgave(request, projection); - } - @Override public String opprettNyBeskjedMedEksternVarsling(String grupperingsid, Merkelapp beskjedMerkelapp, diff --git "a/src/test/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImplTest.java" "b/src/test/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImplTest.java" index 3da2fd8b..0e833d01 100644 --- "a/src/test/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImplTest.java" +++ "b/src/test/java/no/nav/familie/inntektsmelding/foresp\303\270rsel/tjenester/Foresp\303\270rselBehandlingTjenesteImplTest.java" @@ -231,6 +231,30 @@ void setUp() { assertThat(resultat2).isEqualTo(ForespørselResultat.FORESPØRSEL_OPPRETTET); } + @Test + void skal_opprette_opprette_arbeidsgiverinitiert_forespørsel_uten_oppgave() { + var aktørIdent = new AktørIdEntitet(AKTØR_ID); + mockInfoForOpprettelse(AKTØR_ID, YTELSETYPE, BRREG_ORGNUMMER, SAK_ID, OPPGAVE_ID); + when(personTjeneste.hentPersonInfoFraAktørId(any(), any())).thenReturn(new PersonInfo("12345678910", "test", "test", new PersonIdent("12345678910"), aktørIdent, LocalDate.now(), null)); + when(arbeidsgiverNotifikasjon.opprettSak(any(), any(), any(), any(), any())).thenReturn(SAK_ID); + + var saksnummerDto = new SaksnummerDto(SAKSNUMMMER); + + var uuid = forespørselBehandlingTjeneste.opprettForespørselForArbeidsgiverInitiertIm(YTELSETYPE, + new AktørIdEntitet(AKTØR_ID), + saksnummerDto, + new OrganisasjonsnummerDto(BRREG_ORGNUMMER), + SKJÆRINGSTIDSPUNKT, + FØRSTE_UTTAKSDATO); + + var lagret = forespørselRepository.hentForespørsel(uuid).orElseThrow(); + + clearHibernateCache(); + assertThat(lagret.getStatus()).isEqualTo(ForespørselStatus.UNDER_BEHANDLING); + assertThat(lagret.getOppgaveId()).isNull(); + assertThat(lagret.getFørsteUttaksdato().orElse(null)).isEqualTo(FØRSTE_UTTAKSDATO); + } + @Test void skal_ferdigstille_forespørsel() { var forespørselUuid = forespørselRepository.lagreForespørsel(SKJÆRINGSTIDSPUNKT, YTELSETYPE, AKTØR_ID, BRREG_ORGNUMMER, SAKSNUMMMER,