use of no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker in project veilarbportefolje by navikt.
the class OpensearchIndexer method leggTilAktiviteter.
private void leggTilAktiviteter(List<OppfolgingsBruker> brukere) {
if (brukere == null || brukere.isEmpty()) {
throw new IllegalArgumentException();
}
validateBatchSize(brukere);
List<PersonId> personIder = brukere.stream().map(OppfolgingsBruker::getPerson_id).map(PersonId::of).collect(toList());
Map<PersonId, Set<AktivitetStatus>> alleAktiviteterForBrukere = aktivitetDAO.getAktivitetstatusForBrukere(personIder);
alleAktiviteterForBrukere.forEach((personId, statuserForBruker) -> {
OppfolgingsBruker bruker = finnBruker(brukere, personId);
statuserForBruker.forEach(status -> {
IndekseringUtils.leggTilUtlopsDato(bruker, status);
IndekseringUtils.leggTilStartDato(bruker, status);
});
Set<String> aktiviteterSomErAktive = statuserForBruker.stream().filter(AktivitetStatus::isAktiv).map(AktivitetStatus::getAktivitetType).collect(toSet());
bruker.setAktiviteter(aktiviteterSomErAktive);
});
}
use of no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker in project veilarbportefolje by navikt.
the class AdminController method testHentIndeksertPostgresOgOracleBruker.
@PutMapping("/test/hentFraOracleOgPostgres")
public String testHentIndeksertPostgresOgOracleBruker(@RequestBody String aktoerIdString) {
authorizeAdmin();
AktorId aktoerId = AktorId.of(aktoerIdString);
OppfolgingsBruker fraOracle = brukerRepository.hentBrukerFraView(aktoerId).get();
OppfolgingsBruker fraPostgres = brukerRepository.hentBrukerFraView(aktoerId).get();
postgresOpensearchMapper.flettInnPostgresData(List.of(fraPostgres), true);
PostgresAktorIdEntity aktorIdData = aktoerDataOpensearchMapper.hentAktoerData(List.of(aktoerId)).get(aktoerId);
return "{ \"oracle\":" + JsonUtils.toJson(fraOracle) + ", \"postgres\":" + JsonUtils.toJson(aktorIdData) + " }";
}
use of no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker in project veilarbportefolje by navikt.
the class OpensearchIndexer method skrivTilIndeks.
public void skrivTilIndeks(String indeksNavn, List<OppfolgingsBruker> oppfolgingsBrukere) {
BulkRequest bulk = new BulkRequest();
oppfolgingsBrukere.stream().map(bruker -> {
IndexRequest indexRequest = new IndexRequest(indeksNavn).id(bruker.getAktoer_id());
return indexRequest.source(toJson(bruker), XContentType.JSON);
}).forEach(bulk::add);
restHighLevelClient.bulkAsync(bulk, RequestOptions.DEFAULT, new ActionListener<>() {
@Override
public void onResponse(BulkResponse bulkItemResponses) {
if (bulkItemResponses.hasFailures()) {
log.warn("Klart ikke å skrive til indeks: {}", bulkItemResponses.buildFailureMessage());
}
if (bulkItemResponses.getItems().length != oppfolgingsBrukere.size()) {
log.warn("Antall faktiske adds og antall brukere som skulle oppdateres er ulike");
}
List<String> aktoerIds = oppfolgingsBrukere.stream().map(OppfolgingsBruker::getAktoer_id).collect(toList());
log.info("Skrev {} brukere til indeks: {}", oppfolgingsBrukere.size(), aktoerIds);
}
@Override
public void onFailure(Exception e) {
log.warn("Feil under asynkron indeksering av brukerere ", e);
}
});
}
use of no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker in project veilarbportefolje by navikt.
the class Bruker method of.
public static Bruker of(OppfolgingsBruker bruker, boolean erVedtakstottePilotPa) {
String formidlingsgruppekode = bruker.getFormidlingsgruppekode();
String kvalifiseringsgruppekode = bruker.getKvalifiseringsgruppekode();
String sikkerhetstiltak = bruker.getSikkerhetstiltak();
String profileringResultat = bruker.getProfilering_resultat();
String diskresjonskode = bruker.getDiskresjonskode();
LocalDateTime oppfolgingStartDato = toLocalDateTimeOrNull(bruker.getOppfolging_startdato());
boolean trengerVurdering = bruker.isTrenger_vurdering();
return new Bruker().setFnr(bruker.getFnr()).setAktoerid(bruker.getAktoer_id()).setNyForEnhet(bruker.isNy_for_enhet()).setNyForVeileder(bruker.isNy_for_veileder()).setTrengerVurdering(trengerVurdering).setErSykmeldtMedArbeidsgiver(// Etiketten sykemeldt ska vises oavsett om brukeren har ett påbegynnt vedtak eller ej
OppfolgingUtils.erSykmeldtMedArbeidsgiver(formidlingsgruppekode, kvalifiseringsgruppekode)).setVurderingsBehov(trengerVurdering ? vurderingsBehov(formidlingsgruppekode, kvalifiseringsgruppekode, profileringResultat, erVedtakstottePilotPa) : null).setFornavn(bruker.getFornavn()).setEtternavn(bruker.getEtternavn()).setVeilederId(bruker.getVeileder_id()).setDiskresjonskode(("7".equals(diskresjonskode) || "6".equals(diskresjonskode)) ? diskresjonskode : null).setEgenAnsatt(bruker.isEgen_ansatt()).setErDoed(bruker.isEr_doed()).setSikkerhetstiltak(// TODO: Hvorfor er dette en liste?
sikkerhetstiltak == null ? new ArrayList<>() : Collections.singletonList(sikkerhetstiltak)).setFodselsdagIMnd(bruker.getFodselsdag_i_mnd()).setFodselsdato(toLocalDateTimeOrNull(bruker.getFodselsdato())).setKjonn(bruker.getKjonn()).setYtelse(YtelseMapping.of(bruker.getYtelse())).setUtlopsdato(toLocalDateTimeOrNull(bruker.getUtlopsdato())).setUtlopsdatoFasett(ManedFasettMapping.of(bruker.getUtlopsdatofasett())).setDagputlopUke(bruker.getDagputlopuke()).setDagputlopUkeFasett(DagpengerUkeFasettMapping.of(bruker.getDagputlopukefasett())).setPermutlopUke(bruker.getPermutlopuke()).setPermutlopUkeFasett(DagpengerUkeFasettMapping.of(bruker.getPermutlopukefasett())).setAapmaxtidUke(bruker.getAapmaxtiduke()).setAapmaxtidUkeFasett(AAPMaxtidUkeFasettMapping.of(bruker.getAapmaxtidukefasett())).setAapUnntakUkerIgjen(bruker.getAapunntakukerigjen()).setAapUnntakUkerIgjenFasett(AAPUnntakUkerIgjenFasettMapping.of(bruker.getAapunntakukerigjenfasett())).setArbeidsliste(Arbeidsliste.of(bruker)).setVenterPaSvarFraNAV(toLocalDateTimeOrNull(bruker.getVenterpasvarfranav())).setVenterPaSvarFraBruker(toLocalDateTimeOrNull(bruker.getVenterpasvarfrabruker())).setNyesteUtlopteAktivitet(toLocalDateTimeOrNull(bruker.getNyesteutlopteaktivitet())).setAktivitetStart(toLocalDateTimeOrNull(bruker.getAktivitet_start())).setNesteAktivitetStart(toLocalDateTimeOrNull(bruker.getNeste_aktivitet_start())).setForrigeAktivitetStart(toLocalDateTimeOrNull(bruker.getForrige_aktivitet_start())).setBrukertiltak(new ArrayList<>(bruker.getTiltak())).setManuellBrukerStatus(bruker.getManuell_bruker()).setMoteStartTid(toLocalDateTimeOrNull(bruker.getAktivitet_mote_startdato())).setMoteSluttTid(toLocalDateTimeOrNull(bruker.getAktivitet_mote_utlopsdato())).setVedtakStatus(bruker.getVedtak_status()).setVedtakStatusEndret(toLocalDateTimeOrNull(bruker.getVedtak_status_endret())).setAnsvarligVeilederForVedtak(bruker.getAnsvarlig_veileder_for_vedtak()).setOppfolgingStartdato(oppfolgingStartDato).setTrengerRevurdering(trengerRevurdering(bruker, erVedtakstottePilotPa)).addAktivitetUtlopsdato("tiltak", dateToTimestamp(bruker.getAktivitet_tiltak_utlopsdato())).addAktivitetUtlopsdato("behandling", dateToTimestamp(bruker.getAktivitet_behandling_utlopsdato())).addAktivitetUtlopsdato("sokeavtale", dateToTimestamp(bruker.getAktivitet_sokeavtale_utlopsdato())).addAktivitetUtlopsdato("stilling", dateToTimestamp(bruker.getAktivitet_stilling_utlopsdato())).addAktivitetUtlopsdato("ijobb", dateToTimestamp(bruker.getAktivitet_ijobb_utlopsdato())).addAktivitetUtlopsdato("egen", dateToTimestamp(bruker.getAktivitet_egen_utlopsdato())).addAktivitetUtlopsdato("gruppeaktivitet", dateToTimestamp(bruker.getAktivitet_gruppeaktivitet_utlopsdato())).addAktivitetUtlopsdato("mote", dateToTimestamp(bruker.getAktivitet_mote_utlopsdato())).addAktivitetUtlopsdato("utdanningaktivitet", dateToTimestamp(bruker.getAktivitet_utdanningaktivitet_utlopsdato()));
}
use of no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker in project veilarbportefolje by navikt.
the class BrukerRepositoryTest method skal_hente_bruker_fra_view.
@Test
public void skal_hente_bruker_fra_view() {
final Fnr fnr = randomFnr();
final AktorId aktorId = randomAktorId();
final PersonId personId = randomPersonId();
SqlUtils.insert(jdbcTemplate, Table.OPPFOLGINGSBRUKER.TABLE_NAME).value(Table.OPPFOLGINGSBRUKER.FODSELSNR, fnr.toString()).value(Table.OPPFOLGINGSBRUKER.PERSON_ID, personId.toString()).execute();
SqlUtils.insert(jdbcTemplate, Table.AKTOERID_TO_PERSONID.TABLE_NAME).value(Table.AKTOERID_TO_PERSONID.AKTOERID, aktorId.toString()).value(Table.AKTOERID_TO_PERSONID.PERSONID, personId.toString()).value(Table.AKTOERID_TO_PERSONID.GJELDENE, 1).execute();
final Optional<OppfolgingsBruker> bruker = brukerRepository.hentBrukerFraView(brukerRepository.hentAktorIdFraView(fnr).get());
assertThat(bruker).isPresent();
}
Aggregations