Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skjermer kode 6 bedre #2753

Merged
merged 3 commits into from
Nov 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class K9TilbakeEventHandler(
OpentelemetrySpanUtil.span("k9TilbakeTilLosAdapterTjeneste.oppdaterOppgaveForBehandlingUuid") { k9TilbakeTilLosAdapterTjeneste.oppdaterOppgaveForBehandlingUuid(event.eksternId!!) }

runBlocking {
for (oppgavekø in oppgaveKøRepository.hentKøIdIkkeTaHensyn()) {
for (oppgavekø in oppgaveKøRepository.hentKøIdInkluderKode6()) {
oppgaveKøRepository.leggTilOppgaverTilKø(oppgavekø, listOf(oppgave), reservasjonRepository)
}
statistikkChannel.send(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class K9punsjEventHandler constructor(
}

runBlocking {
for (oppgavekø in oppgaveKøRepository.hentKøIdIkkeTaHensyn()) {
for (oppgavekø in oppgaveKøRepository.hentKøIdInkluderKode6()) {
oppgaveKøRepository.leggTilOppgaverTilKø(oppgavekø, listOf(oppgave), reservasjonRepository)
}
statistikkChannel.send(true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class K9sakEventHandler constructor(
}
modell.reportMetrics(reservasjonRepository)
runBlocking {
for (oppgavekø in oppgaveKøRepository.hentKøIdIkkeTaHensyn()) {
for (oppgavekø in oppgaveKøRepository.hentKøIdInkluderKode6()) {
if (reservasjonFjernet){
oppgaveKøRepository.leggTilOppgaverTilKø(oppgavekø, listOf(oppgave), erOppgavenReservertSjekk = {false}) //reservasjon nettopp fjernet, trenger ikke sjekke mot repository
} else {
Expand Down
4 changes: 2 additions & 2 deletions src/main/kotlin/no/nav/k9/los/domene/modell/K9SakModell.kt
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ data class K9SakModell(
val oppgave = oppgave()
val reservasjon = reservasjonRepository.hentOptional(oppgave.eksternId)
val beslutter = if (oppgave.tilBeslutter && reservasjon != null) {
val saksbehandler = saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservasjon.reservertAv)
val saksbehandler = saksbehandlerRepository.finnSaksbehandlerMedIdentInkluderKode6(reservasjon.reservertAv)
saksbehandler?.brukerIdent
} else {
""
Expand All @@ -283,7 +283,7 @@ data class K9SakModell(
if (reservasjon != null) {
val hentMedHistorikk = reservasjonRepository.hentMedHistorikk(oppgave.eksternId)
val reservertav = hentMedHistorikk.map { it.reservertAv }.first()
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservertav)?.enhet?.substringBefore(" ")
saksbehandlerRepository.finnSaksbehandlerMedIdentInkluderKode6(reservertav)?.enhet?.substringBefore(" ")
} else {
"SRV"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ data class K9TilbakeModell(
val oppgave = oppgave(sisteEvent())
val reservasjon = reservasjonRepository.hentOptional(oppgave.eksternId)
val beslutter = if (oppgave.tilBeslutter && reservasjon != null) {
val saksbehandler = saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservasjon.reservertAv)
val saksbehandler = saksbehandlerRepository.finnSaksbehandlerMedIdentInkluderKode6(reservasjon.reservertAv)
saksbehandler?.brukerIdent
} else {
""
Expand All @@ -255,7 +255,7 @@ data class K9TilbakeModell(
if (reservasjonRepository.finnes(oppgave.eksternId)) {
val hentMedHistorikk = reservasjonRepository.hentMedHistorikk(oppgave.eksternId)
val reservertav = hentMedHistorikk.map { it.reservertAv }.first()
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservertav)?.enhet?.substringBefore(" ")
saksbehandlerRepository.finnSaksbehandlerMedIdentInkluderKode6(reservertav)?.enhet?.substringBefore(" ")
} else {
"SRV"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.time.LocalDate
import java.util.*
import java.util.concurrent.atomic.LongAdder
import javax.sql.DataSource

class OppgaveKøRepository(
Expand All @@ -29,7 +28,7 @@ class OppgaveKøRepository(
private val pepClient: IPepClient
) {
private val log: Logger = LoggerFactory.getLogger(OppgaveKøRepository::class.java)
suspend fun hent(): List<OppgaveKø> {
suspend fun hentAlle(): List<OppgaveKø> {
val skjermet = pepClient.harTilgangTilKode6()
val json: List<String> = using(sessionOf(dataSource)) {
it.run(
Expand All @@ -45,7 +44,7 @@ class OppgaveKøRepository(
return json.map { s -> LosObjectMapper.instance.readValue(s, OppgaveKø::class.java) }.toList()
}

fun hentIkkeTaHensyn(): List<OppgaveKø> {
fun hentAlleInkluderKode6(): List<OppgaveKø> {
val json: List<String> = using(sessionOf(dataSource)) {
it.run(
queryOf(
Expand All @@ -60,7 +59,7 @@ class OppgaveKøRepository(
return json.map { s -> LosObjectMapper.instance.readValue(s, OppgaveKø::class.java) }.toList()
}

fun hentKøIdIkkeTaHensyn(): List<UUID> {
fun hentKøIdInkluderKode6(): List<UUID> {
val uuidListe: List<UUID> = using(sessionOf(dataSource)) {
it.run(
queryOf(
Expand Down Expand Up @@ -208,7 +207,7 @@ class OppgaveKøRepository(
}
}

suspend fun lagreIkkeTaHensyn(
suspend fun lagreInkluderKode6(
uuid: UUID,
f: (OppgaveKø?) -> OppgaveKø
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import org.slf4j.LoggerFactory
import java.time.LocalDateTime
import java.time.temporal.ChronoUnit
import java.util.*
import java.util.concurrent.atomic.LongAdder
import javax.sql.DataSource
import kotlin.system.measureTimeMillis

Expand Down Expand Up @@ -135,7 +134,7 @@ class ReservasjonRepository(
this,
)
) {
oppgaveKøRepository.lagreIkkeTaHensyn(oppgaveKø.id) {
oppgaveKøRepository.lagreInkluderKode6(oppgaveKø.id) {
it!!.leggOppgaveTilEllerFjernFraKø(
oppgave = oppgave,
reservasjonRepository = this,
Expand Down Expand Up @@ -169,7 +168,7 @@ class ReservasjonRepository(
val inaktive = reservasjonPrAktive[false] ?: emptyList()
var totalAntallFjerninger = 0
if (inaktive.isNotEmpty()) {
val oppgaveKøer = oppgaveKøRepository.hentIkkeTaHensyn()
val oppgaveKøer = oppgaveKøRepository.hentAlleInkluderKode6()
val tid = measureTimeMillis {
inaktive.forEach { reservasjon ->
totalAntallFjerninger += fjernInaktivReservasjon(reservasjon, oppgaveKøer, saksbehandlersIdent)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class SaksbehandlerRepository(
}
}

private fun lagreMedIdIkkeTaHensyn(
private fun lagreMedIdInkluderKode6(
id: String,
f: (Saksbehandler?) -> Saksbehandler
) {
Expand Down Expand Up @@ -202,21 +202,21 @@ class SaksbehandlerRepository(
if (id == null) {
return
}
if (finnSaksbehandlerMedIdentIkkeTaHensyn(id) != null) {
lagreMedIdIkkeTaHensyn(id) { saksbehandler ->
if (finnSaksbehandlerMedIdentInkluderKode6(id) != null) {
lagreMedIdInkluderKode6(id) { saksbehandler ->
val fjernet = saksbehandler!!.reservasjoner.remove(reservasjon)
loggFjernet(fjernet, id, reservasjon)
saksbehandler
}
}
}

fun fjernReservasjonIkkeTaHensyn(id: String?, reservasjon: UUID) {
fun fjernReservasjonInkluderKode6(id: String?, reservasjon: UUID) {
if (id == null) {
return
}
if (finnSaksbehandlerMedIdentIkkeTaHensyn(id) != null) {
lagreMedIdIkkeTaHensyn(id) { saksbehandler ->
if (finnSaksbehandlerMedIdentInkluderKode6(id) != null) {
lagreMedIdInkluderKode6(id) { saksbehandler ->
val fjernet = saksbehandler!!.reservasjoner.remove(reservasjon)
loggFjernet(fjernet, id, reservasjon)
saksbehandler
Expand Down Expand Up @@ -319,7 +319,7 @@ class SaksbehandlerRepository(
return saksbehandler
}

fun finnSaksbehandlerMedIdentIkkeTaHensyn(ident: String): Saksbehandler? {
fun finnSaksbehandlerMedIdentInkluderKode6(ident: String): Saksbehandler? {
val saksbehandler = using(sessionOf(dataSource)) {
it.run(
queryOf(
Expand Down Expand Up @@ -361,7 +361,7 @@ class SaksbehandlerRepository(
return identer
}

fun hentAlleSaksbehandlereIkkeTaHensyn(): List<Saksbehandler> {
fun hentAlleSaksbehandlereInkluderKode6(): List<Saksbehandler> {
val identer = using(sessionOf(dataSource)) {
it.run(
queryOf(
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/no/nav/k9/los/eventhandler/KøOppdatert.kt
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ private suspend fun oppdaterKø(
}
}
val k9sakRefreshBehanderListe = mutableListOf<BehandlingIdDto>()
oppgaveKøRepository.lagreIkkeTaHensyn(it) { oppgaveKø ->
oppgaveKøRepository.lagreInkluderKode6(it) { oppgaveKø ->
checkNotNull(oppgaveKø) { "Fant ikke kø ved køoppdatering" }
if (oppgaveKø.oppgaverOgDatoer == opprinnelige) {
oppgaveKø.oppgaverOgDatoer = kø.oppgaverOgDatoer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ class RefreshK9v3Tjeneste(
@WithSpan
fun behandlingerTilOppfriskningForKøer(tx: TransactionalSession, køId: List<Long>, antallPrKø: Int) : Set<UUID>{
return DetaljerMetrikker.time("RefreshK9V3", "refreshForKøer", køId.size.toString()) {
val køer = køId.map { oppgaveKoRepository.hent(it) }
val køer = køId.map { oppgaveKoRepository.hentInkluderKode6(it) }
behandlingerTilOppfriskning(tx, køer, antallPrKø)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ fun sjekkReserverteJobb(
) {
OpentelemetrySpanUtil.span("sjekkReserverteJobb", emptyMap()) {
JobbMetrikker.time("sjekk_reserverte") {
for (saksbehandler in saksbehandlerRepository.hentAlleSaksbehandlereIkkeTaHensyn()) {
for (saksbehandler in saksbehandlerRepository.hentAlleSaksbehandlereInkluderKode6()) {
runBlocking { reservasjonRepository.hentOgFjernInaktiveReservasjoner(saksbehandler.reservasjoner, saksbehandler.brukerIdent) }
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class K9sakBehandlingsoppfriskingJobb(
}

private fun hentOppgaverFørstIGamleKøer(k9sakOppgaver: Set<UUID>): Set<UUID> {
val køene = oppgaveKøRepository.hentIkkeTaHensyn()
val køene = oppgaveKøRepository.hentAlleInkluderKode6()
log.info("Hentet ${køene.size} køer")
return køene.flatMap { kø ->
kø.oppgaverOgDatoer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ fun Route.forvaltningApis() {
route("/ytelse") {
get("/oppgaveko/antall") {
val antall = oppgaveKoTjeneste.hentOppgavekøer().map {
oppgaveKoTjeneste.hentAntallOppgaverForKø(it.id, false) }.size
oppgaveKoTjeneste.hentAntallOppgaverForKø(oppgaveKoId = it.id, filtrerReserverte = false, skjermet = false) }.size
call.respond(antall)
}

Expand All @@ -209,7 +209,7 @@ fun Route.forvaltningApis() {
get("/oppgaveko/{ko}/antall") {
val køId = call.parameters["ko"]!!.toLong()
val medReserverte = call.request.queryParameters["reserverte"]?.toBoolean() ?: false
val antall = oppgaveKoTjeneste.hentAntallOppgaverForKø(køId, medReserverte)
val antall = oppgaveKoTjeneste.hentAntallOppgaverForKø(køId, medReserverte, false)
call.respond(if (antall > 10) antall else -1)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,8 @@ fun Route.OppgaveKoApis() {
kopierOppgaveKoDto.kopierFraOppgaveId,
kopierOppgaveKoDto.tittel,
kopierOppgaveKoDto.taMedQuery,
kopierOppgaveKoDto.taMedSaksbehandlere
kopierOppgaveKoDto.taMedSaksbehandlere,
pepClient.harTilgangTilKode6()
)
)
} else {
Expand All @@ -73,7 +74,7 @@ fun Route.OppgaveKoApis() {
requestContextService.withRequestContext(call) {
if (pepClient.erOppgaveStyrer()) {
val oppgavekøId = call.parameters["id"]!!
call.respond(oppgaveKoTjeneste.hent(oppgavekøId.toLong()))
call.respond(oppgaveKoTjeneste.hent(oppgavekøId.toLong(), pepClient.harTilgangTilKode6()))
} else {
call.respond(HttpStatusCode.Forbidden)
}
Expand Down Expand Up @@ -160,17 +161,19 @@ fun Route.OppgaveKoApis() {
requestContextService.withRequestContext(call) {
if (pepClient.harBasisTilgang()) {
val oppgavekøId = call.parameters["id"]!!

val skjermet = pepClient.harTilgangTilKode6()
val antallUtenReserverte = OpentelemetrySpanUtil.span("OppgaveKoTjeneste.hentAntallOppgaverForKø") {
oppgaveKoTjeneste.hentAntallOppgaverForKø(
oppgavekøId.toLong(),
true
true,
skjermet
)
}
val antallMedReserverte = OpentelemetrySpanUtil.span("OppgaveKoTjeneste.hentAntallOppgaverForKø") {
oppgaveKoTjeneste.hentAntallOppgaverForKø(
oppgavekøId.toLong(),
false
false,
skjermet
)
}
call.respond(AntallOppgaverOgReserverte(antallUtenReserverte, antallMedReserverte))
Expand All @@ -184,11 +187,12 @@ fun Route.OppgaveKoApis() {
requestContextService.withRequestContext(call) {
if (pepClient.harBasisTilgang()) {
val oppgavekøId = call.parameters["id"]!!

val skjermet = pepClient.harTilgangTilKode6()
val antallUtenReserverte = OpentelemetrySpanUtil.span("OppgaveKoTjeneste.hentAntallOppgaverForKø") {
oppgaveKoTjeneste.hentAntallOppgaverForKø(
oppgavekøId.toLong(),
true
true,
skjermet
)
}
call.respond(AntallOppgaver(antallUtenReserverte))
Expand Down Expand Up @@ -226,7 +230,7 @@ fun Route.OppgaveKoApis() {
requestContextService.withRequestContext(call) {
if (pepClient.erOppgaveStyrer()) {
val oppgaveKo = call.receive<OppgaveKo>()
call.respond(oppgaveKoTjeneste.endre(oppgaveKo))
call.respond(oppgaveKoTjeneste.endre(oppgaveKo, pepClient.harTilgangTilKode6()))
} else {
call.respond(HttpStatusCode.Forbidden)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ class OppgaveKoTjeneste(
ønsketAntallSaker: Long,
fjernReserverte: Boolean = false
): List<GenerellOppgaveV3Dto> {
val ko = oppgaveKoRepository.hent(oppgaveKoId)
val ko = oppgaveKoRepository.hent(oppgaveKoId, pepClient.harTilgangTilKode6())

val køoppgaveIder = oppgaveQueryService.queryForOppgaveEksternId(QueryRequest(ko.oppgaveQuery, fjernReserverte = fjernReserverte, Avgrensning.maxAntall(ønsketAntallSaker)))
val oppgaver = mutableListOf<GenerellOppgaveV3Dto>()
Expand Down Expand Up @@ -117,17 +117,18 @@ class OppgaveKoTjeneste(
@WithSpan
fun hentAntallOppgaverForKø(
oppgaveKoId: Long,
filtrerReserverte: Boolean
filtrerReserverte: Boolean,
skjermet: Boolean
): Long {
val ko = oppgaveKoRepository.hent(oppgaveKoId)
val ko = oppgaveKoRepository.hent(oppgaveKoId, skjermet)
return oppgaveQueryService.queryForAntall(QueryRequest(ko.oppgaveQuery, fjernReserverte = filtrerReserverte))
}

@WithSpan
fun hentAntallUreserverteOppgaveForKø(
oppgaveKoId: Long
): Long {
val ko = oppgaveKoRepository.hent(oppgaveKoId)
val ko = oppgaveKoRepository.hent(oppgaveKoId, runBlocking { pepClient.harTilgangTilKode6() })
return oppgaveQueryService.queryForAntall(QueryRequest(ko.oppgaveQuery, fjernReserverte = true))
}

Expand All @@ -148,8 +149,8 @@ class OppgaveKoTjeneste(
coroutineContext: CoroutineContext
): Pair<Oppgave, ReservasjonV3>? {
log.info("taReservasjonFraKø, oppgaveKøId: $oppgaveKoId")

val oppgavekø = DetaljerMetrikker.time("taReservasjonFraKø", "hentKø", "$oppgaveKoId" ) { oppgaveKoRepository.hent(oppgaveKoId) }
val skjermet = runBlocking(coroutineContext) { pepClient.harTilgangTilKode6() }
val oppgavekø = DetaljerMetrikker.time("taReservasjonFraKø", "hentKø", "$oppgaveKoId" ) { oppgaveKoRepository.hent(oppgaveKoId, skjermet) }

var antallKandidaterEtterspurt = 1
while (true) {
Expand Down Expand Up @@ -233,7 +234,7 @@ class OppgaveKoTjeneste(

@WithSpan
suspend fun hentSaksbehandlereForKo(oppgaveKoId: Long): List<Saksbehandler> {
val oppgaveKo = oppgaveKoRepository.hent(oppgaveKoId)
val oppgaveKo = oppgaveKoRepository.hent(oppgaveKoId, pepClient.harTilgangTilKode6())
return oppgaveKo.saksbehandlere.mapNotNull { saksbehandlerEpost: String ->
saksbehandlerRepository.finnSaksbehandlerMedEpost(saksbehandlerEpost).also {
if (it == null) {
Expand All @@ -244,8 +245,8 @@ class OppgaveKoTjeneste(
}

@WithSpan
fun kopier(kopierFraOppgaveId: Long, tittel: String, taMedQuery: Boolean, taMedSaksbehandlere: Boolean): OppgaveKo {
val kø = oppgaveKoRepository.kopier(kopierFraOppgaveId, tittel, taMedQuery, taMedSaksbehandlere)
fun kopier(kopierFraOppgaveId: Long, tittel: String, taMedQuery: Boolean, taMedSaksbehandlere: Boolean, skjermet: Boolean): OppgaveKo {
val kø = oppgaveKoRepository.kopier(kopierFraOppgaveId, tittel, taMedQuery, taMedSaksbehandlere, skjermet)
runBlocking {
køpåvirkendeHendelseChannel.send(Kødefinisjon(kø.id))
}
Expand All @@ -262,8 +263,8 @@ class OppgaveKoTjeneste(
}

@WithSpan
fun hent(oppgaveKoId: Long): OppgaveKo {
return oppgaveKoRepository.hent(oppgaveKoId)
fun hent(oppgaveKoId: Long, harTilgangTilKode6: Boolean): OppgaveKo {
return oppgaveKoRepository.hent(oppgaveKoId, harTilgangTilKode6)
}

@WithSpan
Expand All @@ -274,8 +275,8 @@ class OppgaveKoTjeneste(
}
}

fun endre(oppgaveKo: OppgaveKo): OppgaveKo {
val kø = oppgaveKoRepository.endre(oppgaveKo)
fun endre(oppgaveKo: OppgaveKo, skjermet: Boolean): OppgaveKo {
val kø = oppgaveKoRepository.endre(oppgaveKo, skjermet)
runBlocking {
køpåvirkendeHendelseChannel.send(Kødefinisjon(kø.id))
}
Expand Down
Loading