Skip to content

Commit 58f4072

Browse files
authoredApr 5, 2024··
Feature/kodeverk kommuner2024 (#3459)
Lagt til nytt kodeverk, Kommuner2024, og referert til denne fra klientene
1 parent 2a4b97c commit 58f4072

File tree

12 files changed

+179
-12
lines changed

12 files changed

+179
-12
lines changed
 

‎apps/dolly-frontend/src/main/js/src/components/adresseVelger/MatrikkelAdresseSok.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import { DollySelect } from '@/components/ui/form/inputs/select/Select'
55
import { AdresseKodeverk } from '@/config/kodeverk'
66
import { Hjelpetekst } from '@/components/hjelpetekst/Hjelpetekst'
77
import styled from 'styled-components'
8-
import { Search } from '@navikt/ds-react'
98
import { Button } from '@navikt/ds-react'
109

1110
type Props = {
@@ -42,7 +41,7 @@ export default ({ onSubmit, loading = false }: Props) => {
4241
<DollySelect
4342
name="kommunenummer"
4443
label="Kommunenummer"
45-
kodeverk={AdresseKodeverk.Kommunenummer}
44+
kodeverk={AdresseKodeverk.Kommunenummer2024}
4645
size="grow"
4746
value={kommunenummer}
4847
onChange={(e: any) => setKommunenummer(e ? e.value : null)}

‎apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/adresser/adressetyper/Matrikkeladresse.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export const Matrikkeladresse = ({ path }: MatrikkeladresseValues) => {
2323
<FormSelect
2424
name={`${path}.kommunenummer`}
2525
label="Kommunenummer"
26-
kodeverk={AdresseKodeverk.Kommunenummer}
26+
kodeverk={AdresseKodeverk.Kommunenummer2024}
2727
size="large"
2828
isClearable={false}
2929
/>

‎apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/adresser/adressetyper/UkjentBosted.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export const UkjentBosted = ({ path }: UkjentBostedValues) => {
1111
<FormSelect
1212
name={`${path}.bostedskommune`}
1313
label="Bostedskommune"
14-
kodeverk={AdresseKodeverk.Kommunenummer}
14+
kodeverk={AdresseKodeverk.Kommunenummer2024}
1515
size="large"
1616
/>
1717
</div>

‎apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/adresser/adressetyper/VegadresseVelger.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ export const VegadresseVelger = ({ formMethods, path }: VegadressevelgerValues)
7575
<FormSelect
7676
name={`${path}.kommunenummer`}
7777
label="Kommunenummer"
78-
kodeverk={AdresseKodeverk.Kommunenummer}
78+
kodeverk={AdresseKodeverk.Kommunenummer2024}
7979
size="large"
8080
isClearable={false}
8181
/>

‎apps/dolly-frontend/src/main/js/src/config/kodeverk/index.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ export enum AdresseKodeverk {
2222
Postnummer = 'Postnummer',
2323
PostnummerUtenPostboks = 'Postnummer vegadresser',
2424
Kommunenummer = 'Kommuner',
25+
Kommunenummer2024 = 'Kommuner2024',
2526

2627
PostadresseLand = 'LandAdresserFreg',
2728
StatsborgerskapLand = 'StatsborgerskapFreg',

‎apps/dolly-frontend/src/main/js/src/service/services/dolly/Utils.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ export const SortKodeverkArray = (data) => {
5050
data.name === 'Postnummer' ||
5151
data.name === 'Postnummer vegadresser' ||
5252
data.name === 'Kommuner' ||
53+
data.name === 'Kommuner2024' ||
5354
data.name === 'Bydeler' ||
5455
data.name === 'Næringskoder' ||
5556
data.name === 'Sektorkoder'

‎apps/kodeverk-service/README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Testnav-Kodeverk-Service
2-
Henter, formatterer, og cacher data fra felles kodeverk.
3-
2+
Henter, formatterer, og cacher data fra felles kodeverk.</br>
3+
Lagt til eget kodeverk, Kommuner2024, som henter Kommuner og fjerner gamle kommunenummere
4+
45
## Swagger
56
Swagger finnes under [/swagger](https://testnav-kodeverk-service.intern.dev.nav.no/swagger-ui.html) -endepunktet til
67
applikasjonen.

‎apps/kodeverk-service/src/main/java/no/nav/testnav/kodeverkservice/provider/KodeverkController.java

+15-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import io.swagger.v3.oas.annotations.Operation;
44
import lombok.RequiredArgsConstructor;
55
import no.nav.testnav.kodeverkservice.service.KodeverkService;
6+
import no.nav.testnav.kodeverkservice.utility.KommunerUtility;
67
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkAdjustedDTO;
78
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkDTO;
89
import org.springframework.cache.annotation.Cacheable;
@@ -16,6 +17,8 @@
1617

1718
import static no.nav.testnav.kodeverkservice.config.CacheConfig.CACHE_KODEVERK;
1819
import static no.nav.testnav.kodeverkservice.config.CacheConfig.CACHE_KODEVERK_2;
20+
import static no.nav.testnav.kodeverkservice.utility.KommunerUtility.KOMMUNER;
21+
import static no.nav.testnav.kodeverkservice.utility.KommunerUtility.KOMMUNER2024;
1922

2023
@RestController
2124
@RequestMapping("/api/v1/kodeverk")
@@ -30,14 +33,24 @@ public class KodeverkController {
3033
@Operation(description = "Hent kodeverk, returnerer map")
3134
public Mono<KodeverkDTO> fetchKodeverk(@RequestParam String kodeverk) {
3235

33-
return kodeverkService.getKodeverkMap(kodeverk);
36+
return !KOMMUNER2024.equals(kodeverk) ?
37+
38+
kodeverkService.getKodeverkMap(kodeverk) :
39+
40+
kodeverkService.getKodeverkMap(KOMMUNER)
41+
.map(KommunerUtility::filterKommuner2024);
3442
}
3543

3644
@Cacheable(value = CACHE_KODEVERK_2, unless = "#result.koder?.size() == 0")
3745
@GetMapping("/{kodeverkNavn}")
3846
@Operation(description = "Hent kodeverk etter kodeverkNavn")
3947
public Mono<KodeverkAdjustedDTO> getKodeverkByName(@PathVariable("kodeverkNavn") String kodeverkNavn) {
4048

41-
return kodeverkService.getKodeverkByName(kodeverkNavn);
49+
return !KOMMUNER2024.equals(kodeverkNavn) ?
50+
51+
kodeverkService.getKodeverkByName(kodeverkNavn) :
52+
53+
kodeverkService.getKodeverkByName(KOMMUNER)
54+
.map(KommunerUtility::filterKommuner2024);
4255
}
4356
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
package no.nav.testnav.kodeverkservice.utility;
2+
3+
import lombok.Getter;
4+
import lombok.experimental.UtilityClass;
5+
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkAdjustedDTO;
6+
import no.nav.testnav.libs.dto.kodeverkservice.v1.KodeverkDTO;
7+
8+
import java.util.HashSet;
9+
import java.util.Map;
10+
import java.util.Set;
11+
import java.util.stream.Collectors;
12+
13+
@UtilityClass
14+
public class KommunerUtility {
15+
16+
public static final String KOMMUNER = "Kommuner";
17+
public static final String KOMMUNER2024 = "Kommuner2024";
18+
19+
@Getter
20+
private static final Set<String> gamleKommunenummer = new HashSet<>();
21+
22+
static {
23+
gamleKommunenummer.add("3043"); // Ål
24+
gamleKommunenummer.add("1507"); // Ålesund
25+
gamleKommunenummer.add("5403"); // Alta
26+
gamleKommunenummer.add("3012"); // Aremark
27+
gamleKommunenummer.add("3021"); // Ås
28+
gamleKommunenummer.add("3025"); // Asker
29+
gamleKommunenummer.add("3026"); // Aurskog-Høland
30+
gamleKommunenummer.add("3024"); // Bærum
31+
gamleKommunenummer.add("5422"); // Balsfjord
32+
gamleKommunenummer.add("3813"); // Bamble
33+
gamleKommunenummer.add("5416"); // Bardu
34+
gamleKommunenummer.add("5443"); // Båtsfjord
35+
gamleKommunenummer.add("5440"); // Berlevåg
36+
gamleKommunenummer.add("3005"); // Drammen
37+
gamleKommunenummer.add("3815"); // Drangedal
38+
gamleKommunenummer.add("5420"); // Dyrøy
39+
gamleKommunenummer.add("3035"); // Eidsvoll
40+
gamleKommunenummer.add("3028"); // Enebakk
41+
gamleKommunenummer.add("3811"); // Færder
42+
gamleKommunenummer.add("3039"); // Flå
43+
gamleKommunenummer.add("3050"); // Flesberg
44+
gamleKommunenummer.add("3004"); // Fredrikstad
45+
gamleKommunenummer.add("3022"); // Frogn
46+
gamleKommunenummer.add("3823"); // Fyresdal
47+
gamleKommunenummer.add("5439"); // Gamvik
48+
gamleKommunenummer.add("3032"); // Gjerdrum
49+
gamleKommunenummer.add("3041"); // Gol
50+
gamleKommunenummer.add("5414"); // Gratangen
51+
gamleKommunenummer.add("3001"); // Halden
52+
gamleKommunenummer.add("5406"); // Hammerfest
53+
gamleKommunenummer.add("5402"); // Harstad
54+
gamleKommunenummer.add("5433"); // Hasvik
55+
gamleKommunenummer.add("3042"); // Hemsedal
56+
gamleKommunenummer.add("1515"); // Herøy
57+
gamleKommunenummer.add("3819"); // Hjartdal
58+
gamleKommunenummer.add("3044"); // Hol
59+
gamleKommunenummer.add("3038"); // Hole
60+
gamleKommunenummer.add("3802"); // Holmestrand
61+
gamleKommunenummer.add("3801"); // Horten
62+
gamleKommunenummer.add("3037"); // Hurdal
63+
gamleKommunenummer.add("3011"); // Hvaler
64+
gamleKommunenummer.add("5413"); // Ibestad
65+
gamleKommunenummer.add("3014"); // Indre Østfold
66+
gamleKommunenummer.add("3053"); // Jevnaker
67+
gamleKommunenummer.add("5423"); // Karlsøy
68+
gamleKommunenummer.add("3006"); // Kongsberg
69+
gamleKommunenummer.add("3814"); // Kragerø
70+
gamleKommunenummer.add("3046"); // Krødsherad
71+
gamleKommunenummer.add("5411"); // Kvæfjord
72+
gamleKommunenummer.add("5429"); // Kvænangen
73+
gamleKommunenummer.add("3821"); // Kviteseid
74+
gamleKommunenummer.add("3805"); // Larvik
75+
gamleKommunenummer.add("5438"); // Lebesby
76+
gamleKommunenummer.add("3049"); // Lier
77+
gamleKommunenummer.add("3030"); // Lillestrøm
78+
gamleKommunenummer.add("5432"); // Loppa
79+
gamleKommunenummer.add("3029"); // Lørenskog
80+
gamleKommunenummer.add("3054"); // Lunner
81+
gamleKommunenummer.add("5424"); // Lyngen
82+
gamleKommunenummer.add("5418"); // Målselv
83+
gamleKommunenummer.add("3013"); // Marker
84+
gamleKommunenummer.add("5434"); // Måsøy
85+
gamleKommunenummer.add("3817"); // Midt-Telemark
86+
gamleKommunenummer.add("3047"); // Modum
87+
gamleKommunenummer.add("3002"); // Moss
88+
gamleKommunenummer.add("3036"); // Nannestad
89+
gamleKommunenummer.add("3034"); // Nes
90+
gamleKommunenummer.add("3040"); // Nesbyen
91+
gamleKommunenummer.add("3023"); // Nesodden
92+
gamleKommunenummer.add("3822"); // Nissedal
93+
gamleKommunenummer.add("3031"); // Nittedal
94+
gamleKommunenummer.add("3816"); // Nome
95+
gamleKommunenummer.add("5435"); // Nordkapp
96+
gamleKommunenummer.add("3020"); // Nordre Follo
97+
gamleKommunenummer.add("3052"); // Nore og Uvdal
98+
gamleKommunenummer.add("3808"); // Notodden
99+
gamleKommunenummer.add("3048"); // Øvre Eiker
100+
gamleKommunenummer.add("3806"); // Porsgrunn
101+
gamleKommunenummer.add("3017"); // Råde
102+
gamleKommunenummer.add("3027"); // Rælingen
103+
gamleKommunenummer.add("3016"); // Rakkestad
104+
gamleKommunenummer.add("3007"); // Ringerike
105+
gamleKommunenummer.add("3051"); // Rollag
106+
gamleKommunenummer.add("5417"); // Salangen
107+
gamleKommunenummer.add("3804"); // Sandefjord
108+
gamleKommunenummer.add("3003"); // Sarpsborg
109+
gamleKommunenummer.add("3820"); // Seljord
110+
gamleKommunenummer.add("5421"); // Senja
111+
gamleKommunenummer.add("3045"); // Sigdal
112+
gamleKommunenummer.add("3812"); // Siljan
113+
gamleKommunenummer.add("3807"); // Skien
114+
gamleKommunenummer.add("3015"); // Skiptvet
115+
gamleKommunenummer.add("5427"); // Skjervøy
116+
gamleKommunenummer.add("5419"); // Sørreisa
117+
gamleKommunenummer.add("5444"); // Sør-Varanger
118+
gamleKommunenummer.add("3818"); // Tinn
119+
gamleKommunenummer.add("5412"); // Tjeldsund
120+
gamleKommunenummer.add("3824"); // Tokke
121+
gamleKommunenummer.add("3803"); // Tønsberg
122+
gamleKommunenummer.add("5401"); // Tromsø
123+
gamleKommunenummer.add("3033"); // Ullensaker
124+
gamleKommunenummer.add("5405"); // Vadsø
125+
gamleKommunenummer.add("5404"); // Vardø
126+
gamleKommunenummer.add("3019"); // Vestby
127+
gamleKommunenummer.add("3825"); // Vinje
128+
}
129+
130+
public static KodeverkAdjustedDTO filterKommuner2024(KodeverkAdjustedDTO response) {
131+
132+
return KodeverkAdjustedDTO.builder()
133+
.name(KOMMUNER2024)
134+
.koder(
135+
response.getKoder().stream()
136+
.filter(kode -> !gamleKommunenummer.contains(kode.getValue()))
137+
.toList())
138+
.build();
139+
}
140+
141+
public static KodeverkDTO filterKommuner2024(KodeverkDTO response) {
142+
143+
return KodeverkDTO.builder()
144+
.kodeverknavn(KOMMUNER2024)
145+
.kodeverk(
146+
response.getKodeverk().entrySet().stream()
147+
.filter(entry ->!gamleKommunenummer.contains(entry.getKey()))
148+
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)))
149+
.build();
150+
}
151+
}

‎apps/kodeverk-service/src/main/resources/application.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ AAD_ISSUER_URI: https://login.microsoftonline.com/62366534-1ec3-4962-8869-9b5535
33
spring:
44
application:
55
name: testnav-kodeverk-service
6-
description: Tjeneste for å hente fra felles kodeverk
6+
description: Tjeneste for å hente fra felles kodeverk.</br>Lagt til eget kodeverk, Kommuner2024, som henter Kommuner og fjerner gamle kommunenummere.
77
security:
88
oauth2:
99
resourceserver:

‎apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/consumer/KodeverkConsumer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class KodeverkConsumer {
2020

2121
private static final String POSTNUMMER = "Postnummer";
2222
private static final String LANDKODER = "Landkoder";
23-
private static final String KOMMUNER = "Kommuner";
23+
private static final String KOMMUNER = "Kommuner2024";
2424
private static final String EMBETER = "Vergemål_Fylkesmannsembeter";
2525
private static final Random random = new SecureRandom();
2626

‎apps/pdl-forvalter/src/main/java/no/nav/pdl/forvalter/consumer/command/KodeverkCommand.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public Mono<KodeverkDTO> call() {
3939
.bodyToMono(KodeverkDTO.class)
4040
.doFinally(value -> log.info("Kodeverk {} hentet", kodeverknavn))
4141
.retryWhen(Retry.backoff(3, Duration.ofSeconds(5))
42-
.filter(WebClientFilter::is5xxException));
42+
.filter(WebClientFilter::is5xxException))
43+
.cache(Duration.ofHours(8));
4344
}
4445
}

0 commit comments

Comments
 (0)
Please sign in to comment.