|
1 | 1 | package no.nav.ung.sak.hendelsemottak.tjenester;
|
2 | 2 |
|
3 |
| -import java.time.LocalDate; |
4 |
| -import java.time.format.DateTimeFormatter; |
5 |
| -import java.util.HashMap; |
6 |
| -import java.util.List; |
7 |
| -import java.util.Map; |
8 |
| -import java.util.Objects; |
9 |
| -import java.util.Optional; |
10 |
| - |
11 |
| -import org.slf4j.Logger; |
12 |
| -import org.slf4j.LoggerFactory; |
13 |
| - |
14 | 3 | import jakarta.enterprise.context.ApplicationScoped;
|
15 | 4 | import jakarta.inject.Inject;
|
16 |
| -import no.nav.k9.felles.integrasjon.pdl.Doedsfall; |
17 |
| -import no.nav.k9.felles.integrasjon.pdl.DoedsfallResponseProjection; |
18 |
| -import no.nav.k9.felles.integrasjon.pdl.ForelderBarnRelasjonResponseProjection; |
19 |
| -import no.nav.k9.felles.integrasjon.pdl.HentPersonQueryRequest; |
20 |
| -import no.nav.k9.felles.integrasjon.pdl.PdlKlient; |
21 |
| -import no.nav.k9.felles.integrasjon.pdl.Person; |
22 |
| -import no.nav.k9.felles.integrasjon.pdl.PersonResponseProjection; |
| 5 | +import no.nav.k9.felles.integrasjon.pdl.*; |
23 | 6 | import no.nav.ung.kodeverk.behandling.BehandlingÅrsakType;
|
24 | 7 | import no.nav.ung.sak.behandlingslager.behandling.Behandling;
|
25 | 8 | import no.nav.ung.sak.behandlingslager.behandling.personopplysning.PersonopplysningEntitet;
|
|
30 | 13 | import no.nav.ung.sak.behandlingslager.perioder.UngdomsprogramPeriodeRepository;
|
31 | 14 | import no.nav.ung.sak.kontrakt.hendelser.Hendelse;
|
32 | 15 | import no.nav.ung.sak.typer.AktørId;
|
| 16 | +import org.slf4j.Logger; |
| 17 | +import org.slf4j.LoggerFactory; |
| 18 | + |
| 19 | +import java.time.LocalDate; |
| 20 | +import java.time.format.DateTimeFormatter; |
| 21 | +import java.util.*; |
33 | 22 |
|
34 | 23 | @ApplicationScoped
|
35 | 24 | @HendelseTypeRef("PDL_DØDSFALL")
|
36 | 25 | public class PdlDødsfallFagsakTilVurderingUtleder implements FagsakerTilVurderingUtleder {
|
37 | 26 |
|
38 | 27 |
|
39 |
| - private static final Logger logger = LoggerFactory.getLogger(PdlFødselFagsakTilVurderingUtleder.class); |
| 28 | + private static final Logger logger = LoggerFactory.getLogger(PdlDødsfallFagsakTilVurderingUtleder.class); |
40 | 29 | private BehandlingRepository behandlingRepository;
|
41 | 30 | private UngdomsprogramPeriodeRepository ungdomsprogramPeriodeRepository;
|
42 | 31 | private FinnFagsakerForAktørTjeneste finnFagsakerForAktørTjeneste;
|
@@ -72,23 +61,30 @@ public class PdlDødsfallFagsakTilVurderingUtleder implements FagsakerTilVurderi
|
72 | 61 | var personInfo = hentPersonInformasjon(aktør);
|
73 | 62 | var aktuellDato = finnAktuellDato(personInfo);
|
74 | 63 |
|
75 |
| - // Sjekker om det gjelder dødshendelse for søker |
76 |
| - var fagsakForAktør = finnFagsakerForAktørTjeneste.hentRelevantFagsakForAktørSomSøker(aktør, aktuellDato); |
77 |
| - if (fagsakForAktør.isPresent()) { |
78 |
| - if (deltarIProgramPåHendelsedato(fagsakForAktør.get(), aktuellDato, hendelseId) && erNyInformasjonIHendelsen(fagsakForAktør.get(), aktør, aktuellDato, hendelseId)) { |
79 |
| - fagsakÅrsakMap.put(fagsakForAktør.get(), BehandlingÅrsakType.RE_HENDELSE_DØD_FORELDER); |
80 |
| - break; |
81 |
| - } |
82 |
| - } |
| 64 | + fagsakÅrsakMap.putAll(finnPåvirketFagsak(aktør, aktuellDato, hendelseId)); |
| 65 | + } |
| 66 | + |
| 67 | + return fagsakÅrsakMap; |
| 68 | + } |
| 69 | + |
| 70 | + private HashMap<Fagsak, BehandlingÅrsakType> finnPåvirketFagsak(AktørId aktør, LocalDate aktuellDato, String hendelseId) { |
| 71 | + var fagsakÅrsakMap = new HashMap<Fagsak, BehandlingÅrsakType>(); |
83 | 72 |
|
84 |
| - // Sjekker om det gjelder dødshendelse for barn av søker |
85 |
| - finnFagsakerForAktørTjeneste.hentRelevantFagsakForAktørSomBarnAvSøker(aktør, aktuellDato) |
86 |
| - .stream() |
87 |
| - .filter(f -> deltarIProgramPåHendelsedato(f, aktuellDato, hendelseId)) |
88 |
| - .filter(f -> erNyInformasjonIHendelsen(f, aktør, aktuellDato, hendelseId)) |
89 |
| - .forEach(f -> fagsakÅrsakMap.put(f, BehandlingÅrsakType.RE_HENDELSE_DØD_BARN)); |
| 73 | + // Sjekker om det gjelder dødshendelse for søker |
| 74 | + var fagsakForAktør = finnFagsakerForAktørTjeneste.hentRelevantFagsakForAktørSomSøker(aktør, aktuellDato); |
| 75 | + if (fagsakForAktør.isPresent()) { |
| 76 | + if (deltarIProgramPåHendelsedato(fagsakForAktør.get(), aktuellDato, hendelseId) && erNyInformasjonIHendelsen(fagsakForAktør.get(), aktør, aktuellDato, hendelseId)) { |
| 77 | + fagsakÅrsakMap.put(fagsakForAktør.get(), BehandlingÅrsakType.RE_HENDELSE_DØD_FORELDER); |
| 78 | + } |
90 | 79 | }
|
91 | 80 |
|
| 81 | + // Sjekker om det gjelder dødshendelse for barn av søker |
| 82 | + finnFagsakerForAktørTjeneste.hentRelevantFagsakForAktørSomBarnAvSøker(aktør, aktuellDato) |
| 83 | + .stream() |
| 84 | + .filter(f -> deltarIProgramPåHendelsedato(f, aktuellDato, hendelseId)) |
| 85 | + .filter(f -> erNyInformasjonIHendelsen(f, aktør, aktuellDato, hendelseId)) |
| 86 | + .forEach(f -> fagsakÅrsakMap.put(f, BehandlingÅrsakType.RE_HENDELSE_DØD_BARN)); |
| 87 | + |
92 | 88 | return fagsakÅrsakMap;
|
93 | 89 | }
|
94 | 90 |
|
|
0 commit comments