From 973bbee500accdf4ad7653bfbe3ec09795a6c1e4 Mon Sep 17 00:00:00 2001 From: Ugur Alpay Cenar Date: Thu, 28 Nov 2024 15:36:43 +0100 Subject: [PATCH] Gebyr api --- .../behandling/service/BehandlingService.kt | 33 ++++++++++++++----- .../beregning/ValiderBeregning.kt | 4 +-- .../tilvedtak/BehandlingTilVedtakMapping.kt | 2 +- .../mapping/tilvedtak/GrunnlagByggerFelles.kt | 3 +- .../mapping/tilvedtak/VedtakGrunnlagMapper.kt | 4 +-- 5 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/main/kotlin/no/nav/bidrag/behandling/service/BehandlingService.kt b/src/main/kotlin/no/nav/bidrag/behandling/service/BehandlingService.kt index 0cc13cc2b..f45e17016 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/service/BehandlingService.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/service/BehandlingService.kt @@ -256,8 +256,7 @@ class BehandlingService( log.info { "Oppdaterer informasjon om virkningstidspunkt for behandling $behandlingsid" } secureLogger.info { "Oppdaterer informasjon om virkningstidspunkt for behandling $behandlingsid, forespørsel=$request" } request.valider(it) - it.årsak = if (request.avslag != null) null else request.årsak ?: it.årsak - it.avslag = if (request.årsak != null) null else request.avslag ?: it.avslag + oppdaterAvslagÅrsak(it, request) request.henteOppdatereNotat()?.let { n -> notatService.oppdatereNotat( it, @@ -270,6 +269,30 @@ class BehandlingService( it } + @Transactional + fun oppdaterAvslagÅrsak( + behandling: Behandling, + request: OppdatereVirkningstidspunkt, + ) { + fun oppdaterGebyr() { + log.info { "Årsak/Avaslag er endret. Oppdaterer gebyr detaljer ${behandling.id}" } + gebyrService.oppdaterGebyrEtterEndringVirkningstidspunkt(behandling) + } + val erAvslagÅrsakEndret = request.årsak != behandling.årsak || request.avslag != behandling.avslag + + if (erAvslagÅrsakEndret) { + behandling.årsak = if (request.avslag != null) null else request.årsak ?: behandling.årsak + behandling.avslag = if (request.årsak != null) null else request.avslag ?: behandling.avslag + + when (behandling.tilType()) { + TypeBehandling.BIDRAG -> { + oppdaterGebyr() + } + else -> {} + } + } + } + @Transactional fun oppdaterVirkningstidspunkt( request: OppdatereVirkningstidspunkt, @@ -293,11 +316,6 @@ class BehandlingService( grunnlagService.aktivereSivilstandHvisEndringIkkeKreverGodkjenning(behandling) } - fun oppdaterGebyr() { - log.info { "Virkningstidspunkt er endret. Oppdaterer gebyr detaljer ${behandling.id}" } - gebyrService.oppdaterGebyrEtterEndringVirkningstidspunkt(behandling) - } - fun oppdaterSamvær() { log.info { "Virkningstidspunkt er endret. Oppdaterer perioder på samvær for behandling ${behandling.id}" } samværService.rekalkulerPerioderSamvær(behandling.id!!) @@ -337,7 +355,6 @@ class BehandlingService( oppdaterAndreVoksneIHusstanden() oppdaterInntekter() oppdaterSamvær() - oppdaterGebyr() // TODO Underholdskostnad } } diff --git a/src/main/kotlin/no/nav/bidrag/behandling/transformers/beregning/ValiderBeregning.kt b/src/main/kotlin/no/nav/bidrag/behandling/transformers/beregning/ValiderBeregning.kt index 14d01fb41..26bbd7930 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/transformers/beregning/ValiderBeregning.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/transformers/beregning/ValiderBeregning.kt @@ -234,12 +234,12 @@ class ValiderBeregning( if (feil != null) { secureLogger.warn { - "Feil ved validering av behandling for beregning av særbidrag" + + "Feil ved validering av behandling for beregning av bidrag" + commonObjectmapper.writeValueAsString(feil) } throw HttpClientErrorException( HttpStatus.BAD_REQUEST, - "Feil ved validering av behandling for beregning av særbidrag", + "Feil ved validering av behandling for beregning av bidrag", commonObjectmapper.writeValueAsBytes(feil), Charset.defaultCharset(), ) diff --git a/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/BehandlingTilVedtakMapping.kt b/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/BehandlingTilVedtakMapping.kt index ad537175e..13f116579 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/BehandlingTilVedtakMapping.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/BehandlingTilVedtakMapping.kt @@ -124,7 +124,7 @@ class BehandlingTilVedtakMapping( ) }, bidragsmottaker!!.harGebyrsøknad.ifTrue { - val beregning = mapper.beregnGebyr(this, bidragspliktig!!, grunnlagsliste) + val beregning = mapper.beregnGebyr(this, bidragsmottaker!!, grunnlagsliste) gebyrGrunnlagsliste.addAll(beregning.grunnlagsliste) OpprettEngangsbeløpRequestDto( type = Engangsbeløptype.GEBYR_MOTTAKER, diff --git a/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/GrunnlagByggerFelles.kt b/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/GrunnlagByggerFelles.kt index 660de2300..2b0ce3ceb 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/GrunnlagByggerFelles.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/GrunnlagByggerFelles.kt @@ -104,11 +104,12 @@ private fun opprettGrunnlagNotat( fun Behandling.byggGrunnlagManueltOverstyrtGebyr() = roller .filter { it.harGebyrsøknad } - .filter { it.manueltOverstyrtGebyr != null } + .filter { it.manueltOverstyrtGebyr != null && it.manueltOverstyrtGebyr?.overstyrGebyr == true } .map { GrunnlagDto( referanse = "${Grunnlagstype.MANUELT_OVERSTYRT_GEBYR}_${it.tilGrunnlagsreferanse()}", type = Grunnlagstype.MANUELT_OVERSTYRT_GEBYR, + gjelderReferanse = it.tilGrunnlagsreferanse(), innhold = POJONode( ManueltOverstyrtGebyr( diff --git a/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/VedtakGrunnlagMapper.kt b/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/VedtakGrunnlagMapper.kt index a4d7d0ddb..fd8184f1c 100644 --- a/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/VedtakGrunnlagMapper.kt +++ b/src/main/kotlin/no/nav/bidrag/behandling/transformers/vedtak/mapping/tilvedtak/VedtakGrunnlagMapper.kt @@ -77,9 +77,7 @@ class VedtakGrunnlagMapper( } private fun Behandling.gebyrGrunnlagslisteDefaultVerdi(rolle: Rolle) = - if (avslag == - null - ) { + if (avslag != null) { emptyList() } else { beregnetInntekterGrunnlagForRolle(rolle)