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

Modell og initiell tjeneste for reservasjoner #1582

Merged
merged 68 commits into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
fea5748
Modell og initiell tjeneste for reservasjoner
boerta Jun 14, 2023
ad42bd4
Fikset noen warnings
boerta Jun 16, 2023
919cbba
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Jun 16, 2023
c17afe3
Omskrevet førsteutkast til å bruke ny generert id for saksbehandlere,…
boerta Jun 28, 2023
4b66561
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Aug 8, 2023
f2055ca
Mergekonflikt
boerta Aug 8, 2023
015ee0c
Bedre testdekning for reservasjonstjenesten
boerta Aug 11, 2023
8f5a1fd
Codereview
boerta Aug 18, 2023
ce09086
Forleng reservasjon heller enn å lage tilstøtende segmenter
boerta Aug 21, 2023
01c4444
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Aug 21, 2023
d25a42a
Codereview og refaktoreringer, ny konverteringsjobb for gamle reserva…
boerta Aug 30, 2023
43ed4ab
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Sep 14, 2023
2aa909b
codereview
boerta Sep 18, 2023
cf80bf6
api og backend for å få tjeneste fra kø
boerta Sep 21, 2023
4dd6065
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Sep 22, 2023
a7984a1
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Sep 26, 2023
07e62f9
Refaktorering OppgaveKoTjeneste og ReservasjonV3Tjeneste
boerta Sep 27, 2023
cf275a2
De fleste OppgaveApi-kall ferdig portet. Grønne tester
boerta Oct 6, 2023
afbb90c
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Oct 6, 2023
c86384c
Refaktorering etter codereview - OppgaveApisTjeneste som hjelpeklasse…
boerta Oct 10, 2023
d4b03d4
Refaktorering - bare ReservasjonOversetter bør trenge å kjenne til st…
boerta Oct 10, 2023
a0d2dfa
Nye endepunkter for å hente ut antall oppgaver i en kø, alle oppgavek…
boerta Oct 10, 2023
333356e
Manglet wiring for OppgaveKoTjeneste
boerta Oct 11, 2023
1e63c0e
Korrigert spørring for å hente køer tilknyttet saksbehandler
boerta Oct 11, 2023
416ef66
Wiringfeil
boerta Oct 11, 2023
b3320b5
Wiring oppgavetjenesteV3
boerta Oct 13, 2023
d12cc41
Hente saksbehandlere for kø i ny løsning
boerta Oct 16, 2023
ba56107
Wiringfeil
boerta Oct 17, 2023
e2a3881
OppgavebehandlingsUrlTemplate i oppgavetype
boerta Oct 17, 2023
4931aba
Ny ReservasjonV3Dto til frontend inkludert oppgavebehandlingsUrl
boerta Oct 18, 2023
c18929c
Korrigert setting av baseurl i oppgavebehandlingsUrlTemplate
boerta Oct 18, 2023
d69243a
Bugfix hente saksbehandler med riktig identifikator
boerta Oct 20, 2023
4028323
Behandlingstype på oppgaveV3Dto
boerta Oct 20, 2023
23befcb
Queryparameter for restendepynkt antall-oppgaver-i-ko
boerta Oct 20, 2023
79db3c1
Codereview og refaktoreringer, samt begynnende logikk for å hente ut …
boerta Oct 20, 2023
f0ee05d
Fiks antall-query
boerta Oct 23, 2023
02029e7
Returner antall
boerta Oct 23, 2023
6c474b4
Lagre V1-reservasjoner når man får oppgave fra V3-kø
boerta Oct 23, 2023
76cf52e
Lagt til oppgavebehandlingsUrl i retur fra ta-oppgave-fra-ny-ko
boerta Oct 23, 2023
71f257a
Flyttet få-oppgave-fra-ny-kø og antall-oppgaver-i-ny-kø til OppgaveKo…
boerta Oct 23, 2023
6468dd4
Skrvieflei
boerta Oct 23, 2023
84fcaed
Lokal testkonfig, en slash for mye
boerta Oct 24, 2023
db2b71e
LeggtilBehandletOppgave tar bare eksternId
boerta Oct 24, 2023
5481866
Vis oppgaver fra ny kø ferdig
boerta Oct 24, 2023
a36fd2b
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Oct 25, 2023
fc2a78d
Ymse opprydning ifbm handover til Bjørnar
boerta Oct 25, 2023
7644705
skrivefeil
boerta Oct 25, 2023
64ab548
Oppgavenøkkel mot frontend. Trenger å ta inn dette som requestobjekt …
boerta Oct 25, 2023
e5a0d01
Tar inn OppgaveNøkkelDto istedenfor kun oppgaveId, fordi oppgaveId ik…
baskevold Oct 26, 2023
043f88b
Fikser kompileringsfeil ved å kun hente ut eksternId fra det nye gren…
baskevold Oct 26, 2023
a33a37d
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Nov 30, 2023
f363f45
Flytter endepunkt for saksbehandlers køer til ny-oppgavestyring endep…
boerta Dec 13, 2023
e7d3ad9
Filtrere bort reserverte oppgaver fra "neste 10 oppgaver i kø"
boerta Dec 13, 2023
0721eac
Avdelingsleder - hent alle aktive reservasjoner
boerta Dec 19, 2023
f623943
Rydding i dependencies
boerta Dec 19, 2023
a2cc853
Merge remote-tracking branch 'origin/master' into feature/oppgavev3_r…
stiangre Dec 19, 2023
622e250
Merge branch 'feature/oppgavev3_reservasjonstjeneste' of github.com:n…
stiangre Dec 19, 2023
a1f37db
Feilfiks wiring
boerta Dec 19, 2023
2f8b284
Legger til filendring glemt i merge.
stiangre Dec 19, 2023
813d8e0
Fikser 404-feil på ny-oppgavestyring/ko/{id}/oppgaver
vebnor Dec 27, 2023
00a95e7
Småfiks
boerta Jan 2, 2024
9ae6cb4
Begrense antall oppgaver i neste oppgaver i køen til ønsket antall
boerta Jan 3, 2024
94a9a17
Oppgavenøkkel på statistikkallet
boerta Jan 3, 2024
93fd2f0
OppgavenøkkelDto manglet på endepunkt
boerta Jan 4, 2024
a4e3359
Test av oversetterlogikk, fjernet nøstede transaksjoner
boerta Jan 12, 2024
863af1c
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Jan 15, 2024
9610ff2
Ryddet TODO og fjernet testkode
boerta Jan 15, 2024
82cd2aa
Merge branch 'master' into feature/oppgavev3_reservasjonstjeneste
boerta Jan 15, 2024
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
2 changes: 2 additions & 0 deletions nais/dev-fss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ spec:
# Nav applikasjoner
- name: APP_K9SAK_URL
value: https://k9-sak.nais.preprod.local/k9/sak/api
- name: APP_K9SAK_FRONTEND_URL
value: https://k9.dev.intern.nav.no/k9/web

# Kafka
- name: BOOTSTRAP_SERVERS
Expand Down
2 changes: 2 additions & 0 deletions nais/prod-fss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ spec:
# Nav applikasjoner
- name: APP_K9SAK_URL
value: https://k9-sak.nais.adeo.no/k9/sak/api
- name: APP_K9SAK_FRONTEND_URL
value: https://k9.intern.nav.no/k9/web

# Kafka
- name: BOOTSTRAP_SERVERS
Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/no/nav/k9/los/Configuration.kt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ data class Configuration(private val config: ApplicationConfig) {

internal fun pdlUrl() = URI(config.getRequiredString("nav.register_urls.pdl_url", secret = false))
internal fun k9Url() = config.getRequiredString("nav.register_urls.k9_url", secret = false)
internal fun k9FrontendUrl() = config.getRequiredString("nav.register_urls.k9_frontend_url", secret = false)

internal val abacUsername = config.getRequiredString("nav.abac.system_user", secret = false)
internal val abacPassword = config.getRequiredString("nav.abac.system_user_password", secret = false)
Expand Down
5 changes: 1 addition & 4 deletions src/main/kotlin/no/nav/k9/los/K9Los.kt
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveV3Api
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetypeApi
import no.nav.k9.los.nyoppgavestyring.pep.PepCacheOppdaterer
import no.nav.k9.los.nyoppgavestyring.query.OppgaveQueryApis
import no.nav.k9.los.tjenester.admin.AdminApis
import no.nav.k9.los.tjenester.avdelingsleder.AvdelingslederApis
import no.nav.k9.los.tjenester.avdelingsleder.nokkeltall.DataeksportApis
import no.nav.k9.los.tjenester.avdelingsleder.nokkeltall.NokkeltallApis
Expand Down Expand Up @@ -301,8 +300,6 @@ private fun Route.api(sseChannel: BroadcastChannel<SseEvent>) {
)

route("api") {

AdminApis()
route("driftsmeldinger") {
DriftsmeldingerApis()
}
Expand All @@ -321,7 +318,7 @@ private fun Route.api(sseChannel: BroadcastChannel<SseEvent>) {
route("avdelingsleder") {
AvdelingslederApis()
route("oppgavekoer") {
AvdelingslederOppgavekøApis()
AvdelingslederOppgavekøApis() // Erstattet av OppgaveKoApis i V3
}
route("nokkeltall") {
NokkeltallApis()
Expand Down
97 changes: 92 additions & 5 deletions src/main/kotlin/no/nav/k9/los/KoinProfiles.kt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ import no.nav.k9.los.integrasjon.rest.RequestContextService
import no.nav.k9.los.integrasjon.sakogbehandling.SakOgBehandlingProducer
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.OmrådeSetup
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.klagetillos.K9KlageTilLosAdapterTjeneste
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.reservasjonkonvertering.ReservasjonKonverteringJobb
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.reservasjonkonvertering.ReservasjonOversetter
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.saktillos.K9SakBerikerInterfaceKludge
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.saktillos.K9SakBerikerKlientLocal
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.saktillos.K9SakBerikerSystemKlient
Expand All @@ -44,6 +46,7 @@ import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.statistikk.StatistikkRep
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9klagetillos.K9KlageTilLosHistorikkvaskTjeneste
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9saktillos.K9SakTilLosHistorikkvaskTjeneste
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9saktillos.K9SakTilLosLukkeFeiloppgaverTjeneste
import no.nav.k9.los.nyoppgavestyring.ko.OppgaveKoTjeneste
import no.nav.k9.los.nyoppgavestyring.ko.db.OppgaveKoRepository
import no.nav.k9.los.nyoppgavestyring.mottak.feltdefinisjon.FeltdefinisjonRepository
import no.nav.k9.los.nyoppgavestyring.mottak.feltdefinisjon.FeltdefinisjonTjeneste
Expand All @@ -52,6 +55,8 @@ import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveV3Repository
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveV3Tjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetypeRepository
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetypeTjeneste
import no.nav.k9.los.nyoppgavestyring.reservasjon.ReservasjonV3Repository
import no.nav.k9.los.nyoppgavestyring.reservasjon.ReservasjonV3Tjeneste
import no.nav.k9.los.nyoppgavestyring.pep.PepCacheRepository
import no.nav.k9.los.nyoppgavestyring.pep.PepCacheService
import no.nav.k9.los.nyoppgavestyring.query.OppgaveQueryService
Expand All @@ -62,9 +67,7 @@ import no.nav.k9.los.tjenester.avdelingsleder.nokkeltall.NokkeltallTjeneste
import no.nav.k9.los.tjenester.driftsmeldinger.DriftsmeldingTjeneste
import no.nav.k9.los.tjenester.kodeverk.HentKodeverkTjeneste
import no.nav.k9.los.tjenester.saksbehandler.merknad.MerknadTjeneste
import no.nav.k9.los.tjenester.saksbehandler.oppgave.OppgaveKøOppdaterer
import no.nav.k9.los.tjenester.saksbehandler.oppgave.OppgaveTjeneste
import no.nav.k9.los.tjenester.saksbehandler.oppgave.ReservasjonTjeneste
import no.nav.k9.los.tjenester.saksbehandler.oppgave.*
import no.nav.k9.los.tjenester.saksbehandler.saksliste.SakslisteTjeneste
import no.nav.k9.los.tjenester.sse.RefreshKlienter.initializeRefreshKlienter
import org.koin.core.module.Module
Expand Down Expand Up @@ -273,6 +276,29 @@ fun common(app: Application, config: Configuration) = module {
pepClient = get(),
azureGraphService = get(),
statistikkRepository = get(),
reservasjonOversetter = get()
)
}

single {
ReservasjonOversetter(
transactionalManager = get(),
oppgaveV3Repository = get(),
oppgavetypeRepository = get(),
saksbehandlerRepository = get(),
reservasjonV3Tjeneste = get(),
oppgaveV1Repository = get(),
oppgaveV3Tjeneste = get(),
)
}

single {
ReservasjonKonverteringJobb(
config = get(),
reservasjonRepository = get(),
oppgaveRepository = get(),
reservasjonOversetter = get(),
saksbehandlerRepository = get(),
)
}

Expand All @@ -291,7 +317,17 @@ fun common(app: Application, config: Configuration) = module {
reservasjonRepository = get(),
oppgaveRepository = get(),
pepClient = get(),
configuration = config
reservasjonV3Tjeneste = get(),
reservasjonV3DtoBuilder = get(),
)
}

single {
ReservasjonV3DtoBuilder(
oppgaveRepositoryTxWrapper = get(),
pdlService = get(),
reservasjonOversetter = get(),
oppgaveTjeneste = get(),
)
}

Expand Down Expand Up @@ -327,7 +363,7 @@ fun common(app: Application, config: Configuration) = module {

single { FeltdefinisjonRepository(områdeRepository = get()) }
single { OmrådeRepository(get()) }
single { OppgavetypeRepository(feltdefinisjonRepository = get(), områdeRepository = get()) }
single { OppgavetypeRepository(dataSource = get(), feltdefinisjonRepository = get(), områdeRepository = get()) }
single {
OppgaveV3Repository(
dataSource = get(),
Expand Down Expand Up @@ -413,6 +449,22 @@ fun common(app: Application, config: Configuration) = module {
OppgaveQueryService()
}

single {
OppgaveKoTjeneste(
transactionalManager = get(),
oppgaveKoRepository = get(),
oppgaveQueryService = get(),
oppgaveRepository = get(),
reservasjonV3Tjeneste = get(),
saksbehandlerRepository = get(),
oppgaveTjeneste = get(),
reservasjonRepository = get(),
oppgaveRepositoryTxWrapper = get(),
pepClient = get(),
pdlService = get(),
)
}

single {
OppgaveKoRepository(
datasource = get()
Expand Down Expand Up @@ -465,6 +517,41 @@ fun common(app: Application, config: Configuration) = module {
)
}

single {
ReservasjonV3Repository(
)
}

single {
ReservasjonV3Tjeneste(
transactionalManager = get(),
reservasjonV3Repository = get(),
oppgaveRepository = get(),
pepClient = get(),
saksbehandlerRepository = get(),
auditlogger = Auditlogger(config),
)
}

single {
no.nav.k9.los.nyoppgavestyring.visningoguttrekk.OppgaveRepositoryTxWrapper(
oppgaveRepository = get(),
transactionalManager = get(),
)
}

single {
OppgaveApisTjeneste(
oppgaveTjeneste = get(),
saksbehandlerRepository = get(),
reservasjonV3Tjeneste = get(),
oppgaveV3Repository = get(),
oppgaveV3RepositoryMedTxWrapper = get(),
transactionalManager = get(),
reservasjonV3DtoBuilder = get(),
)
}

single {
PepCacheRepository(dataSource = get())
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import java.util.*

data class Reservasjon(
var reservertTil: LocalDateTime?,
var reservertAv: String,
var flyttetAv: String?,
var reservertAvIdent: String,
var flyttetAvIdent: String?,
var flyttetTidspunkt: LocalDateTime?,
var begrunnelse: String?,
val oppgave: UUID
Expand All @@ -20,7 +20,7 @@ data class Reservasjon(
}

fun hentFlyttet(): Flyttet? {
return flyttetAv?.takeIf { it.isNotBlank() }?.let {
return flyttetAvIdent?.takeIf { it.isNotBlank() }?.let {
Flyttet(
flyttetAv = it,
flyttetTidspunkt = flyttetTidspunkt ?: throw IllegalStateException("Flyttet uten å ha satt flyttetTidspunkt"),
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 @@ -275,7 +275,7 @@ data class K9SakModell(
&& reservasjonRepository.finnes(oppgave.eksternId) && reservasjonRepository.finnes(oppgave.eksternId)
) {
val saksbehandler =
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservasjonRepository.hent(oppgave.eksternId).reservertAv)
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservasjonRepository.hent(oppgave.eksternId).reservertAvIdent)
saksbehandler?.brukerIdent
} else {
""
Expand All @@ -285,7 +285,7 @@ data class K9SakModell(
if (reservasjonRepository.finnes(oppgave.eksternId)) {
val hentMedHistorikk = reservasjonRepository.hentMedHistorikk(oppgave.eksternId)
val reservertav = hentMedHistorikk
.map { reservasjon -> reservasjon.reservertAv }.first()
.map { reservasjon -> reservasjon.reservertAvIdent }.first()
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservertav)?.enhet?.substringBefore(" ")
} else {
"SRV"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ data class K9TilbakeModell(
&& reservasjonRepository.finnes(oppgave.eksternId) && reservasjonRepository.finnes(oppgave.eksternId)
) {
val saksbehandler =
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservasjonRepository.hent(oppgave.eksternId).reservertAv)
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservasjonRepository.hent(oppgave.eksternId).reservertAvIdent)
saksbehandler?.brukerIdent
} else {
""
Expand All @@ -251,7 +251,7 @@ data class K9TilbakeModell(
if (reservasjonRepository.finnes(oppgave.eksternId)) {
val hentMedHistorikk = reservasjonRepository.hentMedHistorikk(oppgave.eksternId)
val reservertav = hentMedHistorikk
.map { reservasjon -> reservasjon.reservertAv }.first()
.map { reservasjon -> reservasjon.reservertAvIdent }.first()
saksbehandlerRepository.finnSaksbehandlerMedIdentIkkeTaHensyn(reservertav)?.enhet?.substringBefore(" ")
} else {
"SRV"
Expand Down
8 changes: 0 additions & 8 deletions src/main/kotlin/no/nav/k9/los/domene/modell/OppgaveKø.kt
Original file line number Diff line number Diff line change
Expand Up @@ -337,14 +337,6 @@ data class OppgaveKø(
)
}

class Saksbehandler(
var brukerIdent: String?,
var navn: String?,
var epost: String,
var reservasjoner: MutableSet<UUID> = mutableSetOf(),
var enhet: String?
)




Expand Down
12 changes: 12 additions & 0 deletions src/main/kotlin/no/nav/k9/los/domene/modell/Saksbehandler.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package no.nav.k9.los.domene.modell

import java.util.*

class Saksbehandler(
var id: Long?,
var brukerIdent: String?,
var navn: String?,
var epost: String,
var reservasjoner: MutableSet<UUID> = mutableSetOf(),
var enhet: String?
)
Loading