Skip to content

Commit 740f7fa

Browse files
authored
Merge branch 'dev' into last-inn-oppfolgingsbruker-bug
2 parents e8fa466 + e69dac0 commit 740f7fa

File tree

12 files changed

+13
-159
lines changed

12 files changed

+13
-159
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@
188188
<dependency>
189189
<groupId>com.github.navikt</groupId>
190190
<artifactId>pto-schema</artifactId>
191-
<version>1.2023.10.20_06.13-e6b4845c2a39</version>
191+
<version>1.2025.01.13_12.58-3e81bd940198</version>
192192
</dependency>
193193

194194
<!-- Funksjonell programmering-->

src/main/java/no/nav/pto/veilarbportefolje/arbeidsliste/ArbeidslisteService.java

-34
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package no.nav.pto.veilarbportefolje.arbeidsliste;
22

3-
import io.getunleash.DefaultUnleash;
43
import io.vavr.control.Try;
54
import io.vavr.control.Validation;
65
import lombok.RequiredArgsConstructor;
@@ -9,7 +8,6 @@
98
import no.nav.common.types.identer.EnhetId;
109
import no.nav.common.types.identer.Fnr;
1110
import no.nav.pto.veilarbportefolje.auth.AuthUtils;
12-
import no.nav.pto.veilarbportefolje.config.FeatureToggle;
1311
import no.nav.pto.veilarbportefolje.domene.AktorClient;
1412
import no.nav.pto.veilarbportefolje.domene.value.NavKontor;
1513
import no.nav.pto.veilarbportefolje.domene.value.VeilederId;
@@ -26,7 +24,6 @@
2624
import static io.vavr.control.Validation.valid;
2725
import static java.lang.String.format;
2826
import static java.time.Instant.now;
29-
import static no.nav.pto.veilarbportefolje.util.SecureLog.secureLog;
3027

3128
@Slf4j
3229
@Service
@@ -36,7 +33,6 @@ public class ArbeidslisteService {
3633
private final ArbeidslisteRepositoryV2 arbeidslisteRepositoryV2;
3734
private final BrukerServiceV2 brukerServiceV2;
3835
private final OpensearchIndexerV2 opensearchIndexerV2;
39-
private final DefaultUnleash defaultUnleash;
4036

4137
public Try<Arbeidsliste> getArbeidsliste(Fnr fnr) {
4238
return arbeidslisteRepositoryV2.retrieveArbeidsliste(fnr);
@@ -86,11 +82,6 @@ public void slettArbeidsliste(Fnr fnr, Boolean slettFargekategori) {
8682
throw new SlettArbeidslisteException(String.format("Kunne ikke slette arbeidsliste. Årsak: fant ikke aktørId på fnr: %s", fnr.get()));
8783
}
8884

89-
if (FeatureToggle.skjulArbeidslistefunksjonalitet(defaultUnleash)) {
90-
log.info("Kunne ikke slette arbeidsliste. Årsak: arbeidslistefunksjonalitet er deaktivert.");
91-
throw new SlettArbeidslisteException("Kunne ikke slette arbeidsliste. Årsak: arbeidslistefunksjonalitet er deaktivert.");
92-
}
93-
9485
if (slettFargekategori) {
9586
log.info("Sletter arbeidsliste i ArbeidslisteService. (Har ikkje blitt stoppa av sjekk for skjulArbeidslistefunksjonalitet-toggle.)");
9687
slettArbeidsliste(aktoerId.get(), Optional.of(fnr), "ArbeidslisteService, 'slettArbeidsliste(Fnr fnr, Boolean slettFargekategori)'");
@@ -167,29 +158,4 @@ public void oppdaterEnhetPaaArbeidsliste(Fnr fnr, EnhetId enhetId, VeilederId ve
167158
arbeidslisteRepositoryV2.updateArbeidslisteUtenFargekategori(arbeidslisteDTO);
168159
}
169160
}
170-
171-
public boolean brukerHarByttetNavKontor(AktorId aktoerId) {
172-
Optional<String> navKontorForArbeidsliste = arbeidslisteRepositoryV2.hentNavKontorForArbeidsliste(aktoerId);
173-
174-
if (navKontorForArbeidsliste.isEmpty()) {
175-
secureLog.info("Bruker {} har ikke Nav-kontor på arbeidsliste", aktoerId.toString());
176-
return false;
177-
}
178-
179-
final Optional<String> navKontorForBruker = brukerServiceV2.hentNavKontor(aktoerId).map(NavKontor::getValue);
180-
if (navKontorForBruker.isEmpty()) {
181-
secureLog.error("Kunne ikke hente Nav-kontor fra db-link til arena for bruker {}", aktoerId.toString());
182-
return false;
183-
}
184-
185-
boolean navkontorForBrukerUlikNavkontorForArbeidsliste = !navKontorForBruker.orElseThrow().equals(navKontorForArbeidsliste.orElseThrow());
186-
187-
if (navkontorForBrukerUlikNavkontorForArbeidsliste) {
188-
secureLog.info("Bruker {} er på kontor {} mens arbeidslisten er lagret på et annet kontor {}", aktoerId.toString(), navKontorForBruker.get(), navKontorForArbeidsliste.get());
189-
} else {
190-
secureLog.info("Bruker {} er på kontor {} og arbeidslisten er lagret på samme kontor {}", aktoerId.toString(), navKontorForBruker.get(), navKontorForArbeidsliste.get());
191-
}
192-
193-
return navkontorForBrukerUlikNavkontorForArbeidsliste;
194-
}
195161
}

src/main/java/no/nav/pto/veilarbportefolje/arbeidssoeker/v2/ArbeidssoekerService.kt

+5-17
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package no.nav.pto.veilarbportefolje.arbeidssoeker.v2
22

3-
import io.getunleash.DefaultUnleash
43
import no.nav.common.types.identer.AktorId
54
import no.nav.common.types.identer.Fnr
65
import no.nav.paw.arbeidssokerregisteret.api.v1.Periode
7-
import no.nav.pto.veilarbportefolje.config.FeatureToggle
86
import no.nav.pto.veilarbportefolje.kafka.KafkaCommonNonKeyedConsumerService
97
import no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexerV2
108
import no.nav.pto.veilarbportefolje.persononinfo.PdlIdentRepository
@@ -50,17 +48,13 @@ class ArbeidssoekerService(
5048
private val opplysningerOmArbeidssoekerRepository: OpplysningerOmArbeidssoekerRepository,
5149
private val sisteArbeidssoekerPeriodeRepository: SisteArbeidssoekerPeriodeRepository,
5250
private val profileringRepository: ProfileringRepository,
53-
private val defaultUnleash: DefaultUnleash,
5451
private val arbeidssoekerDataRepository: ArbeidssoekerDataRepository,
5552
private val opensearchIndexerV2: OpensearchIndexerV2
5653
) {
5754

5855
@Transactional
5956
fun behandleKafkaMeldingLogikk(kafkaMelding: Periode) {
60-
if (!FeatureToggle.brukNyttArbeidssoekerregisterKafka(defaultUnleash)) {
61-
secureLog.info("Bryter for å lytte på kafkameldinger fra nytt arbeidssøkerregister er skrudd av. Ignorerer melding.")
62-
return
63-
}
57+
6458
val periodeId = kafkaMelding.id
6559
val identitetsnummer = kafkaMelding.identitetsnummer
6660

@@ -115,10 +109,7 @@ class ArbeidssoekerService(
115109

116110
@Transactional
117111
fun behandleKafkaMeldingLogikk(opplysninger: OpplysningerOmArbeidssoekerKafkaMelding) {
118-
if (!FeatureToggle.brukNyttArbeidssoekerregisterKafka(defaultUnleash)) {
119-
secureLog.info("Bryter for å lytte på kafkameldinger fra nytt arbeidssøkerregister er skrudd av. Ignorerer melding.")
120-
return
121-
}
112+
122113
val arbeidssoekerPeriodeId = opplysninger.periodeId
123114
val opplysningerOmArbeidssoekerId = opplysninger.id
124115

@@ -135,7 +126,7 @@ class ArbeidssoekerService(
135126
val fnr = sisteArbeidssoekerPeriode.fnr
136127
if (!pdlIdentRepository.erBrukerUnderOppfolging(fnr)) {
137128
secureLog.info(
138-
"Bruker med fnr ${fnr} er ikke under oppfølging, men har arbeidssøkerpeiode lagret. " +
129+
"Bruker med fnr $fnr er ikke under oppfølging, men har arbeidssøkerpeiode lagret. " +
139130
"Dette betyr at arbeidssøkerdata ikke har blitt slettet riktig når bruker gikk ut av oppfølging. " +
140131
"Ignorer melding, data må slettes manuelt og slettelogikk ved utgang av oppfølging bør kontrollsjekkes for feil."
141132
)
@@ -164,10 +155,7 @@ class ArbeidssoekerService(
164155

165156
@Transactional
166157
fun behandleKafkaMeldingLogikk(kafkaMelding: ProfileringKafkaMelding) {
167-
if (!FeatureToggle.brukNyttArbeidssoekerregisterKafka(defaultUnleash)) {
168-
secureLog.info("Bryter for å lytte på kafkameldinger fra nytt arbeidssøkerregister er skrudd av. Ignorerer melding.")
169-
return
170-
}
158+
171159
secureLog.info("Behandler endring på profilering for bruker med arbeidssoekerPeriodeId: ${kafkaMelding.periodeId}")
172160

173161
val sisteArbeidssoekerPeriode =
@@ -181,7 +169,7 @@ class ArbeidssoekerService(
181169
val fnr = sisteArbeidssoekerPeriode.fnr
182170
if (!pdlIdentRepository.erBrukerUnderOppfolging(fnr)) {
183171
secureLog.info(
184-
"Bruker med fnr ${fnr} er ikke under oppfølging, men har arbeidssøkerpeiode lagret. " +
172+
"Bruker med fnr $fnr er ikke under oppfølging, men har arbeidssøkerpeiode lagret. " +
185173
"Dette betyr at arbeidssøkerdata ikke har blitt slettet riktig når bruker gikk ut av oppfølging. " +
186174
"Ignorer melding, data må slettes manuelt og slettelogikk ved utgang av oppfølging bør kontrollsjekkes for feil."
187175
)

src/main/java/no/nav/pto/veilarbportefolje/config/FeatureToggle.java

-22
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,14 @@ private FeatureToggle() {
1212
public static final String ALIAS_INDEKSERING = "veilarbportefolje.aliasIndeksering";
1313
public static final String KAFKA_AIVEN_CONSUMERS_STOP = "veilarbportefolje.kafka_aiven_consumers_stop";
1414
public static final String KAFKA_SISTE_14A_STOP = "veilarbportefolje.kafka_siste_14a_stop";
15-
public static final String OPPFOLGINGS_BRUKER = "veilarbportefolje.oppfolgingsbruker_pa_postgres";
1615
public static final String BRUK_FILTER_FOR_BRUKERINNSYN_TILGANGER = "veilarbportefolje.bruk_filter_for_brukerinnsyn_tilganger";
17-
1816
public static final String STOPP_OPENSEARCH_INDEKSERING = "veilarbportefolje.stopp_opensearch_indeksering";
19-
public static final String BRUK_NYTT_ARBEIDSSOEKERREGISTER = "veilarbportefolje.bruk_nytt_arbeidssoekerregister";
20-
public static final String BRUK_NYTT_ARBEIDSSOEKERREGISTER_KAFKA = "veilarbportefolje.bruk_nytt_arbeidssoekerregister_kafka";
21-
22-
public static final String SKJUL_ARBEIDSLISTEFUNKSJONALITET = "veilarbportefoljeflatefs.skjul_arbeidslistefunksjonalitet";
23-
2417
public static final String STOPP_KONSUMERING_FRA_PORTEFOLJE_HENDELSESFILTER_TOPIC = "veilarbportefolje.stopp_konsumering_fra_portefolje_hendelsesfilter_topic";
2518

2619
public static boolean brukAvAliasIndeksering(DefaultUnleash defaultUnleash) {
2720
return defaultUnleash.isEnabled(FeatureToggle.ALIAS_INDEKSERING);
2821
}
2922

30-
public static boolean brukOppfolgingsbrukerPaPostgres(DefaultUnleash defaultUnleash) {
31-
return defaultUnleash.isEnabled(FeatureToggle.OPPFOLGINGS_BRUKER);
32-
}
3323

3424
public static boolean brukFilterForBrukerinnsynTilganger(DefaultUnleash defaultUnleash) {
3525
return defaultUnleash.isEnabled(FeatureToggle.BRUK_FILTER_FOR_BRUKERINNSYN_TILGANGER);
@@ -38,16 +28,4 @@ public static boolean brukFilterForBrukerinnsynTilganger(DefaultUnleash defaultU
3828
public static boolean stoppOpensearchIndeksering(DefaultUnleash defaultUnleash) {
3929
return defaultUnleash.isEnabled(FeatureToggle.STOPP_OPENSEARCH_INDEKSERING);
4030
}
41-
42-
public static boolean brukNyttArbeidssoekerregister(DefaultUnleash defaultUnleash) {
43-
return defaultUnleash.isEnabled(FeatureToggle.BRUK_NYTT_ARBEIDSSOEKERREGISTER);
44-
}
45-
46-
public static boolean brukNyttArbeidssoekerregisterKafka(DefaultUnleash defaultUnleash) {
47-
return defaultUnleash.isEnabled(FeatureToggle.BRUK_NYTT_ARBEIDSSOEKERREGISTER_KAFKA);
48-
}
49-
50-
public static boolean skjulArbeidslistefunksjonalitet(DefaultUnleash defaultUnleash) {
51-
return defaultUnleash.isEnabled(FeatureToggle.SKJUL_ARBEIDSLISTEFUNKSJONALITET);
52-
}
5331
}

src/main/java/no/nav/pto/veilarbportefolje/opensearch/OpensearchIndexer.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package no.nav.pto.veilarbportefolje.opensearch;
22

3-
import io.getunleash.DefaultUnleash;
43
import lombok.RequiredArgsConstructor;
54
import lombok.SneakyThrows;
65
import lombok.extern.slf4j.Slf4j;
76
import no.nav.common.types.identer.AktorId;
8-
import no.nav.pto.veilarbportefolje.config.FeatureToggle;
7+
98
import no.nav.pto.veilarbportefolje.opensearch.domene.OppfolgingsBruker;
109
import no.nav.pto.veilarbportefolje.postgres.BrukerRepositoryV2;
1110
import no.nav.pto.veilarbportefolje.postgres.PostgresOpensearchMapper;
@@ -38,7 +37,6 @@ public class OpensearchIndexer {
3837
private final IndexName alias;
3938
private final PostgresOpensearchMapper postgresOpensearchMapper;
4039
private final OpensearchIndexerV2 opensearchIndexerV2;
41-
private final DefaultUnleash defaultUnleash;
4240

4341
public void indekser(AktorId aktoerId) {
4442
Optional<OppfolgingsBruker> bruker;
@@ -127,9 +125,8 @@ private void flettInnNodvendigData(List<OppfolgingsBruker> brukere) {
127125
postgresOpensearchMapper.flettInnTiltakshendelser(brukere);
128126
postgresOpensearchMapper.flettInnSiste14aVedtak(brukere);
129127
postgresOpensearchMapper.flettInnEldsteUtgattVarsel(brukere);
130-
if (FeatureToggle.brukNyttArbeidssoekerregister(defaultUnleash)) {
131-
postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere);
132-
}
128+
129+
postgresOpensearchMapper.flettInnOpplysningerOmArbeidssoekerData(brukere);
133130

134131
if (brukere.isEmpty()) {
135132
log.warn("Skriver ikke til index da alle brukere i batchen er ugyldige");

src/main/java/no/nav/pto/veilarbportefolje/oppfolging/VeilederTilordnetService.java

-12
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package no.nav.pto.veilarbportefolje.oppfolging;
22

3-
import io.getunleash.DefaultUnleash;
43
import lombok.RequiredArgsConstructor;
54
import lombok.extern.slf4j.Slf4j;
65
import no.nav.common.types.identer.AktorId;
76
import no.nav.common.types.identer.Fnr;
8-
import no.nav.pto.veilarbportefolje.arbeidsliste.ArbeidslisteService;
9-
import no.nav.pto.veilarbportefolje.config.FeatureToggle;
107
import no.nav.pto.veilarbportefolje.domene.value.VeilederId;
118
import no.nav.pto.veilarbportefolje.fargekategori.FargekategoriService;
129
import no.nav.pto.veilarbportefolje.huskelapp.HuskelappService;
@@ -26,12 +23,10 @@
2623
public class VeilederTilordnetService extends KafkaCommonNonKeyedConsumerService<VeilederTilordnetDTO> {
2724
private final OppfolgingService oppfolgingService;
2825
private final OppfolgingRepositoryV2 oppfolgingRepositoryV2;
29-
private final ArbeidslisteService arbeidslisteService;
3026
private final HuskelappService huskelappService;
3127
private final FargekategoriService fargekategoriService;
3228
private final OpensearchIndexerV2 opensearchIndexerV2;
3329
private final PdlIdentRepository pdlIdentRepository;
34-
private final DefaultUnleash defaultUnleash;
3530

3631
@Override
3732
public void behandleKafkaMeldingLogikk(VeilederTilordnetDTO dto) {
@@ -50,13 +45,6 @@ public void tilordneVeileder(AktorId aktoerId, VeilederId veilederId) {
5045

5146
Optional<Fnr> maybeFnr = Optional.ofNullable(pdlIdentRepository.hentFnrForAktivBruker(aktoerId));
5247

53-
if (!FeatureToggle.skjulArbeidslistefunksjonalitet(defaultUnleash)) {
54-
final boolean harByttetNavKontorArbeidsliste = arbeidslisteService.brukerHarByttetNavKontor(aktoerId);
55-
if (harByttetNavKontorArbeidsliste) {
56-
arbeidslisteService.slettArbeidsliste(aktoerId, maybeFnr, "VeilederTilodnetService, 'tilordneVeileder(AktorId aktoerId, VeilederId veilederId)'");
57-
}
58-
}
59-
6048
final boolean brukerHarByttetNavkontorHuskelapp = huskelappService.brukerHarHuskelappPaForrigeNavkontor(aktoerId, maybeFnr);
6149
if (brukerHarByttetNavkontorHuskelapp) {
6250
huskelappService.deaktivereAlleHuskelapperPaaBruker(aktoerId, maybeFnr);

src/main/java/no/nav/pto/veilarbportefolje/oppfolgingsbruker/OppfolgingsbrukerServiceV2.java

+4-22
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package no.nav.pto.veilarbportefolje.oppfolgingsbruker;
22

3-
import io.getunleash.DefaultUnleash;
43
import lombok.RequiredArgsConstructor;
54
import lombok.extern.slf4j.Slf4j;
65
import no.nav.common.types.identer.AktorId;
@@ -13,11 +12,8 @@
1312
import no.nav.pto.veilarbportefolje.huskelapp.HuskelappService;
1413
import no.nav.pto.veilarbportefolje.kafka.KafkaCommonNonKeyedConsumerService;
1514
import no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexer;
16-
import no.nav.pto.veilarbportefolje.opensearch.OpensearchIndexerV2;
1715
import no.nav.pto.veilarbportefolje.persononinfo.PdlIdentRepository;
1816
import no.nav.pto.veilarbportefolje.service.BrukerServiceV2;
19-
import no.nav.pto.veilarbportefolje.vedtakstotte.Kafka14aStatusendring;
20-
import no.nav.pto.veilarbportefolje.vedtakstotte.Utkast14aStatusRepository;
2117
import no.nav.pto_schema.enums.arena.Hovedmaal;
2218
import no.nav.pto_schema.enums.arena.Kvalifiseringsgruppe;
2319
import no.nav.pto_schema.enums.arena.Rettighetsgruppe;
@@ -30,7 +26,6 @@
3026
import java.util.Objects;
3127
import java.util.Optional;
3228

33-
import static no.nav.pto.veilarbportefolje.config.FeatureToggle.brukOppfolgingsbrukerPaPostgres;
3429
import static no.nav.pto.veilarbportefolje.util.SecureLog.secureLog;
3530

3631
@Slf4j
@@ -39,10 +34,7 @@
3934
public class OppfolgingsbrukerServiceV2 extends KafkaCommonNonKeyedConsumerService<EndringPaaOppfoelgingsBrukerV2> {
4035
private final OppfolgingsbrukerRepositoryV3 oppfolgingsbrukerRepositoryV3;
4136
private final BrukerServiceV2 brukerServiceV2;
42-
private final OpensearchIndexerV2 opensearchIndexerV2;
4337
private final OpensearchIndexer opensearchIndexer;
44-
private final Utkast14aStatusRepository utkast14aStatusRepository;
45-
private final DefaultUnleash defaultUnleash;
4638
private final VeilarbarenaClient veilarbarenaClient;
4739
private final PdlIdentRepository pdlIdentRepository;
4840
private final VeilarbVeilederClient veilarbVeilederClient;
@@ -82,11 +74,9 @@ public void behandleKafkaMeldingLogikk(EndringPaaOppfoelgingsBrukerV2 kafkaMeldi
8274
brukerServiceV2.hentAktorId(Fnr.of(fodselsnummer))
8375
.ifPresent(id -> {
8476
secureLog.info("Fikk endring pa oppfolgingsbruker (V2): {}, topic: aapen-fo-endringPaaOppfoelgingsBruker-v2", id);
85-
if (brukOppfolgingsbrukerPaPostgres(defaultUnleash)) {
86-
opensearchIndexer.indekser(id);
87-
} else {
88-
oppdaterOpensearch(id, oppfolgingsbruker);
89-
}
77+
78+
opensearchIndexer.indekser(id);
79+
9080
});
9181
}
9282

@@ -96,7 +86,7 @@ private void oppdaterEnhetVedKontorbytteHuskelappFargekategoriArbeidsliste(Fnr f
9686
aktorIdForBruker.ifPresent(aktorId -> {
9787
Optional<NavKontor> navKontorForBruker = brukerServiceV2.hentNavKontor(fnr);
9888
if (navKontorForBruker.isPresent() && !Objects.equals(navKontorForBruker.get().getValue(), enhetForBruker.get())) {
99-
brukerServiceV2.hentVeilederForBruker(aktorId).ifPresent( veilederForBruker -> {
89+
brukerServiceV2.hentVeilederForBruker(aktorId).ifPresent(veilederForBruker -> {
10090
List<String> veiledereMedTilgangTilEnhet = veilarbVeilederClient.hentVeilederePaaEnhetMachineToMachine(enhetForBruker);
10191
boolean brukerBlirAutomatiskTilordnetVeileder = veiledereMedTilgangTilEnhet.contains(veilederForBruker.getValue());
10292
if (brukerBlirAutomatiskTilordnetVeileder) {
@@ -112,14 +102,6 @@ private void oppdaterEnhetVedKontorbytteHuskelappFargekategoriArbeidsliste(Fnr f
112102
}
113103
}
114104

115-
private void oppdaterOpensearch(AktorId aktorId, OppfolgingsbrukerEntity oppfolgingsbruker) {
116-
String utkast14aStatus = utkast14aStatusRepository.hentStatusEndringForBruker(aktorId.get())
117-
.map(Kafka14aStatusendring::getVedtakStatusEndring)
118-
.map(Kafka14aStatusendring.Status::toString)
119-
.orElse(null);
120-
opensearchIndexerV2.updateOppfolgingsbruker(aktorId, oppfolgingsbruker, utkast14aStatus);
121-
}
122-
123105
public void hentOgLagreOppfolgingsbruker(AktorId aktorId) {
124106
Fnr fnr = pdlIdentRepository.hentFnrForAktivBruker(aktorId);
125107

0 commit comments

Comments
 (0)