Skip to content

Commit

Permalink
Fjern toggler (#4143)
Browse files Browse the repository at this point in the history
### 💰 Hva skal gjøres, og hvorfor?
Fjerner toggler som har vært på lenge: 

EØS_PRAKSISENDRING_SEPTEMBER2023 har vært på siden 01.10.2023

![image](https://github.com/navikt/familie-ba-sak/assets/17828446/1f366b6a-b98f-419a-81f2-b354190b9cf9)

FEILUTBETALT_VALUTA_PR_MND har vært på siden 22.06.2023

![image](https://github.com/navikt/familie-ba-sak/assets/17828446/6c251908-f338-4bfc-b529-671b1bad7a58)

ER_MANUEL_POSTERING_TOGGLE_PÅ har vært på siden 05.06.2023:

![image](https://github.com/navikt/familie-ba-sak/assets/17828446/c5b6853c-8b1b-41c3-9c1f-08c55a788443)

EØS_INFORMASJON_OM_ÅRLIG_KONTROLL har vært på siden 13.01.2023:

![image](https://github.com/navikt/familie-ba-sak/assets/17828446/88e38a79-1f6d-40e7-8989-a51ecbd08444)
  • Loading branch information
halvorbmundal authored Oct 31, 2023
1 parent cbf15e4 commit ecbb353
Show file tree
Hide file tree
Showing 16 changed files with 43 additions and 238 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@ class FeatureToggleConfig {
const val TEKNISK_ENDRING = "familie-ba-sak.behandling.teknisk-endring"

// Release
const val EØS_INFORMASJON_OM_ÅRLIG_KONTROLL = "familie-ba-sak.eos-informasjon-om-aarlig-kontroll"
const val ER_MANUEL_POSTERING_TOGGLE_PÅ = "familie-ba-sak.manuell-postering"
const val FEILUTBETALT_VALUTA_PR_MND = "familie-ba-sak.feilutbetalt-valuta-pr-mnd"
const val EØS_PRAKSISENDRING_SEPTEMBER2023 =
"familie-ba-sak.behandling.eos-annen-forelder-omfattet-av-norsk-lovgivning"

// Unleash Next toggles
const val ENDRET_EØS_REGELVERKFILTER_FOR_BARN = "familie-ba-sak.endret-eos-regelverkfilter-for-barn"
const val NY_GENERERING_AV_BREVOBJEKTER = "familie-ba-sak.ny-generering-av-brevobjekter"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,4 @@ data class RestFeilutbetaltValuta(
val fom: LocalDate,
val tom: LocalDate,
val feilutbetaltBeløp: Int,
val erPerMåned: Boolean? = null,
)
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package no.nav.familie.ba.sak.integrasjoner.sanity

import no.nav.familie.ba.sak.config.FeatureToggleConfig
import no.nav.familie.ba.sak.config.FeatureToggleService
import no.nav.familie.ba.sak.kjerne.brev.domene.ISanityBegrunnelse
import no.nav.familie.ba.sak.kjerne.brev.domene.SanityBegrunnelse
import no.nav.familie.ba.sak.kjerne.brev.domene.SanityEØSBegrunnelse
Expand All @@ -15,7 +13,6 @@ import org.springframework.stereotype.Service
@Service
class SanityService(
private val sanityKlient: SanityKlient,
private val featureToggleService: FeatureToggleService,
) {

private val logger = LoggerFactory.getLogger(javaClass)
Expand All @@ -39,16 +36,7 @@ class SanityService(

@Cacheable("sanityEØSBegrunnelser", cacheManager = "shortCache")
fun hentSanityEØSBegrunnelser(): Map<EØSStandardbegrunnelse, SanityEØSBegrunnelse> {
val eøsPraksisEndringFeatureToggleErSlåttPå =
featureToggleService.isEnabled(FeatureToggleConfig.EØS_PRAKSISENDRING_SEPTEMBER2023)

// TODO: Fjern filtrering av begrunnelser etter at EØS praksisendringen er live i prod
val enumPåApiNavn = if (eøsPraksisEndringFeatureToggleErSlåttPå) {
EØSStandardbegrunnelse.values().associateBy { it.sanityApiNavn }
} else {
EØSStandardbegrunnelse.values().subtract(EØSStandardbegrunnelse.eøsPraksisendringBegrunnelser())
.associateBy { it.sanityApiNavn }
}
val enumPåApiNavn = EØSStandardbegrunnelse.entries.associateBy { it.sanityApiNavn }

val sanityEØSBegrunnelser = sanityKlient.hentEØSBegrunnelser()
logManglerSanityBegrunnelseForEnum(enumPåApiNavn, sanityEØSBegrunnelser, "SanityEØSBegrunnelse")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,6 @@ class KontrollerNyUtbetalingsgeneratorService(
this.simuleringMottaker.map {
it.tilBehandlingSimuleringMottaker(behandling)
},
true,
).sortedBy { it.fom }

data class KombinertSimuleringsResultat(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package no.nav.familie.ba.sak.kjerne.simulering

import no.nav.familie.ba.sak.config.AuditLoggerEvent
import no.nav.familie.ba.sak.config.FeatureToggleConfig
import no.nav.familie.ba.sak.config.FeatureToggleService
import no.nav.familie.ba.sak.kjerne.simulering.domene.RestSimulering
import no.nav.familie.ba.sak.sikkerhet.TilgangService
import no.nav.familie.kontrakter.felles.Ressurs
Expand All @@ -19,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController
class SimuleringController(
private val simuleringService: SimuleringService,
private val tilgangService: TilgangService,
private val featureToggleService: FeatureToggleService,
) {

@GetMapping(path = ["/{behandlingId}/simulering"])
Expand All @@ -30,7 +27,6 @@ class SimuleringController(
val vedtakSimuleringMottaker = simuleringService.oppdaterSimuleringPåBehandlingVedBehov(behandlingId)
val restSimulering = vedtakSimuleringMottakereTilRestSimulering(
økonomiSimuleringMottakere = vedtakSimuleringMottaker,
erManuellPosteringTogglePå = featureToggleService.isEnabled(FeatureToggleConfig.ER_MANUEL_POSTERING_TOGGLE_PÅ),
)
return ResponseEntity.ok(Ressurs.success(restSimulering))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import jakarta.transaction.Transactional
import no.nav.familie.ba.sak.common.Feil
import no.nav.familie.ba.sak.common.isSameOrBefore
import no.nav.familie.ba.sak.config.FeatureToggleConfig
import no.nav.familie.ba.sak.config.FeatureToggleService
import no.nav.familie.ba.sak.integrasjoner.økonomi.AndelTilkjentYtelseForSimuleringFactory
import no.nav.familie.ba.sak.integrasjoner.økonomi.UtbetalingsoppdragGeneratorService
import no.nav.familie.ba.sak.integrasjoner.økonomi.tilRestUtbetalingsoppdrag
Expand Down Expand Up @@ -41,7 +40,6 @@ class SimuleringService(
private val beregningService: BeregningService,
private val økonomiSimuleringMottakerRepository: ØkonomiSimuleringMottakerRepository,
private val tilgangService: TilgangService,
private val featureToggleService: FeatureToggleService,
private val unleashService: UnleashService,
private val vedtakRepository: VedtakRepository,
private val utbetalingsoppdragGeneratorService: UtbetalingsoppdragGeneratorService,
Expand Down Expand Up @@ -128,7 +126,6 @@ class SimuleringService(
val simulering = hentSimuleringPåBehandling(behandlingId)
val restSimulering = vedtakSimuleringMottakereTilRestSimulering(
økonomiSimuleringMottakere = simulering,
erManuellPosteringTogglePå = featureToggleService.isEnabled(FeatureToggleConfig.ER_MANUEL_POSTERING_TOGGLE_PÅ),
)

return if (!behandlingErFerdigBesluttet && simuleringErUtdatert(restSimulering)) {
Expand Down Expand Up @@ -175,14 +172,12 @@ class SimuleringService(
fun hentEtterbetalingkonomiSimuleringMottakere: List<ØkonomiSimuleringMottaker>): BigDecimal {
return vedtakSimuleringMottakereTilRestSimulering(
økonomiSimuleringMottakere = økonomiSimuleringMottakere,
erManuellPosteringTogglePå = featureToggleService.isEnabled(FeatureToggleConfig.ER_MANUEL_POSTERING_TOGGLE_PÅ),
).etterbetaling
}

fun hentFeilutbetalingkonomiSimuleringMottakere: List<ØkonomiSimuleringMottaker>): BigDecimal {
return vedtakSimuleringMottakereTilRestSimulering(
økonomiSimuleringMottakere,
featureToggleService.isEnabled(FeatureToggleConfig.ER_MANUEL_POSTERING_TOGGLE_PÅ),
).feilutbetaling
}

Expand Down Expand Up @@ -246,7 +241,6 @@ class SimuleringService(

return vedtakSimuleringMottakereTilSimuleringPerioder(
økonomiSimuleringMottakere = hentSimuleringPåBehandling(behandlingId),
erManuelPosteringTogglePå = featureToggleService.isEnabled(FeatureToggleConfig.ER_MANUEL_POSTERING_TOGGLE_PÅ),
).filter {
it.fom.isSameOrBefore(februar2023)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,10 @@ fun filterBortUrelevanteVedtakSimuleringPosteringer(

fun vedtakSimuleringMottakereTilRestSimulering(
økonomiSimuleringMottakere: List<ØkonomiSimuleringMottaker>,
erManuellPosteringTogglePå: Boolean,
): RestSimulering {
val perioder =
vedtakSimuleringMottakereTilSimuleringPerioder(
økonomiSimuleringMottakere,
erManuellPosteringTogglePå,
)
val tidSimuleringHentet = økonomiSimuleringMottakere.firstOrNull()?.opprettetTidspunkt?.toLocalDate()

Expand Down Expand Up @@ -59,7 +57,6 @@ fun vedtakSimuleringMottakereTilRestSimulering(

fun vedtakSimuleringMottakereTilSimuleringPerioder(
økonomiSimuleringMottakere: List<ØkonomiSimuleringMottaker>,
erManuelPosteringTogglePå: Boolean,
): List<SimuleringsPeriode> {
if (økonomiSimuleringMottakere.isEmpty()) {
return emptyList()
Expand All @@ -76,45 +73,16 @@ fun vedtakSimuleringMottakereTilSimuleringPerioder(
fom = fom,
tom = posteringListe[0].tom,
forfallsdato = posteringListe[0].forfallsdato,
nyttBeløp = if (erManuelPosteringTogglePå) {
hentNyttBeløpIPeriode(posteringListe)
} else {
hentNyttBeløpIPeriodeGammel(posteringListe)
},
tidligereUtbetalt = if (erManuelPosteringTogglePå) {
hentTidligereUtbetaltIPeriode(posteringListe)
} else {
hentTidligereUtbetaltIPeriodeGammel(posteringListe)
},
resultat = if (erManuelPosteringTogglePå) {
hentResultatIPeriode(posteringListe)
} else {
hentResultatIPeriodeGammel(posteringListe)
},
manuellPostering = if (erManuelPosteringTogglePå) {
hentManuellPosteringIPeriode(posteringListe)
} else {
BigDecimal.ZERO
},
nyttBeløp = hentNyttBeløpIPeriode(posteringListe),
tidligereUtbetalt = hentTidligereUtbetaltIPeriode(posteringListe),
resultat = hentResultatIPeriode(posteringListe),
manuellPostering = hentManuellPosteringIPeriode(posteringListe),
feilutbetaling = hentPositivFeilbetalingIPeriode(posteringListe),
etterbetaling = if (erManuelPosteringTogglePå) {
hentEtterbetalingIPeriode(posteringListe, tidSimuleringHentet)
} else {
hentEtterbetalingIPeriodeGammel(posteringListe, tidSimuleringHentet)
},
etterbetaling = hentEtterbetalingIPeriode(posteringListe, tidSimuleringHentet),
)
}
}

@Deprecated("Skal bruke hentNyttBeløpIPeriode når manuelle posteringer er tester ferdig")
fun hentNyttBeløpIPeriodeGammel(periode: List<ØkonomiSimuleringPostering>): BigDecimal {
val sumPositiveYtelser = periode.filter { postering ->
postering.posteringType == PosteringType.YTELSE && postering.beløp > BigDecimal.ZERO
}.sumOf { it.beløp }
val feilutbetaling = hentFeilbetalingIPeriodeGammel(periode)
return if (feilutbetaling > BigDecimal.ZERO) sumPositiveYtelser - feilutbetaling else sumPositiveYtelser
}

fun hentNyttBeløpIPeriode(periode: List<ØkonomiSimuleringPostering>): BigDecimal {
val sumPositiveYtelser = periode
.filter { it.posteringType == PosteringType.YTELSE }
Expand Down Expand Up @@ -142,28 +110,12 @@ fun hentNegativFeilutbetalingIPeriode(periode: List<ØkonomiSimuleringPostering>
postering.beløp < BigDecimal.ZERO
}.sumOf { it.beløp }

@Deprecated("Skal bruke hentFeilutbetalingIPeriode når manuelle posteringer er tester ferdig")
fun hentFeilbetalingIPeriodeGammel(periode: List<ØkonomiSimuleringPostering>) =
periode.filter { postering ->
postering.posteringType == PosteringType.FEILUTBETALING &&
!postering.erManuellPostering
}.sumOf { it.beløp }

fun hentFeilutbetalingIPeriode(periode: List<ØkonomiSimuleringPostering>, inkluderManuellePosteringer: Boolean) =
periode
.filter { it.posteringType == PosteringType.FEILUTBETALING }
.filter { inkluderManuellePosteringer || !it.erManuellPostering }
.sumOf { it.beløp }

@Deprecated("Skal bruke hentTidligereUtbetaltIPeriode når manuelle posteringer er tester ferdig")
fun hentTidligereUtbetaltIPeriodeGammel(periode: List<ØkonomiSimuleringPostering>): BigDecimal {
val sumNegativeYtelser = periode.filter { postering ->
(postering.posteringType == PosteringType.YTELSE && postering.beløp < BigDecimal.ZERO)
}.sumOf { it.beløp }
val feilutbetaling = hentFeilbetalingIPeriodeGammel(periode)
return if (feilutbetaling < BigDecimal.ZERO) -(sumNegativeYtelser - feilutbetaling) else -sumNegativeYtelser
}

fun hentTidligereUtbetaltIPeriode(periode: List<ØkonomiSimuleringPostering>): BigDecimal {
val sumNegativeYtelser = periode
.filter { it.posteringType == PosteringType.YTELSE }
Expand Down Expand Up @@ -201,17 +153,6 @@ private fun hentManuellFeilutbetalingIPeriode(periode: List<ØkonomiSimuleringPo
.filter { it.erManuellPostering }
.sumOf { it.beløp }

@Deprecated("Skal bruke hentResultatIPeriode når manuelle posteringer er tester ferdig")
fun hentResultatIPeriodeGammel(periode: List<ØkonomiSimuleringPostering>): BigDecimal {
val feilutbetaling = hentFeilbetalingIPeriodeGammel(periode)

return if (feilutbetaling > BigDecimal.ZERO) {
-feilutbetaling
} else {
hentNyttBeløpIPeriode(periode) - hentTidligereUtbetaltIPeriodeGammel(periode)
}
}

fun hentResultatIPeriode(periode: List<ØkonomiSimuleringPostering>): BigDecimal {
val feilutbetaling = hentFeilutbetalingIPeriode(periode, true)

Expand All @@ -223,22 +164,6 @@ fun hentResultatIPeriode(periode: List<ØkonomiSimuleringPostering>): BigDecimal
}
}

@Deprecated("Skal bruke hentEtterbetalingIPeriode når manuelle posteringer er testet ferdig")
fun hentEtterbetalingIPeriodeGammel(
periode: List<ØkonomiSimuleringPostering>,
tidSimuleringHentet: LocalDate,
): BigDecimal {
val periodeHarPositivFeilutbetaling =
periode.any { it.posteringType == PosteringType.FEILUTBETALING && it.beløp > BigDecimal.ZERO }
val sumYtelser =
periode.filter { it.posteringType == PosteringType.YTELSE && it.forfallsdato <= tidSimuleringHentet }
.sumOf { it.beløp }
return when {
periodeHarPositivFeilutbetaling -> BigDecimal.ZERO
else -> maxOf(BigDecimal.ZERO, sumYtelser)
}
}

fun hentEtterbetalingIPeriode(
periode: List<ØkonomiSimuleringPostering>,
tidSimuleringHentet: LocalDate,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package no.nav.familie.ba.sak.kjerne.tilbakekreving

import no.nav.familie.ba.sak.common.Feil
import no.nav.familie.ba.sak.config.FeatureToggleConfig
import no.nav.familie.ba.sak.config.FeatureToggleService
import no.nav.familie.ba.sak.ekstern.restDomene.RestTilbakekreving
import no.nav.familie.ba.sak.integrasjoner.pdl.PersonopplysningerService
Expand Down Expand Up @@ -110,7 +109,6 @@ class TilbakekrevingService(
sumFeilutbetaling = simuleringService.hentFeilutbetaling(behandlingId).toLong(),
perioder = hentTilbakekrevingsperioderISimulering(
simuleringService.hentSimuleringPåBehandling(behandlingId),
featureToggleService.isEnabled(FeatureToggleConfig.ER_MANUEL_POSTERING_TOGGLE_PÅ),
),
),
fagsystem = Fagsystem.BA,
Expand Down Expand Up @@ -191,7 +189,6 @@ class TilbakekrevingService(
varsel = opprettVarsel(
tilbakekreving,
simuleringService.hentSimuleringPåBehandling(behandling.id),
featureToggleService.isEnabled(FeatureToggleConfig.ER_MANUEL_POSTERING_TOGGLE_PÅ),
),
revurderingsvedtaksdato = revurderingsvedtaksdato,
// Verge er per nå ikke støttet i familie-ba-sak.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,25 +55,21 @@ fun slåsammenNærliggendeFeilutbtalingPerioder(simuleringsPerioder: List<Simule

fun hentTilbakekrevingsperioderISimulering(
simulering: List<ØkonomiSimuleringMottaker>,
erManuelPosteringTogglePå: Boolean,
): List<Periode> =
slåsammenNærliggendeFeilutbtalingPerioder(
vedtakSimuleringMottakereTilRestSimulering(
økonomiSimuleringMottakere = simulering,
erManuellPosteringTogglePå = erManuelPosteringTogglePå,
).perioder,
)

fun opprettVarsel(
tilbakekreving: Tilbakekreving?,
simulering: List<ØkonomiSimuleringMottaker>,
erManuelPosteringTogglePå: Boolean,
): Varsel? =
if (tilbakekreving?.valg == Tilbakekrevingsvalg.OPPRETT_TILBAKEKREVING_MED_VARSEL) {
val varseltekst = tilbakekreving.varsel ?: throw Feil("Varseltekst er ikke satt")
val restSimulering = vedtakSimuleringMottakereTilRestSimulering(
økonomiSimuleringMottakere = simulering,
erManuellPosteringTogglePå = erManuelPosteringTogglePå,
)

Varsel(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package no.nav.familie.ba.sak.kjerne.vedtak.feilutbetaltValuta

import no.nav.familie.ba.sak.common.Feil
import no.nav.familie.ba.sak.config.FeatureToggleConfig.Companion.FEILUTBETALT_VALUTA_PR_MND
import no.nav.familie.ba.sak.config.FeatureToggleService
import no.nav.familie.ba.sak.ekstern.restDomene.RestFeilutbetaltValuta
import no.nav.familie.ba.sak.kjerne.logg.LoggService
import org.springframework.beans.factory.annotation.Autowired
Expand All @@ -16,10 +14,6 @@ class FeilutbetaltValutaService(

@Autowired
private val loggService: LoggService,

@Autowired
private val featureToggleService: FeatureToggleService,

) {

private fun finnFeilutbetaltValutaThrows(id: Long): FeilutbetaltValuta {
Expand All @@ -34,7 +28,7 @@ class FeilutbetaltValutaService(
fom = feilutbetaltValuta.fom,
tom = feilutbetaltValuta.tom,
feilutbetaltBeløp = feilutbetaltValuta.feilutbetaltBeløp,
erPerMåned = feilutbetaltValuta.erPerMåned ?: featureToggleService.isEnabled(FEILUTBETALT_VALUTA_PR_MND),
erPerMåned = true,
),
)
loggService.loggFeilutbetaltValutaPeriodeLagtTil(behandlingId = behandlingId, feilutbetaltValuta = lagret)
Expand All @@ -59,7 +53,6 @@ class FeilutbetaltValutaService(
fom = it.fom,
tom = it.tom,
feilutbetaltBeløp = it.feilutbetaltBeløp,
erPerMåned = it.erPerMåned,
)

@Transactional
Expand All @@ -69,6 +62,6 @@ class FeilutbetaltValutaService(
periode.fom = feilutbetaltValuta.fom
periode.tom = feilutbetaltValuta.tom
periode.feilutbetaltBeløp = feilutbetaltValuta.feilutbetaltBeløp
periode.erPerMåned = feilutbetaltValuta.erPerMåned ?: featureToggleService.isEnabled(FEILUTBETALT_VALUTA_PR_MND)
periode.erPerMåned = true
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import no.nav.familie.ba.sak.common.secureLogger
import no.nav.familie.ba.sak.common.tilDagMånedÅr
import no.nav.familie.ba.sak.common.tilMånedÅr
import no.nav.familie.ba.sak.common.toYearMonth
import no.nav.familie.ba.sak.config.FeatureToggleConfig
import no.nav.familie.ba.sak.config.FeatureToggleService
import no.nav.familie.ba.sak.ekstern.restDomene.RestGenererVedtaksperioderForOverstyrtEndringstidspunkt
import no.nav.familie.ba.sak.ekstern.restDomene.RestPutVedtaksperiodeMedFritekster
Expand Down Expand Up @@ -566,9 +565,6 @@ class VedtaksperiodeService(
}

fun skalHaÅrligKontroll(vedtak: Vedtak): Boolean {
if (!featureToggleService.isEnabled(FeatureToggleConfig.EØS_INFORMASJON_OM_ÅRLIG_KONTROLL, false)) {
return false
}
return vedtak.behandling.kategori == BehandlingKategori.EØS &&
hentPersisterteVedtaksperioder(vedtak).any { it.tom?.erSenereEnnInneværendeMåned() != false }
}
Expand All @@ -589,10 +585,7 @@ class VedtaksperiodeService(
Behandlingsresultat.OPPHØRT,
)

val eøsPraksisEndringFeatureToggleErSlåttPå =
featureToggleService.isEnabled(FeatureToggleConfig.EØS_PRAKSISENDRING_SEPTEMBER2023)

return annenForelderOmfattetAvNorskLovgivningErSattPåBosattIRiket && passendeBehandlingsresultat && eøsPraksisEndringFeatureToggleErSlåttPå
return annenForelderOmfattetAvNorskLovgivningErSattPåBosattIRiket && passendeBehandlingsresultat
}

fun beskrivPerioderMedFeilutbetaltValuta(vedtak: Vedtak): Set<String>? {
Expand Down
Loading

0 comments on commit ecbb353

Please sign in to comment.