Skip to content

Commit

Permalink
ikke lagre ny aktør når aktør allerede eksisterer for personident (#4797
Browse files Browse the repository at this point in the history
)

### 💰 Hva skal gjøres, og hvorfor?
Har identhendelsetasker som feiler pga constraint på aktørid. Dette
kommer at vi ikke sender ikke lagre = false når vi oppretter personident

renamer lagre -> lagreNyAktør
sender lagre = false når vi kaller fra en kontekst der vi vet at det
eksisterer en aktør

---------

Signed-off-by: FredrikP <[email protected]>
  • Loading branch information
fredrikpf authored Sep 30, 2024
1 parent 290a48d commit 7786144
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class HåndterNyIdentService(
validerUendretFødselsdatoFraForrigeBehandling(identerFraPdl, aktuellFagsakIdVedMerging)
logger.info("Legger til ny ident")
secureLogger.info("Legger til ny ident ${nyIdent.ident} på aktør ${aktør.aktørId}")
personIdentService.opprettPersonIdent(aktør, nyIdent.ident)
personIdentService.opprettPersonIdent(aktør, nyIdent.ident, false)
}

// Samme aktørId, samme fødselsnummer -> ignorer hendelse
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,23 +136,23 @@ class PersonidentService(
fun opprettPersonIdent(
aktør: Aktør,
dselsnummer: String,
lagre: Boolean = true,
lagreNyAktør: Boolean = true,
): Aktør {
secureLogger.info("Oppretter personIdent. aktørIdStr=${aktør.aktørId} fødselsnummer=$fødselsnummer lagre=$lagre, personidenter=${aktør.personidenter}")
secureLogger.info("Oppretter personIdent: aktørIdStr=${aktør.aktørId} fødselsnummer=$fødselsnummer lagreNyAktør=$lagreNyAktør, personidenter=${aktør.personidenter}")
val eksisterendePersonIdent = aktør.personidenter.filter { it.fødselsnummer == fødselsnummer && it.aktiv }
secureLogger.info("Aktøren har fødselsnummer ${aktør.personidenter.map { it.fødselsnummer }}")
if (eksisterendePersonIdent.isEmpty()) {
secureLogger.info("Fins ikke eksisterende personIdent for. aktørIdStr=${aktør.aktørId} fødselsnummer=$fødselsnummer lagre=$lagre, personidenter=${aktør.personidenter}, så lager ny")
secureLogger.info("Fins ikke eksisterende personIdent for. aktørIdStr=${aktør.aktørId} fødselsnummer=$fødselsnummer lagre=$lagreNyAktør, personidenter=${aktør.personidenter}, så lager ny")
aktør.personidenter.filter { it.aktiv }.map {
it.aktiv = false
it.gjelderTil = LocalDateTime.now()
}
if (lagre) aktørIdRepository.saveAndFlush(aktør) // Må lagre her fordi unik index er en blanding av aktørid og gjelderTil, og hvis man ikke lagerer før man legger til ny, så feiler det pga indexen.
if (lagreNyAktør) aktørIdRepository.saveAndFlush(aktør) // Må lagre her fordi unik index er en blanding av aktørid og gjelderTil, og hvis man ikke lagerer før man legger til ny, så feiler det pga indexen.

aktør.personidenter.add(
Personident(fødselsnummer = fødselsnummer, aktør = aktør),
)
if (lagre) aktørIdRepository.saveAndFlush(aktør)
if (lagreNyAktør) aktørIdRepository.saveAndFlush(aktør)
}
return aktør
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,6 @@ internal class HåndterNyIdentServiceTest {
.gjelderTil!!
.isBefore(LocalDateTime.now()),
)
verify(exactly = 2) { aktørIdRepository.saveAndFlush(any()) }
verify(exactly = 0) { personidentRepository.saveAndFlush(any()) }
}

Expand Down

0 comments on commit 7786144

Please sign in to comment.