Search in sources :

Example 1 with Veilarbportefoljeinfo

use of no.nav.pto.veilarbportefolje.oppfolging.response.Veilarbportefoljeinfo in project veilarbportefolje by navikt.

the class OppfolgingService method oppdaterBruker.

public void oppdaterBruker(AktorId bruker) {
    if (bruker == null) {
        return;
    }
    try {
        Veilarbportefoljeinfo veialrbinfo = hentVeilarbData(bruker);
        if (veialrbinfo.isErUnderOppfolging()) {
            Optional<BrukerOppdatertInformasjon> dbInfoOracle = oppfolgingRepository.hentOppfolgingData(bruker);
            Optional<BrukerOppdatertInformasjon> dbInfoPostgres = oppfolgingRepositoryV2.hentOppfolgingData(bruker);
            oppdaterStartDatoHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getStartDato).orElse(null), veialrbinfo.getStartDato(), false);
            if (veialrbinfo.isErUnderOppfolging() && (dbInfoPostgres.isEmpty() || !dbInfoPostgres.get().getOppfolging())) {
                oppfolgingRepositoryV2.settUnderOppfolging(bruker, veialrbinfo.getStartDato());
            } else {
                oppdaterStartDatoHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getStartDato).orElse(null), veialrbinfo.getStartDato(), true);
            }
            oppdaterManuellHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getManuell).orElse(false), veialrbinfo.isErManuell(), false);
            oppdaterManuellHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getManuell).orElse(false), veialrbinfo.isErManuell(), true);
            oppdaterNyForVeilederHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getNyForVeileder).orElse(false), veialrbinfo.isNyForVeileder(), false);
            oppdaterNyForVeilederHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getNyForVeileder).orElse(false), veialrbinfo.isNyForVeileder(), true);
            oppdaterVeilederHvisNodvendig(bruker, dbInfoOracle.map(BrukerOppdatertInformasjon::getVeileder).orElse(null), Optional.ofNullable(veialrbinfo.getVeilederId()).map(NavIdent::get).orElse(null), false);
            oppdaterVeilederHvisNodvendig(bruker, dbInfoPostgres.map(BrukerOppdatertInformasjon::getVeileder).orElse(null), Optional.ofNullable(veialrbinfo.getVeilederId()).map(NavIdent::get).orElse(null), true);
        } else {
            log.info("OppfolgingsJobb: bruker er ikke under oppfolging, aktoer: " + bruker);
            oppfolgingAvsluttetService.avsluttOppfolging(bruker);
            antallBrukereSlettet++;
        }
    } catch (RuntimeException e) {
        log.error("RuntimeException i OppfolgingsJobb for bruker {}", bruker);
        log.error("RuntimeException i OppfolgingsJobb", e);
    } catch (Exception e) {
        log.error("Exception i OppfolgingsJobb for bruker {}", bruker);
        log.error("Exception i OppfolgingsJobb", e);
    }
}
Also used : Veilarbportefoljeinfo(no.nav.pto.veilarbportefolje.oppfolging.response.Veilarbportefoljeinfo) NavIdent(no.nav.common.types.identer.NavIdent) IOException(java.io.IOException) BrukerOppdatertInformasjon(no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon)

Aggregations

IOException (java.io.IOException)1 NavIdent (no.nav.common.types.identer.NavIdent)1 BrukerOppdatertInformasjon (no.nav.pto.veilarbportefolje.domene.BrukerOppdatertInformasjon)1 Veilarbportefoljeinfo (no.nav.pto.veilarbportefolje.oppfolging.response.Veilarbportefoljeinfo)1