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

Lukke feilopprettete oppgaver jfr oppslag i k9-sak #1703

Merged
Merged
Show file tree
Hide file tree
Changes from 1 commit
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 @@ -16,6 +16,7 @@ import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveV3
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveV3Tjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetypeTjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetyperDto
import no.nav.k9.sak.kontrakt.produksjonsstyring.los.BehandlingMedFagsakDto
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.util.*
Expand Down Expand Up @@ -114,6 +115,7 @@ class K9SakTilLosAdapterTjeneste(
val hastesak = oppgaveRepositoryV2.hentMerknader(uuid.toString(), false, tx)
.filter { merknad -> merknad.merknadKoder.contains("HASTESAK") }.isNotEmpty()
val behandlingProsessEventer = behandlingProsessEventK9Repository.hentMedLås(tx, uuid).eventer
val nyeBehandlingsopplysningerFraK9Sak = k9SakBerikerKlient.hentBehandling(uuid)
behandlingProsessEventer.forEach { event ->
var oppgaveDto = EventTilDtoMapper.lagOppgaveDto(event, forrigeOppgave)
.leggTilFeltverdi(
Expand All @@ -123,7 +125,7 @@ class K9SakTilLosAdapterTjeneste(
)
)

oppgaveDto = ryddOppObsoleteOgResultatfeilFra2020(event, oppgaveDto)
oppgaveDto = ryddOppObsoleteOgResultatfeilFra2020(event, oppgaveDto, nyeBehandlingsopplysningerFraK9Sak)

val oppgave = oppgaveV3Tjeneste.sjekkDuplikatOgProsesser(oppgaveDto, tx)

Expand Down Expand Up @@ -152,8 +154,17 @@ class K9SakTilLosAdapterTjeneste(

internal fun ryddOppObsoleteOgResultatfeilFra2020(
event: BehandlingProsessEventDto,
oppgaveDto: OppgaveDto
oppgaveDto: OppgaveDto,
nyeBehandlingsopplysningerFraK9Sak: BehandlingMedFagsakDto?,
): OppgaveDto {
//behandlingen finnes ikke i k9-sak, pga rollback i transaksjon i k9-sak som skulle opprette behandlingen
if (nyeBehandlingsopplysningerFraK9Sak == null) {
return oppgaveDto.copy(status = "LUKKET").erstattFeltverdi(
OppgaveFeltverdiDto(
"resultattype", BehandlingResultatType.HENLAGT_FEILOPPRETTET.kode
)
)
}
if (event.ytelseTypeKode == FagsakYtelseType.OBSOLETE.kode) {
return oppgaveDto.copy(status = "LUKKET").erstattFeltverdi(
OppgaveFeltverdiDto(
Expand All @@ -165,14 +176,7 @@ class K9SakTilLosAdapterTjeneste(
if (event.behandlingStatus == "AVSLU"
&& oppgaveDto.feltverdier.filter { it.nøkkel == "resultattype" }.first().verdi == "IKKE_FASTSATT"
) {
val behandlingDto = k9SakBerikerKlient.hentBehandling(event.eksternId!!)
if (behandlingDto == null) {
return oppgaveDto.copy(status = "LUKKET").erstattFeltverdi(
OppgaveFeltverdiDto(
"resultattype", BehandlingResultatType.HENLAGT_FEILOPPRETTET.kode
)
)
} else if (behandlingDto.sakstype == FagsakYtelseType.OBSOLETE) {
if (nyeBehandlingsopplysningerFraK9Sak.sakstype == FagsakYtelseType.OBSOLETE) {
return oppgaveDto.copy(status = "LUKKET").erstattFeltverdi(
OppgaveFeltverdiDto(
"resultattype", BehandlingResultatType.HENLAGT_FEILOPPRETTET.kode
Expand All @@ -181,7 +185,7 @@ class K9SakTilLosAdapterTjeneste(
} else {
return oppgaveDto.erstattFeltverdi(
OppgaveFeltverdiDto(
"resultattype", behandlingDto.behandlingResultatType.kode
"resultattype", nyeBehandlingsopplysningerFraK9Sak.behandlingResultatType.kode
)
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,33 +1,21 @@
package no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9saktillos

import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import no.nav.k9.kodeverk.behandling.aksjonspunkt.AksjonspunktDefinisjon
import no.nav.k9.kodeverk.behandling.aksjonspunkt.AksjonspunktType
import no.nav.k9.los.Configuration
import no.nav.k9.los.domene.lager.oppgave.v2.OppgaveRepositoryV2
import no.nav.k9.los.domene.lager.oppgave.v2.TransactionalManager
import no.nav.k9.los.domene.repository.BehandlingProsessEventK9Repository
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.saktillos.K9SakBerikerInterfaceKludge
import no.nav.k9.los.nyoppgavestyring.domeneadaptere.k9.saktillos.K9SakTilLosAdapterTjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.feltdefinisjon.FeltdefinisjonTjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.feltdefinisjon.FeltdefinisjonerDto
import no.nav.k9.los.nyoppgavestyring.mottak.omraade.OmrådeRepository
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveFeltverdiDto
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveV3
import no.nav.k9.los.nyoppgavestyring.mottak.oppgave.OppgaveV3Tjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetypeTjeneste
import no.nav.k9.los.nyoppgavestyring.mottak.oppgavetype.OppgavetyperDto
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import java.util.*
import kotlin.concurrent.thread

class K9SakTilLosHistorikkvaskTjeneste(
private val behandlingProsessEventK9Repository: BehandlingProsessEventK9Repository,
private val områdeRepository: OmrådeRepository,
private val feltdefinisjonTjeneste: FeltdefinisjonTjeneste,
private val oppgavetypeTjeneste: OppgavetypeTjeneste,
private val oppgaveV3Tjeneste: OppgaveV3Tjeneste,
private val config: Configuration,
private val transactionalManager: TransactionalManager,
Expand Down Expand Up @@ -83,14 +71,14 @@ class K9SakTilLosHistorikkvaskTjeneste(
var eventTeller = eventTellerInn
var forrigeOppgave: OppgaveV3? = null
transactionalManager.transaction { tx ->
val behandlingMedFagsakDto = k9SakBerikerKlient.hentBehandling(UUID.fromString(uuid.toString()))
val nyeBehandlingsopplysningerFraK9Sak = k9SakBerikerKlient.hentBehandling(UUID.fromString(uuid.toString()))

val hastesak = oppgaveRepositoryV2.hentMerknader(uuid.toString(), false)
.filter { merknad -> merknad.merknadKoder.contains("HASTESAK") }.isNotEmpty()
val behandlingProsessEventer = behandlingProsessEventK9Repository.hentMedLås(tx, uuid).eventer
behandlingProsessEventer.forEach { event ->
if (event.eldsteDatoMedEndringFraSøker == null && behandlingMedFagsakDto != null && behandlingMedFagsakDto.eldsteDatoMedEndringFraSøker != null) {
event.copy(eldsteDatoMedEndringFraSøker = behandlingMedFagsakDto.eldsteDatoMedEndringFraSøker)
if (event.eldsteDatoMedEndringFraSøker == null && nyeBehandlingsopplysningerFraK9Sak != null && nyeBehandlingsopplysningerFraK9Sak.eldsteDatoMedEndringFraSøker != null) {
event.copy(eldsteDatoMedEndringFraSøker = nyeBehandlingsopplysningerFraK9Sak.eldsteDatoMedEndringFraSøker)
//ser ut som noen gamle mottatte dokumenter kan mangle innsendingstidspunkt.
//da faller vi tilbake til å bruke behandling_opprettet i mapperen
}
Expand All @@ -102,7 +90,7 @@ class K9SakTilLosHistorikkvaskTjeneste(
)
)

oppgaveDto = k9SakTilLosAdapterTjeneste.ryddOppObsoleteOgResultatfeilFra2020(event, oppgaveDto)
oppgaveDto = k9SakTilLosAdapterTjeneste.ryddOppObsoleteOgResultatfeilFra2020(event, oppgaveDto, nyeBehandlingsopplysningerFraK9Sak)

oppgaveV3Tjeneste.oppdaterEkstisterendeOppgaveversjon(oppgaveDto, tx)

Expand Down
Loading