From b6260d69048838dc5e64bfc9294ece4896edda0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odd=20Andreas=20S=C3=B8rs=C3=A6ther?= Date: Tue, 17 Dec 2024 16:26:39 +0100 Subject: [PATCH] Admin-endepunkt for automatisk utbetaling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For både testing og manuell behandling ved behov --- .../tiltakrefusjon/AdminController.kt | 16 +++++++++++++--- .../AutomatiskUtbetaling.kt | 16 +++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/AdminController.kt b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/AdminController.kt index 8643cb18..083ee763 100644 --- a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/AdminController.kt +++ b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/AdminController.kt @@ -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 @@ -40,6 +41,7 @@ class AdminController( val leaderPodCheck: LeaderPodCheck, val refusjonKafkaProducer: RefusjonKafkaProducer?, val kontoregisterService: KontoregisterServiceImpl?, + val automatiskUtbetaling: AutomatiskUtbetaling ) { val logger = LoggerFactory.getLogger(javaClass) @@ -267,8 +269,8 @@ class AdminController( @Unprotected @PostMapping("send-refusjon-godkjent-melding") @Transactional - fun sendRefusjonGodkjentMelding(@RequestBody refusjonGodkjentRequest: RefusjonGodkjentRequest): ResponseEntity { - val refusjon = refusjonRepository.findById(refusjonGodkjentRequest.refusjonId).orElseThrow() + fun sendRefusjonGodkjentMelding(@RequestBody refusjonVedIdRequest: RefusjonVedIdRequest): ResponseEntity { + val refusjon = refusjonRepository.findById(refusjonVedIdRequest.refusjonId).orElseThrow() refusjonKafkaProducer!!.refusjonEndretStatus(RefusjonEndretStatus(refusjon)) if (refusjon.refusjonsgrunnlag.refusjonsgrunnlagetErNullSomIZero()) { @@ -304,6 +306,14 @@ 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) @@ -311,4 +321,4 @@ data class KorreksjonRequest(val refusjonIder: List, val korreksjonsgrun data class ForlengFristerRequest(val refusjonIder: List, 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) diff --git a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/automatisk_utbetaling/AutomatiskUtbetaling.kt b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/automatisk_utbetaling/AutomatiskUtbetaling.kt index 66a3aad5..5626231b 100644 --- a/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/automatisk_utbetaling/AutomatiskUtbetaling.kt +++ b/src/main/kotlin/no/nav/arbeidsgiver/tiltakrefusjon/automatisk_utbetaling/AutomatiskUtbetaling.kt @@ -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 @@ -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 @@ -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) } }