File tree 5 files changed +31
-21
lines changed
jobs/arbeidssoekere-synk-jobb/src
main/kotlin/no/nav/paw/arbeidssoeker/synk
5 files changed +31
-21
lines changed Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ import java.time.Instant
4
4
5
5
data class ArbeidssoekerFileRow (
6
6
val identitetsnummer : String ,
7
- val tidspunktFraKilde : Instant ? = null
7
+ val tidspunktFraKilde : String ? = null
8
8
)
9
9
10
10
data class ArbeidssoekerDatabaseRow (
Original file line number Diff line number Diff line change @@ -5,6 +5,13 @@ import io.ktor.http.isSuccess
5
5
import org.jetbrains.exposed.sql.ResultRow
6
6
import java.time.Duration
7
7
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 )
8
15
9
16
fun ArbeidssoekerFileRow.asArbeidssoeker (
10
17
version : String ,
@@ -14,7 +21,9 @@ fun ArbeidssoekerFileRow.asArbeidssoeker(
14
21
version = version,
15
22
identitetsnummer = identitetsnummer,
16
23
periodeTilstand = periodeTilstand,
17
- tidspunktFraKilde = tidspunktFraKilde,
24
+ tidspunktFraKilde = tidspunktFraKilde?.ifBlank { null }?.let {
25
+ LocalDateTime .parse(it, dateTimeFormatter).atZone(OSLO_ZONE_ID ).toInstant()
26
+ },
18
27
forhaandsgodkjentAvAnsatt = forhaandsgodkjentAvAnsatt
19
28
)
20
29
Original file line number Diff line number Diff line change @@ -35,12 +35,12 @@ class ArbeidssoekerSynkService(
35
35
if (totalCount % 100 == 0 ) {
36
36
logger.info(" Prosessert {} linjer CSV-data på {} ms" , totalCount, timestamp.millisSince())
37
37
}
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
+ )
44
44
prosesserArbeidssoeker(arbeidssoeker)
45
45
}
46
46
logger.info(
Original file line number Diff line number Diff line change @@ -16,8 +16,10 @@ private val csvMapper: ObjectMapper = CsvMapper()
16
16
.registerModule(JavaTimeModule ())
17
17
private val csvSchema: CsvSchema = CsvSchema .builder()
18
18
.setAllowComments(true )
19
- .setColumnSeparator(' ,' )
20
- .setUseHeader(true )
19
+ .setColumnSeparator(' ;' )
20
+ .setUseHeader(false )
21
+ .addColumn(" identitetsnummer" , CsvSchema .ColumnType .STRING )
22
+ .addColumn(" tidspunktFraKilde" , CsvSchema .ColumnType .STRING )
21
23
.build()
22
24
23
25
sealed class CsvReader <T >(val objectReader : ObjectReader ) {
Original file line number Diff line number Diff line change 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;
You can’t perform that action at this time.
0 commit comments