Skip to content

Commit

Permalink
Skjermer kode 6 bedre (#2753)
Browse files Browse the repository at this point in the history
* Skjermer kode 6 bedre

* Forenkler, trenger ikke pair

* Bruker "inkluder kode 6" i stedet for "ikke ta hensyn", som er litt mer beskrivende
  • Loading branch information
mbolstad authored Nov 27, 2024
1 parent 147d5ea commit 889204a
Show file tree
Hide file tree
Showing 25 changed files with 129 additions and 105 deletions.
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 =Id.map { oppgaveKoRepository.hent(it) }
val køer =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") {
valId = 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
20 changes: 12 additions & 8 deletions src/main/kotlin/no/nav/k9/los/nyoppgavestyring/ko/OppgaveKoApis.kt
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= oppgaveKoRepository.kopier(kopierFraOppgaveId, tittel, taMedQuery, taMedSaksbehandlere)
fun kopier(kopierFraOppgaveId: Long, tittel: String, taMedQuery: Boolean, taMedSaksbehandlere: Boolean, skjermet: Boolean): OppgaveKo {
val= 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= oppgaveKoRepository.endre(oppgaveKo)
fun endre(oppgaveKo: OppgaveKo, skjermet: Boolean): OppgaveKo {
val= oppgaveKoRepository.endre(oppgaveKo, skjermet)
runBlocking {
køpåvirkendeHendelseChannel.send(Kødefinisjon(kø.id))
}
Expand Down
Loading

0 comments on commit 889204a

Please sign in to comment.