diff --git a/tilbakekreving/application/src/main/kotlin/tilbakekreving/application/service/kravgrunnlag/AnnullerKravgrunnlagService.kt b/tilbakekreving/application/src/main/kotlin/tilbakekreving/application/service/kravgrunnlag/AnnullerKravgrunnlagService.kt index 033eef52fd..5e26ca2adf 100644 --- a/tilbakekreving/application/src/main/kotlin/tilbakekreving/application/service/kravgrunnlag/AnnullerKravgrunnlagService.kt +++ b/tilbakekreving/application/src/main/kotlin/tilbakekreving/application/service/kravgrunnlag/AnnullerKravgrunnlagService.kt @@ -12,7 +12,6 @@ import tilbakekreving.domain.AvbruttTilbakekrevingsbehandling import tilbakekreving.domain.KanAnnullere import tilbakekreving.domain.TilbakekrevingsbehandlingRepo import tilbakekreving.domain.kravgrunnlag.AnnullerKravgrunnlagCommand -import tilbakekreving.domain.kravgrunnlag.Kravgrunnlag import tilbakekreving.domain.kravgrunnlag.Kravgrunnlagstatus import tilbakekreving.domain.kravgrunnlag.påsak.KravgrunnlagStatusendringPåSakHendelse import tilbakekreving.domain.kravgrunnlag.repo.AnnullerKravgrunnlagStatusEndringMeta @@ -32,7 +31,7 @@ class AnnullerKravgrunnlagService( ) { private val log = LoggerFactory.getLogger(this::class.java) - fun annuller(command: AnnullerKravgrunnlagCommand): Either> { + fun annuller(command: AnnullerKravgrunnlagCommand): Either { tilgangstyring.assertHarTilgangTilSak(command.sakId).onLeft { return KunneIkkeAnnullereKravgrunnlag.IkkeTilgang(it).left() } @@ -42,7 +41,6 @@ class AnnullerKravgrunnlagService( if (sak.versjon != command.klientensSisteSaksversjon) { log.info("Oppdater kravgrunnlag - Sakens versjon (${sak.versjon}) er ulik saksbehandlers versjon. Command: $command") } - val tilbakekrevingsbehandlingHendelser = tilbakekrevingsbehandlingRepo.hentForSak(command.sakId) val uteståendeKravgrunnlagPåSak = tilbakekrevingsbehandlingHendelser.hentUteståendeKravgrunnlag() ?: return KunneIkkeAnnullereKravgrunnlag.SakenHarIkkeKravgrunnlagSomKanAnnulleres.left() @@ -78,7 +76,7 @@ class AnnullerKravgrunnlagService( saksnummer = sak.saksnummer, eksternVedtakId = uteståendeKravgrunnlagPåSak.eksternVedtakId, status = Kravgrunnlagstatus.Annullert, - eksternTidspunkt = uteståendeKravgrunnlagPåSak.eksternTidspunkt, + eksternTidspunkt = råTilbakekrevingsvedtakForsendelse.tidspunkt, ), AnnullerKravgrunnlagStatusEndringMeta( correlationId = command.correlationId, @@ -96,7 +94,7 @@ class AnnullerKravgrunnlagService( ) } } - null to avbruttBehandling + avbruttBehandling } } } diff --git a/tilbakekreving/presentation/src/main/kotlin/tilbakekreving/presentation/api/kravgrunnlag/AnnullerKravgrunnlagRoute.kt b/tilbakekreving/presentation/src/main/kotlin/tilbakekreving/presentation/api/kravgrunnlag/AnnullerKravgrunnlagRoute.kt index 756a1f1e5d..b411197886 100644 --- a/tilbakekreving/presentation/src/main/kotlin/tilbakekreving/presentation/api/kravgrunnlag/AnnullerKravgrunnlagRoute.kt +++ b/tilbakekreving/presentation/src/main/kotlin/tilbakekreving/presentation/api/kravgrunnlag/AnnullerKravgrunnlagRoute.kt @@ -21,6 +21,7 @@ import tilbakekreving.application.service.kravgrunnlag.AnnullerKravgrunnlagServi import tilbakekreving.application.service.kravgrunnlag.KunneIkkeAnnullereKravgrunnlag import tilbakekreving.domain.kravgrunnlag.AnnullerKravgrunnlagCommand import tilbakekreving.presentation.api.TILBAKEKREVING_PATH +import tilbakekreving.presentation.api.common.KravgrunnlagJson import tilbakekreving.presentation.api.common.TilbakekrevingsbehandlingJson import tilbakekreving.presentation.api.common.TilbakekrevingsbehandlingJson.Companion.toJson import tilbakekreving.presentation.api.common.ikkeTilgangTilSak @@ -59,9 +60,7 @@ internal fun Route.annullerKravgrunnlagRoute( call.svar( Resultat.json( HttpStatusCode.OK, - serialize( - AnnullerResponse(tilbakekrevingsbehandling = it.second?.toJson()), - ), + serialize(AnnullertKravgrunnlagJson(tilbakekrevingsbehandling = it?.toJson())), ), ) }, @@ -74,7 +73,8 @@ internal fun Route.annullerKravgrunnlagRoute( } } -data class AnnullerResponse( +data class AnnullertKravgrunnlagJson( + val uteståendeKravgrunnlag: KravgrunnlagJson? = null, val tilbakekrevingsbehandling: TilbakekrevingsbehandlingJson?, ) diff --git a/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlag.kt b/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlag.kt index 63d919801a..bcd07f73e3 100644 --- a/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlag.kt +++ b/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlag.kt @@ -60,16 +60,15 @@ internal fun verifiserResponse( ) { val expected = if (verifiserBehandling != null) { """{ - "tilbakekrevingsbehandling":{ "id":"${verifiserBehandling.behandlingsId}", "sakId":"${verifiserBehandling.sakId}", - "opprettet":"2021-02-01T01:03:49.456789Z", + "opprettet":"2021-02-01T01:03:47.456789Z", "opprettetAv":"Z990Lokal", "kravgrunnlag":{ "hendelseId":${verifiserBehandling.kravgrunnlagHendelseId}, "eksternKravgrunnlagsId":"123456", "eksternVedtakId":"654321", - "kontrollfelt":"2021-02-01-02.03.43.456789", + "kontrollfelt":"2021-02-01-02.03.42.456789", "status":"NY", "grunnlagsperiode":[{"periode":{"fraOgMed":"2021-01-01","tilOgMed":"2021-01-31"},"betaltSkattForYtelsesgruppen":"1192","bruttoTidligereUtbetalt":"10946","bruttoNyUtbetaling":"8563","bruttoFeilutbetaling":"2383","nettoFeilutbetaling":"1191","skatteProsent":"50","skattFeilutbetaling":"1192"}], "summertBetaltSkattForYtelsesgruppen":"1192", @@ -87,17 +86,19 @@ internal fun verifiserResponse( "sendtTilAttesteringAv":null, "attesteringer":[], "erKravgrunnlagUtdatert":false, - "avsluttetTidspunkt":"2021-02-01T01:03:53.456789Z", + "avsluttetTidspunkt":"2021-02-01T01:03:51.456789Z", "notat":null } - } """.trimIndent() } else { - """{ - "tilbakekrevingsbehandling":null - } - """.trimIndent() + null } - actual.shouldBeSimilarJsonTo(expected) + actual.shouldBeSimilarJsonTo( + """{ + "uteståendeKravgrunnlag": null, + "tilbakekrevingsbehandling": $expected + } + """.trimIndent(), + ) } diff --git a/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlagIT.kt b/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlagIT.kt index 32e9edbb21..ea25d13dda 100644 --- a/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlagIT.kt +++ b/web-regresjonstest/src/test/kotlin/no/nav/su/se/bakover/web/tilbakekreving/AnnullerKravgrunnlagIT.kt @@ -9,14 +9,10 @@ import no.nav.su.se.bakover.test.fixedClockAt import no.nav.su.se.bakover.test.generer import no.nav.su.se.bakover.web.SharedRegressionTestData import no.nav.su.se.bakover.web.kravgrunnlag.emulerViMottarKravgrunnlagDetaljer -import no.nav.su.se.bakover.web.kravgrunnlag.emulerViMottarKravgrunnlagstatusendring import no.nav.su.se.bakover.web.revurdering.opprettIverksattRevurdering -import no.nav.su.se.bakover.web.sak.hent.hentSak -import no.nav.su.se.bakover.web.sak.hent.hentSaksnummer import no.nav.su.se.bakover.web.søknadsbehandling.BehandlingJson import no.nav.su.se.bakover.web.søknadsbehandling.RevurderingJson import no.nav.su.se.bakover.web.søknadsbehandling.opprettInnvilgetSøknadsbehandling -import org.json.JSONObject import org.junit.jupiter.api.Test internal class AnnullerKravgrunnlagIT { @@ -38,7 +34,6 @@ internal class AnnullerKravgrunnlagIT { appComponents = appComponents, ) val sakId = BehandlingJson.hentSakId(søknadsbehandlingJson) - val saksnummer = hentSaksnummer(hentSak(sakId, client)) opprettIverksattRevurdering( sakid = sakId, fraogmed = 1.januar(2021).toString(), @@ -52,22 +47,12 @@ internal class AnnullerKravgrunnlagIT { it.size shouldBe 1 } // 1. reservert, 2. kvittering søknadsbehandling 3. kvittering revurdering 4. kravgrunnlag - val eksternVedtakId = hentKravgrunnlagPåSak(sakId, client).let { - JSONObject(it).getString("eksternVedtakId")!! - } - appComponents.annullerKravgrunnlag( sakId = sakId, kravgrunnlagHendelseId = kravgrunnlagHendelser.first().toString(), saksversjon = 5, client = this.client, ) - appComponents.emulerViMottarKravgrunnlagstatusendring( - saksnummer = saksnummer, - fnr = fnr, - eksternVedtakId = eksternVedtakId, - status = "ANNU", - ) hentKravgrunnlagPåSak(sakId, client) shouldBe null } } @@ -89,7 +74,6 @@ internal class AnnullerKravgrunnlagIT { appComponents = appComponents, ) val sakId = BehandlingJson.hentSakId(søknadsbehandlingJson) - val saksnummer = hentSaksnummer(hentSak(sakId, client)) opprettIverksattRevurdering( sakid = sakId, fraogmed = 1.januar(2021).toString(), @@ -104,15 +88,12 @@ internal class AnnullerKravgrunnlagIT { } // 1. reservert, 2. kvittering søknadsbehandling 3. kvittering revurdering 4. kravgrunnlag verifiserKravgrunnlagPåSak(sakId, client, true, 4) - val eksternVedtakId = hentKravgrunnlagPåSak(sakId, client).let { - JSONObject(it).getString("eksternVedtakId")!! - } val (tilbakekrevingsbehandlingId, saksversjonEtterOpprettelseAvBehandling) = appComponents.opprettTilbakekrevingsbehandling( sakId = sakId, // Må økes etter hvert som vi får flere hendelser. saksversjon = 4, client = this.client, - expectedKontrollfelt = "2021-02-01-02.03.43.456789", + expectedKontrollfelt = "2021-02-01-02.03.42.456789", ) appComponents.annullerKravgrunnlag( sakId = sakId, @@ -125,12 +106,6 @@ internal class AnnullerKravgrunnlagIT { kravgrunnlagHendelseId = kravgrunnlagHendelser.first().toString(), ), ) - appComponents.emulerViMottarKravgrunnlagstatusendring( - saksnummer = saksnummer, - fnr = fnr, - eksternVedtakId = eksternVedtakId, - status = "ANNU", - ) hentKravgrunnlagPåSak(sakId, client) shouldBe null } }