Skip to content

Commit

Permalink
Fiks adressemapping for adresse som kommer fra SAF (#437)
Browse files Browse the repository at this point in the history
* Fiks adressemapping for adresse som kommer fra SAF

* Fiks adressemapping for adresse som kommer fra SAF
  • Loading branch information
ugur93 authored Nov 21, 2023
1 parent 11e0d6e commit a250a79
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 30 deletions.
8 changes: 6 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
[*.{kt,kts}]
ktlint_code_style = intellij_idea
ktlint_standard_property-naming = disabled
max_line_length = 150
tab_width = 4
ktlint_standard_class-naming = disabled
ktlint_standard_property-naming = disabled
ktlint_standard_max-line-length = disabled
ktlint_standard_class-naming = disabled

[**/test/**/*.{kt,kts}]
ktlint_standard_max-line-length = disabled
ktlint_standard_property-naming = disabled
63 changes: 35 additions & 28 deletions src/main/kotlin/no/nav/bidrag/dokument/arkiv/dto/Journalpost.kt
Original file line number Diff line number Diff line change
Expand Up @@ -223,36 +223,43 @@ data class Journalpost(
utsendingsinfo?.fysiskpostSendt?.adressetekstKonvolutt?.let {
val postadresseSplit = it.split("\n").reversed()
val landkode2 = postadresseSplit.getOrNull(0)
val postnummerPoststed = postadresseSplit.getOrNull(1)?.split(" ") ?: emptyList()
val postnummer = if (postnummerPoststed.size == 2) postnummerPoststed.getOrNull(0) else null
val poststed =
if (postnummerPoststed.size == 1) {
postnummerPoststed.getOrNull(0)
} else {
postnummerPoststed.getOrNull(
1,
)
val adresse = if (postadresseSplit.size == 2 && landkode2 != "NO") {
DistribuerTilAdresse(
adresselinje1 = postadresseSplit.getOrNull(1),
land = landkode2,
)
} else {
val postnummerPoststed = postadresseSplit.getOrNull(1)?.split(" ") ?: emptyList()
val postnummer = if (postnummerPoststed.size == 2) postnummerPoststed.getOrNull(0) else null
val poststed =
if (postnummerPoststed.size == 1) {
postnummerPoststed.getOrNull(0)
} else {
postnummerPoststed.getOrNull(
1,
)
}
val adresselinje1 = when (postadresseSplit.size) {
3 -> postadresseSplit.getOrNull(2)
4 -> postadresseSplit.getOrNull(3)
5 -> postadresseSplit.getOrNull(4)
else -> null
}
val adresselinje1 = when (postadresseSplit.size) {
3 -> postadresseSplit.getOrNull(2)
4 -> postadresseSplit.getOrNull(3)
5 -> postadresseSplit.getOrNull(4)
else -> null
}
val adresselinje2 = when (postadresseSplit.size) {
4 -> postadresseSplit.getOrNull(2)
5 -> postadresseSplit.getOrNull(3)
else -> null
val adresselinje2 = when (postadresseSplit.size) {
4 -> postadresseSplit.getOrNull(2)
5 -> postadresseSplit.getOrNull(3)
else -> null
}
val adresselinje3 = if (postadresseSplit.size == 5) postadresseSplit.getOrNull(2) else null
DistribuerTilAdresse(
adresselinje1 = adresselinje1,
adresselinje2 = adresselinje2,
adresselinje3 = adresselinje3,
poststed = poststed,
postnummer = postnummer,
land = landkode2,
)
}
val adresselinje3 = if (postadresseSplit.size == 5) postadresseSplit.getOrNull(2) else null
val adresse = DistribuerTilAdresse(
adresselinje1 = adresselinje1,
adresselinje2 = adresselinje2,
adresselinje3 = adresselinje3,
poststed = poststed,
postnummer = postnummer,
land = landkode2,
)
SECURE_LOGGER.info {
"Lest og mappet postadresse fra SAF ${
it.split("\n").joinToString("\\n")
Expand Down
17 changes: 17 additions & 0 deletions src/test/java/no/nav/bidrag/dokument/arkiv/dto/JournalpostTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -665,6 +665,23 @@ internal class JournalpostTest {
distribuertTilAdresse?.land shouldBe "USA"
}

@Test
fun `skal hent fysisk postadresse uten postnummer og sted`() {
val journalpost = opprettUtgaendeSafResponse()
.copy(
utsendingsinfo = UtsendingsInfo(
fysiskpostSendt = FysiskpostSendt("Berlin gaten 11\nDE"),
),
)
val distribuertTilAdresse = journalpost.distribuertTilAdresse()
distribuertTilAdresse?.adresselinje1 shouldBe "Berlin gaten 11"
distribuertTilAdresse?.adresselinje2 shouldBe null
distribuertTilAdresse?.adresselinje3 shouldBe null
distribuertTilAdresse?.postnummer shouldBe null
distribuertTilAdresse?.poststed shouldBe null
distribuertTilAdresse?.land shouldBe "DE"
}

private fun getReturDetaljerDOByDate(returDetaljerLogDOList: List<ReturDetaljerLogDO>, dato: String): ReturDetaljerLogDO {
return returDetaljerLogDOList.stream()
.filter { (_, dato1): ReturDetaljerLogDO -> dato1 == LocalDate.parse(dato) }.findFirst()
Expand Down

0 comments on commit a250a79

Please sign in to comment.