Skip to content

Commit

Permalink
Ikke rekjør grensesnittavstemming ved samme avstemmingId dersom forri…
Browse files Browse the repository at this point in the history
…ge gikk OK
  • Loading branch information
halvorbmundal committed Jan 22, 2024
1 parent b00ed2b commit f0c8c8d
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 2 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<kotlin.version>1.9.0</kotlin.version>
<main-class>no.nav.familie.oppdrag.LauncherKt</main-class>
<felles.version>2.20230508082643_6b28bd8</felles.version>
<kontrakter.version>3.0_20230808083340_ced4750</kontrakter.version>
<kontrakter.version>3.0_20240122110213_5591a29</kontrakter.version>
<token-validation-spring.version>3.1.2</token-validation-spring.version>

<!--
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package no.nav.familie.oppdrag.repository

import java.util.UUID
import org.springframework.data.annotation.Id
import org.springframework.data.relational.core.mapping.Table

@Table("tidligere_kjoerte_grensesnittavstemminger")
class TidligereKjørteGrensesnittavstemminger(
@Id val id: UUID
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package no.nav.familie.oppdrag.repository

import java.util.Optional
import java.util.UUID
import org.springframework.data.repository.CrudRepository
import org.springframework.stereotype.Repository

@Repository
interface TidligereKjørteGrensesnittavstemmingerRepository : InsertUpdateRepository<TidligereKjørteGrensesnittavstemminger>,
CrudRepository<TidligereKjørteGrensesnittavstemminger, UUID> {

override fun findById(id: UUID): Optional<TidligereKjørteGrensesnittavstemminger>
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,15 @@ import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service
import java.time.LocalDateTime
import no.nav.familie.oppdrag.repository.TidligereKjørteGrensesnittavstemminger
import no.nav.familie.oppdrag.repository.TidligereKjørteGrensesnittavstemmingerRepository
import kotlin.jvm.optionals.getOrNull

@Service
class GrensesnittavstemmingService(
private val avstemmingSender: AvstemmingSender,
private val oppdragLagerRepository: OppdragLagerRepository,
private val tidligereKjørteGrensesnittavstemmingerRepository: TidligereKjørteGrensesnittavstemmingerRepository,
@Value("\${grensesnitt.antall:7000}") private val antall: Int,
) {

Expand All @@ -31,7 +35,15 @@ class GrensesnittavstemmingService(
}

fun utførGrensesnittavstemming(request: GrensesnittavstemmingRequest) {
val (fagsystem: String, fra: LocalDateTime, til: LocalDateTime) = request
val (fagsystem: String, fra: LocalDateTime, til: LocalDateTime, avstemmingId) = request

val erGrensesnittavstemmingKjørtPåSammeAvstemmingId =
avstemmingId?.let { tidligereKjørteGrensesnittavstemmingerRepository.findById(it).getOrNull() } != null
if (erGrensesnittavstemmingKjørtPåSammeAvstemmingId) {
LOG.info("Grensesnittavstemming er allerede fullført for $avstemmingId og vil ikke bli kjørt på nytt")
return
}

var page = 0
var antallOppdragSomSkalAvstemmes = 0
var oppdragSomSkalAvstemmes =
Expand All @@ -55,6 +67,10 @@ class GrensesnittavstemmingService(
avstemmingSender.sendGrensesnittAvstemming(totalmelding)
avstemmingSender.sendGrensesnittAvstemming(avstemmingMapper.lagSluttmelding())

if (avstemmingId != null) {
tidligereKjørteGrensesnittavstemmingerRepository.insert(TidligereKjørteGrensesnittavstemminger(avstemmingId))
}

LOG.info(
"Fullført grensesnittavstemming for id: ${avstemmingMapper.avstemmingId}" +
" antallOppdragSomSkalAvstemmes=$antallOppdragSomSkalAvstemmes",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CREATE TABLE tidligere_kjoerte_grensesnittavstemminger
(
id UUID PRIMARY KEY,
);

0 comments on commit f0c8c8d

Please sign in to comment.