Skip to content

Commit

Permalink
Admin-endepunkt for automatisk utbetaling
Browse files Browse the repository at this point in the history
For både testing og manuell behandling ved behov
  • Loading branch information
Oddsor committed Dec 17, 2024
1 parent 4079141 commit b6260d6
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package no.nav.arbeidsgiver.tiltakrefusjon

import no.nav.arbeidsgiver.tiltakrefusjon.automatisk_utbetaling.AutomatiskUtbetaling
import no.nav.arbeidsgiver.tiltakrefusjon.autorisering.ADMIN_BRUKER
import no.nav.arbeidsgiver.tiltakrefusjon.leader.LeaderPodCheck
import no.nav.arbeidsgiver.tiltakrefusjon.okonomi.KontoregisterServiceImpl
Expand Down Expand Up @@ -40,6 +41,7 @@ class AdminController(
val leaderPodCheck: LeaderPodCheck,
val refusjonKafkaProducer: RefusjonKafkaProducer?,
val kontoregisterService: KontoregisterServiceImpl?,
val automatiskUtbetaling: AutomatiskUtbetaling
) {
val logger = LoggerFactory.getLogger(javaClass)

Expand Down Expand Up @@ -267,8 +269,8 @@ class AdminController(
@Unprotected
@PostMapping("send-refusjon-godkjent-melding")
@Transactional
fun sendRefusjonGodkjentMelding(@RequestBody refusjonGodkjentRequest: RefusjonGodkjentRequest): ResponseEntity<String> {
val refusjon = refusjonRepository.findById(refusjonGodkjentRequest.refusjonId).orElseThrow()
fun sendRefusjonGodkjentMelding(@RequestBody refusjonVedIdRequest: RefusjonVedIdRequest): ResponseEntity<String> {
val refusjon = refusjonRepository.findById(refusjonVedIdRequest.refusjonId).orElseThrow()

refusjonKafkaProducer!!.refusjonEndretStatus(RefusjonEndretStatus(refusjon))
if (refusjon.refusjonsgrunnlag.refusjonsgrunnlagetErNullSomIZero()) {
Expand Down Expand Up @@ -304,11 +306,19 @@ class AdminController(
return ResponseEntity.ok("Kunne ikke annullere refusjon ${refusjon.id}")
}
}

@Unprotected
@PostMapping("manuell-automatisk-utbetaling")
@Transactional
fun manuellAutomatiskUtbetaling(@RequestBody refusjonVedIdRequest: RefusjonVedIdRequest): Boolean {
automatiskUtbetaling.utførAutomatiskUtbetaling(refusjonRepository.findById(refusjonVedIdRequest.refusjonId).get())
return true
}
}

data class ReberegnRequest(val harFerietrekkForSammeMåned: Boolean, val minusBeløp: Int, val ferieTrekk: Int)
data class KorreksjonRequest(val refusjonIder: List<String>, val korreksjonsgrunner: Set<Korreksjonsgrunn>)
data class ForlengFristerRequest(val refusjonIder: List<String>, val nyFrist: LocalDate, val årsak: String, val enforce: Boolean)
data class ForlengFristerTilOgMedRequest(val tilDato: LocalDate, val nyFrist: LocalDate, val årsak: String, val enforce: Boolean)
data class AnnullerRefusjon(val tilskuddsperiodeId: String)
data class RefusjonGodkjentRequest(val refusjonId: String)
data class RefusjonVedIdRequest(val refusjonId: String)
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ package no.nav.arbeidsgiver.tiltakrefusjon.automatisk_utbetaling

import no.nav.arbeidsgiver.tiltakrefusjon.autorisering.SYSTEM_BRUKER
import no.nav.arbeidsgiver.tiltakrefusjon.leader.LeaderPodCheck
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.Refusjon
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.RefusjonRepository
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.RefusjonStatus
import no.nav.arbeidsgiver.tiltakrefusjon.refusjon.Tiltakstype
import org.slf4j.LoggerFactory
import org.springframework.scheduling.annotation.Scheduled
import org.springframework.stereotype.Component

Expand All @@ -13,6 +15,8 @@ class AutomatiskUtbetaling(
private val leaderPodCheck: LeaderPodCheck,
private val refusjonRepository: RefusjonRepository
) {
val log = LoggerFactory.getLogger(AutomatiskUtbetaling::class.java.name)

@Scheduled(cron = "0 0 2,4 * * *")
fun automatiskUtbetaling() {
if (!leaderPodCheck.isLeaderPod) return
Expand All @@ -23,8 +27,14 @@ class AutomatiskUtbetaling(
Tiltakstype.somUtbetalesAutomatisk()
)

refusjoner.forEach { refusjon ->
refusjon.godkjennForArbeidsgiver(utførtAv = SYSTEM_BRUKER)
}
refusjoner.forEach { utførAutomatiskUtbetaling(it) }
}

fun utførAutomatiskUtbetaling(refusjon: Refusjon) {
log.info("Utfører automatisk utbetaling for refusjon {}-{} ({})",
refusjon.refusjonsgrunnlag.tilskuddsgrunnlag.avtaleNr,
refusjon.refusjonsgrunnlag.tilskuddsgrunnlag.løpenummer,
refusjon.id)
refusjon.godkjennForArbeidsgiver(utførtAv = SYSTEM_BRUKER)
}
}

0 comments on commit b6260d6

Please sign in to comment.