From 424b5faf306ffa216eb3a24121f9a145897cf24f Mon Sep 17 00:00:00 2001 From: FredrikP <57641333+fredrikpf@users.noreply.github.com> Date: Thu, 20 Feb 2025 14:59:12 +0100 Subject: [PATCH] fjern kode som ikke trengs lenger relatert til patching av fagsaker (#5101) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### 💰 Hva skal gjøres, og hvorfor? [Favro](https://favro.com/organization/98c34fb974ce445eac854de0/1844bbac3b6605eacc8f5543?card=NAV-24063) Patchet 19 fagsaker. Trenger ikke denne koden lenger nå som jobben er gjort. --- .../ba/sak/internal/ForvalterController.kt | 30 ------ .../ba/sak/kjerne/fagsak/FagsakRepository.kt | 10 -- .../kjerne/personident/PersonidentService.kt | 14 --- .../familie/ba/sak/task/OpprettTaskService.kt | 13 --- .../task/PatchIdentFagsakUtenBehandling.kt | 91 ------------------- .../H\303\245ndterNyIdentServiceTest.kt" | 1 - .../personident/PersonidentServiceTest.kt | 1 - .../PersonIdentServiceIntegrasjonsTest.kt | 76 ---------------- 8 files changed, 236 deletions(-) delete mode 100644 src/main/kotlin/no/nav/familie/ba/sak/task/PatchIdentFagsakUtenBehandling.kt delete mode 100644 src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonIdentServiceIntegrasjonsTest.kt diff --git a/src/main/kotlin/no/nav/familie/ba/sak/internal/ForvalterController.kt b/src/main/kotlin/no/nav/familie/ba/sak/internal/ForvalterController.kt index bba8daec7ad..1c1bb086b8a 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/internal/ForvalterController.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/internal/ForvalterController.kt @@ -22,7 +22,6 @@ import no.nav.familie.ba.sak.kjerne.autovedtak.satsendring.domene.SatskjøringRe import no.nav.familie.ba.sak.kjerne.behandling.BehandlingHentOgPersisterService import no.nav.familie.ba.sak.kjerne.fagsak.FagsakService import no.nav.familie.ba.sak.kjerne.grunnlag.personopplysninger.PersongrunnlagService -import no.nav.familie.ba.sak.kjerne.personident.PersonidentService import no.nav.familie.ba.sak.sikkerhet.TilgangService import no.nav.familie.ba.sak.statistikk.stønadsstatistikk.StønadsstatistikkService import no.nav.familie.ba.sak.task.GrensesnittavstemMotOppdrag @@ -87,7 +86,6 @@ class ForvalterController( private val stønadsstatistikkService: StønadsstatistikkService, private val persongrunnlagService: PersongrunnlagService, private val hentAlleIdenterTilPsysTask: HentAlleIdenterTilPsysTask, - private val personidentService: PersonidentService, ) { private val logger: Logger = LoggerFactory.getLogger(ForvalterController::class.java) @@ -240,34 +238,6 @@ class ForvalterController( return ResponseEntity.ok("ok") } - @PatchMapping("/patch-fagsaker-uten-behandling-med-ny-ident") - fun patchFagsakerUtenBehandlingMedNyIdent( - @RequestBody fagsakIder: Set, - ): ResponseEntity { - tilgangService.verifiserHarTilgangTilHandling( - minimumBehandlerRolle = BehandlerRolle.FORVALTER, - handling = "Patch merget ident", - ) - - fagsakIder.forEach { fagsakId -> - opprettTaskService.opprettTaskForÅPatcheIdentPåFagsakUtenBehandling(fagsakId) - } - return ResponseEntity.ok("ok") - } - - @GetMapping("/hent-fagsaker-uten-behandling-med-utdatert-ident") - fun hentFagsakerUtenBehandlingMedUtdatertIdent(): ResponseEntity> { - tilgangService.verifiserHarTilgangTilHandling( - minimumBehandlerRolle = BehandlerRolle.FORVALTER, - handling = "Patch merget ident", - ) - - val fagsakerSomMåOppdateres = - personidentService.finnFagsakerUtenBehandlingMedUtdatertIdent() - - return ResponseEntity.ok(fagsakerSomMåOppdateres.toSet()) - } - @PostMapping("/behandling/{behandlingId}/manuell-kvittering") @ApiResponses( value = [ diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt index 32104d7c800..95b85fbae48 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/fagsak/FagsakRepository.kt @@ -222,14 +222,4 @@ WHERE silp.stonad_tom < DATE_TRUNC('month', NOW()) nativeQuery = true, ) fun finnFagsakerMedFlereMigreringsbehandlinger(month: LocalDateTime): List - - @Query( - """ - SELECT f - FROM Fagsak f where not exists(select 1 - from Behandling b - where b.fagsak.id = f.id) - """, - ) - fun finnFagsakerUtenBehandling(): Set } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentService.kt b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentService.kt index d1d9bee37b6..da17dbc0f86 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentService.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentService.kt @@ -8,7 +8,6 @@ import no.nav.familie.ba.sak.integrasjoner.pdl.PdlIdentRestClient import no.nav.familie.ba.sak.integrasjoner.pdl.domene.IdentInformasjon import no.nav.familie.ba.sak.integrasjoner.pdl.domene.hentAktivAktørId import no.nav.familie.ba.sak.integrasjoner.pdl.domene.hentAktivFødselsnummer -import no.nav.familie.ba.sak.kjerne.fagsak.FagsakRepository import no.nav.familie.kontrakter.felles.PersonIdent import no.nav.person.pdl.aktor.v2.Type import org.slf4j.LoggerFactory @@ -22,7 +21,6 @@ class PersonidentService( private val aktørIdRepository: AktørIdRepository, private val pdlIdentRestClient: PdlIdentRestClient, private val taskRepository: TaskRepositoryWrapper, - private val fagsakRepository: FagsakRepository, ) { fun hentIdenter( personIdent: String, @@ -161,18 +159,6 @@ class PersonidentService( return aktør } - fun finnFagsakerUtenBehandlingMedUtdatertIdent(): Set { - val fagsaker = fagsakRepository.finnFagsakerUtenBehandling() - val fagsakerSomMåOppdateres = - fagsaker - .filter { fagsak -> - val identerFraPdl = pdlIdentRestClient.hentIdenter(fagsak.aktør.aktivFødselsnummer(), historikk = true) - val aktivIdentFraPdl = identerFraPdl.hentAktivFødselsnummer() - aktivIdentFraPdl != fagsak.aktør.aktivFødselsnummer() - }.map { it.id } - return fagsakerSomMåOppdateres.toSet() - } - companion object { val logger = LoggerFactory.getLogger(PersonidentService::class.java) } diff --git a/src/main/kotlin/no/nav/familie/ba/sak/task/OpprettTaskService.kt b/src/main/kotlin/no/nav/familie/ba/sak/task/OpprettTaskService.kt index 5fb7042976c..0da5eb65e95 100644 --- a/src/main/kotlin/no/nav/familie/ba/sak/task/OpprettTaskService.kt +++ b/src/main/kotlin/no/nav/familie/ba/sak/task/OpprettTaskService.kt @@ -192,19 +192,6 @@ class OpprettTaskService( ), ) - @Transactional - fun opprettTaskForÅPatcheIdentPåFagsakUtenBehandling(fagsakId: Long) = - taskRepository.save( - Task( - type = PatchIdentFagsakUtenBehandling.TASK_STEP_TYPE, - payload = objectMapper.writeValueAsString(fagsakId), - properties = - Properties().apply { - this["fagsakId"] = fagsakId.toString() - }, - ), - ) - @Transactional fun opprettTaskForÅPatcheVilkårFom( dto: PatchFomPåVilkårTilFødselsdato, diff --git a/src/main/kotlin/no/nav/familie/ba/sak/task/PatchIdentFagsakUtenBehandling.kt b/src/main/kotlin/no/nav/familie/ba/sak/task/PatchIdentFagsakUtenBehandling.kt deleted file mode 100644 index 17058ce45c6..00000000000 --- a/src/main/kotlin/no/nav/familie/ba/sak/task/PatchIdentFagsakUtenBehandling.kt +++ /dev/null @@ -1,91 +0,0 @@ -package no.nav.familie.ba.sak.task - -import no.nav.familie.ba.sak.common.secureLogger -import no.nav.familie.ba.sak.integrasjoner.pdl.PdlIdentRestClient -import no.nav.familie.ba.sak.integrasjoner.pdl.domene.hentAktivAktørId -import no.nav.familie.ba.sak.integrasjoner.pdl.domene.hentAktivFødselsnummer -import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingRepository -import no.nav.familie.ba.sak.kjerne.fagsak.FagsakRepository -import no.nav.familie.ba.sak.kjerne.personident.AktørIdRepository -import no.nav.familie.ba.sak.kjerne.personident.AktørMergeLogg -import no.nav.familie.ba.sak.kjerne.personident.AktørMergeLoggRepository -import no.nav.familie.ba.sak.kjerne.personident.PersonidentRepository -import no.nav.familie.ba.sak.kjerne.personident.PersonidentService -import no.nav.familie.kontrakter.felles.objectMapper -import no.nav.familie.prosessering.AsyncTaskStep -import no.nav.familie.prosessering.TaskStepBeskrivelse -import no.nav.familie.prosessering.domene.Task -import org.springframework.stereotype.Service -import java.time.LocalDateTime - -@Service -@TaskStepBeskrivelse( - taskStepType = PatchIdentFagsakUtenBehandling.TASK_STEP_TYPE, - beskrivelse = "Patcher ident på fagsak uten behandling hvis identen er utdatert", - maxAntallFeil = 1, - settTilManuellOppfølgning = true, -) -class PatchIdentFagsakUtenBehandling( - private val fagsakRepository: FagsakRepository, - private val behandlingRepository: BehandlingRepository, - private val pdlIdentRestClient: PdlIdentRestClient, - private val personidentRepository: PersonidentRepository, - private val aktørIdRepository: AktørIdRepository, - private val personidentService: PersonidentService, - private val aktørMergeLoggRepository: AktørMergeLoggRepository, -) : AsyncTaskStep { - override fun doTask(task: Task) { - val fagsakId = objectMapper.readValue(task.payload, Long::class.java) - - // Valider at fagsak ikke har behandlinger - val behandlingerPåFagsak = behandlingRepository.finnBehandlinger(fagsakId) - if (behandlingerPåFagsak.isNotEmpty()) { - throw IllegalArgumentException("Fagsak $fagsakId har behandlinger og burde patches på en annen måte") - } - - // Valider at identen på fagsaken er utdatert - val fagsak = fagsakRepository.finnFagsak(fagsakId) ?: throw IllegalArgumentException("Fagsak $fagsakId eksisterer ikke") - val aktivPersonIdent = fagsak.aktør.aktivFødselsnummer() - - val identInformasjonFraPdl = pdlIdentRestClient.hentIdenter(personIdent = aktivPersonIdent, historikk = true) - val erIdentPåFagsakAjourMedPdl = - identInformasjonFraPdl.none { identFraPdl -> - identFraPdl.historisk && identFraPdl.ident == aktivPersonIdent - } - if (erIdentPåFagsakAjourMedPdl) { - return - } - - secureLogger.info("Patcher aktør med id ${fagsak.aktør.aktørId} på fagsak $fagsakId") - val nyPersonIdent = identInformasjonFraPdl.hentAktivFødselsnummer() - - val personidentNyttFødselsnummer = personidentRepository.findByFødselsnummerOrNull(nyPersonIdent) - if (personidentNyttFødselsnummer != null) error("Fant allerede en personident for nytt fødselsnummer") - - // Patch hvis utdatert - trekk ut funksjonalitet fra PatchMergetIdentTask - // Denne patcher med å bruke on cascade update på aktørid - val eksisterendeAktørPåFagsak = fagsak.aktør.aktørId - aktørIdRepository.patchAktørMedNyAktørId( - gammelAktørId = eksisterendeAktørPåFagsak, - nyAktørId = identInformasjonFraPdl.hentAktivAktørId(), - ) - - // Etter at alle fk_aktoer_id har blitt oppgradert alle steder, så vil personident ha det gamle fødselsnummeret. - // Ved å kalle hentOgLagre, så vil den gamle personidenten-raden bli deaktivert og ny med riktig fødselsnummer - // vil bli oppdatert - val nyAktør = personidentService.hentOgLagreAktør(ident = nyPersonIdent, lagre = true) - - aktørMergeLoggRepository.save( - AktørMergeLogg( - fagsakId = fagsakId, - historiskAktørId = eksisterendeAktørPåFagsak, - nyAktørId = nyAktør.aktørId, - mergeTidspunkt = LocalDateTime.now(), - ), - ) - } - - companion object { - const val TASK_STEP_TYPE = "PatchIdentFagsakUtenBehandling" - } -} diff --git "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/H\303\245ndterNyIdentServiceTest.kt" "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/H\303\245ndterNyIdentServiceTest.kt" index bdb6b22c2b4..232e18bf1d8 100644 --- "a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/H\303\245ndterNyIdentServiceTest.kt" +++ "b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/H\303\245ndterNyIdentServiceTest.kt" @@ -245,7 +245,6 @@ internal class HåndterNyIdentServiceTest { aktørIdRepository = aktørIdRepository, pdlIdentRestClient = pdlIdentRestClient, taskRepository = taskRepositoryMock, - fagsakRepository = mockk(), ) private val håndterNyIdentService = diff --git a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentServiceTest.kt b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentServiceTest.kt index 0e5e8a86a67..5d218faff08 100644 --- a/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentServiceTest.kt +++ b/src/test/enhetstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonidentServiceTest.kt @@ -41,7 +41,6 @@ internal class PersonidentServiceTest { aktørIdRepository = aktørIdRepository, pdlIdentRestClient = pdlIdentRestClient, taskRepository = taskRepositoryMock, - fagsakRepository = mockk(), ) @BeforeAll diff --git a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonIdentServiceIntegrasjonsTest.kt b/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonIdentServiceIntegrasjonsTest.kt deleted file mode 100644 index a0fc6904352..00000000000 --- a/src/test/integrasjonstester/kotlin/no/nav/familie/ba/sak/kjerne/personident/PersonIdentServiceIntegrasjonsTest.kt +++ /dev/null @@ -1,76 +0,0 @@ -package no.nav.familie.ba.sak.kjerne.personident - -import io.mockk.every -import io.mockk.mockk -import no.nav.familie.ba.sak.config.AbstractSpringIntegrationTest -import no.nav.familie.ba.sak.config.TaskRepositoryWrapper -import no.nav.familie.ba.sak.config.tilAktør -import no.nav.familie.ba.sak.datagenerator.lagBehandlingUtenId -import no.nav.familie.ba.sak.datagenerator.lagFagsakUtenId -import no.nav.familie.ba.sak.datagenerator.randomFnr -import no.nav.familie.ba.sak.integrasjoner.pdl.PdlIdentRestClient -import no.nav.familie.ba.sak.integrasjoner.pdl.domene.IdentInformasjon -import no.nav.familie.ba.sak.kjerne.behandling.domene.BehandlingRepository -import no.nav.familie.ba.sak.kjerne.fagsak.FagsakRepository -import no.nav.familie.ba.sak.kjerne.fagsak.FagsakService -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.Test -import org.springframework.beans.factory.annotation.Autowired - -class PersonIdentServiceIntegrasjonsTest( - @Autowired - private val aktørIdRepository: AktørIdRepository, - @Autowired - private val behandlingRepository: BehandlingRepository, - @Autowired - private val fagsakService: FagsakService, - @Autowired - private val personidentRepository: PersonidentRepository, - @Autowired - private val taskRepository: TaskRepositoryWrapper, - @Autowired - private val fagsakRepository: FagsakRepository, -) : AbstractSpringIntegrationTest() { - private val pdlIdentRestClient: PdlIdentRestClient = mockk() - - val personIdentService = - PersonidentService( - personidentRepository = personidentRepository, - aktørIdRepository = aktørIdRepository, - pdlIdentRestClient = pdlIdentRestClient, - taskRepository = taskRepository, - fagsakRepository = fagsakRepository, - ) - - @Test - fun `hentFagsakerUtenBehandlingMedUtdatertIdent henter kun ut fagsaker som har utdatert ident`() { - // Arrange - val utdatertAktør = tilAktør(randomFnr()) - val oppdatertAktør = tilAktør(randomFnr()) - val aktørPåFagsakMedBehandling = tilAktør(randomFnr()) - aktørIdRepository.saveAll(listOf(utdatertAktør, oppdatertAktør, aktørPåFagsakMedBehandling)) - - val identInformasjonFraPdl = - listOf( - IdentInformasjon(oppdatertAktør.aktørId, false, "AKTORID"), - IdentInformasjon(oppdatertAktør.aktivFødselsnummer(), false, "FOLKEREGISTERIDENT"), - IdentInformasjon(utdatertAktør.aktørId, true, "AKTORID"), - IdentInformasjon(utdatertAktør.aktivFødselsnummer(), true, "FOLKEREGISTERIDENT"), - ) - - val fagsakSomHarUtdatertAktør = fagsakService.lagre(lagFagsakUtenId(aktør = utdatertAktør)) - val fagsakSomHarOppdatertAktør = fagsakService.lagre(lagFagsakUtenId(aktør = oppdatertAktør)) - val fagsakSomHarBehandling = fagsakService.lagre(lagFagsakUtenId(aktør = aktørPåFagsakMedBehandling)) - - behandlingRepository.save(lagBehandlingUtenId(fagsak = fagsakSomHarBehandling)) - - every { pdlIdentRestClient.hentIdenter(utdatertAktør.aktivFødselsnummer(), historikk = true) } returns identInformasjonFraPdl - every { pdlIdentRestClient.hentIdenter(oppdatertAktør.aktivFødselsnummer(), historikk = true) } returns identInformasjonFraPdl - - // Act - val faktiskeFagsakIder = personIdentService.finnFagsakerUtenBehandlingMedUtdatertIdent() - - // Assert - assertThat(faktiskeFagsakIder).isEqualTo(setOf(fagsakSomHarUtdatertAktør.id)) - } -}