diff --git "a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/Totrinnsvurderingh\303\245ndterer.kt" "b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/Totrinnsvurderingh\303\245ndterer.kt" index 813cd04ab..535ce34a5 100644 --- "a/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/Totrinnsvurderingh\303\245ndterer.kt" +++ "b/spesialist-api/src/main/kotlin/no/nav/helse/spesialist/api/Totrinnsvurderingh\303\245ndterer.kt" @@ -1,7 +1,5 @@ package no.nav.helse.spesialist.api -import no.nav.helse.spesialist.api.graphql.schema.NotatType -import no.nav.helse.spesialist.api.periodehistorikk.PeriodehistorikkType import no.nav.helse.spesialist.api.saksbehandler.SaksbehandlerFraApi import java.util.UUID @@ -11,13 +9,6 @@ interface Totrinnsvurderinghåndterer { saksbehandlerOid: UUID, ) - fun lagrePeriodehistorikk( - oppgaveId: Long, - saksbehandleroid: UUID?, - type: PeriodehistorikkType, - notat: Pair? = null, - ) - fun totrinnsvurderingRetur( oppgaveId: Long, saksbehandlerFraApi: SaksbehandlerFraApi, diff --git a/spesialist-modell/src/main/kotlin/no/nav/helse/modell/periodehistorikk/HistorikkinnslagDto.kt b/spesialist-modell/src/main/kotlin/no/nav/helse/modell/periodehistorikk/HistorikkinnslagDto.kt index a1fc20044..971289865 100644 --- a/spesialist-modell/src/main/kotlin/no/nav/helse/modell/periodehistorikk/HistorikkinnslagDto.kt +++ b/spesialist-modell/src/main/kotlin/no/nav/helse/modell/periodehistorikk/HistorikkinnslagDto.kt @@ -46,6 +46,9 @@ sealed interface HistorikkinnslagDto { notat: NotatDto, saksbehandler: SaksbehandlerDto, ): TotrinnsvurderingRetur = TotrinnsvurderingRetur(notat = notat, saksbehandler = saksbehandler, tidspunkt = LocalDateTime.now()) + + fun totrinnsvurderingAutomatiskRetur(): TotrinnsvurderingAutomatiskRetur = + TotrinnsvurderingAutomatiskRetur(tidspunkt = LocalDateTime.now()) } } @@ -99,3 +102,10 @@ data class TotrinnsvurderingRetur( override val saksbehandler: SaksbehandlerDto, override val tidspunkt: LocalDateTime, ) : HistorikkinnslagDto + +data class TotrinnsvurderingAutomatiskRetur( + override val tidspunkt: LocalDateTime, +) : HistorikkinnslagDto { + override val notat: NotatDto? = null + override val saksbehandler: SaksbehandlerDto? = null +} diff --git a/spesialist-selve/src/main/kotlin/no/nav/helse/bootstrap/SpesialistApp.kt b/spesialist-selve/src/main/kotlin/no/nav/helse/bootstrap/SpesialistApp.kt index a78f42b74..a81df3bf3 100644 --- a/spesialist-selve/src/main/kotlin/no/nav/helse/bootstrap/SpesialistApp.kt +++ b/spesialist-selve/src/main/kotlin/no/nav/helse/bootstrap/SpesialistApp.kt @@ -152,7 +152,6 @@ internal class SpesialistApp( totrinnsvurderingRepository = totrinnsvurderingDao, oppgaveRepository = oppgaveDao, historikkinnslagRepository = pgHistorikkinnslagRepository, - notatRepository = notatDao, ) private val snapshotService = SnapshotService(snapshotDao = snapshotApiDao, snapshotClient = snapshotClient) @@ -298,7 +297,6 @@ internal class SpesialistApp( rapidsConnection = rapidsConnection, oppgaveService = oppgaveService, saksbehandlerRepository = saksbehandlerDao, - notatRepository = notatDao, ) subsumsjonsmelder = Subsumsjonsmelder(versjonAvKode, rapidsConnection) diff --git a/spesialist-selve/src/main/kotlin/no/nav/helse/db/PgHistorikkinnslagRepository.kt b/spesialist-selve/src/main/kotlin/no/nav/helse/db/PgHistorikkinnslagRepository.kt index 2cae4a428..4771c28ec 100644 --- a/spesialist-selve/src/main/kotlin/no/nav/helse/db/PgHistorikkinnslagRepository.kt +++ b/spesialist-selve/src/main/kotlin/no/nav/helse/db/PgHistorikkinnslagRepository.kt @@ -6,6 +6,7 @@ import no.nav.helse.modell.periodehistorikk.AvventerTotrinnsvurdering import no.nav.helse.modell.periodehistorikk.FjernetFraPåVent import no.nav.helse.modell.periodehistorikk.HistorikkinnslagDto import no.nav.helse.modell.periodehistorikk.LagtPåVent +import no.nav.helse.modell.periodehistorikk.TotrinnsvurderingAutomatiskRetur import no.nav.helse.modell.periodehistorikk.TotrinnsvurderingFerdigbehandlet import no.nav.helse.modell.periodehistorikk.TotrinnsvurderingRetur import no.nav.helse.spesialist.api.graphql.schema.NotatType @@ -42,6 +43,7 @@ class PgHistorikkinnslagRepository( } is TotrinnsvurderingFerdigbehandlet -> lagre(historikkinnslag, generasjonId, null) is AvventerTotrinnsvurdering -> lagre(historikkinnslag, generasjonId, null) + is TotrinnsvurderingAutomatiskRetur -> lagre(historikkinnslag, generasjonId, null) is TotrinnsvurderingRetur -> { val notatId = notatDao diff --git a/spesialist-selve/src/main/kotlin/no/nav/helse/db/TransactionalPeriodehistorikkDao.kt b/spesialist-selve/src/main/kotlin/no/nav/helse/db/TransactionalPeriodehistorikkDao.kt index 747086620..0b18163f9 100644 --- a/spesialist-selve/src/main/kotlin/no/nav/helse/db/TransactionalPeriodehistorikkDao.kt +++ b/spesialist-selve/src/main/kotlin/no/nav/helse/db/TransactionalPeriodehistorikkDao.kt @@ -6,6 +6,7 @@ import no.nav.helse.modell.periodehistorikk.AvventerTotrinnsvurdering import no.nav.helse.modell.periodehistorikk.FjernetFraPåVent import no.nav.helse.modell.periodehistorikk.HistorikkinnslagDto import no.nav.helse.modell.periodehistorikk.LagtPåVent +import no.nav.helse.modell.periodehistorikk.TotrinnsvurderingAutomatiskRetur import no.nav.helse.modell.periodehistorikk.TotrinnsvurderingFerdigbehandlet import no.nav.helse.modell.periodehistorikk.TotrinnsvurderingRetur import no.nav.helse.spesialist.api.periodehistorikk.PeriodehistorikkType @@ -51,6 +52,7 @@ class TransactionalPeriodehistorikkDao( is TotrinnsvurderingFerdigbehandlet -> "TOTRINNSVURDERING_ATTESTERT" // TODO: Mangler å migrere typen i databasen is AvventerTotrinnsvurdering -> "TOTRINNSVURDERING_TIL_GODKJENNING" // TODO: Mangler å migrere typen i databasen is TotrinnsvurderingRetur -> "TOTRINNSVURDERING_RETUR" // TODO: Mangler å migrere typen i databasen + is TotrinnsvurderingAutomatiskRetur -> "TOTRINNSVURDERING_RETUR" // TODO: Mangler å migrere typen i databasen } override fun lagre( diff --git a/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/GodkjenningService.kt b/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/GodkjenningService.kt index 264816459..43847f013 100644 --- a/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/GodkjenningService.kt +++ b/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/GodkjenningService.kt @@ -1,7 +1,6 @@ package no.nav.helse.mediator import net.logstash.logback.argument.StructuredArguments -import no.nav.helse.db.NotatRepository import no.nav.helse.db.PgHistorikkinnslagRepository import no.nav.helse.db.ReservasjonDao import no.nav.helse.db.SaksbehandlerRepository @@ -34,13 +33,11 @@ internal class GodkjenningService( private val reservasjonDao: ReservasjonDao = ReservasjonDao(dataSource), private val pgHistorikkinnslagRepository: PgHistorikkinnslagRepository = PgHistorikkinnslagRepository(dataSource), private val saksbehandlerRepository: SaksbehandlerRepository, - private val notatRepository: NotatRepository, private val totrinnsvurderingService: TotrinnsvurderingService = TotrinnsvurderingService( TotrinnsvurderingDao(dataSource), oppgaveDao, pgHistorikkinnslagRepository, - notatRepository, ), ) : Godkjenninghåndterer { private companion object { @@ -62,34 +59,35 @@ internal class GodkjenningService( val saksbehandlerJson = saksbehandler(godkjenningDTO, totrinnsvurdering, oid) val beslutterJson = beslutter(godkjenningDTO, totrinnsvurdering) val godkjenningMessage = - JsonMessage.newMessage( - "saksbehandler_løsning", - mutableMapOf( - "@forårsaket_av" to - mapOf( - "event_name" to "behov", - "behov" to "Godkjenning", - "id" to hendelseId, - ), - "fødselsnummer" to fødselsnummer, - "oppgaveId" to godkjenningDTO.oppgavereferanse, - "hendelseId" to hendelseId, - "godkjent" to godkjenningDTO.godkjent, - "saksbehandlerident" to godkjenningDTO.saksbehandlerIdent, - "saksbehandleroid" to oid, - "saksbehandlerepost" to epost, - "godkjenttidspunkt" to LocalDateTime.now(), - "saksbehandleroverstyringer" to saksbehandleroverstyringer, - "saksbehandler" to saksbehandlerJson, - ).apply { - godkjenningDTO.årsak?.let { put("årsak", it) } - godkjenningDTO.begrunnelser?.let { put("begrunnelser", it) } - godkjenningDTO.kommentar?.let { put("kommentar", it) } - compute("beslutter") { _, _ -> beslutterJson } - }, - ).also { - sikkerlogg.info("Publiserer saksbehandler-løsning: ${it.toJson()}") - } + JsonMessage + .newMessage( + "saksbehandler_løsning", + mutableMapOf( + "@forårsaket_av" to + mapOf( + "event_name" to "behov", + "behov" to "Godkjenning", + "id" to hendelseId, + ), + "fødselsnummer" to fødselsnummer, + "oppgaveId" to godkjenningDTO.oppgavereferanse, + "hendelseId" to hendelseId, + "godkjent" to godkjenningDTO.godkjent, + "saksbehandlerident" to godkjenningDTO.saksbehandlerIdent, + "saksbehandleroid" to oid, + "saksbehandlerepost" to epost, + "godkjenttidspunkt" to LocalDateTime.now(), + "saksbehandleroverstyringer" to saksbehandleroverstyringer, + "saksbehandler" to saksbehandlerJson, + ).apply { + godkjenningDTO.årsak?.let { put("årsak", it) } + godkjenningDTO.begrunnelser?.let { put("begrunnelser", it) } + godkjenningDTO.kommentar?.let { put("kommentar", it) } + compute("beslutter") { _, _ -> beslutterJson } + }, + ).also { + sikkerlogg.info("Publiserer saksbehandler-løsning: ${it.toJson()}") + } logg.info( "Publiserer saksbehandler-løsning for {}, {}", StructuredArguments.keyValue("oppgaveId", godkjenningDTO.oppgavereferanse), diff --git a/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/Kommandofabrikk.kt b/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/Kommandofabrikk.kt index 286e19e2f..3ec44445c 100644 --- a/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/Kommandofabrikk.kt +++ b/spesialist-selve/src/main/kotlin/no/nav/helse/mediator/Kommandofabrikk.kt @@ -5,7 +5,6 @@ import kotliquery.sessionOf import no.nav.helse.db.AvviksvurderingDao import no.nav.helse.db.CommandContextRepository import no.nav.helse.db.InntektskilderDao -import no.nav.helse.db.NotatDao import no.nav.helse.db.OppgaveRepository import no.nav.helse.db.PgHistorikkinnslagRepository import no.nav.helse.db.TotrinnsvurderingDao @@ -13,7 +12,6 @@ import no.nav.helse.db.TransactionalCommandContextDao import no.nav.helse.db.TransactionalEgenAnsattDao import no.nav.helse.db.TransactionalInntektskilderDao import no.nav.helse.db.TransactionalMeldingDao -import no.nav.helse.db.TransactionalNotatDao import no.nav.helse.db.TransactionalOppgaveDao import no.nav.helse.db.TransactionalOpptegnelseDao import no.nav.helse.db.TransactionalOverstyringDao @@ -93,7 +91,6 @@ internal class Kommandofabrikk( private val egenAnsattDao: EgenAnsattDao = EgenAnsattDao(dataSource), oppgaveService: () -> OppgaveService, private val totrinnsvurderingDao: TotrinnsvurderingDao = TotrinnsvurderingDao(dataSource), - private val notatDao: NotatDao = NotatDao(dataSource), private val pgHistorikkinnslagRepository: PgHistorikkinnslagRepository = PgHistorikkinnslagRepository(dataSource), private val påVentDao: PåVentDao = PåVentDao(dataSource), private val totrinnsvurderingService: TotrinnsvurderingService = @@ -101,7 +98,6 @@ internal class Kommandofabrikk( totrinnsvurderingDao, oppgaveDao, pgHistorikkinnslagRepository, - notatDao, ), private val godkjenningMediator: GodkjenningMediator, private val automatisering: Automatisering, @@ -141,7 +137,8 @@ internal class Kommandofabrikk( transactionalSession: TransactionalSession, ): GosysOppgaveEndretCommand { val utbetaling = TransactionalUtbetalingDao(transactionalSession).hentUtbetaling(oppgaveDataForAutomatisering.utbetalingId) - val harTildeltOppgave = TransactionalTildelingDao(transactionalSession).tildelingForOppgave(oppgaveDataForAutomatisering.oppgaveId) != null + val harTildeltOppgave = + TransactionalTildelingDao(transactionalSession).tildelingForOppgave(oppgaveDataForAutomatisering.oppgaveId) != null val godkjenningsbehovData = TransactionalMeldingDao( transactionalSession, @@ -228,7 +225,6 @@ internal class Kommandofabrikk( TransactionalTotrinnsvurderingDao(session), TransactionalOppgaveDao(session), TransactionalPeriodehistorikkDao(session), - TransactionalNotatDao(session), ), ) @@ -333,7 +329,6 @@ internal class Kommandofabrikk( TransactionalTotrinnsvurderingDao(session), TransactionalOppgaveDao(session), TransactionalPeriodehistorikkDao(session), - TransactionalNotatDao(session), ), json = hendelse.toJson(), ) @@ -356,7 +351,6 @@ internal class Kommandofabrikk( TransactionalTotrinnsvurderingDao(session), TransactionalOppgaveDao(session), TransactionalPeriodehistorikkDao(session), - TransactionalNotatDao(session), ), ) diff --git a/spesialist-selve/src/main/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingService.kt b/spesialist-selve/src/main/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingService.kt index 6db28cea9..6bd8d414d 100644 --- a/spesialist-selve/src/main/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingService.kt +++ b/spesialist-selve/src/main/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingService.kt @@ -1,15 +1,12 @@ package no.nav.helse.modell.totrinnsvurdering import no.nav.helse.db.HistorikkinnslagRepository -import no.nav.helse.db.NotatRepository import no.nav.helse.db.OppgaveRepository import no.nav.helse.db.TotrinnsvurderingRepository import no.nav.helse.modell.periodehistorikk.HistorikkinnslagDto import no.nav.helse.modell.periodehistorikk.NotatDto import no.nav.helse.modell.saksbehandler.SaksbehandlerDto import no.nav.helse.spesialist.api.Totrinnsvurderinghåndterer -import no.nav.helse.spesialist.api.graphql.schema.NotatType -import no.nav.helse.spesialist.api.periodehistorikk.PeriodehistorikkType import no.nav.helse.spesialist.api.saksbehandler.SaksbehandlerFraApi import java.util.UUID @@ -17,7 +14,6 @@ class TotrinnsvurderingService( private val totrinnsvurderingRepository: TotrinnsvurderingRepository, private val oppgaveRepository: OppgaveRepository, private val historikkinnslagRepository: HistorikkinnslagRepository, - private val notatRepository: NotatRepository, ) : Totrinnsvurderinghåndterer { fun finnEllerOpprettNy(vedtaksperiodeId: UUID): TotrinnsvurderingOld = totrinnsvurderingRepository.opprett(vedtaksperiodeId) @@ -29,28 +25,8 @@ class TotrinnsvurderingService( fun settAutomatiskRetur(vedtaksperiodeId: UUID) { oppgaveRepository.finnIdForAktivOppgave(vedtaksperiodeId)?.let { totrinnsvurderingRepository.settErRetur(vedtaksperiodeId) - - lagrePeriodehistorikk( - oppgaveId = it, - saksbehandleroid = null, - type = PeriodehistorikkType.TOTRINNSVURDERING_RETUR, - ) - } - } - - override fun lagrePeriodehistorikk( - oppgaveId: Long, - saksbehandleroid: UUID?, - type: PeriodehistorikkType, - notat: Pair?, - ) { - var notatId: Int? = null - if (notat != null && saksbehandleroid != null) { - val (tekst, notattype) = notat - notatId = notatRepository.lagreForOppgaveId(oppgaveId, tekst, saksbehandleroid, notattype)?.toInt() - } - oppgaveRepository.finnUtbetalingId(oppgaveId)?.also { - historikkinnslagRepository.lagre(type, saksbehandleroid, it, notatId) + val innslag = HistorikkinnslagDto.totrinnsvurderingAutomatiskRetur() + historikkinnslagRepository.lagre(innslag, it) } } @@ -59,7 +35,8 @@ class TotrinnsvurderingService( saksbehandlerFraApi: SaksbehandlerFraApi, notat: String, ) { - val innslag = HistorikkinnslagDto.totrinnsvurderingRetur(notat = NotatDto(oppgaveId, notat), saksbehandlerFraApi.toDto()) + val innslag = + HistorikkinnslagDto.totrinnsvurderingRetur(notat = NotatDto(oppgaveId, notat), saksbehandlerFraApi.toDto()) historikkinnslagRepository.lagre(innslag, oppgaveId) } diff --git a/spesialist-selve/src/test/kotlin/AbstractIntegrationTest.kt b/spesialist-selve/src/test/kotlin/AbstractIntegrationTest.kt index e3f669349..64c59e989 100644 --- a/spesialist-selve/src/test/kotlin/AbstractIntegrationTest.kt +++ b/spesialist-selve/src/test/kotlin/AbstractIntegrationTest.kt @@ -1,7 +1,6 @@ import no.nav.helse.SpeilTilgangsgrupper import no.nav.helse.TestRapidHelpers.oppgaveId import no.nav.helse.TestRapidHelpers.siste -import no.nav.helse.db.NotatDao import no.nav.helse.db.OpptegnelseDao import no.nav.helse.db.PgHistorikkinnslagRepository import no.nav.helse.db.ReservasjonDao @@ -31,7 +30,6 @@ internal abstract class AbstractIntegrationTest : AbstractE2ETest() { private val totrinnsvurderingDao = TotrinnsvurderingDao(dataSource) private val meldingDao = MeldingDao(dataSource) private val saksbehandlerDao = SaksbehandlerDao(dataSource) - private val notatDao = NotatDao(dataSource) private val oppgaveService = OppgaveService( @@ -57,13 +55,11 @@ internal abstract class AbstractIntegrationTest : AbstractE2ETest() { oppgaveService = oppgaveService, reservasjonDao = reservasjonDao, saksbehandlerRepository = saksbehandlerDao, - notatRepository = notatDao, totrinnsvurderingService = TotrinnsvurderingService( totrinnsvurderingDao, oppgaveDao, pgHistorikkinnslagRepository, - notatDao, ), ) diff --git a/spesialist-selve/src/test/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingServiceTest.kt b/spesialist-selve/src/test/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingServiceTest.kt index 2312ef479..5660acf9a 100644 --- a/spesialist-selve/src/test/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingServiceTest.kt +++ b/spesialist-selve/src/test/kotlin/no/nav/helse/modell/totrinnsvurdering/TotrinnsvurderingServiceTest.kt @@ -3,17 +3,14 @@ package no.nav.helse.modell.totrinnsvurdering import io.mockk.every import io.mockk.mockk import io.mockk.verify -import no.nav.helse.db.NotatRepository import no.nav.helse.db.HistorikkinnslagRepository import no.nav.helse.db.TotrinnsvurderingDao import no.nav.helse.mediator.oppgave.OppgaveDao -import no.nav.helse.spesialist.api.periodehistorikk.PeriodehistorikkType import org.junit.jupiter.api.Test import java.util.UUID class TotrinnsvurderingServiceTest { private val totrinnsvurderingDao = mockk(relaxed = true) - private val notatRepository = mockk(relaxed = true) val oppgaveDao = mockk(relaxed = true) private val historikkinnslagRepository = mockk(relaxed = true) @@ -22,7 +19,6 @@ class TotrinnsvurderingServiceTest { totrinnsvurderingDao, oppgaveDao, historikkinnslagRepository, - notatRepository, ) @Test @@ -41,9 +37,8 @@ class TotrinnsvurderingServiceTest { verify(exactly = 1) { oppgaveDao.finnIdForAktivOppgave(vedtaksperiodeId) } verify(exactly = 1) { historikkinnslagRepository.lagre( - historikkType = PeriodehistorikkType.TOTRINNSVURDERING_RETUR, - saksbehandlerOid = null, - utbetalingId = utbetalingId, + historikkinnslag = any(), + oppgaveId = oppgaveId, ) } }