Skip to content

Commit 32648d7

Browse files
committed
Start konsumering av FriskTilArbeidVedtak
1 parent 741f3fc commit 32648d7

File tree

3 files changed

+50
-7
lines changed

3 files changed

+50
-7
lines changed

src/main/kotlin/no/nav/helse/flex/frisktilarbeid/FriskTilArbeidConsumer.kt

+2-6
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@ import no.nav.helse.flex.config.EnvironmentToggles
55
import no.nav.helse.flex.kafka.FRISKTILARBEID_TOPIC
66
import no.nav.helse.flex.logger
77
import org.apache.kafka.clients.consumer.ConsumerRecord
8-
import org.springframework.context.annotation.Profile
98
import org.springframework.kafka.annotation.KafkaListener
109
import org.springframework.kafka.support.Acknowledgment
1110
import org.springframework.stereotype.Component
1211

13-
@Profile("frisktilarbeid")
1412
@Component
1513
class FriskTilArbeidConsumer(
1614
private val friskTilArbeidService: FriskTilArbeidService,
@@ -21,16 +19,14 @@ class FriskTilArbeidConsumer(
2119
@WithSpan
2220
@KafkaListener(
2321
topics = [FRISKTILARBEID_TOPIC],
24-
id = "flex-frisktilarbeid-dev-2",
22+
id = "flex-frisktilarbeid-v1",
2523
containerFactory = "aivenKafkaListenerContainerFactory",
26-
properties = ["auto.offset.reset = latest"],
24+
properties = ["auto.offset.reset = earliest"],
2725
)
2826
fun listen(
2927
cr: ConsumerRecord<String, String>,
3028
acknowledgment: Acknowledgment,
3129
) {
32-
log.info("Mottok FriskTilArbeidVedtakStatus med key: ${cr.key()}.")
33-
3430
try {
3531
friskTilArbeidService.lagreFriskTilArbeidVedtakStatus(
3632
FriskTilArbeidVedtakStatusKafkaMelding(

src/main/kotlin/no/nav/helse/flex/frisktilarbeid/FriskTilArbeidService.kt

+9
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import no.nav.helse.flex.logger
77
import no.nav.helse.flex.medlemskap.tilPostgresJson
88
import no.nav.helse.flex.service.IdentService
99
import no.nav.helse.flex.util.objectMapper
10+
import no.nav.helse.flex.util.osloZone
1011
import org.springframework.stereotype.Service
1112
import java.time.Instant
1213
import java.time.LocalDate
14+
import java.time.LocalDateTime
1315
import java.time.OffsetDateTime
1416
import java.util.*
1517

@@ -21,9 +23,16 @@ class FriskTilArbeidService(
2123
) {
2224
private val log = logger()
2325

26+
private val tidspunktForOvertakelse = LocalDateTime.of(2025, 3, 10, 0, 0, 0).atZone(osloZone).toOffsetDateTime()
27+
2428
fun lagreFriskTilArbeidVedtakStatus(kafkaMelding: FriskTilArbeidVedtakStatusKafkaMelding) {
2529
val friskTilArbeidVedtakStatus = kafkaMelding.friskTilArbeidVedtakStatus
2630

31+
// Vi skal bare prosessere vedtak som er fattet etter 10. mars 2025 00:00 norsk tid.
32+
if (friskTilArbeidVedtakStatus.statusAt.isBefore(tidspunktForOvertakelse)) {
33+
return
34+
}
35+
2736
if (friskTilArbeidVedtakStatus.status == Status.FATTET) {
2837
val identer = identService.hentFolkeregisterIdenterMedHistorikkForFnr(friskTilArbeidVedtakStatus.personident)
2938
val eksisterendeVedtak = friskTilArbeidRepository.findByFnrIn(identer.alle())

src/test/kotlin/no/nav/helse/flex/frisktilarbeid/FriskTilArbeidServiceTest.kt

+39-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import org.junit.jupiter.api.Test
99
import org.junit.jupiter.api.assertThrows
1010
import org.springframework.beans.factory.annotation.Autowired
1111
import java.time.LocalDate
12-
import java.util.*
12+
import java.time.LocalDateTime
13+
import java.time.OffsetDateTime
14+
import java.time.ZoneOffset
1315

1416
class FriskTilArbeidServiceTest : FakesTestOppsett() {
1517
@Autowired
@@ -50,6 +52,42 @@ class FriskTilArbeidServiceTest : FakesTestOppsett() {
5052
fakeFriskTilArbeidRepository.findAll().toList() shouldHaveSize 0
5153
}
5254

55+
@Test
56+
fun `Lagrer ikke vedtak med statusAt før tidspunktForOvertakelse norsk tid`() {
57+
val statusAt = OffsetDateTime.of(LocalDateTime.of(2025, 3, 9, 22, 59, 0), ZoneOffset.UTC)
58+
59+
friskTilArbeidService.lagreFriskTilArbeidVedtakStatus(
60+
FriskTilArbeidVedtakStatusKafkaMelding(
61+
key = key,
62+
friskTilArbeidVedtakStatus =
63+
lagFriskTilArbeidVedtakStatus(
64+
fnr,
65+
Status.FATTET,
66+
).copy(statusAt = statusAt),
67+
),
68+
)
69+
70+
fakeFriskTilArbeidRepository.findAll().toList() shouldHaveSize 0
71+
}
72+
73+
@Test
74+
fun `Lagrer ikke vedtak med statusAt etter tidspunktForOvertakelse norsk tid`() {
75+
val statusAt = OffsetDateTime.of(LocalDateTime.of(2025, 3, 9, 23, 1, 0), ZoneOffset.UTC)
76+
77+
friskTilArbeidService.lagreFriskTilArbeidVedtakStatus(
78+
FriskTilArbeidVedtakStatusKafkaMelding(
79+
key = key,
80+
friskTilArbeidVedtakStatus =
81+
lagFriskTilArbeidVedtakStatus(
82+
fnr,
83+
Status.FATTET,
84+
).copy(statusAt = statusAt),
85+
),
86+
)
87+
88+
fakeFriskTilArbeidRepository.findAll().toList() shouldHaveSize 1
89+
}
90+
5391
@Test
5492
fun `Lagrer to perioder som ikke overlapper`() {
5593
lagFriskTilArbeidVedtakStatus(

0 commit comments

Comments
 (0)