Skip to content

Commit

Permalink
Legg til kommentar etter retur
Browse files Browse the repository at this point in the history
  • Loading branch information
ugur93 committed Nov 13, 2023
1 parent 8299228 commit 856c1b1
Show file tree
Hide file tree
Showing 4 changed files with 88 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ class DistribuerJournalpostService(
)

// Distribusjonsløpet oppdaterer journalpost og overskriver alt av tilleggsopplysninger. Hent journalpost på nytt for å unngå overskrive noe som distribusjon har lagret
oppdaterTilleggsopplysninger(journalpostId, journalpost, adresse)
oppdaterTilleggsopplysninger(journalpostId, journalpost, adresse, bestemKanalResponse = distribusjonKanal)
oppdaterDokumentdatoTilIdag(journalpostId, journalpost)
measureDistribution(journalpost, batchId)
return distribuerResponse
Expand Down Expand Up @@ -267,12 +267,15 @@ class DistribuerJournalpostService(
journalpostId: Long,
journalpostFør: Journalpost,
adresse: DistribuerTilAdresse? = null,
erLokalUtskrift: Boolean = false
erLokalUtskrift: Boolean = false,
bestemKanalResponse: BestemKanalResponse? = null
) {
val journalpostEtter = hentJournalpost(journalpostId)
leggTilEksisterendeTilleggsopplysninger(journalpostEtter, journalpostFør)
erLokalUtskrift.ifFalse { adresse?.run { lagreAdresse(adresse, journalpostEtter) } }
erLokalUtskrift.ifFalse { journalpostEtter.tilleggsopplysninger.setDistribusjonBestillt() }
bestemKanalResponse?.distribusjonskanal?.takeIf { it == DistribusjonsKanal.DITT_NAV || it == DistribusjonsKanal.SDP }
?.let { journalpostEtter.tilleggsopplysninger.setOriginalDistribuertDigitalt() }
val saksbehandlerId = saksbehandlerInfoManager.hentSaksbehandlerBrukerId()
saksbehandlerId?.run {
journalpostEtter.tilleggsopplysninger.setDistribuertAvIdent(
Expand Down
10 changes: 10 additions & 0 deletions src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Journalpost.kt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ const val DISTRIBUERT_AV_IDENT_KEY = "distribuertAvIdent"
const val DOKDIST_BESTILLING_ID = "dokdistBestillingsId"
const val SAMHANDLER_ID_KEY = "samhandlerId"
const val DISTRIBUSJON_BESTILT_KEY = "distribusjonBestilt"
const val ORIGINALT_DISTRIBUERT_DIGITALT_KEY = "origDistDigitalt"
const val AVVIK_ENDRET_TEMA_KEY = "avvikEndretTema"
const val ORIGINAL_BESTILT_KEY = "originalBestilt"
const val AVVIK_NY_DISTRIBUSJON_BESTILT_KEY = "avvikNyDistribusjon"
Expand Down Expand Up @@ -739,6 +740,15 @@ class TilleggsOpplysninger : MutableList<Map<String, String>> by mutableListOf()
this.removeAll { it["nokkel"]?.contains(DOKDIST_BESTILLING_ID) ?: false }
}

fun setOriginalDistribuertDigitalt() {
this.removeAll { it["nokkel"]?.contains(ORIGINALT_DISTRIBUERT_DIGITALT_KEY) ?: false }
this.add(mapOf("nokkel" to ORIGINALT_DISTRIBUERT_DIGITALT_KEY, "verdi" to "true"))
}

fun isOriginalDistribuertDigitalt(): Boolean {
return this.any { it["nokkel"]?.contains(ORIGINALT_DISTRIBUERT_DIGITALT_KEY) ?: false }
}

fun setDistribusjonBestillt() {
this.removeAll { it["nokkel"]?.contains(DISTRIBUSJON_BESTILT_KEY) ?: false }
this.add(mapOf("nokkel" to DISTRIBUSJON_BESTILT_KEY, "verdi" to "true"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,11 +162,11 @@ internal class DistribuerControllerTest : AbstractControllerTest() {
stubs.verifyStub.dokarkivOppdaterKalt(
JOURNALPOST_ID,
"{\"tilleggsopplysninger\":[" +
"{\"nokkel\":\"dokdistBestillingsId\",\"verdi\":\"asdsadasdsadasdasd\"}," +
"{\"nokkel\":\"journalfortAvIdent\",\"verdi\":\"Z99999\"}," +
"{\"nokkel\":\"distAdresse0\",\"verdi\":\"{\\\"adresselinje1\\\":\\\"Adresselinje1\\\",\\\"adresselinje2\\\":\\\"Adresselinje2\\\",\\\"adresselinje3\\\":\\\"Adresselinje3\\\",\\\"la\"}," +
"{\"nokkel\":\"distAdresse1\",\"verdi\":\"nd\\\":\\\"NO\\\",\\\"postnummer\\\":\\\"3000\\\",\\\"poststed\\\":\\\"Ingen\\\"}\"}," +
"{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"},{\"nokkel\":\"distribuertAvIdent\",\"verdi\":\"aud-localhost\"}],\"dokumenter\":[]}"
"{\"nokkel\":\"dokdistBestillingsId\",\"verdi\":\"asdsadasdsadasdasd\"}," +
"{\"nokkel\":\"journalfortAvIdent\",\"verdi\":\"Z99999\"}," +
"{\"nokkel\":\"distAdresse0\",\"verdi\":\"{\\\"adresselinje1\\\":\\\"Adresselinje1\\\",\\\"adresselinje2\\\":\\\"Adresselinje2\\\",\\\"adresselinje3\\\":\\\"Adresselinje3\\\",\\\"la\"}," +
"{\"nokkel\":\"distAdresse1\",\"verdi\":\"nd\\\":\\\"NO\\\",\\\"postnummer\\\":\\\"3000\\\",\\\"poststed\\\":\\\"Ingen\\\"}\"}," +
"{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"},{\"nokkel\":\"distribuertAvIdent\",\"verdi\":\"aud-localhost\"}],\"dokumenter\":[]}"
)
}
}
Expand Down Expand Up @@ -258,9 +258,10 @@ internal class DistribuerControllerTest : AbstractControllerTest() {
stubs.verifyStub.dokarkivOppdaterKalt(
JOURNALPOST_ID,
"{\"tilleggsopplysninger\":[" +
"{\"nokkel\":\"dokdistBestillingsId\",\"verdi\":\"asdsadasdsadasdasd\"}," +
"{\"nokkel\":\"journalfortAvIdent\",\"verdi\":\"Z99999\"},{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"distribuertAvIdent\",\"verdi\":\"aud-localhost\"}],\"dokumenter\":[]}"
"{\"nokkel\":\"dokdistBestillingsId\",\"verdi\":\"asdsadasdsadasdasd\"}," +
"{\"nokkel\":\"journalfortAvIdent\",\"verdi\":\"Z99999\"},{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"origDistDigitalt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"distribuertAvIdent\",\"verdi\":\"aud-localhost\"}],\"dokumenter\":[]}"
)
}
}
Expand Down Expand Up @@ -350,11 +351,11 @@ internal class DistribuerControllerTest : AbstractControllerTest() {
stubs.verifyStub.dokarkivOppdaterKalt(
JOURNALPOST_ID,
"{\"tilleggsopplysninger\":[" +
"{\"nokkel\":\"dokdistBestillingsId\",\"verdi\":\"asdsadasdsadasdasd\"}," +
"{\"nokkel\":\"journalfortAvIdent\",\"verdi\":\"Z99999\"}," +
"{\"nokkel\":\"distAdresse0\",\"verdi\":\"{\\\"adresselinje1\\\":\\\"Adresselinje1\\\",\\\"adresselinje2\\\":\\\"Adresselinje2\\\",\\\"adresselinje3\\\":\\\"Adresselinje3\\\",\\\"la\"}," +
"{\"nokkel\":\"distAdresse1\",\"verdi\":\"nd\\\":\\\"NO\\\",\\\"postnummer\\\":\\\"3000\\\",\\\"poststed\\\":\\\"Ingen\\\"}\"}," +
"{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"},{\"nokkel\":\"distribuertAvIdent\",\"verdi\":\"aud-localhost\"}],\"dokumenter\":[]}"
"{\"nokkel\":\"dokdistBestillingsId\",\"verdi\":\"asdsadasdsadasdasd\"}," +
"{\"nokkel\":\"journalfortAvIdent\",\"verdi\":\"Z99999\"}," +
"{\"nokkel\":\"distAdresse0\",\"verdi\":\"{\\\"adresselinje1\\\":\\\"Adresselinje1\\\",\\\"adresselinje2\\\":\\\"Adresselinje2\\\",\\\"adresselinje3\\\":\\\"Adresselinje3\\\",\\\"la\"}," +
"{\"nokkel\":\"distAdresse1\",\"verdi\":\"nd\\\":\\\"NO\\\",\\\"postnummer\\\":\\\"3000\\\",\\\"poststed\\\":\\\"Ingen\\\"}\"}," +
"{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"},{\"nokkel\":\"distribuertAvIdent\",\"verdi\":\"aud-localhost\"}],\"dokumenter\":[]}"
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ class OppgaveHendelseListenerTest {
stubs.verifyStub.dokarkivOppdaterKalt(
journalpostId,
"\"tilleggsopplysninger\":" +
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"Lretur0_2020-01-02\",\"verdi\":\"En god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"Lretur0_2020-10-02\",\"verdi\":\"En annen god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"Returpost\"}]"
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"Lretur0_2020-01-02\",\"verdi\":\"En god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"Lretur0_2020-10-02\",\"verdi\":\"En annen god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"Returpost\"}]"
)
},
{ stubs.verifyStub.oppgaveOppdaterKalt(1, safResponse.hentSaksnummer()) }
Expand Down Expand Up @@ -213,10 +213,10 @@ class OppgaveHendelseListenerTest {
stubs.verifyStub.dokarkivOppdaterKalt(
journalpostId,
"\"tilleggsopplysninger\":" +
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"Lretur0_2020-01-02\",\"verdi\":\"En god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"Lretur0_2020-10-02\",\"verdi\":\"En annen god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"Returpost\"}]"
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"Lretur0_2020-01-02\",\"verdi\":\"En god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"Lretur0_2020-10-02\",\"verdi\":\"En annen god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"Returpost\"}]"
)
},
{ stubs.verifyStub.oppgaveOpprettIkkeKalt() }
Expand Down Expand Up @@ -262,8 +262,8 @@ class OppgaveHendelseListenerTest {
stubs.verifyStub.dokarkivOppdaterKalt(
journalpostId,
"\"tilleggsopplysninger\":" +
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"Returpost\"}]"
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"Returpost\"}]"
)
}
)
Expand Down Expand Up @@ -322,6 +322,52 @@ class OppgaveHendelseListenerTest {
)
}

@Test
fun `skal oppdatere oppgave og returlogg med kommentar hvis retur kommer fra navno`() {
stubs.mockSts()
stubs.mockBidragOrganisasjonSaksbehandler()
stubs.mockOppdaterOppgave(HttpStatus.CONFLICT, null, "correct")
stubs.mockOppdaterOppgave(HttpStatus.OK, "correct", null)
val journalpostId = 201028011L
val tilleggsopplysninger = TilleggsOpplysninger()
tilleggsopplysninger.setDistribusjonBestillt()
val safResponse = opprettUtgaendeSafResponse(
journalpostId = journalpostId.toString(),
tilleggsopplysninger = tilleggsopplysninger,
relevanteDatoer = listOf(
DatoType("2021-08-18T13:20:33", "DATO_DOKUMENT")
)
)
safResponse.antallRetur = 1

stubs.mockSafResponseHentJournalpost(safResponse)
stubs.mockDokarkivOppdaterRequest(journalpostId)

val oppgaveData = createOppgaveData(versjon = 20, journalpostId = journalpostId.toString())
stubs.mockHentOppgave(oppgaveData.id, oppgaveData, null, "fetch1")
stubs.mockHentOppgave(oppgaveData.id, oppgaveData.copy(versjon = 22), "fetch1", null)

val consumerRecord =
ConsumerRecord(
"test",
0,
0L,
"key",
objectMapper.writeValueAsString(oppgaveData.toHendelse())
)
hendelseListener.lesOppgaveOpprettetHendelse(consumerRecord)

assertSoftly {
stubs.verifyStub.oppgaveOppdaterKalt(2, safResponse.hentSaksnummer())
stubs.verifyStub.oppgaveOppdaterKalt(
1,
safResponse.hentSaksnummer(),
"\"versjon\":22",
"Mottaker har ikke åpnet forsendelsen via www.nav.no innen 40 timer. Ingen postadresse er registrert. Vurder om mottaker har adresse forsendelsen kan sendes til"
)
}
}

@Test
fun shouldUnlockReturLogWhenSameDateExists() {
stubs.mockSts()
Expand Down Expand Up @@ -372,9 +418,9 @@ class OppgaveHendelseListenerTest {
stubs.verifyStub.dokarkivOppdaterKalt(
journalpostId,
"\"tilleggsopplysninger\":" +
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"Lretur0_2020-01-02\",\"verdi\":\"En god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"En annen god begrunnelse for hvorfor dokument kom i retur\"}"
"[{\"nokkel\":\"distribusjonBestilt\",\"verdi\":\"true\"}," +
"{\"nokkel\":\"Lretur0_2020-01-02\",\"verdi\":\"En god begrunnelse for hvorfor dokument kom i retur\"}," +
"{\"nokkel\":\"retur0_${DateUtils.formatDate(LocalDate.now())}\",\"verdi\":\"En annen god begrunnelse for hvorfor dokument kom i retur\"}"
)
}
)
Expand Down

0 comments on commit 856c1b1

Please sign in to comment.