Skip to content

Commit

Permalink
Sletter ubrukte listeners (#553)
Browse files Browse the repository at this point in the history
* Sletter ubrukte listeners. Topics beholdes da det ene brukes av barnetrygd og det andre brukes av vedtakhendelser-repoet.

* Renamer repository klasse til inntektsendringer nå som alt med vedtak er fjernet derfra

* Sletter tilhørende tabell som ikke blir brukt til noe etter at listener er fjernet
  • Loading branch information
olekvernberg authored Oct 22, 2024
1 parent 4a9535b commit 14be991
Show file tree
Hide file tree
Showing 12 changed files with 12 additions and 406 deletions.
Original file line number Diff line number Diff line change
@@ -1,77 +1,16 @@
package no.nav.familie.ef.personhendelse.inntekt.vedtak
package no.nav.familie.ef.personhendelse.inntekt

import no.nav.familie.ef.personhendelse.inntekt.BeregningResultat
import no.nav.familie.ef.personhendelse.inntekt.Inntektsendring
import no.nav.familie.kontrakter.felles.ef.EnsligForsørgerVedtakhendelse
import no.nav.familie.kontrakter.felles.ef.StønadType
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
import org.springframework.stereotype.Repository
import java.sql.ResultSet
import java.time.LocalDateTime
import java.time.YearMonth
import java.util.UUID

@Repository
class EfVedtakRepository(
class InntektsendringerRepository(
val namedParameterJdbcTemplate: NamedParameterJdbcTemplate,
) {
fun lagreEfVedtakshendelse(
vedtakshendelse: EnsligForsørgerVedtakhendelse,
aarMaanedProsessert: YearMonth = YearMonth.now(),
) {
val sql =
"INSERT INTO efvedtakhendelse VALUES(:behandlingId, :personIdent, :stønadType, :aar_maaned_prosessert, :versjon)" +
" ON CONFLICT DO NOTHING"
val params =
MapSqlParameterSource(
mapOf(
"behandlingId" to vedtakshendelse.behandlingId,
"personIdent" to vedtakshendelse.personIdent,
"stønadType" to vedtakshendelse.stønadType.toString(),
"aar_maaned_prosessert" to aarMaanedProsessert.toString(),
"versjon" to 1,
),
)
namedParameterJdbcTemplate.update(sql, params)
}

fun hentAllePersonerMedVedtak(): List<VedtakhendelseInntektberegning> {
val sql =
"SELECT MAX(behandling_id) as behandling_id, person_ident, stonadstype, aar_maaned_prosessert, versjon FROM efvedtakhendelse GROUP BY person_ident, stonadstype, aar_maaned_prosessert, versjon ORDER BY behandling_id"
val mapSqlParameterSource = MapSqlParameterSource("stonadstype", StønadType.OVERGANGSSTØNAD.toString())
return namedParameterJdbcTemplate.query(sql, mapSqlParameterSource, vedtakhendelseInntektberegningMapper)
}

fun hentPersonerMedVedtakIkkeBehandlet(): List<VedtakhendelseInntektberegning> {
val sql = "SELECT * FROM efvedtakhendelse WHERE aar_maaned_prosessert != '${YearMonth.now()}'"
return namedParameterJdbcTemplate.query(sql, vedtakhendelseInntektberegningMapper)
}

private val vedtakhendelseInntektberegningMapper = { rs: ResultSet, _: Int ->
VedtakhendelseInntektberegning(
rs.getLong("behandling_id"),
rs.getString("person_ident"),
StønadType.valueOf(rs.getString("stonadstype")),
YearMonth.parse(rs.getString("aar_maaned_prosessert")),
rs.getInt("versjon"),
)
}

fun oppdaterAarMaanedProsessert(
personIdent: String,
yearMonth: YearMonth = YearMonth.now(),
) {
val sql =
"UPDATE efvedtakhendelse SET aar_maaned_prosessert = :yearMonth " +
"WHERE person_ident = :personIdent"
val mapSqlParameterSource =
MapSqlParameterSource("personIdent", personIdent)
.addValue("yearMonth", yearMonth.toString())

namedParameterJdbcTemplate.update(sql, mapSqlParameterSource)
}

fun lagreVedtakOgInntektsendringForPersonIdent(
personIdent: String,
harNyeVedtak: Boolean,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ import no.nav.familie.ef.personhendelse.client.ForventetInntektForPerson
import no.nav.familie.ef.personhendelse.client.OppgaveClient
import no.nav.familie.ef.personhendelse.client.SakClient
import no.nav.familie.ef.personhendelse.client.fristFerdigstillelse
import no.nav.familie.ef.personhendelse.inntekt.vedtak.EfVedtakRepository
import no.nav.familie.ef.personhendelse.inntekt.vedtak.InntektOgVedtakEndring
import no.nav.familie.kontrakter.felles.Behandlingstema
import no.nav.familie.kontrakter.felles.Tema
import no.nav.familie.kontrakter.felles.ef.StønadType
Expand All @@ -23,7 +21,7 @@ import java.time.format.DateTimeFormatter

@Service
class VedtakendringerService(
val efVedtakRepository: EfVedtakRepository,
val inntektsendringerRepository: InntektsendringerRepository,
val inntektClient: InntektClient,
val oppgaveClient: OppgaveClient,
val sakClient: SakClient,
Expand All @@ -41,7 +39,7 @@ class VedtakendringerService(
fun beregnInntektsendringerOgLagreIDb() {
logger.info("Starter beregning av inntektsendringer")
val personerMedAktivStønad = sakClient.hentPersonerMedAktivStønadIkkeManueltRevurdertSisteMåneder(3)
efVedtakRepository.clearInntektsendringer()
inntektsendringerRepository.clearInntektsendringer()
logger.info("Antall personer med aktiv stønad: ${personerMedAktivStønad.size}")
var counter = 0
personerMedAktivStønad.chunked(500).forEach {
Expand Down Expand Up @@ -71,7 +69,7 @@ class VedtakendringerService(
) {
val nyeVedtak = nyeVedtak(response)
val endretInntekt = inntektsendringerService.beregnEndretInntekt(response, forventetInntektForPerson)
efVedtakRepository.lagreVedtakOgInntektsendringForPersonIdent(
inntektsendringerRepository.lagreVedtakOgInntektsendringForPersonIdent(
forventetInntektForPerson.personIdent,
nyeVedtak?.isNotEmpty() ?: false,
nyeVedtak?.joinToString(),
Expand All @@ -80,7 +78,7 @@ class VedtakendringerService(
}

fun opprettOppgaverForInntektsendringer(skalOppretteOppgave: Boolean): Int {
val inntektsendringer = efVedtakRepository.hentInntektsendringerSomSkalHaOppgave()
val inntektsendringer = inntektsendringerRepository.hentInntektsendringerSomSkalHaOppgave()
if (skalOppretteOppgave) {
inntektsendringer.forEach {
opprettOppgaveForInntektsendring(it, lagOppgavetekstForInntektsendring(it))
Expand All @@ -92,7 +90,7 @@ class VedtakendringerService(
}

fun opprettOppgaverForNyeVedtakUføretrygd() {
val nyeUføretrygdVedtak = efVedtakRepository.hentInntektsendringerForUføretrygd()
val nyeUføretrygdVedtak = inntektsendringerRepository.hentInntektsendringerForUføretrygd()
nyeUføretrygdVedtak.forEach {
opprettOppgaveForInntektsendring(it, lagOppgavetekstVedNyYtelseUføretrygd())
}
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DROP TABLE efvedtakhendelse;
4 changes: 2 additions & 2 deletions src/main/resources/pdl/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -749,7 +749,7 @@ input Criterion {

input SearchRule {
# Sjekker om feltet finnes / at det ikke har en null verdi.
exists:String
exists:Boolean
# Filtrerer bort treff hvor felt inneholder input verdi
notEquals:String
# Begrenser treff til kun de hvor felt har input verdi
Expand All @@ -759,7 +759,7 @@ input SearchRule {
# Søk som gir treff også for små variasjoner i skrivemåte
fuzzy:String
# Søk som gir tilfeldig poengsum til hvert treff (kun ment til generering av testdata)
random:String
random:Float
# Bruk "?" som wildcard for enkelt tegn, og "*" som wildcard for 0 eller flere tegn.
wildcard:String
# Gir treff når opgitt feltstarter med opgitt verdi.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ abstract class IntegrasjonSpringRunnerTest {

private fun resetDatabase() {
namedParameterJdbcTemplate.update("TRUNCATE TABLE hendelse CASCADE", MapSqlParameterSource())
namedParameterJdbcTemplate.update("TRUNCATE TABLE efvedtakhendelse CASCADE", MapSqlParameterSource())
namedParameterJdbcTemplate.update("TRUNCATE TABLE utsattoppgave CASCADE", MapSqlParameterSource())
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ import io.mockk.mockk
import no.nav.familie.ef.personhendelse.client.ArbeidsfordelingClient
import no.nav.familie.ef.personhendelse.client.OppgaveClient
import no.nav.familie.ef.personhendelse.client.SakClient
import no.nav.familie.ef.personhendelse.inntekt.vedtak.EfVedtakRepository
import no.nav.familie.ef.personhendelse.inntekt.vedtak.InntektOgVedtakEndring
import no.nav.familie.kontrakter.felles.Behandlingstema
import no.nav.familie.kontrakter.felles.ef.StønadType
import no.nav.familie.kontrakter.felles.objectMapper
Expand All @@ -17,15 +15,15 @@ import java.time.LocalDateTime
import java.time.YearMonth

class VedtakendringerServiceTest {
private val efVedtakRepository = mockk<EfVedtakRepository>()
private val inntektsendringerRepository = mockk<InntektsendringerRepository>()
private val inntektClient = mockk<InntektClient>()
private val oppgaveClient = mockk<OppgaveClient>()
private val sakClient = mockk<SakClient>()
private val arbeidsfordelingClient = mockk<ArbeidsfordelingClient>()
private val inntektsendringerService = mockk<InntektsendringerService>()
private val vedtakendringer =
VedtakendringerService(
efVedtakRepository,
inntektsendringerRepository,
inntektClient,
oppgaveClient,
sakClient,
Expand Down

This file was deleted.

Loading

0 comments on commit 14be991

Please sign in to comment.