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

F - Sender pbu06 direkte med eller uten bruker #312

Merged
merged 4 commits into from
Aug 19, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
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
@@ -1,7 +1,6 @@
package no.nav.eessi.pensjon.journalforing

import com.fasterxml.jackson.databind.exc.MismatchedInputException
import com.google.cloud.storage.BlobId
import io.micrometer.core.instrument.Metrics
import no.nav.eessi.pensjon.eux.model.BucType
import no.nav.eessi.pensjon.eux.model.BucType.*
Expand Down Expand Up @@ -188,11 +187,18 @@ class JournalforingService(
)

if(journalpostRequest.bruker == null){
vurderBrukerInfo.journalPostUtenBruker(
journalpostRequest,
sedHendelse,
hendelseType)
logger.warn("Journalpost er satt på vent grunnet manglende bruker, rinanr: ${sedHendelse.rinaSakId}")
if(sedHendelse.bucType in listOf(P_BUC_06)) {
journalpostService.sendJournalPost(JournalpostMedSedInfo(journalpostRequest, sedHendelse, hendelseType), "eessipensjon")
logger.warn("Journalpost for ${sedHendelse.sedType}, for buc: ${sedHendelse.bucType} sendes direkte for rinaid: ${sedHendelse.rinaSakId}")
}
else {
vurderBrukerInfo.journalPostUtenBruker(
journalpostRequest,
sedHendelse,
hendelseType
)
logger.warn("Journalpost er satt på vent grunnet manglende bruker, rinanr: ${sedHendelse.rinaSakId}")
}
return@measure
}
else {
Expand Down Expand Up @@ -281,7 +287,7 @@ class JournalforingService(
}
}

fun lagJournalpostOgOppgave(journalpostRequest: LagretJournalpostMedSedInfo, saksbehandlerIdent: String? = null, blobId: BlobId){
fun lagJournalpostOgOppgave(journalpostRequest: JournalpostMedSedInfo, saksbehandlerIdent: String? = null){
val response = journalpostService.sendJournalPost(journalpostRequest, "eessipensjon")

logger.info("""Lagret JP hentet fra GCP:
Expand All @@ -302,7 +308,7 @@ class JournalforingService(
oppgaveType = OppgaveType.JOURNALFORING,
).also { oppgaveMelding -> logger.info("Opprettet journalforingsoppgave for sak med rinaId: ${oppgaveMelding.rinaSakId}") }
oppgaveHandler.opprettOppgaveMeldingPaaKafkaTopic(melding)
gcpStorageService.slettJournalpostDetaljer(blobId)

} else {
logger.error("Journalpost ikke opprettet")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import no.nav.eessi.pensjon.models.Behandlingstema
import no.nav.eessi.pensjon.models.Tema
import no.nav.eessi.pensjon.oppgaverouting.Enhet
import no.nav.eessi.pensjon.oppgaverouting.HendelseType
import no.nav.eessi.pensjon.personoppslag.pdl.model.IdentifisertPerson
import no.nav.eessi.pensjon.utils.mapAnyToJson
import java.io.IOException
import java.time.LocalDateTime
Expand Down Expand Up @@ -49,7 +48,7 @@ data class OpprettJournalpostRequest(
}
}

data class LagretJournalpostMedSedInfo(
data class JournalpostMedSedInfo(
val journalpostRequest: OpprettJournalpostRequest,
val sedHendelse: SedHendelse,
val sedHendelseType: HendelseType
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ class VurderBrukerInfo (
sedHendelse: SedHendelse,
sedHendelseType: HendelseType
) {
val lagretJournalpost = LagretJournalpostMedSedInfo(journalpostRequest!!, sedHendelse, sedHendelseType)
val lagretJournalpost = JournalpostMedSedInfo(journalpostRequest!!, sedHendelse, sedHendelseType)
logger.debug("""Journalposten mangler bruker og vil bli lagret for fremtidig vurdering
| ${lagretJournalpost.toJson()}
""".trimMargin())
Expand All @@ -57,7 +57,7 @@ class VurderBrukerInfo (
logger.info("Henter tidligere journalføring for å sette bruker for sed: $rinaId")

gcpStorageService.hentOpprettJournalpostRequest(rinaId)?.let { (journalpost, blob) ->
val lagretJournalPost = mapJsonToAny<LagretJournalpostMedSedInfo>(journalpost)
val lagretJournalPost = mapJsonToAny<JournalpostMedSedInfo>(journalpost)

val jprUtenBrukerOppdatert = lagretJournalPost.copy(
journalpostRequest = updateRequest(lagretJournalPost.journalpostRequest, jprMedBruker)
Expand Down Expand Up @@ -95,7 +95,7 @@ class VurderBrukerInfo (
}

fun opprettOppgave(
jprUtenBrukerOppdatert: LagretJournalpostMedSedInfo,
jprUtenBrukerOppdatert: JournalpostMedSedInfo,
opprettetJournalpost: OpprettJournalPostResponse?,
identifisertPerson: IdentifisertPerson?
) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ class JournalpostService(private val journalpostKlient: JournalpostKlient) {
return journalpostKlient.opprettJournalpost(journalpostRequest, forsokFerdigstill, saksbehandlerIdent)
}

fun sendJournalPost(journalpostRequest: LagretJournalpostMedSedInfo,
fun sendJournalPost(journalpostRequest: JournalpostMedSedInfo,
saksbehandlerIdent: String?): OpprettJournalPostResponse? {
return sendJournalPost(journalpostRequest.journalpostRequest, journalpostRequest.sedHendelse, journalpostRequest.sedHendelseType, saksbehandlerIdent)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import no.nav.eessi.pensjon.eux.model.BucType
import no.nav.eessi.pensjon.eux.model.SedType
import no.nav.eessi.pensjon.gcp.GcpStorageService
import no.nav.eessi.pensjon.journalforing.JournalforingService
import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo
import no.nav.eessi.pensjon.journalforing.JournalpostMedSedInfo
import no.nav.eessi.pensjon.utils.mapJsonToAny
import no.nav.eessi.pensjon.utils.toJson
import org.slf4j.LoggerFactory
Expand All @@ -24,9 +24,10 @@ class OpprettJournalpostUkjentBruker(

logger.info("Daglig sjekk viser ${jp?.size} saker fra GCP som mangler bruker og som nå journalføres")
jp?.forEach { journalpostDetaljer ->
mapJsonToAny<LagretJournalpostMedSedInfo>(journalpostDetaljer.first)
mapJsonToAny<JournalpostMedSedInfo>(journalpostDetaljer.first)
.also {
journalforingService.lagJournalpostOgOppgave(it, "eessipensjon", journalpostDetaljer.second)
journalforingService.lagJournalpostOgOppgave(it, "eessipensjon")
gcpStorageService.slettJournalpostDetaljer(journalpostDetaljer.second).also { logger.info("") }
} }
}

Expand All @@ -42,7 +43,7 @@ class OpprettJournalpostUkjentBruker(
}

jp?.forEach { journalpostDetaljer ->
val lagretJournalpostMedSedInfo = mapJsonToAny<LagretJournalpostMedSedInfo>(journalpostDetaljer.first)
val lagretJournalpostMedSedInfo = mapJsonToAny<JournalpostMedSedInfo>(journalpostDetaljer.first)

lagretJournalpostMedSedInfo.sedHendelse.sedType?.let {
sedTypeCounts[it] = sedTypeCounts[it]!! + 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ open class GcpStorageServiceTest {
private lateinit var gcpStorageService: GcpStorageService

private val storage: Storage = mockk(relaxed = true)
lateinit var lagretJournalPost: LagretJournalpostMedSedInfo
lateinit var lagretJournalPost: JournalpostMedSedInfo
lateinit var sedMedBruker: SedHendelse
lateinit var sedUtenBruker: SedHendelse

Expand All @@ -34,7 +34,7 @@ open class GcpStorageServiceTest {
rinaSakId = sedMedBruker.rinaSakId
)
val lagretJournalpostRquest = opprettJournalpostRequest(bruker = null, enhet = Enhet.ID_OG_FORDELING, tema = Tema.UFORETRYGD, )
lagretJournalPost = LagretJournalpostMedSedInfo(lagretJournalpostRquest, sedUtenBruker, HendelseType.SENDT)
lagretJournalPost = JournalpostMedSedInfo(lagretJournalpostRquest, sedUtenBruker, HendelseType.SENDT)

gcpStorageService = GcpStorageService("gjennyB", "journalB", storage)
every { storage.get(BlobId.of("journalB", sedUtenBruker.rinaSakId)) } returns mockk {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.google.cloud.storage.Storage
import io.mockk.every
import io.mockk.mockk
import no.nav.eessi.pensjon.eux.model.SedHendelse
import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo
import no.nav.eessi.pensjon.journalforing.JournalpostMedSedInfo
import no.nav.eessi.pensjon.utils.toJson
import java.time.OffsetDateTime

Expand All @@ -16,7 +16,7 @@ class GcpStorageTestHelper {
companion object {
fun simulerGcpStorage(
sedHendelse: SedHendelse,
lagretJournalPost: List<Pair<LagretJournalpostMedSedInfo, BlobId>>,
lagretJournalPost: List<Pair<JournalpostMedSedInfo, BlobId>>,
gcpStorage: Storage
) {
val blob = createMockBlob(sedHendelse, lagretJournalPost)
Expand All @@ -27,7 +27,7 @@ class GcpStorageTestHelper {

private fun createMockBlob(
sedHendelse: SedHendelse,
lagretJournalPost: List<Pair<LagretJournalpostMedSedInfo, BlobId>>
lagretJournalPost: List<Pair<JournalpostMedSedInfo, BlobId>>
): Blob {
return mockk<Blob>().apply {
every { name } returns sedHendelse.rinaSakId
Expand All @@ -37,7 +37,7 @@ class GcpStorageTestHelper {
}
}

private fun createMockPage(blob: Blob, sedHendelse: SedHendelse, lagretJournalPost: LagretJournalpostMedSedInfo): Page<Blob> {
private fun createMockPage(blob: Blob, sedHendelse: SedHendelse, lagretJournalPost: JournalpostMedSedInfo): Page<Blob> {
return mockk<Page<Blob>>().apply {
every { iterateAll() } returns mutableListOf(blob)
every { values } returns mockk<MutableIterable<Blob>>().apply {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import io.mockk.slot
import no.nav.eessi.pensjon.eux.model.SedHendelse
import no.nav.eessi.pensjon.eux.model.buc.DocumentsItem
import no.nav.eessi.pensjon.journalforing.JournalforingService
import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo
import no.nav.eessi.pensjon.journalforing.JournalpostMedSedInfo
import no.nav.eessi.pensjon.journalforing.OpprettJournalpostRequest
import no.nav.eessi.pensjon.journalforing.VurderBrukerInfo
import no.nav.eessi.pensjon.listeners.SedMottattListener
Expand Down Expand Up @@ -179,12 +179,11 @@ abstract class IntegrasjonsBase {
// del 2: sender manuel generering av JP og oppgave som batch / gcp storage ville gjort
if (journalpostRequest.isCaptured && journalpostRequest.captured.bruker == null) {
journalforingService.lagJournalpostOgOppgave(
LagretJournalpostMedSedInfo(
JournalpostMedSedInfo(
journalpostRequest = journalpostRequest.captured,
mapJsonToAny<SedHendelse>(hendelse),
HendelseType.MOTTATT
),
blobId = mockk()
)
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,12 +267,11 @@ internal open class JournalforingTestBase {
) {
if (journalpostRequest.isCaptured && journalpostRequest.captured.bruker == null) {
journalforingService.lagJournalpostOgOppgave(
LagretJournalpostMedSedInfo(
JournalpostMedSedInfo(
journalpostRequest = journalpostRequest.captured,
mapJsonToAny<SedHendelse>(hendelse),
hendelseType
),
blobId = mockk()
)
)
}
}
Expand All @@ -293,9 +292,10 @@ internal open class JournalforingTestBase {
land: String = "NOR",
hendelseType: HendelseType = SENDT,
bucType: BucType = P_BUC_01,
sedType: SedType = SedType.P8000,
assertBlock: (OpprettJournalpostRequest) -> Unit
) {
val sed = SED.generateSedToClass<P8000>(createSed(sedType = SedType.P8000, fnr = fnr, eessiSaknr = sakId))
val sed = SED.generateSedToClass<P8000>(createSed(sedType = sedType, fnr = fnr, eessiSaknr = sakId))
initCommonMocks(sed, bucType = bucType)

every { personService.harAdressebeskyttelse(any()) } returns false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package no.nav.eessi.pensjon.integrasjonstest.saksflyt

import com.google.cloud.storage.BlobId
import io.mockk.*
import no.nav.eessi.pensjon.eux.model.BucType.P_BUC_01
import no.nav.eessi.pensjon.eux.model.SedHendelse
import no.nav.eessi.pensjon.eux.model.SedType.*
import no.nav.eessi.pensjon.eux.model.buc.Buc
import no.nav.eessi.pensjon.eux.model.buc.SakStatus.LOPENDE
Expand All @@ -19,7 +17,6 @@ import no.nav.eessi.pensjon.eux.model.sed.P8000
import no.nav.eessi.pensjon.eux.model.sed.SED
import no.nav.eessi.pensjon.eux.model.sed.SivilstandItem
import no.nav.eessi.pensjon.eux.model.sed.StatsborgerskapItem
import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo
import no.nav.eessi.pensjon.journalforing.OpprettJournalpostRequest
import no.nav.eessi.pensjon.journalforing.krav.BehandleHendelseModel
import no.nav.eessi.pensjon.journalforing.krav.HendelseKode
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -344,13 +344,12 @@ internal class PBuc03IntegrationTest : JournalforingTestBase() {

if (!journalpostResponse.journalpostferdigstilt && oppgaveMeldingList.isEmpty() && journalpostRequest.captured.bruker == null) {
journalforingService.lagJournalpostOgOppgave(
LagretJournalpostMedSedInfo(
JournalpostMedSedInfo(
journalpostRequest = journalpostRequest.captured,
mapJsonToAny<SedHendelse>(hendelse),
hendelseType
),
"",
BlobId.of("", "")
""
)
}
val kravMeldingList: List<BehandleHendelseModel> = kravmeldingSlot.map {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package no.nav.eessi.pensjon.integrasjonstest.saksflyt

import com.google.cloud.storage.BlobId
import io.mockk.*
import no.nav.eessi.pensjon.eux.model.BucType.P_BUC_05
import no.nav.eessi.pensjon.eux.model.SedHendelse
import no.nav.eessi.pensjon.eux.model.SedType
import no.nav.eessi.pensjon.eux.model.buc.Buc
import no.nav.eessi.pensjon.eux.model.buc.SakStatus.*
Expand All @@ -14,7 +12,6 @@ import no.nav.eessi.pensjon.eux.model.document.SedStatus
import no.nav.eessi.pensjon.eux.model.sed.P5000
import no.nav.eessi.pensjon.eux.model.sed.P8000
import no.nav.eessi.pensjon.eux.model.sed.SED
import no.nav.eessi.pensjon.journalforing.LagretJournalpostMedSedInfo
import no.nav.eessi.pensjon.journalforing.OpprettJournalpostRequest
import no.nav.eessi.pensjon.journalforing.opprettoppgave.OppgaveMelding
import no.nav.eessi.pensjon.journalforing.opprettoppgave.OppgaveType
Expand All @@ -34,8 +31,11 @@ import no.nav.eessi.pensjon.personoppslag.pdl.model.NorskIdent
import no.nav.eessi.pensjon.shared.person.Fodselsnummer
import no.nav.eessi.pensjon.utils.mapJsonToAny
import no.nav.eessi.pensjon.utils.toJson
import org.junit.jupiter.api.*
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.Nested
import org.junit.jupiter.api.Test

@DisplayName("P_BUC_05 - IntegrationTest")
internal class PBuc05IntegrationTest : JournalforingTestBase() {
Expand Down
Loading
Loading