use of no.nav.common.types.identer.AktorId in project veilarbportefolje by navikt.
the class AktivitetUtils method konverterTilBrukerOppdatering.
public static AktivitetBrukerOppdatering konverterTilBrukerOppdatering(AktoerAktiviteter aktoerAktiviteter, BrukerService brukerService) {
AktorId aktoerId = AktorId.of(aktoerAktiviteter.getAktoerid());
Try<PersonId> personid = brukerService.hentPersonidFraAktoerid(aktoerId).onFailure((e) -> log.warn("Kunne ikke hente personid for aktoerid {}", aktoerId.toString(), e));
return personid.map(personId -> konverterTilBrukerOppdatering(aktoerAktiviteter.getAktiviteter(), aktoerId, personid.get())).getOrNull();
}
use of no.nav.common.types.identer.AktorId in project veilarbportefolje by navikt.
the class AktivitetUtils method lagAktivitetSet.
public static Set<AktivitetStatus> lagAktivitetSet(List<AktivitetDTO> aktiviteter, LocalDate today, AktorId aktoerId, PersonId personId) {
Set<AktivitetStatus> aktiveAktiviteter = new HashSet<>();
aktivitetTyperFraKafka.stream().map(Objects::toString).forEach(aktivitetstype -> {
List<AktivitetDTO> aktiviteterMedAktivtStatus = aktiviteter.stream().filter(aktivitet -> aktivitetstype.equals(aktivitet.getAktivitetType())).filter(AktivitetUtils::harIkkeStatusFullfort).collect(toList());
Timestamp datoForNesteUtlop = aktiviteterMedAktivtStatus.stream().filter(aktivitet -> erAktivitetIPeriode(aktivitet, today)).map(AktivitetDTO::getTilDato).filter(Objects::nonNull).sorted().findFirst().orElse(null);
Timestamp datoForNesteStart = aktiviteterMedAktivtStatus.stream().filter(aktivitet -> erAktivitetIPeriode(aktivitet, today)).map(AktivitetDTO::getFraDato).filter(Objects::nonNull).sorted().findFirst().orElse(null);
boolean aktivitetErIkkeFullfort = !aktiviteterMedAktivtStatus.isEmpty();
aktiveAktiviteter.add(new AktivitetStatus().setPersonid(personId).setAktoerid(aktoerId).setAktivitetType(aktivitetstype).setAktiv(aktivitetErIkkeFullfort).setNesteStart(datoForNesteStart).setNesteUtlop(datoForNesteUtlop));
});
return aktiveAktiviteter;
}
use of no.nav.common.types.identer.AktorId in project veilarbportefolje by navikt.
the class TiltakService method behandleKafkaMelding.
public void behandleKafkaMelding(TiltakDTO kafkaMelding) {
TiltakInnhold innhold = getInnhold(kafkaMelding);
if (innhold == null || erGammelMelding(kafkaMelding, innhold)) {
return;
}
AktorId aktorId = behandleKafkaMeldingOracle(kafkaMelding);
behandleKafkaMeldingPostgres(kafkaMelding);
arenaHendelseRepository.upsertAktivitetHendelse(innhold.getAktivitetid(), innhold.getHendelseId());
opensearchIndexer.indekser(aktorId);
}
use of no.nav.common.types.identer.AktorId in project veilarbportefolje by navikt.
the class YtelsesService method finnLopendeYtelseOracle.
public Optional<YtelseDAO> finnLopendeYtelseOracle(AktorId aktorId) {
LocalDate iDag = LocalDate.now();
List<YtelseDAO> aktiveYtelser = ytelsesRepository.getYtelser(aktorId).stream().filter(Objects::nonNull).filter(ytelse -> harLopendeUtlopsDato(ytelse.getUtlopsDato(), iDag)).collect(Collectors.toList());
if (aktiveYtelser.isEmpty()) {
return Optional.empty();
}
YtelseDAO tidligsteYtelse = aktiveYtelser.stream().min(Comparator.comparing(YtelseDAO::getStartDato)).get();
if (!harLopendeStartDato(tidligsteYtelse.getStartDato(), iDag)) {
return Optional.empty();
}
if (TypeKafkaYtelse.DAGPENGER.equals(tidligsteYtelse.getType())) {
// Hvis det finnes en utløpsdato er det mest sannynlig et annet dagpenge vedtak som skal ta over for det løpende vedatekt, eller en bug
return Optional.of(tidligsteYtelse.setUtlopsDato(null));
}
if (tidligsteYtelse.getUtlopsDato() == null) {
return Optional.of(tidligsteYtelse);
}
return finnVedtakMedSisteUtlopsDatoPaSak(aktiveYtelser, tidligsteYtelse);
}
use of no.nav.common.types.identer.AktorId in project veilarbportefolje by navikt.
the class YtelsesService method finnSisteYtelsePaSakIdSomIkkeErUtloptOracle.
public Optional<YtelseDAO> finnSisteYtelsePaSakIdSomIkkeErUtloptOracle(AktorId aktorId, String sakID) {
LocalDate iDag = LocalDate.now();
List<YtelseDAO> aktiveYtelserPaSakID = ytelsesRepository.getYtelser(aktorId).stream().filter(Objects::nonNull).filter(ytelse -> sakID.equals(ytelse.getSaksId())).filter(ytelse -> harLopendeUtlopsDato(ytelse.getUtlopsDato(), iDag)).collect(Collectors.toList());
if (aktiveYtelserPaSakID.isEmpty()) {
return Optional.empty();
}
Optional<YtelseDAO> ytelseMedSluttDatoEllerNull = aktiveYtelserPaSakID.stream().filter(ytelseDAO -> ytelseDAO.getUtlopsDato() != null).max(Comparator.comparing(YtelseDAO::getUtlopsDato));
return Optional.of(ytelseMedSluttDatoEllerNull.orElse(aktiveYtelserPaSakID.get(0)));
}
Aggregations