diff --git a/api-kontrakt/src/main/kotlin/no/nav/aap/oppgave/AvklaringsbehovReferanseDto.kt b/api-kontrakt/src/main/kotlin/no/nav/aap/oppgave/AvklaringsbehovReferanseDto.kt index e0169cb..50b51d0 100644 --- a/api-kontrakt/src/main/kotlin/no/nav/aap/oppgave/AvklaringsbehovReferanseDto.kt +++ b/api-kontrakt/src/main/kotlin/no/nav/aap/oppgave/AvklaringsbehovReferanseDto.kt @@ -1,11 +1,11 @@ package no.nav.aap.oppgave -import no.nav.aap.oppgave.opprett.Avklaringsbehovtype +import no.nav.aap.oppgave.verdityper.AvklaringsbehovKode import java.util.UUID data class AvklaringsbehovReferanseDto( val saksnummer: String? = null, val referanse: UUID? = null, val journalpostId: Long? = null, - val avklaringsbehovtype: Avklaringsbehovtype, + val avklaringsbehovKode: AvklaringsbehovKode, ) diff --git a/api-kontrakt/src/main/kotlin/no/nav/aap/oppgave/opprett/BehandlingshistorikkRequest.kt b/api-kontrakt/src/main/kotlin/no/nav/aap/oppgave/opprett/BehandlingshistorikkRequest.kt deleted file mode 100644 index 2874b57..0000000 --- a/api-kontrakt/src/main/kotlin/no/nav/aap/oppgave/opprett/BehandlingshistorikkRequest.kt +++ /dev/null @@ -1,94 +0,0 @@ -package no.nav.aap.oppgave.opprett - -import com.fasterxml.jackson.annotation.JsonIgnore -import java.time.LocalDateTime - -//TODO skal ligge behandlingsflyt.api-kontrakt, fjernes når det er klart -data class BehandlingshistorikkRequest( - val personident: String, - val saksnummer: String, - val referanse: String, - val behandlingType: Behandlingstype, - val status: Behandlingstatus, - val opprettetTidspunkt: LocalDateTime, - val avklaringsbehov: List, -) { - fun erLukket() = - (status == Behandlingstatus.AVSLUTTET) || - avklaringsbehov.all { it.status == Avklaringsbehovstatus.AVSLUTTET } - - @JsonIgnore - fun getÅpentAvklaringsbehov() = avklaringsbehov.firstOrNull { - it.status in setOf( - Avklaringsbehovstatus.OPPRETTET, - Avklaringsbehovstatus.SENDT_TILBAKE_FRA_BESLUTTER, - Avklaringsbehovstatus.SENDT_TILBAKE_FRA_KVALITETSSIKRER - ) - } -} - -enum class Behandlingstype { - Førstegangsbehandling, - Revurdering, - Tilbakekreving, - Klage -} - -enum class Behandlingstatus { - OPPRETTET, - UTREDES, - AVSLUTTET, - PÅ_VENT -} - -enum class Avklaringsbehovstatus { - OPPRETTET, - AVSLUTTET, - KVALITETSSIKRET, - SENDT_TILBAKE_FRA_KVALITETSSIKRER, - TOTRINNS_VURDERT, - SENDT_TILBAKE_FRA_BESLUTTER, - AVBRUTT -} - -enum class Avklaringsbehovtype(val kode: String) { - MANUELT_SATT_PÅ_VENT("9001"), - AVKLAR_STUDENT("5001"), - AVKLAR_SYKDOM("5003"), - FASTSETT_ARBEIDSEVNE("5004"), - FRITAK_MELDEPLIKT("5005"), - AVKLAR_BISTANDSBEHOV("5006"), - VURDER_SYKEPENGEERSTATNING("5007"), - FASTSETT_BEREGNINGSTIDSPUNKT("5008"), - AVKLAR_BARN("5009"), - AVKLAR_SONINGSFORRHOLD("5010"), - AVKLAR_HELSEINSTITUSJON("5011"), - KVALITETSSIKRING("5097"), - FORESLÅ_VEDTAK("5098"), - FATTE_VEDTAK("5099"); - - companion object { - private val map = entries.associateBy(Avklaringsbehovtype::kode) - fun fraKode(kode: String) = - map[kode] ?: throw IllegalArgumentException("Finner ikke Avklaringsbehovtype for kode: $kode") - } -} - -data class AvklaringsbehovDto( - val definisjon: Definisjon, - val status: Avklaringsbehovstatus, - val endringer: List -) { - fun getOpprettelsestidspunkt() = endringer.find { it.status == Avklaringsbehovstatus.OPPRETTET }?.tidsstempel - ?: throw IllegalArgumentException("Avklaringsbehov mangler ") -} - -data class Definisjon( - val type: String -) - -data class AvklaringsbehovhendelseEndring( - val status: Avklaringsbehovstatus, - val tidsstempel: LocalDateTime, - val endretAv: String -) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7826918..b553ca6 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -3,7 +3,7 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar val ktorVersion = "2.3.12" val komponenterVersjon = "0.0.69" val tilgangVersjon = "0.0.11" -val behandlingsflytVersjon= "0.0.3" +val behandlingsflytVersjon= "0.0.5" plugins { id("oppgave.conventions") @@ -21,7 +21,7 @@ dependencies { implementation("no.nav.aap.kelvin:dbtest:$komponenterVersjon") implementation("no.nav.aap.kelvin:infrastructure:$komponenterVersjon") implementation("no.nav.aap.kelvin:server:$komponenterVersjon") - implementation("no.nav:ktor-openapi-generator:1.0.32") + implementation("no.nav:ktor-openapi-generator:1.0.34") implementation("no.nav.aap.tilgang:api-kontrakt:$tilgangVersjon") implementation("no.nav.aap.behandlingsflyt:kontrakt:$behandlingsflytVersjon") diff --git a/app/src/main/kotlin/no/nav/aap/oppgave/OppgaveRepository.kt b/app/src/main/kotlin/no/nav/aap/oppgave/OppgaveRepository.kt index 0b54335..6d863df 100644 --- a/app/src/main/kotlin/no/nav/aap/oppgave/OppgaveRepository.kt +++ b/app/src/main/kotlin/no/nav/aap/oppgave/OppgaveRepository.kt @@ -2,7 +2,6 @@ package no.nav.aap.oppgave import no.nav.aap.komponenter.dbconnect.DBConnection import no.nav.aap.oppgave.filter.FilterDto -import no.nav.aap.oppgave.opprett.Avklaringsbehovtype import no.nav.aap.oppgave.plukk.NesteOppgaveDto import no.nav.aap.oppgave.verdityper.AvklaringsbehovKode import no.nav.aap.oppgave.verdityper.OppgaveId @@ -107,7 +106,7 @@ class OppgaveRepository(private val connection: DBConnection) { saksnummer = it.getStringOrNull("SAKSNUMMER"), referanse = it.getUUIDOrNull("BEHANDLING_REF"), journalpostId = it.getLongOrNull("JOURNALPOST_ID"), - avklaringsbehovtype = Avklaringsbehovtype.fraKode(it.getString("AVKLARINGSBEHOV_TYPE")) + avklaringsbehovKode = AvklaringsbehovKode(it.getString("AVKLARINGSBEHOV_TYPE")) ) ) } @@ -209,7 +208,7 @@ class OppgaveRepository(private val connection: DBConnection) { if (avklaringsbehovReferanse.saksnummer != null) setString(index++, avklaringsbehovReferanse.saksnummer) if (avklaringsbehovReferanse.referanse != null) setUUID(index++, avklaringsbehovReferanse.referanse) if (avklaringsbehovReferanse.journalpostId != null ) setLong(index++, avklaringsbehovReferanse.journalpostId) - setString(index++, avklaringsbehovReferanse.avklaringsbehovtype.kode) + setString(index++, avklaringsbehovReferanse.avklaringsbehovKode.kode) } setRowMapper { row -> OppgaveId(row.getLong("ID")) diff --git a/app/src/main/kotlin/no/nav/aap/oppgave/opprette/BehandlingshistorikkRequestExt.kt b/app/src/main/kotlin/no/nav/aap/oppgave/opprette/BehandlingFlytStoppetHendelseExt.kt similarity index 51% rename from app/src/main/kotlin/no/nav/aap/oppgave/opprette/BehandlingshistorikkRequestExt.kt rename to app/src/main/kotlin/no/nav/aap/oppgave/opprette/BehandlingFlytStoppetHendelseExt.kt index 9e02c12..3fed0b1 100644 --- a/app/src/main/kotlin/no/nav/aap/oppgave/opprette/BehandlingshistorikkRequestExt.kt +++ b/app/src/main/kotlin/no/nav/aap/oppgave/opprette/BehandlingFlytStoppetHendelseExt.kt @@ -1,31 +1,29 @@ package no.nav.aap.oppgave.opprette +import no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status +import no.nav.aap.behandlingsflyt.kontrakt.hendelse.AvklaringsbehovHendelseDto +import no.nav.aap.behandlingsflyt.kontrakt.hendelse.BehandlingFlytStoppetHendelse import no.nav.aap.oppgave.OppgaveDto -import no.nav.aap.oppgave.opprett.AvklaringsbehovDto -import no.nav.aap.oppgave.opprett.Avklaringsbehovstatus -import no.nav.aap.oppgave.opprett.BehandlingshistorikkRequest import no.nav.aap.oppgave.verdityper.AvklaringsbehovKode import java.time.LocalDateTime -import java.util.UUID - -fun BehandlingshistorikkRequest.lagOppgave(ident: String): OppgaveDto? { - val åpentAvklaringsbehov = this.getÅpentAvklaringsbehov() +fun BehandlingFlytStoppetHendelse.lagOppgave(ident: String): OppgaveDto? { + val åpentAvklaringsbehov = this.finnÅpentAvklaringsbehov() if (åpentAvklaringsbehov == null) { return null } return when (åpentAvklaringsbehov.status) { - Avklaringsbehovstatus.OPPRETTET -> + Status.OPPRETTET -> this.opprettNyOppgave(åpentAvklaringsbehov, ident) - Avklaringsbehovstatus.SENDT_TILBAKE_FRA_KVALITETSSIKRER, Avklaringsbehovstatus.SENDT_TILBAKE_FRA_BESLUTTER -> + Status.SENDT_TILBAKE_FRA_KVALITETSSIKRER, Status.SENDT_TILBAKE_FRA_BESLUTTER -> this.gjenopprettOppgave(åpentAvklaringsbehov, ident) else -> return null } } -fun BehandlingshistorikkRequest.hvemLøsteForrigeAvklaringsbehov(): String? { +fun BehandlingFlytStoppetHendelse.hvemLøsteForrigeAvklaringsbehov(): String? { val avsluttedeAvklaringsbehov = avklaringsbehov - .filter { it.status == Avklaringsbehovstatus.AVSLUTTET } + .filter { it.status == Status.AVSLUTTET } val løsteForrigeAvklaringsbehov = avsluttedeAvklaringsbehov .map {it.endringer.sortedBy { it.tidsstempel }.last()} .sortedBy { it.tidsstempel } @@ -33,10 +31,10 @@ fun BehandlingshistorikkRequest.hvemLøsteForrigeAvklaringsbehov(): String? { return løsteForrigeAvklaringsbehov } -private fun BehandlingshistorikkRequest.opprettNyOppgave(avklaringsbehov: AvklaringsbehovDto, ident: String): OppgaveDto { +private fun BehandlingFlytStoppetHendelse.opprettNyOppgave(avklaringsbehov: AvklaringsbehovHendelseDto, ident: String): OppgaveDto { return OppgaveDto( - saksnummer = this.saksnummer, - behandlingRef = UUID.fromString(this.referanse), + saksnummer = this.saksnummer.toString(), + behandlingRef = this.referanse.referanse, behandlingOpprettet = this.opprettetTidspunkt, avklaringsbehovKode = AvklaringsbehovKode(avklaringsbehov.definisjon.type), opprettetAv = ident, @@ -44,17 +42,25 @@ private fun BehandlingshistorikkRequest.opprettNyOppgave(avklaringsbehov: Avklar ) } -private fun BehandlingshistorikkRequest.gjenopprettOppgave(avklaringsbehov: AvklaringsbehovDto, ident: String): OppgaveDto { +private fun BehandlingFlytStoppetHendelse.gjenopprettOppgave(avklaringsbehov: AvklaringsbehovHendelseDto, ident: String): OppgaveDto { val oppgaveDto = this.opprettNyOppgave(avklaringsbehov, ident) val sistEndretAv = avklaringsbehov.sistEndretAv() oppgaveDto.copy(reservertAv = sistEndretAv, reservertTidspunkt = LocalDateTime.now()) return oppgaveDto } -private fun AvklaringsbehovDto.sistEndretAv(): String? { +private fun AvklaringsbehovHendelseDto.sistEndretAv(): String? { return endringer .sortedByDescending { it.tidsstempel } .filter { it.status == this.status } .map { it.endretAv } .firstOrNull() } + +fun BehandlingFlytStoppetHendelse.finnÅpentAvklaringsbehov() = avklaringsbehov.firstOrNull { + it.status in setOf( + Status.OPPRETTET, + Status.SENDT_TILBAKE_FRA_BESLUTTER, + Status.SENDT_TILBAKE_FRA_KVALITETSSIKRER + ) +} \ No newline at end of file diff --git a/app/src/main/kotlin/no/nav/aap/oppgave/opprette/OpprettOppgaveAPI.kt b/app/src/main/kotlin/no/nav/aap/oppgave/opprette/OpprettOppgaveAPI.kt index a50ad50..00c37d9 100644 --- a/app/src/main/kotlin/no/nav/aap/oppgave/opprette/OpprettOppgaveAPI.kt +++ b/app/src/main/kotlin/no/nav/aap/oppgave/opprette/OpprettOppgaveAPI.kt @@ -7,14 +7,13 @@ import com.papsign.ktor.openapigen.route.response.respondWithStatus import com.papsign.ktor.openapigen.route.route import io.ktor.http.HttpStatusCode import io.micrometer.prometheusmetrics.PrometheusMeterRegistry +import no.nav.aap.behandlingsflyt.kontrakt.hendelse.BehandlingFlytStoppetHendelse import no.nav.aap.komponenter.dbconnect.transaction import no.nav.aap.komponenter.httpklient.auth.token import no.nav.aap.oppgave.AvklaringsbehovReferanseDto import no.nav.aap.oppgave.verdityper.OppgaveId import no.nav.aap.oppgave.OppgaveRepository import no.nav.aap.oppgave.metriker.httpCallCounter -import no.nav.aap.oppgave.opprett.Avklaringsbehovtype -import no.nav.aap.oppgave.opprett.BehandlingshistorikkRequest import no.nav.aap.oppgave.plukk.ReserverOppgaveService import no.nav.aap.oppgave.server.authenticate.ident import org.slf4j.LoggerFactory @@ -24,7 +23,7 @@ private val log = LoggerFactory.getLogger("OpprettOppgaveAPI") fun NormalOpenAPIRoute.opprettOppgaveApi(dataSource: DataSource, prometheus: PrometheusMeterRegistry) = - route("/opprett-oppgave").post { _, request -> + route("/opprett-oppgave").post { _, request -> prometheus.httpCallCounter("/opprett-oppgave").increment() val oppgave = request.lagOppgave(ident()) if (oppgave != null) { @@ -36,7 +35,7 @@ fun NormalOpenAPIRoute.opprettOppgaveApi(dataSource: DataSource, prometheus: Pro oppgave.saksnummer, oppgave.behandlingRef, oppgave.journalpostId, - Avklaringsbehovtype.fraKode(oppgave.avklaringsbehovKode.kode) + oppgave.avklaringsbehovKode ) val reserverteOppgaver = ReserverOppgaveService(connection).reserverOppgave(avklaringsbehovReferanse, hvemLøsteForrigeAvklaringsbehovIdent, token()) if (reserverteOppgaver.isNotEmpty()) { diff --git a/app/src/main/kotlin/no/nav/aap/oppgave/plukk/PlukkOppgaveService.kt b/app/src/main/kotlin/no/nav/aap/oppgave/plukk/PlukkOppgaveService.kt index e77f372..ebe6e26 100644 --- a/app/src/main/kotlin/no/nav/aap/oppgave/plukk/PlukkOppgaveService.kt +++ b/app/src/main/kotlin/no/nav/aap/oppgave/plukk/PlukkOppgaveService.kt @@ -21,7 +21,7 @@ class PlukkOppgaveService(val connection: DBConnection) { val tilgangRequest = TilgangRequest( saksnummer = nesteOppgave.avklaringsbehovReferanse.saksnummer!!, behandlingsreferanse = nesteOppgave.avklaringsbehovReferanse.referanse?.toString(), - avklaringsbehovKode = nesteOppgave.avklaringsbehovReferanse.avklaringsbehovtype.kode, + avklaringsbehovKode = nesteOppgave.avklaringsbehovReferanse.avklaringsbehovKode.kode, operasjon = Operasjon.SAKSBEHANDLE ) if (TilgangGateway.harTilgang(tilgangRequest, token)) { diff --git a/app/src/main/kotlin/no/nav/aap/oppgave/plukk/ReserverOppgaveService.kt b/app/src/main/kotlin/no/nav/aap/oppgave/plukk/ReserverOppgaveService.kt index 39e3af9..c1abb5b 100644 --- a/app/src/main/kotlin/no/nav/aap/oppgave/plukk/ReserverOppgaveService.kt +++ b/app/src/main/kotlin/no/nav/aap/oppgave/plukk/ReserverOppgaveService.kt @@ -16,7 +16,7 @@ class ReserverOppgaveService(val connection: DBConnection) { val tilgangRequest = TilgangRequest( saksnummer = avklaringsbehovReferanse.saksnummer, behandlingsreferanse = avklaringsbehovReferanse.referanse?.toString(), - avklaringsbehovKode = avklaringsbehovReferanse.avklaringsbehovtype.kode, + avklaringsbehovKode = avklaringsbehovReferanse.avklaringsbehovKode.kode, operasjon = Operasjon.SAKSBEHANDLE ) if (TilgangGateway.harTilgang(tilgangRequest, token)) { diff --git a/app/src/test/kotlin/no/nav/aap/oppgave/ApiTest.kt b/app/src/test/kotlin/no/nav/aap/oppgave/ApiTest.kt index aada663..0287076 100644 --- a/app/src/test/kotlin/no/nav/aap/oppgave/ApiTest.kt +++ b/app/src/test/kotlin/no/nav/aap/oppgave/ApiTest.kt @@ -3,6 +3,15 @@ package no.nav.aap.oppgave import io.ktor.server.application.* import io.ktor.server.engine.* import io.ktor.server.netty.* +import no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Definisjon +import no.nav.aap.behandlingsflyt.kontrakt.behandling.BehandlingReferanse +import no.nav.aap.behandlingsflyt.kontrakt.behandling.TypeBehandling +import no.nav.aap.behandlingsflyt.kontrakt.hendelse.AvklaringsbehovHendelseDto +import no.nav.aap.behandlingsflyt.kontrakt.hendelse.BehandlingFlytStoppetHendelse +import no.nav.aap.behandlingsflyt.kontrakt.hendelse.DefinisjonDTO +import no.nav.aap.behandlingsflyt.kontrakt.hendelse.EndringDTO +import no.nav.aap.behandlingsflyt.kontrakt.sak.Saksnummer +import no.nav.aap.behandlingsflyt.kontrakt.sak.Status import no.nav.aap.komponenter.httpklient.httpclient.ClientConfig import no.nav.aap.komponenter.httpklient.httpclient.RestClient import no.nav.aap.komponenter.httpklient.httpclient.get @@ -12,18 +21,11 @@ import no.nav.aap.komponenter.httpklient.httpclient.request.PostRequest import no.nav.aap.komponenter.httpklient.httpclient.tokenprovider.azurecc.ClientCredentialsTokenProvider import no.nav.aap.oppgave.fakes.Fakes import no.nav.aap.oppgave.filter.FilterDto -import no.nav.aap.oppgave.opprett.AvklaringsbehovDto -import no.nav.aap.oppgave.opprett.AvklaringsbehovhendelseEndring -import no.nav.aap.oppgave.opprett.Avklaringsbehovstatus -import no.nav.aap.oppgave.opprett.Avklaringsbehovtype -import no.nav.aap.oppgave.opprett.BehandlingshistorikkRequest -import no.nav.aap.oppgave.opprett.Behandlingstatus -import no.nav.aap.oppgave.opprett.Behandlingstype -import no.nav.aap.oppgave.opprett.Definisjon import no.nav.aap.oppgave.plukk.FinnNesteOppgaveDto import no.nav.aap.oppgave.plukk.NesteOppgaveDto import no.nav.aap.oppgave.server.DbConfig import no.nav.aap.oppgave.server.server +import no.nav.aap.oppgave.verdityper.AvklaringsbehovKode import no.nav.aap.oppgave.verdityper.OppgaveId import org.assertj.core.api.Assertions.assertThat import org.junit.jupiter.api.AfterAll @@ -56,7 +58,7 @@ class ApiTest { assertThat(hentMineOppgaver().first().id).isEqualTo(oppgaveId) // Avslutt plukket oppgave - val oppgaveIder = avsluttOppgave(saksnummer, referanse, Avklaringsbehovtype.AVKLAR_SYKDOM) + val oppgaveIder = avsluttOppgave(saksnummer, referanse, Definisjon.AVKLAR_SYKDOM) assertThat(oppgaveIder).hasSize(1) assertThat(oppgaveIder.first()).isEqualTo(oppgaveId) @@ -78,7 +80,7 @@ class ApiTest { assertThat(hentMineOppgaver().first().id).isEqualTo(oppgaveId) // Avslutt plukket oppgave - val oppgaveIder = avsluttOppgave(saksnummer, referanse, Avklaringsbehovtype.AVKLAR_BARN) + val oppgaveIder = avsluttOppgave(saksnummer, referanse, Definisjon.AVKLAR_BARNETILLEGG) assertThat(oppgaveIder).hasSize(1) assertThat(oppgaveIder.first()).isEqualTo(oppgaveId) @@ -98,68 +100,75 @@ class ApiTest { assertThat(filterListe).hasSize(2) } - private fun opprettBehandlingshistorikkMedEtAvklaringsbehov(saksnummer: String, referanse: UUID): BehandlingshistorikkRequest { - return BehandlingshistorikkRequest( - personident = "01010012345", - saksnummer = saksnummer, - referanse = referanse.toString(), - behandlingType = Behandlingstype.Førstegangsbehandling, - status = Behandlingstatus.OPPRETTET, + private fun Definisjon.tilDefinisjonDTO(): DefinisjonDTO { + return DefinisjonDTO( + type = this.kode, + behovType = this.type, + løsesISteg = this.løsesISteg + ) + } + + private fun opprettBehandlingshistorikkMedEtAvklaringsbehov(saksnummer: String, referanse: UUID): BehandlingFlytStoppetHendelse { + return BehandlingFlytStoppetHendelse( + personIdent = "01010012345", + saksnummer = Saksnummer(saksnummer), + referanse = BehandlingReferanse(referanse), + behandlingType = TypeBehandling.Førstegangsbehandling, + status = Status.OPPRETTET, opprettetTidspunkt = LocalDateTime.now(), + hendelsesTidspunkt = LocalDateTime.now(), + versjon = "1", avklaringsbehov = listOf( - AvklaringsbehovDto( - definisjon = Definisjon( - type = Avklaringsbehovtype.AVKLAR_SYKDOM.kode - ), - status = Avklaringsbehovstatus.OPPRETTET, + AvklaringsbehovHendelseDto( + definisjon = Definisjon.AVKLAR_SYKDOM.tilDefinisjonDTO(), + status = no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status.OPPRETTET, endringer = listOf( - AvklaringsbehovhendelseEndring( - status = Avklaringsbehovstatus.OPPRETTET, + EndringDTO( + status = no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status.OPPRETTET, tidsstempel = LocalDateTime.now(), endretAv = "Kelvin" ) + ) - ) + ), ) ) } - private fun opprettBehandlingshistorikkMedTidligereUtførtOppgave(saksnummer: String, referanse: UUID): BehandlingshistorikkRequest { - return BehandlingshistorikkRequest( - personident = "01010012345", - saksnummer = saksnummer, - referanse = referanse.toString(), - behandlingType = Behandlingstype.Førstegangsbehandling, - status = Behandlingstatus.OPPRETTET, + private fun opprettBehandlingshistorikkMedTidligereUtførtOppgave(saksnummer: String, referanse: UUID): BehandlingFlytStoppetHendelse { + return BehandlingFlytStoppetHendelse( + personIdent = "01010012345", + saksnummer = Saksnummer(saksnummer), + referanse = BehandlingReferanse(referanse), + behandlingType = TypeBehandling.Førstegangsbehandling, + status = Status.OPPRETTET, opprettetTidspunkt = LocalDateTime.now(), + hendelsesTidspunkt = LocalDateTime.now(), + versjon = "1", avklaringsbehov = listOf( - AvklaringsbehovDto( - definisjon = Definisjon( - type = Avklaringsbehovtype.AVKLAR_BARN.kode - ), - status = Avklaringsbehovstatus.OPPRETTET, + AvklaringsbehovHendelseDto( + definisjon = Definisjon.AVKLAR_BARNETILLEGG.tilDefinisjonDTO(), + status = no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status.OPPRETTET, endringer = listOf( - AvklaringsbehovhendelseEndring( - status = Avklaringsbehovstatus.OPPRETTET, + EndringDTO( + status = no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status.OPPRETTET, tidsstempel = LocalDateTime.now(), endretAv = "Kelvin" ) ) ), - AvklaringsbehovDto( - definisjon = Definisjon( - type = Avklaringsbehovtype.AVKLAR_SYKDOM.kode - ), - status = Avklaringsbehovstatus.AVSLUTTET, + AvklaringsbehovHendelseDto( + definisjon = Definisjon.AVKLAR_SYKDOM.tilDefinisjonDTO(), + status = no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status.AVSLUTTET, endringer = listOf( - AvklaringsbehovhendelseEndring( - status = Avklaringsbehovstatus.OPPRETTET, + EndringDTO( + status = no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status.OPPRETTET, tidsstempel = LocalDateTime.now().minusHours(2), endretAv = "Kelvin" ), - AvklaringsbehovhendelseEndring( - status = Avklaringsbehovstatus.AVSLUTTET, + EndringDTO( + status = no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Status.AVSLUTTET, tidsstempel = LocalDateTime.now().minusHours(1), endretAv = "Lokalsaksbehandler" ) @@ -170,7 +179,7 @@ class ApiTest { ) } - private fun opprettOppgave(request: BehandlingshistorikkRequest): OppgaveId? { + private fun opprettOppgave(request: BehandlingFlytStoppetHendelse): OppgaveId? { val oppgaveId:OppgaveId? = client.post( URI.create("http://localhost:8080/opprett-oppgave"), PostRequest(body = request) @@ -194,14 +203,14 @@ class ApiTest { } - private fun avsluttOppgave(saksnummer: String, referanse: UUID, avklaringsbehovtype: Avklaringsbehovtype): List { + private fun avsluttOppgave(saksnummer: String, referanse: UUID, definisjon: Definisjon): List { val oppgaveIder: List? = client.post( URI.create("http://localhost:8080/avslutt-oppgave"), PostRequest(body = AvklaringsbehovReferanseDto( saksnummer = saksnummer, referanse = referanse, journalpostId = null, - avklaringsbehovtype = avklaringsbehovtype) + avklaringsbehovKode = AvklaringsbehovKode(definisjon.kode)) ) ) return oppgaveIder!! diff --git a/app/src/test/kotlin/no/nav/aap/oppgave/OppgaveRepositoryTest.kt b/app/src/test/kotlin/no/nav/aap/oppgave/OppgaveRepositoryTest.kt index f39b1fb..883e22a 100644 --- a/app/src/test/kotlin/no/nav/aap/oppgave/OppgaveRepositoryTest.kt +++ b/app/src/test/kotlin/no/nav/aap/oppgave/OppgaveRepositoryTest.kt @@ -1,9 +1,9 @@ package no.nav.aap.oppgave +import no.nav.aap.behandlingsflyt.kontrakt.avklaringsbehov.Definisjon import no.nav.aap.komponenter.dbconnect.transaction import no.nav.aap.komponenter.dbtest.InitTestDatabase import no.nav.aap.oppgave.filter.FilterDto -import no.nav.aap.oppgave.opprett.Avklaringsbehovtype import no.nav.aap.oppgave.verdityper.AvklaringsbehovKode import no.nav.aap.oppgave.verdityper.OppgaveId import no.nav.aap.oppgave.verdityper.Status @@ -47,10 +47,10 @@ class OppgaveRepositoryTest { @Test fun `Finn neste oppgave finner en oppgave fordi en av oppgavene matcher filter`() { - opprettOppgave(avklaringsbehovKode = AvklaringsbehovKode(Avklaringsbehovtype.AVKLAR_SYKDOM.kode)) - opprettOppgave(avklaringsbehovKode = AvklaringsbehovKode(Avklaringsbehovtype.AVKLAR_STUDENT.kode)) + opprettOppgave(avklaringsbehovKode = AvklaringsbehovKode(Definisjon.AVKLAR_SYKDOM.kode)) + opprettOppgave(avklaringsbehovKode = AvklaringsbehovKode(Definisjon.AVKLAR_STUDENT.kode)) InitTestDatabase.dataSource.transaction { connection -> - val oppgaveId = OppgaveRepository(connection).finnNesteOppgave(filter(Avklaringsbehovtype.AVKLAR_STUDENT.kode)) + val oppgaveId = OppgaveRepository(connection).finnNesteOppgave(filter(Definisjon.AVKLAR_STUDENT.kode)) assertThat(oppgaveId).isNotNull() } }