Skip to content

Commit

Permalink
Merge pull request #1787 from navikt/dev
Browse files Browse the repository at this point in the history
Prodsette: Sortere gjeldende § 14 a-vedtak + Nye tiltakstypar for tiltakshendelse
  • Loading branch information
ingfo authored Nov 19, 2024
2 parents 847c747 + 244e116 commit 65d0586
Show file tree
Hide file tree
Showing 5 changed files with 167 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,10 @@ static SearchSourceBuilder sorterQueryParametere(String sortOrder, String
case "aap_type" -> searchSourceBuilder.sort("ytelse", order);
case "aap_vurderingsfrist" -> sorterAapVurderingsfrist(searchSourceBuilder, order, filtervalg);
case "aaprettighetsperiode" -> sorterAapRettighetsPeriode(searchSourceBuilder, order);
case "gjeldende_vedtak_14a_innsatsgruppe" ->
searchSourceBuilder.sort("gjeldendeVedtak14a.innsatsgruppe", order);
case "gjeldende_vedtak_14a_hovedmal" -> searchSourceBuilder.sort("gjeldendeVedtak14a.hovedmal", order);
case "gjeldende_vedtak_14a_vedtaksdato" -> searchSourceBuilder.sort("gjeldendeVedtak14a.fattetDato", order) ;
case "utkast_14a_status" -> searchSourceBuilder.sort("utkast_14a_status", order);
case "arbeidslistekategori" -> searchSourceBuilder.sort("arbeidsliste_kategori", order);
case "siste_endring_tidspunkt" -> sorterSisteEndringTidspunkt(searchSourceBuilder, order, filtervalg);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
package no.nav.pto.veilarbportefolje.tiltakshendelse.domain;

// TODO få tiltakstypar frå team Komet
public enum Tiltakstype {
ARBFORB
ARBFORB,
ARBRRHDAG,
AVKLARAG,
DIGIOPPARB,
INDOPPFAG,
GRUFAGYRKE,
GRUPPEAMO,
JOBBK,
VASV,
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,9 @@ public class ValideringsRegler {
"motestatus",
"oppfolging_startdato",
"veileder_id",
"gjeldende_vedtak_14a_innsatsgruppe",
"gjeldende_vedtak_14a_hovedmal",
"gjeldende_vedtak_14a_vedtaksdato",
"utkast_14a_status",
"utkast_14a_ansvarlig_veileder",
"utkast_14a_status_endret",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,7 @@
import org.springframework.jdbc.core.JdbcTemplate;

import java.sql.Timestamp;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZonedDateTime;
import java.time.*;
import java.util.*;
import java.util.stream.Stream;

Expand Down Expand Up @@ -4402,6 +4399,146 @@ public void skal_hente_brukere_med_og_uten_gjeldendeVedtak14a() {
assertThat(respons.getAntall()).isEqualTo(2);
}

@Test
public void skal_kunne_sortere_brukere_med_og_uten_gjeldendeVedtak14a_pa_14a_kolonner() {
Fnr brukerMedSiste14aVedtakFnr1 = Fnr.of("11111111111");
Fnr brukerMedSiste14aVedtakFnr2 = Fnr.of("22222222222");
Fnr brukerMedSiste14aVedtakFnr3 = Fnr.of("33333333333");
Fnr brukerUtenSiste14aVedtakFnr = Fnr.of("44444444444");
AktorId brukerMedSiste14aVedtakAktorId1 = AktorId.of("1111111111111");
AktorId brukerMedSiste14aVedtakAktorId2 = AktorId.of("2222222222222");
AktorId brukerMedSiste14aVedtakAktorId3 = AktorId.of("3333333333333");
AktorId brukerUtenSiste14aVedtakAktorId = AktorId.of("4444444444444");

OppfolgingsBruker bruker1 = new OppfolgingsBruker()
.setFnr(brukerMedSiste14aVedtakFnr1.get())
.setAktoer_id(brukerMedSiste14aVedtakAktorId1.get())
.setEnhet_id(TEST_ENHET)
.setOppfolging(true)
.setGjeldendeVedtak14a(new GjeldendeVedtak14a(
Innsatsgruppe.VARIG_TILPASSET_INNSATS,
Hovedmal.OKE_DELTAKELSE,
ZonedDateTime.of(2024, 1, 1, 12, 0, 0, 0, ZoneId.systemDefault())
));

OppfolgingsBruker bruker2 = new OppfolgingsBruker()
.setFnr(brukerMedSiste14aVedtakFnr2.get())
.setAktoer_id(brukerMedSiste14aVedtakAktorId2.get())
.setEnhet_id(TEST_ENHET)
.setOppfolging(true)
.setGjeldendeVedtak14a(new GjeldendeVedtak14a(
Innsatsgruppe.GRADERT_VARIG_TILPASSET_INNSATS,
Hovedmal.SKAFFE_ARBEID,
ZonedDateTime.of(2022, 1, 1, 12, 0, 0, 0, ZoneId.systemDefault())
));

OppfolgingsBruker bruker3 = new OppfolgingsBruker()
.setFnr(brukerMedSiste14aVedtakFnr3.get())
.setAktoer_id(brukerMedSiste14aVedtakAktorId3.get())
.setEnhet_id(TEST_ENHET)
.setOppfolging(true)
.setGjeldendeVedtak14a(new GjeldendeVedtak14a(
Innsatsgruppe.STANDARD_INNSATS,
Hovedmal.BEHOLDE_ARBEID,
ZonedDateTime.of(2020, 1, 1, 12, 0, 0, 0, ZoneId.systemDefault())
));

OppfolgingsBruker brukerUtenGjeldendeVedtak = new OppfolgingsBruker()
.setFnr(brukerUtenSiste14aVedtakFnr.get())
.setAktoer_id(brukerUtenSiste14aVedtakAktorId.get())
.setEnhet_id(TEST_ENHET)
.setOppfolging(true);

var liste = List.of(bruker1, bruker2, bruker3, brukerUtenGjeldendeVedtak);
skrivBrukereTilTestindeks(liste);

pollOpensearchUntil(() -> opensearchTestClient.countDocuments() == liste.size());

Filtervalg filtervalg = new Filtervalg()
.setFerdigfilterListe(emptyList())
.setGjeldendeVedtak14a(List.of("HAR_14A_VEDTAK", "HAR_IKKE_14A_VEDTAK"));

/* Standard-sortering (aktør-id). Forventa rekkefølgje: 1, 2, 3, Utan */
BrukereMedAntall responsStandardsortering = opensearchService.hentBrukere(
TEST_ENHET,
empty(),
"ascending",
"ikke_satt",
filtervalg,
null,
null
);
assertThat(responsStandardsortering.getAntall()).isEqualTo(4);
assertEquals(responsStandardsortering.getBrukere().get(0).getFnr(), bruker1.getFnr());
assertEquals(responsStandardsortering.getBrukere().get(1).getFnr(), bruker2.getFnr());
assertEquals(responsStandardsortering.getBrukere().get(2).getFnr(), bruker3.getFnr());
assertEquals(responsStandardsortering.getBrukere().get(3).getFnr(), brukerUtenGjeldendeVedtak.getFnr());

/* Innsatsgruppe, stigande. Forventa rekkefølgje: 2, 3, 1, Uten */
BrukereMedAntall responsInnsatsgruppeStigende = opensearchService.hentBrukere(
TEST_ENHET,
empty(),
"ascending",
"gjeldende_vedtak_14a_innsatsgruppe",
filtervalg,
null,
null
);
assertThat(responsInnsatsgruppeStigende.getAntall()).isEqualTo(4);
assertEquals(responsInnsatsgruppeStigende.getBrukere().get(0).getFnr(), bruker2.getFnr());
assertEquals(responsInnsatsgruppeStigende.getBrukere().get(1).getFnr(), bruker3.getFnr());
assertEquals(responsInnsatsgruppeStigende.getBrukere().get(2).getFnr(), bruker1.getFnr());
assertEquals(responsInnsatsgruppeStigende.getBrukere().get(3).getFnr(), brukerUtenGjeldendeVedtak.getFnr());

/* Innsatsgruppe, synkande. Forventa rekkefølgje: 1, 3, 2, Uten */
BrukereMedAntall responsInnsatsgruppeSynkende = opensearchService.hentBrukere(
TEST_ENHET,
empty(),
"descending",
"gjeldende_vedtak_14a_innsatsgruppe",
filtervalg,
null,
null
);
assertThat(responsInnsatsgruppeSynkende.getAntall()).isEqualTo(4);
assertEquals(responsInnsatsgruppeSynkende.getBrukere().get(0).getFnr(), bruker1.getFnr());
assertEquals(responsInnsatsgruppeSynkende.getBrukere().get(1).getFnr(), bruker3.getFnr());
assertEquals(responsInnsatsgruppeSynkende.getBrukere().get(2).getFnr(), bruker2.getFnr());
assertEquals(responsInnsatsgruppeSynkende.getBrukere().get(3).getFnr(), brukerUtenGjeldendeVedtak.getFnr());

/* Hovedmål, stigande. Forventa: 3, 1, 2, Uten */
BrukereMedAntall responsHovedmalStigende = opensearchService.hentBrukere(
TEST_ENHET,
empty(),
"ascending",
"gjeldende_vedtak_14a_hovedmal",
filtervalg,
null,
null
);
assertThat(responsHovedmalStigende.getAntall()).isEqualTo(4);
assertEquals(responsHovedmalStigende.getBrukere().get(0).getFnr(), bruker3.getFnr());
assertEquals(responsHovedmalStigende.getBrukere().get(1).getFnr(), bruker1.getFnr());
assertEquals(responsHovedmalStigende.getBrukere().get(2).getFnr(), bruker2.getFnr());
assertEquals(responsHovedmalStigende.getBrukere().get(3).getFnr(), brukerUtenGjeldendeVedtak.getFnr());

/* Vedtaksdato, stigande. Forventa rekkefølgje: 3, 2, 1, Uten */
BrukereMedAntall responsVedtaksdatoStigende = opensearchService.hentBrukere(
TEST_ENHET,
empty(),
"ascending",
"gjeldende_vedtak_14a_vedtaksdato",
filtervalg,
null,
null
);
assertThat(responsVedtaksdatoStigende.getAntall()).isEqualTo(4);
assertEquals(responsVedtaksdatoStigende.getBrukere().get(0).getFnr(), bruker3.getFnr());
assertEquals(responsVedtaksdatoStigende.getBrukere().get(1).getFnr(), bruker2.getFnr());
assertEquals(responsVedtaksdatoStigende.getBrukere().get(2).getFnr(), bruker1.getFnr());
assertEquals(responsVedtaksdatoStigende.getBrukere().get(3).getFnr(), brukerUtenGjeldendeVedtak.getFnr());
}

private boolean veilederExistsInResponse(String veilederId, BrukereMedAntall brukere) {
return brukere.getBrukere().stream().anyMatch(bruker -> veilederId.equals(bruker.getVeilederId()));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ void kanIkkeOppdatereTiltakshendelseEtterEndretFnr() {
Fnr fnr = Fnr.of("11223312345");
Fnr nyttFnr = Fnr.of("12345112233");

KafkaTiltakshendelse gammelKafkaData = new KafkaTiltakshendelse(id, true, opprettet, tekst, lenke, Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse oppdatertKafkaData = new KafkaTiltakshendelse(id, true, opprettet.plusDays(1), oppdatertTekst, lenke, Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse oppdatertMedNyttFnrKafkaData = new KafkaTiltakshendelse(id, true, opprettet.plusDays(2), tekst, lenke, Tiltakstype.ARBFORB, nyttFnr, Avsender.KOMET);
Tiltakshendelse expected = new Tiltakshendelse(id, opprettet.plusDays(1), oppdatertTekst, lenke, Tiltakstype.ARBFORB, fnr);
KafkaTiltakshendelse gammelKafkaData = new KafkaTiltakshendelse(id, true, opprettet, tekst, lenke, Tiltakstype.AVKLARAG, fnr, Avsender.KOMET);
KafkaTiltakshendelse oppdatertKafkaData = new KafkaTiltakshendelse(id, true, opprettet.plusDays(1), oppdatertTekst, lenke, Tiltakstype.JOBBK, fnr, Avsender.KOMET);
KafkaTiltakshendelse oppdatertMedNyttFnrKafkaData = new KafkaTiltakshendelse(id, true, opprettet.plusDays(2), tekst, lenke, Tiltakstype.GRUFAGYRKE, nyttFnr, Avsender.KOMET);
Tiltakshendelse expected = new Tiltakshendelse(id, opprettet.plusDays(1), oppdatertTekst, lenke, Tiltakstype.JOBBK, fnr);

assertTrue(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(gammelKafkaData));
assertTrue(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(oppdatertKafkaData));
Expand All @@ -106,8 +106,8 @@ void kanLagreFlereTiltakshendelserPaSammePerson() {
String lenke = "http.cat/200";
Fnr fnr = Fnr.of("11223312345");

KafkaTiltakshendelse hendelsePaEnPerson = new KafkaTiltakshendelse(id, true, opprettet, tekst, tekst, Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse nyHendelsePaSammePerson = new KafkaTiltakshendelse(idNyMelding, true, opprettetNyMelding, tekst, lenke, Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse hendelsePaEnPerson = new KafkaTiltakshendelse(id, true, opprettet, tekst, tekst, Tiltakstype.INDOPPFAG, fnr, Avsender.KOMET);
KafkaTiltakshendelse nyHendelsePaSammePerson = new KafkaTiltakshendelse(idNyMelding, true, opprettetNyMelding, tekst, lenke, Tiltakstype.DIGIOPPARB, fnr, Avsender.KOMET);

assertTrue(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(hendelsePaEnPerson));
assertFalse(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(nyHendelsePaSammePerson));
Expand All @@ -124,7 +124,7 @@ void kanSletteTiltakshendelse() {
String lenke = "http.cat/200";
Fnr fnr = Fnr.of("11223312345");

KafkaTiltakshendelse hendelsePaEnPerson = new KafkaTiltakshendelse(id, true, opprettet, tekst, lenke, Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse hendelsePaEnPerson = new KafkaTiltakshendelse(id, true, opprettet, tekst, lenke, Tiltakstype.GRUPPEAMO, fnr, Avsender.KOMET);

assertTrue(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(hendelsePaEnPerson));

Expand All @@ -148,7 +148,7 @@ void kanSletteTiltakshendelseReturnereNesteEldste() {
Fnr fnr = Fnr.of("11223312345");

KafkaTiltakshendelse hendelsePaEnPerson = new KafkaTiltakshendelse(id, true, opprettet, tekst, tekst, Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse nyHendelsePaSammePerson = new KafkaTiltakshendelse(idNyMelding, true, opprettetNyMelding, tekst, lenke, Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse nyHendelsePaSammePerson = new KafkaTiltakshendelse(idNyMelding, true, opprettetNyMelding, tekst, lenke, Tiltakstype.ARBRRHDAG, fnr, Avsender.KOMET);

assertTrue(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(hendelsePaEnPerson));
assertFalse(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(nyHendelsePaSammePerson));
Expand All @@ -175,8 +175,8 @@ public void kanHenteTiltakshendelseMedEldsteOpprettetdato() {
LocalDateTime opprettet3 = LocalDateTime.of(2020, 6, 1, 12, 0);

KafkaTiltakshendelse tiltakshendelse1 = new KafkaTiltakshendelse(id1, true, opprettet1, "Forslag: endre varighet", "http.cat/204", Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse tiltakshendelse2 = new KafkaTiltakshendelse(id2, true, opprettet2, "Forslag: endre varighet", "http.cat/204", Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse tiltakshendelse3 = new KafkaTiltakshendelse(id3, true, opprettet3, "Forslag: endre varighet", "http.cat/204", Tiltakstype.ARBFORB, fnr, Avsender.KOMET);
KafkaTiltakshendelse tiltakshendelse2 = new KafkaTiltakshendelse(id2, true, opprettet2, "Forslag: endre varighet", "http.cat/204", Tiltakstype.ARBRRHDAG, fnr, Avsender.KOMET);
KafkaTiltakshendelse tiltakshendelse3 = new KafkaTiltakshendelse(id3, true, opprettet3, "Forslag: endre varighet", "http.cat/204", Tiltakstype.VASV, fnr, Avsender.KOMET);

// Lagrar hendelsane i motsett rekkefølgje av oppretta-tidspunktet
assertTrue(repository.tryLagreTiltakshendelseOgSjekkOmDenErEldst(tiltakshendelse1));
Expand Down

0 comments on commit 65d0586

Please sign in to comment.