From b27333fdba3745f6e2e6a0d7f45c827e1df9f904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stig=20Helge=20Str=C3=B8m?= Date: Mon, 7 Oct 2024 13:30:31 +0200 Subject: [PATCH] Sletter endepunkter og kode for migrering --- .../repository/St\303\270nadRepository.kt" | 52 -------------- .../rest/controller/BarnetrygdController.kt | 44 ------------ .../ba/infotrygd/service/BarnetrygdService.kt | 20 ------ .../infotrygd/service/M\303\245lerService.kt" | 69 ------------------- .../St\303\270nadRepositoryTest.kt" | 22 ------ .../service/BarnetrygdServiceTest.kt | 69 ------------------- 6 files changed, 276 deletions(-) delete mode 100644 "src/main/kotlin/no/nav/familie/ba/infotrygd/service/M\303\245lerService.kt" diff --git "a/src/main/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepository.kt" "b/src/main/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepository.kt" index c3297ce6..66d02838 100644 --- "a/src/main/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepository.kt" +++ "b/src/main/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepository.kt" @@ -4,8 +4,6 @@ import no.nav.commons.foedselsnummer.FoedselsNr import no.nav.familie.ba.infotrygd.model.dl1.Sak import no.nav.familie.ba.infotrygd.model.dl1.Stønad import no.nav.familie.ba.infotrygd.model.dl1.TrunkertStønad -import org.springframework.data.domain.Page -import org.springframework.data.domain.Pageable import org.springframework.data.jpa.repository.JpaRepository import org.springframework.data.jpa.repository.Query import org.springframework.stereotype.Repository @@ -110,51 +108,7 @@ interface StønadRepository : JpaRepository { """) fun findSenesteIverksattFomByPersonKey(personKey: Long): String - @Query( - """ - SELECT s FROM Stønad s - INNER JOIN Sak sa - ON ( s.personKey = sa.personKey and - s.region = sa.region and - s.saksblokk = sa.saksblokk and - s.sakNr = sa.saksnummer ) - WHERE s.opphørtFom = '000000' - AND sa.kapittelNr = 'BA' - AND sa.valg = :valg - AND sa.undervalg = :undervalg - """) - fun findKlarForMigrering(page: Pageable, valg: String, undervalg: String): Page - @Query( - """ - SELECT s FROM Stønad s - INNER JOIN Sak sa - ON ( s.personKey = sa.personKey and - s.region = sa.region and - s.saksblokk = sa.saksblokk and - s.sakNr = sa.saksnummer ) - WHERE s.opphørtFom = '000000' - AND sa.kapittelNr = 'BA' - AND sa.valg = :valg - AND sa.undervalg = :undervalg - AND s.tkNr IN ('0312','0315') - """) - fun findKlarForMigreringIPreprod(page: Pageable, valg: String, undervalg: String): Page - - @Query( - value = """ - SELECT sa.S10_VALG valg, sa.S10_UNDERVALG undervalg, count(*) antall FROM {h-schema}BA_STOENAD_20 s - INNER JOIN {h-schema}SA_SAK_10 sa - ON ( s.B01_PERSONKEY = sa.S01_PERSONKEY and - s.region = sa.region and - s.B20_BLOKK = sa.S05_SAKSBLOKK and - s.B20_SAK_NR = sa.S10_SAKSNR ) - WHERE s.B20_OPPHOERT_VFOM = '000000' - AND sa.S10_KAPITTELNR = 'BA' - group by sa.S10_VALG, sa.S10_UNDERVALG""", - nativeQuery = true - ) - fun countLøpendeStønader() : List @Query(""" SELECT s FROM Stønad s @@ -166,9 +120,3 @@ interface StønadRepository : JpaRepository { fun findStønad(personKey: Long, iverksattFom: String, virkningFom: String, region: String): Stønad } -interface AntallLøpendeStønader { - val valg: String - val undervalg: String - val antall: Int -} - diff --git a/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/BarnetrygdController.kt b/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/BarnetrygdController.kt index d4c87ec2..f39e98a9 100644 --- a/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/BarnetrygdController.kt +++ b/src/main/kotlin/no/nav/familie/ba/infotrygd/rest/controller/BarnetrygdController.kt @@ -87,50 +87,6 @@ class BarnetrygdController( barn = barnetrygdService.findSakerByBarnFnr(barn ?: emptyList()))) } - @Operation(summary = "Teller antall migreringer igjen fra side i input") - @PostMapping(path = ["migrering/antall"]) - fun tellKlarTilMigrering(@RequestBody request: MigreringRequest): ResponseEntity { - tilgangskontrollService.sjekkTilgang() - - val result = barnetrygdService.finnPersonerKlarForMigrering( - request.page, - request.size, - request.valg, - request.undervalg, - ) - - var antall = result.first.size - val antallSider = result.second - - for(i in request.page + 1..antallSider) { - barnetrygdService.finnPersonerKlarForMigrering( - i, - request.size, - request.valg, - request.undervalg, - ) - antall += result.first.size - } - logger.info("Antall migreringer igjen: $antall") - return ResponseEntity.ok(antall.toLong()) - } - - @Operation(summary = "Uttrekk personer med ytelse. F.eks OS OS for barnetrygd, UT EF for småbarnstillegg") - @PostMapping(path = ["migrering/v2"]) - fun migreringV2(@RequestBody request: MigreringRequest): ResponseEntity { - tilgangskontrollService.sjekkTilgang() - - return ResponseEntity.ok( - barnetrygdService.finnPersonerKlarForMigrering( - request.page, - request.size, - request.valg, - request.undervalg, - ).let { MigreringResponse(it.first, it.second) } - ) - } - - @Operation(summary = "Finn stønad med id") @GetMapping(path = ["stonad/{id}"]) @Deprecated(message="Erstattes av findStønad som henter basert på B01_PERSONKEY, B20_IVERFOM_SEQ, B20_VIRKFOM_SEQ og REGION") diff --git a/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt b/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt index 798c8ab2..d1ce9db6 100644 --- a/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt +++ b/src/main/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdService.kt @@ -32,9 +32,6 @@ import no.nav.familie.ba.infotrygd.utils.DatoUtils.isSameOrAfter import no.nav.familie.ba.infotrygd.utils.DatoUtils.isSameOrBefore import org.slf4j.LoggerFactory import org.springframework.cache.annotation.Cacheable -import org.springframework.core.env.Environment -import org.springframework.data.domain.Page -import org.springframework.data.domain.PageRequest import org.springframework.stereotype.Service import java.time.LocalDate import java.time.YearMonth @@ -52,7 +49,6 @@ class BarnetrygdService( private val vedtakRepository: VedtakRepository, private val utbetalingRepository: UtbetalingRepository, private val statusRepository: StatusRepository, - private val environment: Environment, private val hendelseRepository: HendelseRepository, private val personRepository: PersonRepository ) { @@ -240,21 +236,6 @@ class BarnetrygdService( else UTVIDET_BARNETRYGD_ELDRE_SATS.toDouble() } - fun finnPersonerKlarForMigrering( - page: Int, - size: Int, - valg: String, - undervalg: String, - ): Pair, Int> { - val stønader: Page = if (environment.activeProfiles.contains(PREPROD)) { - stonadRepository.findKlarForMigreringIPreprod(PageRequest.of(page, size), valg, undervalg) - } else { - stonadRepository.findKlarForMigrering(PageRequest.of(page, size), valg, undervalg) - } - - return Pair(stønader.mapNotNull { it.fnr?.asString }.toSet(), stønader.totalPages) - } - fun finnSisteVedtakPåPerson(personKey: Long): YearMonth { return stonadRepository.findSenesteIverksattFomByPersonKey(personKey).let { DatoUtils.seqDatoTilYearMonth(it)!! } } @@ -617,6 +598,5 @@ class BarnetrygdService( const val MANUELL_BEREGNING_DELT_BOSTED = "MD" const val MANUELL_BEREGNING_EØS = "ME" const val MANUELL_BEREGNING = "MB" - const val PREPROD = "preprod" } } diff --git "a/src/main/kotlin/no/nav/familie/ba/infotrygd/service/M\303\245lerService.kt" "b/src/main/kotlin/no/nav/familie/ba/infotrygd/service/M\303\245lerService.kt" deleted file mode 100644 index 9bb1052e..00000000 --- "a/src/main/kotlin/no/nav/familie/ba/infotrygd/service/M\303\245lerService.kt" +++ /dev/null @@ -1,69 +0,0 @@ -package no.nav.familie.ba.infotrygd.service - -import io.micrometer.core.instrument.Metrics -import io.micrometer.core.instrument.MultiGauge -import io.micrometer.core.instrument.Tags -import no.nav.familie.ba.infotrygd.repository.StønadRepository -import no.nav.familie.leader.LeaderClient -import org.slf4j.LoggerFactory -import org.springframework.core.env.Environment -import org.springframework.data.domain.Pageable -import org.springframework.scheduling.annotation.Scheduled -import org.springframework.stereotype.Component - -@Component -class MålerService(private val stønadRepository: StønadRepository, private val environment:Environment) { - - val antallLøpendeSakerGauge = MultiGauge.builder("lopendeSaker").register(Metrics.globalRegistry) - private val logger = LoggerFactory.getLogger(BarnetrygdService::class.java) - - - @Scheduled(fixedDelay = 4 * 60 * 60 * 1000, initialDelay = 3 * 50 * 1000) - fun antallLøpendeSaker() { - if (LeaderClient.isLeader() != true) return - - logger.info("Oppdaterer metrikker") - val rows = mutableListOf>() - if (erPreprod()) { - val antallOrdinær = stønadRepository.findKlarForMigreringIPreprod(Pageable.unpaged(),"OR", "OS").size - rows.add( - MultiGauge.Row.of( - Tags.of("valg", "OR", - "undervalg", "OS"), - antallOrdinær)) - val antallUtvidet = stønadRepository.findKlarForMigreringIPreprod(Pageable.unpaged(),"UT", "EF").size - rows.add( - MultiGauge.Row.of( - Tags.of("valg", "UT", - "undervalg", "EF"), - antallUtvidet)) - val antallUtvidetDeltBosted = stønadRepository.findKlarForMigreringIPreprod(Pageable.unpaged(),"UT", "MD").size - rows.add( - MultiGauge.Row.of( - Tags.of("valg", "UT", - "undervalg", "MD"), - antallUtvidetDeltBosted)) - val antalOrdinærDeltBosted = stønadRepository.findKlarForMigreringIPreprod(Pageable.unpaged(),"OR", "MD").size - rows.add( - MultiGauge.Row.of( - Tags.of("valg", "OR", - "undervalg", "MD"), - antalOrdinærDeltBosted)) - } else { - stønadRepository.countLøpendeStønader().map { - rows.add( - MultiGauge.Row.of( - Tags.of("valg", it.valg, - "undervalg", it.undervalg), - it.antall)) - } - } - antallLøpendeSakerGauge.register(rows, true) - } - - private fun erPreprod(): Boolean { - return environment.activeProfiles.any { - it == "preprod" - } - } -} \ No newline at end of file diff --git "a/src/test/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepositoryTest.kt" "b/src/test/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepositoryTest.kt" index cc9463f5..4b42b68d 100644 --- "a/src/test/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepositoryTest.kt" +++ "b/src/test/kotlin/no/nav/familie/ba/infotrygd/repository/St\303\270nadRepositoryTest.kt" @@ -8,7 +8,6 @@ import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.data.domain.Pageable import org.springframework.test.context.ActiveProfiles import java.time.YearMonth import java.time.format.DateTimeFormatter @@ -42,7 +41,6 @@ class StønadRepositoryTest { mockk(), mockk(), mockk(), - mockk(), ) } @@ -115,26 +113,6 @@ class StønadRepositoryTest { } } - @Test - fun `skal søke opp personer som har en sakstype fra input`() { - val person = personRepository.saveAndFlush(TestData.person()) - val person2 = personRepository.saveAndFlush(TestData.person()) - stønadRepository.saveAll(listOf( - TestData.stønad(person, virkningFom = (999999-201901).toString(), opphørtFom = "112019", status = "01"), - TestData.stønad(person, virkningFom = (999999-202001).toString(), status = "01"), // løpende barnetrygd - TestData.stønad(person2, virkningFom = (999999-201901).toString(), opphørtFom = "112019", status = "01"), // utvidet barnetrygd 2019 - TestData.stønad(person2, virkningFom = (999999-202001).toString(), status = "02"), // løpende barnetrygd - )).also { sakRepository.saveAll(it.map { TestData.sak(it, valg = "OR", undervalg = "OS") }) } - - stønadRepository.findKlarForMigrering(Pageable.unpaged(), "OR", "OS").toSet().also { - assertThat(it).hasSize(2).extracting("fnr").contains(person.fnr, person2.fnr) //Det finnes ingen saker på personene - } - - stønadRepository.findKlarForMigrering(Pageable.unpaged(), "UT", "EF").toSet().also { - assertThat(it).hasSize(0) - } - } - @Test fun `skal finne stønad basert på personKey, iverksattFom, virkningFom og region`() { val stønad = stønadRepository.saveAndFlush(TestData.stønad(TestData.person())) diff --git a/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt b/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt index 594c4fab..97b820c1 100644 --- a/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt +++ b/src/test/kotlin/no/nav/familie/ba/infotrygd/service/BarnetrygdServiceTest.kt @@ -3,10 +3,7 @@ package no.nav.familie.ba.infotrygd.service import io.mockk.every import io.mockk.mockk import no.nav.commons.foedselsnummer.FoedselsNr -import no.nav.familie.ba.infotrygd.model.db2.LøpeNrFnr -import no.nav.familie.ba.infotrygd.model.db2.Stønadsklasse import no.nav.familie.ba.infotrygd.model.dl1.Person -import no.nav.familie.ba.infotrygd.model.dl1.Sak import no.nav.familie.ba.infotrygd.model.dl1.tilTrunkertStønad import no.nav.familie.ba.infotrygd.repository.BarnRepository import no.nav.familie.ba.infotrygd.repository.HendelseRepository @@ -30,7 +27,6 @@ import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest -import org.springframework.core.env.Environment import org.springframework.test.context.ActiveProfiles import java.sql.SQLException import java.time.LocalDate @@ -75,9 +71,6 @@ internal class BarnetrygdServiceTest { @Autowired private lateinit var løpeNrFnrRepository: LøpeNrFnrRepository - - private val environment: Environment = mockk(relaxed = true) - private lateinit var barnetrygdService: BarnetrygdService @BeforeEach @@ -89,7 +82,6 @@ internal class BarnetrygdServiceTest { vedtakRepository, utbetalingRepository, statusRepository, - environment, hendelseRepository, personRepository, ) @@ -155,7 +147,6 @@ internal class BarnetrygdServiceTest { mockk(), mockk(), mockk(), - mockk() ) assertThat(barnetrygdService.tellAntallÅpneSaker(emptyList(), emptyList())).isEqualTo(0) @@ -558,55 +549,6 @@ internal class BarnetrygdServiceTest { } } - - @Test - fun `skal hente personer klar for migrering`() { - val person = personRepository.saveAndFlush(TestData.person()) - val personSomFiltreresVekkPgaAntallBarnIStønadStørreEnnMaksAntallBarn = - personRepository.saveAndFlush(TestData.person()) - val personSomFiltreresVekkPgaBarnMedSpesiellStønadstype = - personRepository.saveAndFlush(TestData.person()) - val stønad1 = TestData.stønad(person, virkningFom = (999999 - 202001).toString(), status = "01", antallBarn = 1) - - - - stonadRepository.saveAll(listOf(stønad1)).also { - sakRepository.saveAll(it.map { TestData.sak(it, valg = "OR", undervalg = "OS") }) - } - val barn1 = TestData.barn(stønad1) - barnRepository.saveAll(listOf(barn1)) - - barnetrygdService.finnPersonerKlarForMigrering(0, 10, "OR", "OS") - .also { - assertThat(it.first as Iterable).hasSize(1).contains(person.fnr.asString) //Det finnes ingen saker på personene - } - } - @Test - fun `skal filtrere på tknr ved migreirng i preprod`() { - every { environment.activeProfiles } returns listOf("preprod").toTypedArray() andThen listOf("prod").toTypedArray() - - val person = personRepository.saveAndFlush(TestData.person(tkNr = "0312")) - val personSomFiltreresVekkPgaTknrIPreprod = - personRepository.saveAndFlush(TestData.person()) - val stønad1 = TestData.stønad(person, virkningFom = (999999 - 202001).toString(), status = "01", antallBarn = 1) - val stønad3 = TestData.stønad( - personSomFiltreresVekkPgaTknrIPreprod, virkningFom = (999999 - 202001).toString(), status = "02", antallBarn = 1 - ) - - stonadRepository.saveAll(listOf(stønad1, stønad3)).also { - sakRepository.saveAll(it.map { TestData.sak(it, valg = "OR", undervalg = "OS") }) - } - - barnRepository.saveAll(listOf(TestData.barn(stønad1), - TestData.barn(stønad3))) - - val personerKlareForMigreringIPreprod = barnetrygdService.finnPersonerKlarForMigrering(0, 10, "OR", "OS") - val personerKlareForMigreringIProd = barnetrygdService.finnPersonerKlarForMigrering(0, 10, "OR", "OS") - - assertThat(personerKlareForMigreringIPreprod.first as Iterable).hasSize(1).contains(person.fnr.asString) - assertThat(personerKlareForMigreringIProd.first).hasSize(2) - } - @Test fun `harSendtBrevForrigeMåned skal returnere tom liste hvis det ikke er sendt ut noen brev med brevkode B002 siste måned`() { val person = personRepository.saveAndFlush(TestData.person(tkNr = "0312")) @@ -690,17 +632,6 @@ internal class BarnetrygdServiceTest { barnRepository.save(TestData.barn(opphørtStønad, barnFnr)) } - private fun lagraRelevantDb2Data( - sak: Sak - ) { - vedtakRepository.save(TestData.vedtak(sak)).also { - løpeNrFnrRepository.save(LøpeNrFnr(it.løpenummer, sak.fnr.asString)) - stønadsklasseRepository.save(Stønadsklasse(it.vedtakId, kodeNivå = "01", sak.kapittelNr)) - stønadsklasseRepository.save(Stønadsklasse(it.vedtakId, kodeNivå = "02", sak.valg)) - stønadsklasseRepository.save(Stønadsklasse(it.vedtakId, kodeNivå = "03", sak.undervalg!!)) - } - } - companion object { const val MANUELT_BEREGNET_STATUS = "0" const val ORDINÆR_BARNETRYGD_STATUS = "1"