Skip to content

Commit 3350cf7

Browse files
committed
Merge branch 'master' into bugfix/fix-dolly-tags
2 parents a6d7582 + 42dc510 commit 3350cf7

File tree

7 files changed

+123
-7
lines changed

7 files changed

+123
-7
lines changed

apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/utils/OpenSearchPersonQueryUtils.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,18 @@ public class OpenSearchPersonQueryUtils {
3939

4040
public static void addAlderQuery(BoolQueryBuilder queryBuilder, SearchRequest request) {
4141

42-
var thisYear = LocalDate.now().getYear();
42+
var now = LocalDate.now();
4343
if (nonNull(request.getPersonRequest().getAlderFom()) || nonNull(request.getPersonRequest().getAlderTom())) {
4444
queryBuilder.must(QueryBuilders.boolQuery()
4545
.must(nestedMatchQuery("hentPerson.foedselsdato", METADATA_HISTORISK, false))
4646
.must(QueryBuilders.nestedQuery("hentPerson.foedselsdato",
4747
QueryBuilders.boolQuery().must(
48-
rangeQuery("hentPerson.foedselsdato.foedselsaar",
48+
rangeQuery("hentPerson.foedselsdato.foedselsdato",
4949
Optional.ofNullable(request.getPersonRequest().getAlderTom())
50-
.map(alderTom -> thisYear - alderTom)
50+
.map(now::minusYears)
5151
.orElse(null),
5252
Optional.ofNullable(request.getPersonRequest().getAlderFom())
53-
.map(alderFom -> thisYear - alderFom)
53+
.map(now::minusYears)
5454
.orElse(null))), ScoreMode.Avg)));
5555
}
5656
}

apps/dolly-search-service/src/main/java/no/nav/testnav/dollysearchservice/utils/OpenSearchQueryUtils.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class OpenSearchQueryUtils {
1515
public static final String NAVSPERSONIDENTIFIKATOR = "hentPerson.navspersonidentifikator";
1616
public static final String CONCAT = "%s.%s";
1717

18-
public static QueryBuilder rangeQuery(String field, Integer value1, Integer value2) {
18+
public static QueryBuilder rangeQuery(String field, Object value1, Object value2) {
1919

2020
return QueryBuilders.rangeQuery(field).from(value1).to(value2);
2121
}

apps/tenor-search-service/src/main/java/no/nav/testnav/apps/tenorsearchservice/TenorSearchServiceApplicationStarter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ public static void main(String[] args) {
2020
.initializers(new NaisEnvironmentApplicationContextInitializer())
2121
.run(args);
2222
}
23-
}
23+
}

apps/tenor-search-service/src/main/java/no/nav/testnav/apps/tenorsearchservice/domain/Lookups.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ public enum Lookups {
1313
AdresseGradering(TenorRequest.AdresseGradering.class),
1414
Adressebeskyttelse(TenorRequest.Adressebeskyttelse.class),
1515
Arbeidsforholdstype(TenorRequest.Arbeidsforholdstype.class),
16+
BostedsadresseType(TenorRequest.BostedsadresseType.class),
17+
CoAdressenavnType(TenorRequest.CoAdressenavnType.class),
1618
Forskuddstrekk(TenorRequest.Forskuddstrekk.class),
1719
Hendelse(no.nav.testnav.apps.tenorsearchservice.domain.Hendelse.class),
1820
IdentifikatorType(TenorRequest.IdentifikatorType.class),
@@ -31,7 +33,9 @@ public enum Lookups {
3133
Stadietype(TenorRequest.Stadietype.class),
3234
TekniskNavn(no.nav.testnav.apps.tenorsearchservice.domain.TekniskNavn.class),
3335
TilleggsskattType(TenorRequest.TilleggsskattType.class),
34-
UtenlandskPersonIdentifikasjon(TenorRequest.UtenlandskPersonIdentifikasjon.class);
36+
UtenlandskPersonIdentifikasjon(TenorRequest.UtenlandskPersonIdentifikasjon.class),
37+
VergeTjenestevirksomhet(TenorRequest.VergeTjenestevirksomhet.class),
38+
VergemaalType(TenorRequest.VergemaalType.class);
3539

3640
private final Class<?> value;
3741
}

apps/tenor-search-service/src/main/java/no/nav/testnav/apps/tenorsearchservice/domain/TenorRequest.java

+59
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package no.nav.testnav.apps.tenorsearchservice.domain;
22

33
import io.swagger.v3.oas.annotations.media.Schema;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Builder;
46
import lombok.Data;
57
import lombok.NoArgsConstructor;
68

@@ -17,6 +19,16 @@
1719
@SuppressWarnings("java:S115")
1820
public class TenorRequest {
1921

22+
public enum VergeTjenestevirksomhet {
23+
Bank, Forsikringsselskap, Helfo, Husbanken, Inkassoselskap, Kartverket, Kommune,
24+
Kredittvurderingsselskap, Namsmannen, Nav, Oevrige, Pasientreiser, Skatteetaten, StatensInnkrevingssentral,
25+
Statsforvalter, Tingretten
26+
}
27+
28+
public enum CoAdressenavnType {Bostedsadresse, DeltBosted, Oppholdsadresse, Postadresse, PostadresseIUtlandet}
29+
30+
public enum BostedsadresseType {Matrikkel, Veiadresse, Ukjent}
31+
2032
public enum IdentifikatorType {Foedselsnummer, DNummer, DNummerOgFoedselsnr}
2133

2234
public enum Kjoenn {Mann, Kvinne}
@@ -77,6 +89,11 @@ public enum Oppgjoerstype {Fastland, Svalbard, KildeskattPaaLoenn}
7789

7890
public enum Stadietype {Utkast, Fastsatt, Oppgjoer}
7991

92+
public enum VergemaalType {
93+
EnsligMindreaarigAsylsoeker, EnsligMindreaarigFlyktning, ForvaltningUtenforVergemaal, MidlertidigForMindreaarig,
94+
MidlertidigForVoksen, Mindreaarig, StadfestetFremtidsfullmakt, Voksen
95+
}
96+
8097
@Schema(description = "Personidentifikator, fødselsnummer eller d-nummer")
8198
private String identifikator;
8299
private IdentifikatorType identifikatorType;
@@ -96,6 +113,48 @@ public enum Stadietype {Utkast, Fastsatt, Oppgjoer}
96113
private Adresser adresser;
97114
private Relasjoner relasjoner;
98115
private Hendelser hendelser;
116+
private Avansert avansert;
117+
118+
@Data
119+
@Builder
120+
@AllArgsConstructor
121+
@NoArgsConstructor
122+
public static class Avansert {
123+
124+
private BostedsadresseType bostedsadresseType;
125+
private String bostedsadresse;
126+
private CoAdressenavnType coAdressenavnType;
127+
private String fornavn;
128+
private String mellomnavn;
129+
private String etternavn;
130+
@Schema(description = "Verdi hentes fra felles kodeverk Landkoder")
131+
private String foedeland;
132+
private String visningnavn;
133+
private String barnFnr;
134+
private String farFnr;
135+
private String morFnr;
136+
private VergeTjenestevirksomhet vergeTjenestevirksomhet;
137+
private VergemaalType vergemaalType;
138+
@Schema(description = "Verdi hentes fra felles kodeverk Landkoder")
139+
private List<String> statsborgerskap;
140+
private Boolean harBostedsadresseHistorikk;
141+
private Boolean harDoedfoedtBarn;
142+
private Boolean harForeldreMedSammeKjoenn;
143+
private Boolean harInnflytting;
144+
private Boolean harNavnHistorikk;
145+
private Boolean harOpphold;
146+
private Boolean harPostadresseIFrittFormat;
147+
private Boolean harPostadressePostboks;
148+
private Boolean harPostadresseVegadresse;
149+
private Boolean harPostboks;
150+
private Boolean harRelatertPersonUtenFolkeregisteridentifikator;
151+
private Boolean harRettsligHandleevne;
152+
private Boolean harSivilstandHistorikk;
153+
private Boolean harUtenlandskAdresseIFrittFormat;
154+
private Boolean harUtenlandskPostadressePostboks;
155+
private Boolean harUtenlandskPostadresseVegadresse;
156+
private Boolean harUtflytting;
157+
}
99158

100159
private List<Rolle> roller;
101160
private Tjenestepensjonsavtale tjenestepensjonsavtale;

apps/tenor-search-service/src/main/java/no/nav/testnav/apps/tenorsearchservice/service/TenorConverterUtility.java

+16
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import lombok.experimental.UtilityClass;
44
import no.nav.testnav.apps.tenorsearchservice.domain.TenorRequest;
55

6+
import java.util.List;
7+
import java.util.stream.Collectors;
8+
69
import static java.util.Objects.isNull;
710
import static org.apache.commons.lang3.BooleanUtils.isFalse;
811
import static org.apache.commons.lang3.BooleanUtils.isNotTrue;
@@ -23,6 +26,19 @@ public static String convertObject(String navn, Object verdi) {
2326
return isNull(verdi) || verdi instanceof String string && isBlank(string) ? "" : " and %s:%s".formatted(navn, verdi);
2427
}
2528

29+
public static String convertStringList(String navn, List<String> verdi) {
30+
31+
return isNull(verdi) || verdi.isEmpty() ? "" :
32+
verdi.stream()
33+
.map(element -> " and %s:%s".formatted(navn, element))
34+
.collect(Collectors.joining(""));
35+
}
36+
37+
public static String convertString(String navn, String verdi) {
38+
39+
return isBlank(verdi) ? "" : " and %s:\"%s\"".formatted(navn, verdi);
40+
}
41+
2642
public static String convertIntervall(String intervallNavn, TenorRequest.Intervall intervall) {
2743

2844
return isNull(intervall) ? "" : " and %s:[%s to %s]"

apps/tenor-search-service/src/main/java/no/nav/testnav/apps/tenorsearchservice/service/TenorSearchService.java

+37
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import static no.nav.testnav.apps.tenorsearchservice.service.TenorConverterUtility.convertEnum;
2323
import static no.nav.testnav.apps.tenorsearchservice.service.TenorConverterUtility.convertIntervall;
2424
import static no.nav.testnav.apps.tenorsearchservice.service.TenorConverterUtility.convertObject;
25+
import static no.nav.testnav.apps.tenorsearchservice.service.TenorConverterUtility.convertStringList;
26+
import static no.nav.testnav.apps.tenorsearchservice.service.TenorConverterUtility.convertString;
2527
import static no.nav.testnav.apps.tenorsearchservice.service.TenorConverterUtility.guard;
2628
import static org.apache.commons.lang3.BooleanUtils.isNotTrue;
2729
import static org.apache.commons.lang3.StringUtils.isNotBlank;
@@ -100,6 +102,41 @@ private String getQuery(TenorRequest searchData) {
100102
.append(convertEnum("sisteHendelse", searchData.getHendelser().getSisteHendelse()));
101103
}
102104

105+
if (nonNull(searchData.getAvansert())) {
106+
builder
107+
.append(convertString("bostedsadresse", searchData.getAvansert().getBostedsadresse()))
108+
.append(convertString("etternavn", searchData.getAvansert().getEtternavn()))
109+
.append(convertObject("foedeland", searchData.getAvansert().getFoedeland()))
110+
.append(convertString("fornavn", searchData.getAvansert().getFornavn()))
111+
.append(convertString("mellomnavn", searchData.getAvansert().getMellomnavn()))
112+
.append(convertStringList("statsborgerskap", searchData.getAvansert().getStatsborgerskap()))
113+
.append(convertString("visningnavn", searchData.getAvansert().getVisningnavn()))
114+
.append(convertObject("harBostedsadresseHistorikk", searchData.getAvansert().getHarBostedsadresseHistorikk()))
115+
.append(convertObject("harDoedfoedtBarn", searchData.getAvansert().getHarDoedfoedtBarn()))
116+
.append(convertObject("harForeldreMedSammeKjoenn", searchData.getAvansert().getHarForeldreMedSammeKjoenn()))
117+
.append(convertObject("harInnflytting", searchData.getAvansert().getHarInnflytting()))
118+
.append(convertObject("harNavnHistorikk", searchData.getAvansert().getHarNavnHistorikk()))
119+
.append(convertObject("harOpphold", searchData.getAvansert().getHarOpphold()))
120+
.append(convertObject("harPostadresseIFrittFormat", searchData.getAvansert().getHarPostadresseIFrittFormat()))
121+
.append(convertObject("harPostadressePostboks", searchData.getAvansert().getHarPostadressePostboks()))
122+
.append(convertObject("harPostadresseVegadresse", searchData.getAvansert().getHarPostadresseVegadresse()))
123+
.append(convertObject("harPostboks", searchData.getAvansert().getHarPostboks()))
124+
.append(convertObject("harRelatertPersonUtenFolkeregisteridentifikator", searchData.getAvansert().getHarRelatertPersonUtenFolkeregisteridentifikator()))
125+
.append(convertObject("harRettsligHandleevne", searchData.getAvansert().getHarRettsligHandleevne()))
126+
.append(convertObject("harSivilstandHistorikk", searchData.getAvansert().getHarSivilstandHistorikk()))
127+
.append(convertObject("harUtenlandskAdresseIFrittFormat", searchData.getAvansert().getHarUtenlandskAdresseIFrittFormat()))
128+
.append(convertObject("harUtenlandskPostadressePostboks", searchData.getAvansert().getHarUtenlandskPostadressePostboks()))
129+
.append(convertObject("harUtenlandskPostadresseVegadresse", searchData.getAvansert().getHarUtenlandskPostadresseVegadresse()))
130+
.append(convertObject("harUtflytting", searchData.getAvansert().getHarUtflytting()))
131+
.append(convertString("barnFnr", searchData.getAvansert().getBarnFnr()))
132+
.append(convertString("farFnr", searchData.getAvansert().getFarFnr()))
133+
.append(convertString("morFnr", searchData.getAvansert().getMorFnr()))
134+
.append(convertEnum("bostedsadresseType", searchData.getAvansert().getBostedsadresseType()))
135+
.append(convertEnum("coAdressenavnType", searchData.getAvansert().getCoAdressenavnType()))
136+
.append(convertEnum("vergeTjenestevirksomhet", searchData.getAvansert().getVergeTjenestevirksomhet()))
137+
.append(convertEnum("vergemaalType", searchData.getAvansert().getVergemaalType()));
138+
}
139+
103140
builder.append(TenorEksterneRelasjonerUtility.getEksterneRelasjoner(searchData));
104141

105142
return guard(builder);

0 commit comments

Comments
 (0)