diff --git a/apps/etterlatte-behandling/src/main/kotlin/behandling/BrukerService.kt b/apps/etterlatte-behandling/src/main/kotlin/behandling/BrukerService.kt index 370f435c201..11845e08809 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/behandling/BrukerService.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/behandling/BrukerService.kt @@ -99,6 +99,7 @@ class BrukerServiceImpl( val geografiskTilknytning = tilknytning.geografiskTilknytning() when (geografiskTilknytning) { null -> { + logger.info("Geografisk tilknytning mangler fra PDL setter utland enhet") ArbeidsFordelingEnhet( Enheter.UTLAND.navn, Enheter.UTLAND.enhetNr, diff --git a/apps/etterlatte-behandling/src/main/kotlin/egenansatt/EgenAnsattService.kt b/apps/etterlatte-behandling/src/main/kotlin/egenansatt/EgenAnsattService.kt index 41f054a8c15..d3d84a896c9 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/egenansatt/EgenAnsattService.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/egenansatt/EgenAnsattService.kt @@ -24,9 +24,10 @@ class EgenAnsattService( val sakerMedGradering = sakService.sjekkOmSakerErGradert(saker.map(Sak::id)) val sakerSomHarGradering = sakerMedGradering.filter { it.adressebeskyttelseGradering?.erGradert() ?: false } if (sakerSomHarGradering.isNotEmpty()) return + val maskerFnr = skjermetHendelse.fnr.maskerFnr() if (saker.isEmpty()) { logger.debug( - "Fant ingen saker for skjermethendelse fnr: ${skjermetHendelse.fnr.maskerFnr()} " + + "Fant ingen saker for skjermethendelse fnr: $maskerFnr " + "se sikkerlogg og/eller skjekk korrelasjonsid. Selvom dette var forventet," + " ellers hadde ikke vi fått denne hendelsen", ) @@ -52,6 +53,10 @@ class EgenAnsattService( sakService.oppdaterEnhetForSaker(sakerMedNyEnhet) oppgaveService.oppdaterEnhetForRelaterteOppgaver(sakerMedNyEnhet) sakService.markerSakerMedSkjerming(saker.map { it.id }, skjermetHendelse.skjermet) - logger.info("Oppdaterte ${sakerMedNyEnhet.size} antall saker med ny enhet(skjerming)") + logger.info( + "Oppdaterte sakider: ${saker.joinToString( + separator = ",", + ) { it.id.toString() }} antall saker med ny enhet(skjerming) for fnr: $maskerFnr , skjermet: ${skjermetHendelse.skjermet}", + ) } } diff --git a/apps/etterlatte-behandling/src/main/kotlin/sak/SakService.kt b/apps/etterlatte-behandling/src/main/kotlin/sak/SakService.kt index 98ebb70ed93..48508debaff 100644 --- a/apps/etterlatte-behandling/src/main/kotlin/sak/SakService.kt +++ b/apps/etterlatte-behandling/src/main/kotlin/sak/SakService.kt @@ -342,7 +342,8 @@ class SakServiceImpl( sak = dao.opprettSak(fnr, type, enhet) } - sjekkSkjerming(fnr = fnr, sakId = sak.id) + sjekkSkjerming(fnr = fnr, sakId = sak.id, type = type, overstyrendeEnhet = overstyrendeEnhet) + val hentetGradering = runBlocking { pdltjenesterKlient.hentAdressebeskyttelseForPerson( @@ -468,16 +469,30 @@ class SakServiceImpl( private fun sjekkSkjerming( fnr: String, sakId: SakId, + type: SakType, + overstyrendeEnhet: Enhetsnummer?, ) { val erSkjermet = runBlocking { skjermingKlient.personErSkjermet(fnr) } if (erSkjermet) { + logger.info("Oppdater egen ansatt for sak $sakId") dao.oppdaterEnheterPaaSaker( listOf(SakMedEnhet(sakId, Enheter.EGNE_ANSATTE.enhetNr)), ) + } else { + val sakMedSkjerming = lesDao.hentSak(sakId)!! + if (sakMedSkjerming.enhet == Enheter.EGNE_ANSATTE.enhetNr) { + val enhet = sjekkEnhetFraNorg(fnr, type, overstyrendeEnhet) + if (enhet == Enheter.EGNE_ANSATTE.enhetNr) { + dao.oppdaterEnheterPaaSaker(listOf(SakMedEnhet(sakId, Enheter.defaultEnhet.enhetNr))) + } else { + dao.oppdaterEnheterPaaSaker(listOf(SakMedEnhet(sakId, enhet))) + } + } } + dao.markerSakerMedSkjerming(sakIder = listOf(sakId), skjermet = erSkjermet) } diff --git a/apps/etterlatte-behandling/src/test/kotlin/sak/SakServiceTest.kt b/apps/etterlatte-behandling/src/test/kotlin/sak/SakServiceTest.kt index 8c7a98ecbb1..e60cd15ce3a 100644 --- a/apps/etterlatte-behandling/src/test/kotlin/sak/SakServiceTest.kt +++ b/apps/etterlatte-behandling/src/test/kotlin/sak/SakServiceTest.kt @@ -396,15 +396,18 @@ internal class SakServiceTest { fun `finnEllerOpprettSak lagre enhet hvis enhet er funnet`() { coEvery { pdlTjenesterKlient.hentPdlFolkeregisterIdenter(any()) } returns dummyPdlResponse(KONTANT_FOT.value) every { sakLesDao.finnSaker(KONTANT_FOT.value, SakType.BARNEPENSJON) } returns emptyList() - every { - sakSkrivDao.opprettSak(KONTANT_FOT.value, SakType.BARNEPENSJON, Enheter.PORSGRUNN.enhetNr) - } returns + val sak1 = Sak( id = sakId1, ident = KONTANT_FOT.value, sakType = SakType.BARNEPENSJON, enhet = Enheter.PORSGRUNN.enhetNr, ) + every { sakLesDao.hentSak(sakId1) } returns sak1 + every { + sakSkrivDao.opprettSak(KONTANT_FOT.value, SakType.BARNEPENSJON, Enheter.PORSGRUNN.enhetNr) + } returns + sak1 coEvery { skjermingKlient.personErSkjermet(KONTANT_FOT.value) } returns false every { sakSkrivDao.markerSakerMedSkjerming(any(), any()) } just runs every { sakSkrivDao.oppdaterAdresseBeskyttelse(sakId1, AdressebeskyttelseGradering.UGRADERT) } returns 1 @@ -424,12 +427,7 @@ internal class SakServiceTest { val sak = service.finnEllerOpprettSakMedGrunnlag(KONTANT_FOT.value, SakType.BARNEPENSJON) sak shouldBe - Sak( - ident = KONTANT_FOT.value, - sakType = SakType.BARNEPENSJON, - id = sakId1, - enhet = Enheter.PORSGRUNN.enhetNr, - ) + sak1 coVerify(exactly = 1) { pdlTjenesterKlient.hentPdlFolkeregisterIdenter(KONTANT_FOT.value) } verify(exactly = 1) { sakLesDao.finnSakMedGraderingOgSkjerming(any()) } @@ -468,15 +466,18 @@ internal class SakServiceTest { coEvery { skjermingKlient.personErSkjermet(KONTANT_FOT.value) } returns false coEvery { grunnlagservice.grunnlagFinnes(any(), any()) } returns true every { sakSkrivDao.markerSakerMedSkjerming(any(), any()) } just runs - every { - sakSkrivDao.opprettSak(KONTANT_FOT.value, SakType.BARNEPENSJON, Enheter.PORSGRUNN.enhetNr) - } returns + val sak1 = Sak( id = sakId1, ident = KONTANT_FOT.value, sakType = SakType.BARNEPENSJON, enhet = Enheter.PORSGRUNN.enhetNr, ) + every { + sakSkrivDao.opprettSak(KONTANT_FOT.value, SakType.BARNEPENSJON, Enheter.PORSGRUNN.enhetNr) + } returns + sak1 + every { sakLesDao.hentSak(sakId1) } returns sak1 coEvery { pdlTjenesterKlient.hentAdressebeskyttelseForPerson( @@ -505,12 +506,7 @@ internal class SakServiceTest { ) sak shouldBe - Sak( - ident = KONTANT_FOT.value, - sakType = SakType.BARNEPENSJON, - id = sakId1, - enhet = Enheter.PORSGRUNN.enhetNr, - ) + sak1 verify(exactly = 1) { service.oppdaterAdressebeskyttelse(