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

Kun sende sakIder siden resten ikke blir brukt #6363

Merged
merged 2 commits into from
Nov 18, 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 @@ -31,7 +31,6 @@ import no.nav.etterlatte.libs.common.gyldigSoeknad.GyldighetsResultat
import no.nav.etterlatte.libs.common.sak.BehandlingOgSak
import no.nav.etterlatte.libs.common.sak.Sak
import no.nav.etterlatte.libs.common.sak.SakId
import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt
import no.nav.etterlatte.libs.common.tidspunkt.getTidspunkt
import no.nav.etterlatte.libs.common.tidspunkt.getTidspunktOrNull
Expand Down Expand Up @@ -141,7 +140,7 @@ class BehandlingDao(
}
}

fun migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(saker: Saker): List<BehandlingOgSak> =
fun migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(sakIder: List<SakId>): List<BehandlingOgSak> =
connectionAutoclosing.hentConnection { connection ->
with(connection) {
val stmt =
Expand All @@ -158,13 +157,13 @@ class BehandlingDao(
1,
createArrayOf("text", BehandlingStatus.skalIkkeOmregnesVedGRegulering().toTypedArray()),
)
stmt.setArray(2, createArrayOf("bigint", saker.saker.map { it.id }.toTypedArray()))
stmt.setArray(2, createArrayOf("bigint", sakIder.toTypedArray()))

stmt.executeQuery().toList { BehandlingOgSak(getUUID("id"), SakId(getLong("sak_id"))) }
}
}

fun hentAapneBehandlinger(saker: Saker): List<BehandlingOgSak> =
fun hentAapneBehandlinger(sakIder: List<SakId>): List<BehandlingOgSak> =
connectionAutoclosing.hentConnection { connection ->
with(connection) {
val stmt =
Expand All @@ -176,7 +175,7 @@ class BehandlingDao(
""".trimIndent(),
)
stmt.setArray(1, createArrayOf("text", BehandlingStatus.underBehandling().toTypedArray()))
stmt.setArray(2, createArrayOf("bigint", saker.saker.map { it.id }.toTypedArray()))
stmt.setArray(2, createArrayOf("bigint", sakIder.toTypedArray()))

stmt.executeQuery().toList { BehandlingOgSak(getUUID("id"), SakId(getLong("sak_id"))) }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ import no.nav.etterlatte.libs.common.sak.BehandlingOgSak
import no.nav.etterlatte.libs.common.sak.Sak
import no.nav.etterlatte.libs.common.sak.SakId
import no.nav.etterlatte.libs.common.sak.SakMedUtlandstilknytning
import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.libs.common.toJsonNode
import no.nav.etterlatte.libs.ktor.route.lagGrunnlagsopplysning
import no.nav.etterlatte.libs.ktor.token.BrukerTokenInfo
Expand Down Expand Up @@ -271,7 +270,7 @@ interface BehandlingService {

fun hentTidligereFamiliepleier(behandlingId: UUID): TidligereFamiliepleier?

fun hentAapneBehandlingerForSak(sak: Sak): List<BehandlingOgSak>
fun hentAapneBehandlingerForSak(sakId: SakId): List<BehandlingOgSak>
}

internal class BehandlingServiceImpl(
Expand Down Expand Up @@ -909,10 +908,7 @@ internal class BehandlingServiceImpl(
override fun hentTidligereFamiliepleier(behandlingId: UUID): TidligereFamiliepleier? =
behandlingDao.hentTidligereFamiliepleier(behandlingId)

override fun hentAapneBehandlingerForSak(sak: Sak): List<BehandlingOgSak> =
behandlingDao.hentAapneBehandlinger(
Saker(listOf(sak)),
)
override fun hentAapneBehandlingerForSak(sakId: SakId): List<BehandlingOgSak> = behandlingDao.hentAapneBehandlinger(listOf(sakId))

private fun hentBehandlingOrThrow(behandlingId: UUID) =
behandlingDao.hentBehandling(behandlingId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import no.nav.etterlatte.libs.common.oppgave.OppgaveKilde
import no.nav.etterlatte.libs.common.oppgave.OppgaveType
import no.nav.etterlatte.libs.common.oppgave.VedtakEndringDTO
import no.nav.etterlatte.libs.common.sak.SakIDListe
import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.libs.common.sak.SakslisteDTO
import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt
import no.nav.etterlatte.libs.common.tidspunkt.toLocalDatetimeUTC
import no.nav.etterlatte.libs.common.vedtak.VedtakType
Expand Down Expand Up @@ -99,7 +99,7 @@ interface BehandlingStatusService {
vedtakHendelse: VedtakHendelse,
)

fun migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(saker: Saker): SakIDListe
fun migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(sakslisteDTO: SakslisteDTO): SakIDListe
}

class BehandlingStatusServiceImpl(
Expand Down Expand Up @@ -337,10 +337,11 @@ class BehandlingStatusServiceImpl(
}
}

override fun migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(saker: Saker) =
override fun migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(sakslisteDTO: SakslisteDTO) =
inTransaction {
val tilbakestilte = behandlingDao.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(saker)
val aapne = behandlingDao.hentAapneBehandlinger(saker)
val tilbakestilte =
behandlingDao.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(sakslisteDTO.sakIdListe)
val aapne = behandlingDao.hentAapneBehandlinger(sakslisteDTO.sakIdListe)
SakIDListe(
tilbakestilte,
aapne,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import io.ktor.server.routing.post
import io.ktor.server.routing.route
import no.nav.etterlatte.inTransaction
import no.nav.etterlatte.libs.common.feilhaandtering.ForespoerselException
import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.libs.common.sak.SakslisteDTO
import no.nav.etterlatte.libs.ktor.route.BEHANDLINGID_CALL_PARAMETER
import no.nav.etterlatte.libs.ktor.route.behandlingId
import no.nav.etterlatte.libs.ktor.route.kunSystembruker
Expand Down Expand Up @@ -175,9 +175,9 @@ internal fun Route.behandlingsstatusRoutes(behandlingsstatusService: BehandlingS
route("/behandlinger") {
post("/settTilbakeTilTrygdetidOppdatert") {
kunSystembruker {
val saker = call.receive<Saker>()
val sakslisteDTO = call.receive<SakslisteDTO>()
val tilbakestilteBehandlinger =
behandlingsstatusService.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(saker)
behandlingsstatusService.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(sakslisteDTO)
call.respond(tilbakestilteBehandlinger)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class AarligInntektsjusteringJobbService(
saksbehandler: Saksbehandler,
): Revurdering {
val sak = sakService.finnSak(sakId) ?: throw InternfeilException("Fant ikke sak med id $sakId")
val aapneBehandlinger = behandlingService.hentAapneBehandlingerForSak(sak)
val aapneBehandlinger = behandlingService.hentAapneBehandlingerForSak(sak.id)
if (aapneBehandlinger.isNotEmpty()) {
logger.info("Sak har åpne behandlinger, kan ikke opprette revurdering")
throw UgyldigForespoerselException(
Expand Down Expand Up @@ -175,7 +175,7 @@ class AarligInntektsjusteringJobbService(
): Boolean {
val sak = sakService.finnSak(sakId) ?: throw InternfeilException("Fant ikke sak med id $sakId")

val aapneBehandlinger = behandlingService.hentAapneBehandlingerForSak(sak)
val aapneBehandlinger = behandlingService.hentAapneBehandlingerForSak(sak.id)
if (aapneBehandlinger.isNotEmpty()) {
nyOppgaveOgOppdaterKjoering(sakId, forrigeBehandling.id, kjoering, AAPEN_BEHANDLING)
return true
Expand Down
21 changes: 11 additions & 10 deletions apps/etterlatte-behandling/src/main/kotlin/sak/SakRoutes.kt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import no.nav.etterlatte.libs.common.feilhaandtering.UgyldigForespoerselExceptio
import no.nav.etterlatte.libs.common.sak.HentSakerRequest
import no.nav.etterlatte.libs.common.sak.Sak
import no.nav.etterlatte.libs.common.sak.SakId
import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.libs.common.sak.SakslisteDTO
import no.nav.etterlatte.libs.ktor.route.SAKID_CALL_PARAMETER
import no.nav.etterlatte.libs.ktor.route.kunSaksbehandler
import no.nav.etterlatte.libs.ktor.route.kunSystembruker
Expand Down Expand Up @@ -63,16 +63,17 @@ internal fun Route.sakSystemRoutes(
val loependeFom = request.loependeFom

call.respond(
Saker(
SakslisteDTO(
inTransaction {
sakService.hentSaker(
kjoering,
antall,
spesifikkeSaker,
ekskluderteSaker,
sakstype,
loependeFom,
)
sakService
.hentSakIdListeForKjoering(
kjoering,
antall,
spesifikkeSaker,
ekskluderteSaker,
sakstype,
loependeFom,
)
},
),
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@ import org.slf4j.LoggerFactory
import java.time.YearMonth

interface SakService {
fun hentSaker(
fun hentSakIdListeForKjoering(
kjoering: String,
antall: Int,
spesifikkeSaker: List<SakId>,
ekskluderteSaker: List<SakId>,
sakType: SakType? = null,
loependeFom: YearMonth? = null,
): List<Sak>
): List<SakId>

fun finnSaker(ident: String): List<Sak>

Expand Down Expand Up @@ -139,19 +139,20 @@ class SakServiceImpl(
return saker.associateBy { it.id }
}

override fun hentSaker(
override fun hentSakIdListeForKjoering(
kjoering: String,
antall: Int,
spesifikkeSaker: List<SakId>,
ekskluderteSaker: List<SakId>,
sakType: SakType?,
loependeFom: YearMonth?,
): List<Sak> =
): List<SakId> =
lesDao
.hentSaker(kjoering, antall, spesifikkeSaker, ekskluderteSaker, sakType, loependeFom)
.also { logger.info("Henta ${it.size} saker før filtrering") }
.filterForEnheter()
.also { logger.info("Henta ${it.size} saker etter filtrering") }
.map(Sak::id)

private fun finnSakForPerson(
ident: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import no.nav.etterlatte.common.Enheter
import no.nav.etterlatte.libs.common.behandling.BehandlingStatus
import no.nav.etterlatte.libs.common.behandling.BehandlingType
import no.nav.etterlatte.libs.common.behandling.SakType
import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.opprettBehandling
import no.nav.etterlatte.sak.SakSkrivDao
import no.nav.etterlatte.sak.SakendringerDao
Expand Down Expand Up @@ -67,7 +66,7 @@ internal class BehandlingDaoReguleringTest(
behandlingRepo.opprettBehandling(opprettBehandling)

val trengerNyBeregning =
behandlingRepo.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(Saker(listOf(sak)))
behandlingRepo.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(listOf(sak.id))

with(behandlingRepo.hentBehandling(opprettBehandling.id)) {
val expected = BehandlingStatus.TRYGDETID_OPPDATERT
Expand Down Expand Up @@ -95,7 +94,7 @@ internal class BehandlingDaoReguleringTest(
}

val trengerNyBeregning =
behandlingRepo.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(Saker(listOf(relevantSak)))
behandlingRepo.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(listOf(relevantSak.id))

trengerNyBeregning.map { it.sakId } shouldContainExactly listOf(relevantSak.id)
with(behandlingRepo.hentBehandling(sakOgBehandling.find { it.sakId == relevantSak.id }!!.id)) {
Expand All @@ -122,7 +121,7 @@ internal class BehandlingDaoReguleringTest(
opprettBehandling(type = BehandlingType.FØRSTEGANGSBEHANDLING, sakId = sak.id, status = status)
behandlingRepo.opprettBehandling(opprettBehandling)

behandlingRepo.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(Saker(listOf(sak)))
behandlingRepo.migrerStatusPaaAlleBehandlingerSomTrengerNyBeregning(listOf(sak.id))

with(behandlingRepo.hentBehandling(opprettBehandling.id)) {
val expected = status
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import no.nav.etterlatte.libs.common.sak.LagreKjoeringRequest
import no.nav.etterlatte.libs.common.sak.Sak
import no.nav.etterlatte.libs.common.sak.SakIDListe
import no.nav.etterlatte.libs.common.sak.SakId
import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.libs.common.sak.SakslisteDTO
import no.nav.etterlatte.libs.common.tidspunkt.Tidspunkt
import no.nav.etterlatte.libs.ktor.route.FoedselsnummerDTO
import no.nav.etterlatte.libs.tidshendelser.JobbType
Expand Down Expand Up @@ -75,7 +75,7 @@ interface BehandlingService {
ekskluderteSaker: List<SakId> = listOf(),
sakType: SakType? = null,
loependeFom: YearMonth? = null,
): Saker
): SakslisteDTO

fun opprettAutomatiskRevurdering(request: AutomatiskRevurderingRequest): AutomatiskRevurderingResponse

Expand All @@ -100,7 +100,7 @@ interface BehandlingService {
jobbType: JobbType,
): OpprettOppgaveForAktivitetspliktResponse

fun migrerAlleTempBehandlingerTilbakeTilTrygdetidOppdatert(saker: Saker): SakIDListe
fun migrerAlleTempBehandlingerTilbakeTilTrygdetidOppdatert(sakslisteDTO: SakslisteDTO): SakIDListe

fun avbryt(behandlingId: UUID): HttpResponse

Expand Down Expand Up @@ -232,12 +232,12 @@ class BehandlingServiceImpl(
}.body()
}

override fun migrerAlleTempBehandlingerTilbakeTilTrygdetidOppdatert(saker: Saker): SakIDListe =
override fun migrerAlleTempBehandlingerTilbakeTilTrygdetidOppdatert(sakslisteDTO: SakslisteDTO): SakIDListe =
runBlocking {
behandlingKlient
.post("$url/behandlinger/settTilbakeTilTrygdetidOppdatert") {
contentType(ContentType.Application.Json)
setBody(saker)
setBody(sakslisteDTO)
}.body()
}

Expand All @@ -248,7 +248,7 @@ class BehandlingServiceImpl(
ekskluderteSaker: List<SakId>,
sakType: SakType?,
loependeFom: YearMonth?,
): Saker =
): SakslisteDTO =
runBlocking {
behandlingKlient
.post("$url/saker/$kjoering/$antall") {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ internal class InntektsjusteringJobbRiver(
val request =
AarligInntektsjusteringRequest(
kjoering = kjoering,
saker = sakerSomSkalInformeres.saker.map { it.id },
saker = sakerSomSkalInformeres.sakIdListe,
)
behandlingService.startAarligInntektsjustering(request)
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package no.nav.etterlatte.regulering

import no.nav.etterlatte.libs.common.sak.Saker
import no.nav.etterlatte.libs.common.sak.SakslisteDTO
import org.slf4j.Logger
import java.time.Duration
import kotlin.math.max
Expand All @@ -10,9 +10,9 @@ const val MAKS_BATCHSTOERRELSE = 100

fun kjoerIBatch(
logger: Logger,
finnSaker: (Int) -> Saker,
finnSaker: (Int) -> SakslisteDTO,
antall: Int,
haandterSaker: (Saker) -> Unit,
haandterSaker: (SakslisteDTO) -> Unit,
venteperiode: Duration = Duration.ofSeconds(5),
) {
val maksBatchstoerrelse = MAKS_BATCHSTOERRELSE
Expand All @@ -24,18 +24,18 @@ fun kjoerIBatch(

val sakerTilOmregning = finnSaker(antallIDenneRunden)

logger.info("Henta ${sakerTilOmregning.saker.size} saker")
logger.info("Henta ${sakerTilOmregning.sakIdListe.size} saker")

if (sakerTilOmregning.saker.isEmpty()) {
if (sakerTilOmregning.sakIdListe.isEmpty()) {
logger.debug("Ingen saker i denne runden. Returnerer")
return
}

haandterSaker(sakerTilOmregning)

tatt += sakerTilOmregning.saker.size
tatt += sakerTilOmregning.sakIdListe.size
logger.info("Ferdig med $tatt av totalt $antall saker")
if (sakerTilOmregning.saker.size < maksBatchstoerrelse) {
if (sakerTilOmregning.sakIdListe.size < maksBatchstoerrelse) {
return
}
logger.info("Venter $venteperiode før neste runde.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ class FinnSakerTilReguleringRiver(
behandlingService.hentAlleSaker(kjoering = kjoering, antall = antall)
},
haandterSaker = { saker ->
saker.saker.forEach { sak ->
behandlingService.lagreKjoering(sak.id, KjoeringStatus.KLAR_TIL_REGULERING, kjoering)
saker.sakIdListe.forEach { sakId ->
behandlingService.lagreKjoering(sakId, KjoeringStatus.KLAR_TIL_REGULERING, kjoering)
}
},
venteperiode = Duration.ofSeconds(1),
Expand Down
Loading