use of no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.GruppeAktivitetSchedueldDTO in project veilarbportefolje by navikt.
the class GruppeAktivitetRepository method mapTilDto.
@SneakyThrows
private GruppeAktivitetSchedueldDTO mapTilDto(Map<String, Object> rs) {
boolean aktiv = "J".equals(rs.get(AKTIV));
long hendelse = Optional.ofNullable((BigDecimal) rs.get(HENDELSE_ID)).map(BigDecimal::longValue).orElse(0L);
return new GruppeAktivitetSchedueldDTO().setVeiledningdeltakerId((String) rs.get(VEILEDNINGDELTAKER_ID)).setMoteplanId((String) rs.get(MOTEPLAN_ID)).setAktivitetperiodeFra((Timestamp) rs.get(MOTEPLAN_STARTDATO)).setAktivitetperiodeTil((Timestamp) rs.get(MOTEPLAN_SLUTTDATO)).setHendelseId(hendelse).setAktorId(AktorId.of(AKTOERID)).setAktiv(aktiv);
}
use of no.nav.pto.veilarbportefolje.arenapakafka.arenaDTO.GruppeAktivitetSchedueldDTO in project veilarbportefolje by navikt.
the class GruppeAktivitetRepository method utledOgLagreGruppeaktiviteter.
public void utledOgLagreGruppeaktiviteter(AktorId aktorId, PersonId personId) {
LocalDate yesterday = LocalDate.now().minusDays(1);
List<GruppeAktivitetSchedueldDTO> gruppeAktiviteter = hentAktiveAktivteter(aktorId);
Timestamp nesteStart = gruppeAktiviteter.stream().filter(GruppeAktivitetSchedueldDTO::isAktiv).map(GruppeAktivitetSchedueldDTO::getAktivitetperiodeFra).filter(startDato -> startDato.toLocalDateTime().toLocalDate().isAfter(yesterday)).min(Comparator.naturalOrder()).orElse(null);
Timestamp nesteUtlopsdato = gruppeAktiviteter.stream().filter(GruppeAktivitetSchedueldDTO::isAktiv).map(GruppeAktivitetSchedueldDTO::getAktivitetperiodeTil).filter(utlopsDato -> utlopsDato.toLocalDateTime().toLocalDate().isAfter(yesterday)).min(Comparator.naturalOrder()).orElse(null);
boolean aktiv = (nesteUtlopsdato != null && gruppeAktiviteter.stream().anyMatch(GruppeAktivitetSchedueldDTO::isAktiv));
AktivitetStatus aktivitetStatus = new AktivitetStatus().setAktivitetType(AktivitetsType.gruppeaktivitet.name()).setAktiv(aktiv).setAktoerid(aktorId).setPersonid(personId).setNesteStart(nesteStart).setNesteUtlop(nesteUtlopsdato);
aktivitetDAO.upsertAktivitetStatus(aktivitetStatus);
}
Aggregations