Skip to content

Commit 61cc3d4

Browse files
committed
Revert "Ung fordel (#112)"
This reverts commit 95d97f3
1 parent 5ac7070 commit 61cc3d4

File tree

134 files changed

+843
-8497
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+843
-8497
lines changed

.run/Ung-sak JettyDevServer.run.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="Ung-sak JettyDevServer" type="Application" factoryName="Application">
3-
<option name="ALTERNATIVE_JRE_PATH" value="temurin-21" />
3+
<option name="ALTERNATIVE_JRE_PATH" value="21" />
44
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
55
<option name="MAIN_CLASS_NAME" value="no.nav.ung.sak.web.server.jetty.JettyDevServer" />
66
<module name="web-webapp" />

behandlingslager/domene/src/main/java/no/nav/ung/sak/behandlingslager/behandling/motattdokument/MottattDokument.java

+21-5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
import java.time.LocalDateTime;
99
import java.util.Objects;
1010

11+
import org.hibernate.annotations.DynamicInsert;
12+
import org.hibernate.annotations.DynamicUpdate;
13+
import org.hibernate.engine.jdbc.ClobProxy;
14+
1115
import jakarta.persistence.AttributeOverride;
1216
import jakarta.persistence.AttributeOverrides;
1317
import jakarta.persistence.Column;
@@ -22,11 +26,6 @@
2226
import jakarta.persistence.Table;
2327
import jakarta.persistence.Transient;
2428
import jakarta.persistence.Version;
25-
26-
import org.hibernate.annotations.DynamicInsert;
27-
import org.hibernate.annotations.DynamicUpdate;
28-
import org.hibernate.engine.jdbc.ClobProxy;
29-
3029
import no.nav.ung.kodeverk.dokument.Brevkode;
3130
import no.nav.ung.kodeverk.dokument.DokumentStatus;
3231
import no.nav.ung.sak.behandlingslager.BaseEntitet;
@@ -75,6 +74,9 @@ public class MottattDokument extends BaseEntitet {
7574
@Column(name = "kildesystem")
7675
private String kildesystem;
7776

77+
@Column(name = "kanalreferanse", updatable = false)
78+
private String kanalreferanse;
79+
7880
/** Arbeidsgiver referanse - orgnummer eller privat arbeidsgiver fnr. */
7981
@Column(name = "arbeidsgiver")
8082
private String arbeidsgiver;
@@ -140,6 +142,10 @@ public String getKildesystem() {
140142
return kildesystem;
141143
}
142144

145+
public String getKanalreferanse() {
146+
return kanalreferanse;
147+
}
148+
143149
public String getFeilmelding() {
144150
return feilmelding;
145151
}
@@ -217,6 +223,10 @@ public void setKildesystem(String systemnavn) {
217223
this.kildesystem = systemnavn;
218224
}
219225

226+
public void setKanalreferanse(String kanalreferanse) {
227+
this.kanalreferanse = kanalreferanse;
228+
}
229+
220230
public void setFeilmeldingOgOppdaterStatus(String feilmelding) {
221231
this.feilmelding = feilmelding;
222232
setStatus(feilmelding == null ? DokumentStatus.GYLDIG : DokumentStatus.UGYLDIG);
@@ -265,6 +275,11 @@ public Builder medMottattTidspunkt(LocalDateTime mottattTidspunkt) {
265275
return this;
266276
}
267277

278+
public Builder medKanalreferanse(String kanalreferanse) {
279+
mottatteDokumentMal.kanalreferanse = kanalreferanse;
280+
return this;
281+
}
282+
268283
public Builder medStatus(DokumentStatus status) {
269284
mottatteDokumentMal.setStatus(status);
270285
return this;
@@ -332,6 +347,7 @@ public int hashCode() {
332347
@Override
333348
public String toString() {
334349
return getClass().getSimpleName() + "<journalpostId=" + journalpostId
350+
+ ", kanalReferanse=" + kanalreferanse
335351
+ ", arbeidsgiver=" + arbeidsgiver
336352
+ ", type=" + type
337353
+ ", journalpostId=" + journalpostId

deploy/dev-gcp.yml

-14
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ spec:
2222
timeout: 5
2323
periodSeconds: 10
2424
failureThreshold: 27
25-
preStopHook:
26-
http:
27-
path: /ung/sak/internal/health/preStop
2825
replicas:
2926
min: 2
3027
max: 2
@@ -92,7 +89,6 @@ spec:
9289
- host: "pdl-api.dev-fss-pub.nais.io"
9390
- host: "saf-q2.dev-fss-pub.nais.io"
9491
- host: "norg2.dev-fss-pub.nais.io"
95-
- host: "dokarkiv-q2.dev-fss-pub.nais.io"
9692
inbound:
9793
rules:
9894
- application: ung-sak
@@ -155,12 +151,6 @@ spec:
155151
value: omsorgspenger.k9-rapid-v2
156152
- name: KAFKA_INFOTRYGDFEED_AIVEN_TOPIC
157153
value: k9saksbehandling.k9-infotrygd-feed-hendelse
158-
- name: HENDELSE_PERSON_LEESAH_TOPIC
159-
value: pdl.leesah-v1
160-
- name: KAFKA_JOURNAL_TOPIC
161-
value: teamdokumenthandtering.aapen-dok-journalfoering
162-
163-
164154

165155
# Baseurl
166156
- name: SCHEMA_REGISTRY_URL
@@ -251,8 +241,6 @@ spec:
251241
value: api://dev-fss.teamdokumenthandtering.saf/.default
252242
- name: DOKARKIV_URL
253243
value: https://dokarkiv-q2.dev-fss-pub.nais.io/rest/journalpostapi/v1
254-
- name: DOKARKIV_BASE_URL
255-
value: https://dokarkiv-q2.dev-fss-pub.nais.io
256244
- name: DOKARKIV_SCOPE
257245
value: api://dev-fss.teamdokumenthandtering.dokarkiv/.default
258246

@@ -274,8 +262,6 @@ spec:
274262
# Konfigurasjoner
275263
- name: FLYWAY_REPAIR_ON_FAIL
276264
value: "false"
277-
- name: INNSENDING_HENDELSER_FORSINKELSE
278-
value: "PT1M"
279265

280266
# Audit logging
281267
- name: AUDITLOGGER_ENABLED

deploy/prod-gcp.yml

-8
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ spec:
2222
timeout: 5
2323
periodSeconds: 10
2424
failureThreshold: 27
25-
preStopHook:
26-
http:
27-
path: /ung/sak/internal/health/preStop
2825
replicas:
2926
min: 2
3027
max: 2
@@ -92,7 +89,6 @@ spec:
9289
- host: "pdl-api.prod-fss-pub.nais.io"
9390
- host: "saf.prod-fss-pub.nais.io"
9491
- host: "norg2.prod-fss-pub.nais.io"
95-
- host: "dokarkiv.prod-fss-pub.nais.io"
9692
inbound:
9793
rules:
9894
- application: ung-sak
@@ -237,8 +233,6 @@ spec:
237233
value: api://prod-fss.teamdokumenthandtering.saf/.default
238234
- name: DOKARKIV_URL
239235
value: https://dokarkiv.prod-fss-pub.nais.io/rest/journalpostapi/v1
240-
- name: DOKARKIV_BASE_URL
241-
value: https://dokarkiv.prod-fss-pub.nais.io
242236
- name: DOKARKIV_SCOPE
243237
value: api://prod-fss.teamdokumenthandtering.dokarkiv/.default
244238

@@ -261,8 +255,6 @@ spec:
261255
# Konfigurasjoner
262256
- name: FLYWAY_REPAIR_ON_FAIL
263257
value: "false"
264-
- name: INNSENDING_HENDELSER_FORSINKELSE
265-
value: "PT1H"
266258

267259
# Audit logging
268260
- name: AUDITLOGGER_ENABLED

domenetjenester/mottak/src/main/java/no/nav/ung/sak/mottak/MottattDokumentSorterer.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
import no.nav.ung.sak.behandlingslager.behandling.motattdokument.MottattDokument;
66

77
class MottattDokumentSorterer {
8+
private static Comparator<String> nullSafeStringComparator = Comparator.nullsFirst(String::compareToIgnoreCase);
89

910
private MottattDokumentSorterer() {
1011
// skjul public constructor
1112
}
1213

1314
static Comparator<MottattDokument> sorterMottattDokument() {
14-
return Comparator.comparing(MottattDokument::getMottattTidspunkt);
15+
return Comparator.comparing(MottattDokument::getMottattDato)
16+
.thenComparing(MottattDokument::getKanalreferanse, nullSafeStringComparator);
1517
}
1618
}

domenetjenester/mottak/src/main/java/no/nav/ung/sak/mottak/dokumentmottak/InngåendeSaksdokument.java

+10
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public class InngåendeSaksdokument {
1717
private Boolean elektroniskSøknad;
1818
private String payload;
1919
private UUID forsendelseId;
20+
private String kanalreferanse;
2021
private String journalEnhet;
2122
private Brevkode type;
2223
private FagsakYtelseType fagsakYtelseType;
@@ -57,6 +58,10 @@ public UUID getForsendelseId() {
5758
return forsendelseId;
5859
}
5960

61+
public String getKanalreferanse() {
62+
return kanalreferanse;
63+
}
64+
6065
public String getJournalEnhet() {
6166
return journalEnhet;
6267
}
@@ -109,6 +114,11 @@ public static class Builder {
109114
return this;
110115
}
111116

117+
public InngåendeSaksdokument.Builder medKanalreferanse(String kanalreferanse) {
118+
this.kladd.kanalreferanse = kanalreferanse;
119+
return this;
120+
}
121+
112122
public InngåendeSaksdokument.Builder medJournalførendeEnhet(String journalEnhet) {
113123
this.kladd.journalEnhet = journalEnhet;
114124
return this;

domenetjenester/mottak/src/main/java/no/nav/ung/sak/mottak/dokumentmottak/SaksbehandlingDokumentmottakTjeneste.java

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ public void dokumenterAnkommet(Collection<InngåendeSaksdokument> saksdokumenter
6868
.medFagsakId(saksdokument.getFagsakId());
6969

7070
builder.medMottattTidspunkt(mottattTidspunkt);
71+
builder.medKanalreferanse(saksdokument.getKanalreferanse());
7172

7273
if (saksdokument.getJournalpostId() != null) {
7374
builder.medJournalPostId(new JournalpostId(saksdokument.getJournalpostId().getVerdi()));

domenetjenester/mottak/src/test/java/no/nav/ung/sak/mottak/MottattDokumentSortererTest.java

+55-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package no.nav.ung.sak.mottak;
22

33

4-
import java.time.LocalDateTime;
4+
import java.time.LocalDate;
55
import java.util.List;
66
import java.util.stream.Collectors;
77

@@ -12,19 +12,45 @@
1212

1313
public class MottattDokumentSortererTest {
1414

15+
@Test
16+
public void skal_sortere_etter_mottatt_dag_og_kanalref_når_dag_er_lik() {
17+
// Arrange
18+
MottattDokument.Builder builder = new MottattDokument.Builder();
19+
builder
20+
.medMottattDato(LocalDate.now())
21+
.medFagsakId(41337L)
22+
.medKanalreferanse("AR307765531");
23+
24+
MottattDokument første = builder.build();
25+
26+
27+
MottattDokument.Builder builder2 = new MottattDokument.Builder();
28+
builder2.medMottattDato(LocalDate.now())
29+
.medFagsakId(41337L)
30+
.medKanalreferanse("AR317765531");
31+
MottattDokument andre = builder2.build();
32+
33+
List<MottattDokument> dokumenter = List.of(andre, første);
34+
35+
// Act
36+
List<MottattDokument> sortert = dokumenter.stream().sorted(MottattDokumentSorterer.sorterMottattDokument()).collect(Collectors.toList());
37+
38+
// Assert
39+
Assertions.assertThat(sortert).containsExactly(første, andre);
40+
}
1541

1642
@Test
1743
public void skal_sortere_etter_mottatt_dag_når_den_er_ulik() {
1844
// Arrange
1945
MottattDokument.Builder builder = new MottattDokument.Builder();
2046
builder
21-
.medMottattTidspunkt(LocalDateTime.now())
47+
.medMottattDato(LocalDate.now())
2248
.medFagsakId(41337L);
2349

2450
MottattDokument første = builder.build();
2551

2652
MottattDokument.Builder builder2 = new MottattDokument.Builder();
27-
builder2.medMottattTidspunkt(LocalDateTime.now().plusDays(1))
53+
builder2.medMottattDato(LocalDate.now().plusDays(1))
2854
.medFagsakId(41337L);
2955
MottattDokument andre = builder2.build();
3056

@@ -37,4 +63,30 @@ public class MottattDokumentSortererTest {
3763
Assertions.assertThat(sortert).containsExactly(første, andre);
3864
}
3965

66+
@Test
67+
public void skal_ikke_feile_når_kanalref_er_null() {
68+
// Arrange
69+
MottattDokument.Builder builder = new MottattDokument.Builder();
70+
builder
71+
.medMottattDato(LocalDate.now())
72+
.medFagsakId(41337L)
73+
.medKanalreferanse(null);
74+
75+
MottattDokument første = builder.build();
76+
77+
78+
MottattDokument.Builder builder2 = new MottattDokument.Builder();
79+
builder2.medMottattDato(LocalDate.now())
80+
.medFagsakId(41337L)
81+
.medKanalreferanse("AR317765531");
82+
MottattDokument andre = builder2.build();
83+
84+
List<MottattDokument> dokumenter = List.of(andre, første);
85+
86+
// Act
87+
List<MottattDokument> sortert = dokumenter.stream().sorted(MottattDokumentSorterer.sorterMottattDokument()).collect(Collectors.toList());
88+
89+
// Assert
90+
Assertions.assertThat(sortert).containsExactly(første, andre);
91+
}
4092
}

domenetjenester/produksjonsstyring/src/main/java/no/nav/ung/sak/produksjonsstyring/behandlingenhet/EnhetsTjeneste.java

+19-16
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@
1616
import no.nav.k9.felles.integrasjon.arbeidsfordeling.rest.ArbeidsfordelingRequest;
1717
import no.nav.k9.felles.integrasjon.arbeidsfordeling.rest.ArbeidsfordelingResponse;
1818
import no.nav.k9.felles.integrasjon.arbeidsfordeling.rest.ArbeidsfordelingRestKlient;
19-
import no.nav.ung.kodeverk.behandling.BehandlingTema;
2019
import no.nav.ung.kodeverk.behandling.BehandlingType;
2120
import no.nav.ung.kodeverk.behandling.FagsakYtelseType;
2221
import no.nav.ung.kodeverk.person.Diskresjonskode;
23-
import no.nav.ung.kodeverk.produksjonsstyring.OmrådeTema;
2422
import no.nav.ung.kodeverk.produksjonsstyring.OrganisasjonsEnhet;
2523
import no.nav.ung.sak.behandlingslager.aktør.GeografiskTilknytning;
2624
import no.nav.ung.sak.domene.person.tps.TpsTjeneste;
@@ -35,6 +33,10 @@ static class EnhetsTjenesteData {
3533
OrganisasjonsEnhet enhetKlage;
3634
List<OrganisasjonsEnhet> alleBehandlendeEnheter;
3735
LocalDate sisteInnhenting = LocalDate.MIN;
36+
37+
Optional<OrganisasjonsEnhet> finnOrganisasjonsEnhet(String enhetId) {
38+
return alleBehandlendeEnheter.stream().filter(e -> enhetId.equals(e.getEnhetId())).findFirst();
39+
}
3840
}
3941

4042
private static final String NK_ENHET_ID = "4292";
@@ -77,20 +79,21 @@ Optional<OrganisasjonsEnhet> oppdaterEnhetSjekkOppgittePersoner(FagsakYtelseType
7779
return Optional.empty();
7880
}
7981

80-
public List<OrganisasjonsEnhet> hentFordelingEnhetId(OmrådeTema tema, BehandlingTema behandlingsTema, GeografiskTilknytning geo) {
81-
var request = ArbeidsfordelingRequest.ny()
82-
.medTema(tema.getOffisiellKode())
83-
.medBehandlingstema(behandlingsTema == null ? null : behandlingsTema.getOffisiellKode())
84-
.medDiskresjonskode(geo.getDiskresjonskode().getKode())
85-
.medGeografiskOmraade(geo.getTilknytning())
86-
.build();
87-
88-
return arbeidsfordelingTjeneste
89-
.finnEnhet(request)
90-
.stream()
91-
.filter(response -> "AKTIV".equalsIgnoreCase(response.getStatus()))
92-
.map(r -> new OrganisasjonsEnhet(r.getEnhetNr(), r.getEnhetNavn()))
93-
.collect(Collectors.toList());
82+
Optional<OrganisasjonsEnhet> oppdaterEnhetSjekkRegistrerteRelasjoner(FagsakYtelseType ytelseType,
83+
String enhetId,
84+
AktørId hovedAktør,
85+
Collection<AktørId> alleAktører) {
86+
var cacheEntry = oppdaterEnhetCache(ytelseType);
87+
if (cacheEntry.enhetKode6.getEnhetId().equals(enhetId) || NK_ENHET_ID.equals(enhetId)) {
88+
return Optional.empty();
89+
}
90+
if (harNoenDiskresjonskode6(alleAktører)) {
91+
return Optional.of(cacheEntry.enhetKode6);
92+
}
93+
if (cacheEntry.finnOrganisasjonsEnhet(enhetId).isEmpty()) {
94+
return Optional.of(hentEnhetSjekkKunAktør(hovedAktør, ytelseType));
95+
}
96+
return Optional.empty();
9497
}
9598

9699
OrganisasjonsEnhet hentEnhetSjekkKunAktør(AktørId aktørId, FagsakYtelseType ytelseType) {

0 commit comments

Comments
 (0)