Skip to content

Commit

Permalink
Lanserre antall fra oppgave-v3, fjernet kode for v1
Browse files Browse the repository at this point in the history
  • Loading branch information
tendestad committed Jan 8, 2025
1 parent 09907b4 commit 9cacb81
Show file tree
Hide file tree
Showing 11 changed files with 21 additions and 180 deletions.
9 changes: 1 addition & 8 deletions src/main/kotlin/no/nav/k9/los/KoinProfiles.kt
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ import no.nav.k9.los.nyoppgavestyring.reservasjon.ReservasjonV3Tjeneste
import no.nav.k9.los.nyoppgavestyring.søkeboks.SøkeboksTjeneste
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.OppgaveRepository
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.OppgaverGruppertRepository
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepositoryV3
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepository
import no.nav.k9.los.tjenester.avdelingsleder.AvdelingslederTjeneste
import no.nav.k9.los.tjenester.avdelingsleder.nokkeltall.NokkeltallTjeneste
import no.nav.k9.los.tjenester.driftsmeldinger.DriftsmeldingTjeneste
Expand Down Expand Up @@ -110,8 +110,6 @@ fun common(app: Application, config: Configuration) = module {
oppgaveRepository = get(),
statistikkRepository = get(),
nøkkeltallRepository = get(),
nøkkeltallRepositoryV3 = get(),
koinProfile = config.koinProfile(),
)
}
single(named("oppgaveKøOppdatert")) {
Expand Down Expand Up @@ -204,10 +202,6 @@ fun common(app: Application, config: Configuration) = module {
NøkkeltallRepository(get())
}

single {
NøkkeltallRepositoryV3(get())
}

single {
OppgaverGruppertRepository(get())
}
Expand Down Expand Up @@ -321,7 +315,6 @@ fun common(app: Application, config: Configuration) = module {
statistikkRepository = get(),
reservasjonOversetter = get(),
statistikkChannel = get(named("statistikkRefreshChannel")),
koinProfile = config.koinProfile,
)
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -299,36 +299,6 @@ class OppgaveRepository(
}
}

suspend fun hentApneBehandlingerPerBehandlingtypeIdag(): List<AlleApneBehandlinger> {
val kode6 = pepClient.harTilgangTilKode6()
try {
val json = using(sessionOf(dataSource)) {
it.run(
queryOf(
"""
select count(*) as antall,
(data -> 'behandlingType' ->> 'kode') as behandlingType
from oppgave o where (data -> 'aktiv') ::boolean and (data -> 'kode6'):: Boolean =:kode6
group by behandlingType
""".trimIndent(),
mapOf("kode6" to kode6)
)
.map { row ->
AlleApneBehandlinger(
BehandlingType.fraKode(row.string("behandlingType")),
row.int("antall")
)
}.asList
)
}
return json
} catch (e: Exception) {
log.error("", e)
return emptyList()
}
}


suspend fun hentOppgaverMedAktorId(aktørId: String): List<Oppgave> {
val kode6 = pepClient.harTilgangTilKode6()
val json: List<String> = using(sessionOf(dataSource)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import java.time.LocalDate
import java.time.format.DateTimeFormatter
import javax.sql.DataSource

class NøkkeltallRepositoryV3 (private val dataSource: DataSource) {
class NøkkeltallRepository (private val dataSource: DataSource) {

private val log: Logger = LoggerFactory.getLogger(NøkkeltallRepositoryV3::class.java)
private val log: Logger = LoggerFactory.getLogger(NøkkeltallRepository::class.java)

private val cache = Cache<Boolean, List<GrupperteAksjonspunktVenteårsak>>(cacheSizeLimit = null)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
package no.nav.k9.los.tjenester.avdelingsleder.nokkeltall

import no.nav.k9.los.KoinProfile
import no.nav.k9.los.domene.lager.oppgave.v2.BehandlingsmigreringTjeneste
import no.nav.k9.los.domene.modell.BehandlingType
import no.nav.k9.los.domene.modell.FagsakYtelseType
import no.nav.k9.los.domene.modell.Fagsystem
import no.nav.k9.los.domene.periode.tidligsteOgSeneste
import no.nav.k9.los.domene.repository.NøkkeltallRepository
import no.nav.k9.los.domene.repository.OppgaveRepository
import no.nav.k9.los.domene.repository.StatistikkRepository
import no.nav.k9.los.integrasjon.abac.IPepClient
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepositoryV3
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepository
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.OppgaverGruppertRepository
import org.slf4j.LoggerFactory
import java.time.LocalDate
Expand All @@ -22,45 +20,17 @@ class NokkeltallTjeneste constructor(
private val oppgaverGruppertRepository: OppgaverGruppertRepository,
private val statistikkRepository: StatistikkRepository,
private valkkeltallRepository: NøkkeltallRepository,
private valkkeltallRepositoryV3: NøkkeltallRepositoryV3,
private val koinProfile: KoinProfile
) {
private val log = LoggerFactory.getLogger(BehandlingsmigreringTjeneste::class.java)
suspend fun hentOppgaverUnderArbeid(): List<AlleOppgaverDto> {
return oppgaveRepository.hentAlleOppgaverUnderArbeid()
}

fun hentOppgaverPåVent(): OppgaverPåVentDto.PåVentResponse {
return if (koinProfile == KoinProfile.PROD){
hentOppgaverPåVentV2()
} else {
hentOppgaverPåVentV3()
}
}

fun hentOppgaverPåVentV2(): OppgaverPåVentDto.PåVentResponse {
val raw = nøkkeltallRepository.hentAllePåVentGruppert()
//gir ikke helt mening å ha med VENT_PÅ_TILBAKEKREVINGSGRUNNLAG her. Den er vangligvis samtidig med VENT_PÅ_BRUKERTILBAKEMELDING, så ville gitt duplikater her. Frist er også misvisende for aksjonspunktet, k9tilbake vil uansett vente helt til grunnlag kommer
.filterNot { gruppe -> gruppe.system == Fagsystem.K9TILBAKE && gruppe.aksjonspunktKode == "VENT_PÅ_TILBAKEKREVINGSGRUNNLAG"}

data class PerBehandling(val f: FagsakYtelseType, val b: BehandlingType, val frist: LocalDate)
valVentPerBehandling = raw.groupingBy { PerBehandling( it.fagsakYtelseType, it.behandlingType, it.frist) }
.aggregate { key, accumulator : Int?, element, first -> if (first) element.antall else accumulator!! + element.antall }
.entries.map { OppgaverPåVentDto.PerBehandlingDto(it.key.f, it.key.b, it.key.frist, it.value) }

data class PerVenteårsak(val f: FagsakYtelseType, val b: BehandlingType, val frist: LocalDate, val venteårsak: Venteårsak)
valVentPerVenteårsak = raw.groupingBy { PerVenteårsak(it.fagsakYtelseType, it.behandlingType, it.frist, tilVenteårsak(it.system, it.venteårsak)) }
.aggregate { key, accumulator : Int?, element, first -> if (first) element.antall else accumulator!! + element.antall }
.entries.map { OppgaverPåVentDto.PerVenteårsakDto(it.key.f, it.key.b, it.key.frist, it.key.venteårsak, it.value) }

return OppgaverPåVentDto.PåVentResponse(påVentPerBehandling, påVentPerVenteårsak)
}

fun hentOppgaverPåVentV3(): OppgaverPåVentDto.PåVentResponse {
val raw = nøkkeltallRepositoryV3.hentAllePåVentGruppert()
//gir ikke helt mening å ha med VENT_PÅ_TILBAKEKREVINGSGRUNNLAG her. Den er vangligvis samtidig med VENT_PÅ_BRUKERTILBAKEMELDING, så ville gitt duplikater her. Frist er også misvisende for aksjonspunktet, k9tilbake vil uansett vente helt til grunnlag kommer
.filterNot { gruppe -> gruppe.system == Fagsystem.K9TILBAKE && gruppe.aksjonspunktKode == "VENT_PÅ_TILBAKEKREVINGSGRUNNLAG"}

data class PerBehandling(val f: FagsakYtelseType, val b: BehandlingType, val frist: LocalDate?)
valVentPerBehandling = raw.groupingBy { PerBehandling( it.fagsakYtelseType, it.behandlingType, it.frist) }
.aggregate { key, accumulator : Int?, element, first -> if (first) element.antall else accumulator!! + element.antall }
Expand Down Expand Up @@ -178,18 +148,13 @@ class NokkeltallTjeneste constructor(
}

suspend fun hentDagensTall(): List<AlleApneBehandlinger> {
if (koinProfile == KoinProfile.PROD) {
return oppgaveRepository.hentApneBehandlingerPerBehandlingtypeIdag()
} else {
val harTilgangTilKode6 = pepClient.harTilgangTilKode6()
val grupperte = oppgaverGruppertRepository.hentAntallÅpneOppgaverPrOppgavetypeBehandlingstype(harTilgangTilKode6)
val (medbehandlingType, utenBehandlingType) = grupperte.partition { it.behandlistype != null }
if (utenBehandlingType.isNotEmpty()) {
log.warn("Fant ${utenBehandlingType.map {it.antall}.reduce(Int::plus)} oppgaver uten behandlingstype, de blir ikke med oversikt som viser antall")
}
return medbehandlingType.map { AlleApneBehandlinger(BehandlingType.fraKode(it.behandlistype!!), it.antall) }

val harTilgangTilKode6 = pepClient.harTilgangTilKode6()
val grupperte = oppgaverGruppertRepository.hentAntallÅpneOppgaverPrOppgavetypeBehandlingstype(harTilgangTilKode6)
val (medbehandlingType, utenBehandlingType) = grupperte.partition { it.behandlistype != null }
if (utenBehandlingType.isNotEmpty()) {
log.warn("Fant ${utenBehandlingType.map {it.antall}.reduce(Int::plus)} oppgaver uten behandlingstype, de blir ikke med oversikt som viser antall")
}
return medbehandlingType.map { AlleApneBehandlinger(BehandlingType.fraKode(it.behandlistype!!), it.antall) }
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ class OppgaveTjeneste constructor(
private val statistikkRepository: StatistikkRepository,
private val reservasjonOversetter: ReservasjonOversetter,
private val statistikkChannel: Channel<Boolean>,
private val koinProfile: KoinProfile
) {

suspend fun hentOppgaver(oppgavekøId: UUID): List<Oppgave> {
Expand Down Expand Up @@ -749,12 +748,8 @@ class OppgaveTjeneste constructor(
}

suspend fun hentAntallOppgaverTotalt(): Int {
if (koinProfile == KoinProfile.PROD) {
return oppgaveRepository.hentAktiveOppgaverTotalt()
} else {
val harTilgangTilKode6 = pepClient.harTilgangTilKode6()
return oppgaverGruppertRepository.hentTotaltAntallÅpneOppgaver(harTilgangTilKode6)
}
val harTilgangTilKode6 = pepClient.harTilgangTilKode6()
return oppgaverGruppertRepository.hentTotaltAntallÅpneOppgaver(harTilgangTilKode6)
}

suspend fun hentNesteOppgaverIKø(kø: UUID): List<OppgaveDto> {
Expand Down
8 changes: 2 additions & 6 deletions src/test/kotlin/no/nav/k9/los/KoinModules.kt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ import no.nav.k9.los.nyoppgavestyring.søkeboks.SøkeboksTjeneste
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.OppgaveRepository
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.OppgaveRepositoryTxWrapper
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.OppgaverGruppertRepository
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepositoryV3
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepository
import no.nav.k9.los.tjenester.avdelingsleder.AvdelingslederTjeneste
import no.nav.k9.los.tjenester.avdelingsleder.nokkeltall.NokkeltallTjeneste
import no.nav.k9.los.tjenester.saksbehandler.oppgave.*
Expand Down Expand Up @@ -227,7 +227,6 @@ fun buildAndTestConfig(dataSource: DataSource, pepClient: IPepClient = PepClient
statistikkRepository = get(),
reservasjonOversetter = reservasjonOversetterMock,
statistikkChannel = get(named("statistikkRefreshChannel")),
koinProfile = config.koinProfile(),
)
}

Expand Down Expand Up @@ -262,8 +261,6 @@ fun buildAndTestConfig(dataSource: DataSource, pepClient: IPepClient = PepClient
oppgaveRepository = get(),
statistikkRepository = get(),
nøkkeltallRepository = get(),
nøkkeltallRepositoryV3 = get(),
koinProfile = config.koinProfile(),
)
}

Expand Down Expand Up @@ -387,9 +384,8 @@ fun buildAndTestConfig(dataSource: DataSource, pepClient: IPepClient = PepClient
oppgavetypeRepository = get()
)
}
single { NøkkeltallRepository(dataSource = get()) }

single { NøkkeltallRepositoryV3(dataSource = get()) }
single { NøkkeltallRepository(dataSource = get()) }

single { OppgaverGruppertRepository(dataSource = get()) }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ class BeslutterSkalIkkePlukkeEgenSakTest : AbstractK9LosIntegrationTest() {
get<StatistikkRepository>(),
oversetterMock,
get(named("statistikkRefreshChannel")),
KoinProfile.LOCAL
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import io.mockk.mockk
import kotliquery.sessionOf
import kotliquery.using
import no.nav.k9.kodeverk.behandling.BehandlingResultatType
import no.nav.k9.kodeverk.behandling.aksjonspunkt.AksjonspunktDefinisjon
import no.nav.k9.kodeverk.behandling.aksjonspunkt.Venteårsak
import no.nav.k9.los.AbstractK9LosIntegrationTest
import no.nav.k9.los.domene.lager.oppgave.Oppgave
import no.nav.k9.los.domene.modell.AksjonspunktStatus
Expand All @@ -18,20 +20,12 @@ import no.nav.k9.los.domene.modell.BehandlingType
import no.nav.k9.los.domene.modell.FagsakYtelseType
import no.nav.k9.los.domene.repository.OppgaveRepository
import no.nav.k9.los.domene.repository.StatistikkRepository
import no.nav.k9.kodeverk.behandling.aksjonspunkt.AksjonspunktDefinisjon
import no.nav.k9.kodeverk.behandling.aksjonspunkt.Venteårsak
import no.nav.k9.los.KoinProfile
import no.nav.k9.los.domene.lager.oppgave.v2.OppgaveStatus
import no.nav.k9.los.domene.repository.NøkkeltallRepository
import no.nav.k9.los.nyoppgavestyring.OppgaveTestDataBuilder
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.OmrådeSetup
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.saktillos.K9SakTilLosAdapterTjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.omraade.OmrådeRepository
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.*
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.Oppgavetype
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetypeRepository
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.Oppgavetyper
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepositoryV3
import no.nav.k9.los.nyoppgavestyring.visningoguttrekk.nøkkeltall.NøkkeltallRepository
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.koin.test.get
Expand Down Expand Up @@ -101,8 +95,7 @@ class NokkeltallTjenesteTest : AbstractK9LosIntegrationTest() {
fun `Hent løste aksjonspunkter bortsett fra de med behandlende enhet 2103`() {
val statistikkRepository = mockk<StatistikkRepository>()
val nøkkeltallRepository = mockk<NøkkeltallRepository>()
val nøkkeltallRepositoryV3 = mockk<NøkkeltallRepositoryV3>()
val nøkkeltallTjeneste = NokkeltallTjeneste(mockk(), mockk(), mockk(), statistikkRepository, nøkkeltallRepository, nøkkeltallRepositoryV3, KoinProfile.PROD)
val nøkkeltallTjeneste = NokkeltallTjeneste(mockk(), mockk(), mockk(), statistikkRepository, nøkkeltallRepository)

val ferdigstiltBehandling = FerdigstiltBehandling(
dato = LocalDate.now(),
Expand Down
Loading

0 comments on commit 9cacb81

Please sign in to comment.