Skip to content

Commit

Permalink
Kun sende sakIder siden resten ikke blir brukt (#6363)
Browse files Browse the repository at this point in the history
  • Loading branch information
Watercolours authored Nov 18, 2024
1 parent 4f9c8da commit 67be3d2
Show file tree
Hide file tree
Showing 16 changed files with 83 additions and 132 deletions.
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
9 changes: 5 additions & 4 deletions apps/etterlatte-behandling/src/main/kotlin/sak/SakService.kt
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

0 comments on commit 67be3d2

Please sign in to comment.