Skip to content

Commit

Permalink
Hotfix/logg bedre enhetsfordeling (#6622)
Browse files Browse the repository at this point in the history
* Log om geografisk tilknytning mangler

* Mer logging og prøv å forhindre kluss mellom egen ansatt og skjermin på sak

* Fiks mocks
  • Loading branch information
sebassonav authored Dec 13, 2024
1 parent 005cfd9 commit 4e8b613
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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",
)
Expand All @@ -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}",
)
}
}
17 changes: 16 additions & 1 deletion apps/etterlatte-behandling/src/main/kotlin/sak/SakService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -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)
}

Expand Down
32 changes: 14 additions & 18 deletions apps/etterlatte-behandling/src/test/kotlin/sak/SakServiceTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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()) }
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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(
Expand Down

0 comments on commit 4e8b613

Please sign in to comment.