Skip to content

Commit 4e0ecb3

Browse files
committed
Juster format på CSV til å matche uttrekk
1 parent 364b815 commit 4e0ecb3

File tree

5 files changed

+31
-21
lines changed

5 files changed

+31
-21
lines changed

jobs/arbeidssoekere-synk-jobb/src/main/kotlin/no/nav/paw/arbeidssoeker/synk/model/Arbeidssoeker.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import java.time.Instant
44

55
data class ArbeidssoekerFileRow(
66
val identitetsnummer: String,
7-
val tidspunktFraKilde: Instant? = null
7+
val tidspunktFraKilde: String? = null
88
)
99

1010
data class ArbeidssoekerDatabaseRow(

jobs/arbeidssoekere-synk-jobb/src/main/kotlin/no/nav/paw/arbeidssoeker/synk/model/Converters.kt

+10-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ import io.ktor.http.isSuccess
55
import org.jetbrains.exposed.sql.ResultRow
66
import java.time.Duration
77
import java.time.Instant
8+
import java.time.LocalDateTime
9+
import java.time.ZoneId
10+
import java.time.format.DateTimeFormatter
11+
12+
private const val DATETIME_FORMAT = "dd.MM.yyyy HH:mm:ss"
13+
private val OSLO_ZONE_ID: ZoneId = ZoneId.of("Europe/Oslo")
14+
private val dateTimeFormatter = DateTimeFormatter.ofPattern(DATETIME_FORMAT)
815

916
fun ArbeidssoekerFileRow.asArbeidssoeker(
1017
version: String,
@@ -14,7 +21,9 @@ fun ArbeidssoekerFileRow.asArbeidssoeker(
1421
version = version,
1522
identitetsnummer = identitetsnummer,
1623
periodeTilstand = periodeTilstand,
17-
tidspunktFraKilde = tidspunktFraKilde,
24+
tidspunktFraKilde = tidspunktFraKilde?.ifBlank { null }?.let {
25+
LocalDateTime.parse(it, dateTimeFormatter).atZone(OSLO_ZONE_ID).toInstant()
26+
},
1827
forhaandsgodkjentAvAnsatt = forhaandsgodkjentAvAnsatt
1928
)
2029

jobs/arbeidssoekere-synk-jobb/src/main/kotlin/no/nav/paw/arbeidssoeker/synk/service/ArbeidssoekerSynkService.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ class ArbeidssoekerSynkService(
3535
if (totalCount % 100 == 0) {
3636
logger.info("Prosessert {} linjer CSV-data på {} ms", totalCount, timestamp.millisSince())
3737
}
38-
val arbeidssoeker = fileRows.nextValue()
39-
.asArbeidssoeker(
40-
version = version,
41-
periodeTilstand = defaultVerdier.periodeTilstand,
42-
forhaandsgodkjentAvAnsatt = defaultVerdier.forhaandsgodkjentAvAnsatt
43-
)
38+
val fileRow = fileRows.nextValue()
39+
val arbeidssoeker = fileRow.asArbeidssoeker(
40+
version = version,
41+
periodeTilstand = defaultVerdier.periodeTilstand,
42+
forhaandsgodkjentAvAnsatt = defaultVerdier.forhaandsgodkjentAvAnsatt
43+
)
4444
prosesserArbeidssoeker(arbeidssoeker)
4545
}
4646
logger.info(

jobs/arbeidssoekere-synk-jobb/src/main/kotlin/no/nav/paw/arbeidssoeker/synk/utils/CsvReader.kt

+4-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ private val csvMapper: ObjectMapper = CsvMapper()
1616
.registerModule(JavaTimeModule())
1717
private val csvSchema: CsvSchema = CsvSchema.builder()
1818
.setAllowComments(true)
19-
.setColumnSeparator(',')
20-
.setUseHeader(true)
19+
.setColumnSeparator(';')
20+
.setUseHeader(false)
21+
.addColumn("identitetsnummer", CsvSchema.ColumnType.STRING)
22+
.addColumn("tidspunktFraKilde", CsvSchema.ColumnType.STRING)
2123
.build()
2224

2325
sealed class CsvReader<T>(val objectReader: ObjectReader) {
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
identitetsnummer,tidspunktFraKilde
2-
01017012345,
3-
02017012345,1970-01-02T12:00:00.000Z
4-
03017012345,1970-01-03T12:00:00.000Z
5-
04017012345,
6-
05017012345,
7-
06017012345,1970-01-06T12:00:00.000Z
8-
07017012345,1970-01-07T12:00:00.000Z
9-
08017012345,
10-
09017012345,1970-01-09T12:00:00.000Z
11-
10017012345,
1+
01017012345;
2+
02017012345;02.01.1970 12:00:00
3+
03017012345;03.01.1970 12:00:00
4+
04017012345;
5+
05017012345;
6+
06017012345;06.01.1970 12:00:00
7+
07017012345;07.01.1970 12:00:00
8+
08017012345;
9+
09017012345;09.01.1970 12:00:00
10+
10017012345;

0 commit comments

Comments
 (0)