Skip to content

Commit 729d696

Browse files
authored
Synker klasser som skal flyttes ut (#64)
* Synker klasser som skal flyttes ut * Inline AbacAttributter * Oppdaterer codeowners * [Jenkins] Benytter en maven versjon som er definert .....
1 parent 9ed4f0d commit 729d696

File tree

40 files changed

+1150
-1271
lines changed

40 files changed

+1150
-1271
lines changed

CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
* @navikt/team-foreldrepenger
1+
* @navikt/teamforeldrepenger

Jenkinsfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ boolean skipBuild = false
1919
pipeline {
2020
tools {
2121
jdk '11'
22-
maven 'maven-3.6.1'
22+
maven 'default-maven'
2323
}
2424
//agent any
2525
agent {

domenetjenester/iay/src/main/java/no/nav/foreldrepenger/abakus/domene/iay/AktørYtelseEntitet.java

+1-9
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public String getIndexKey() {
8282
void setAktørId(AktørId aktørId) {
8383
this.aktørId = aktørId;
8484
}
85-
85+
8686
@Override
8787
public Collection<Ytelse> getAlleYtelser() {
8888
return Collections.unmodifiableSet(ytelser);
@@ -103,14 +103,6 @@ YtelseBuilder getYtelseBuilderForType(Fagsystem fagsystem, YtelseType type, Saks
103103
return YtelseBuilder.oppdatere(ytelse).medYtelseType(type).medKilde(fagsystem).medSaksnummer(saksnummer);
104104
}
105105

106-
YtelseBuilder getYtelseBuilderForType(Fagsystem fagsystem, YtelseType type, Saksnummer saksnummer, DatoIntervallEntitet periode) {
107-
Optional<Ytelse> ytelse = getAlleYtelser().stream()
108-
.filter(ya -> ya.getKilde().equals(fagsystem) && ya.getRelatertYtelseType().equals(type) && (saksnummer.equals(ya.getSaksnummer())
109-
&& periode.equals(ya.getPeriode())))
110-
.findFirst();
111-
return YtelseBuilder.oppdatere(ytelse).medYtelseType(type).medKilde(fagsystem).medSaksnummer(saksnummer);
112-
}
113-
114106
YtelseBuilder getYtelseBuilderForType(Fagsystem fagsystem, YtelseType type, Saksnummer saksnummer, DatoIntervallEntitet periode, Optional<LocalDate> tidligsteAnvistFom) {
115107
// OBS kan være flere med samme Saksnummer+FOM: Konvensjon ifm satsjustering
116108
List<Ytelse> aktuelleYtelser = getAlleYtelser().stream()

domenetjenester/iay/src/main/java/no/nav/foreldrepenger/abakus/domene/iay/YtelseGrunnlagBuilder.java

-4
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,4 @@ public YtelseGrunnlag build() {
6969
public YtelseStørrelseBuilder getStørrelseBuilder() {
7070
return YtelseStørrelseBuilder.ny();
7171
}
72-
73-
public YtelseGrunnlagBuilder medArbeidskategori(String kode) {
74-
return medArbeidskategori(new Arbeidskategori(kode));
75-
}
7672
}

domenetjenester/iay/src/main/java/no/nav/foreldrepenger/abakus/domene/iay/YtelseStørrelseBuilder.java

-4
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,4 @@ public class YtelseStørrelseBuilder {
4040
throw new IllegalStateException();
4141
}
4242

43-
public YtelseStørrelseBuilder medHyppighet(String kode) {
44-
return medHyppighet(new InntektPeriodeType(kode));
45-
}
46-
4743
}

domenetjenester/iay/src/main/java/no/nav/foreldrepenger/abakus/domene/virksomhet/Organisasjonstype.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import javax.persistence.Entity;
55

66
import no.nav.foreldrepenger.abakus.kodeverk.Kodeliste;
7+
import no.nav.foreldrepenger.abakus.typer.OrgNummer;
78

89
@Entity(name = "OrganisasjonsType")
910
@DiscriminatorValue(Organisasjonstype.DISCRIMINATOR)
@@ -20,7 +21,7 @@ public class Organisasjonstype extends Kodeliste {
2021
/** Orgnr for KUNSTIG organisasjoner. Går sammen med Organisasjonstype#KUNSTIG. (p.t. kun en kunstig organisasjon som holder på arbeidsforhold lagt til av saksbehandler.)*/
2122
public static final String KUNSTIG_ORG = "342352362";
2223

23-
24+
2425
@SuppressWarnings("unused")
2526
private Organisasjonstype() {
2627
// Hibernate
@@ -29,8 +30,8 @@ private Organisasjonstype() {
2930
public Organisasjonstype(String kode) {
3031
super(kode, DISCRIMINATOR);
3132
}
32-
33-
public static boolean erKunstig(String orgNr) {
34-
return KUNSTIG_ORG.equals(orgNr);
33+
34+
public static boolean erKunstig(OrgNummer orgNr) {
35+
return KUNSTIG_ORG.equals(orgNr.getId());
3536
}
3637
}

domenetjenester/iay/src/main/java/no/nav/foreldrepenger/abakus/registerdata/InnhentingSamletTjeneste.java

+47-36
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import no.nav.foreldrepenger.abakus.domene.iay.kodeverk.InntektsKilde;
2323
import no.nav.foreldrepenger.abakus.kobling.Kobling;
24+
import no.nav.foreldrepenger.abakus.kodeverk.TemaUnderkategori;
2425
import no.nav.foreldrepenger.abakus.kodeverk.YtelseStatus;
2526
import no.nav.foreldrepenger.abakus.kodeverk.YtelseType;
2627
import no.nav.foreldrepenger.abakus.registerdata.arbeidsforhold.Arbeidsforhold;
@@ -32,8 +33,7 @@
3233
import no.nav.foreldrepenger.abakus.registerdata.ytelse.arena.MeldekortTjeneste;
3334
import no.nav.foreldrepenger.abakus.registerdata.ytelse.arena.MeldekortUtbetalingsgrunnlagSak;
3435
import no.nav.foreldrepenger.abakus.registerdata.ytelse.infotrygd.beregningsgrunnlag.InfotrygdBeregningsgrunnlagTjeneste;
35-
import no.nav.foreldrepenger.abakus.registerdata.ytelse.infotrygd.beregningsgrunnlag.YtelseBeregningsgrunnlagGrunnlag;
36-
import no.nav.foreldrepenger.abakus.registerdata.ytelse.infotrygd.beregningsgrunnlag.YtelsesBeregningsgrunnlag;
36+
import no.nav.foreldrepenger.abakus.registerdata.ytelse.infotrygd.beregningsgrunnlag.YtelseBeregningsgrunnlag;
3737
import no.nav.foreldrepenger.abakus.registerdata.ytelse.infotrygd.sak.InfotrygdSak;
3838
import no.nav.foreldrepenger.abakus.registerdata.ytelse.infotrygd.sak.InfotrygdSakOgGrunnlag;
3939
import no.nav.foreldrepenger.abakus.registerdata.ytelse.infotrygd.sak.InfotrygdTjeneste;
@@ -45,6 +45,7 @@
4545
import no.nav.vedtak.feil.deklarasjon.TekniskFeil;
4646
import no.nav.vedtak.felles.integrasjon.aktør.klient.AktørConsumer;
4747
import no.nav.vedtak.felles.jpa.tid.DatoIntervallEntitet;
48+
import no.nav.vedtak.util.FPDateUtil;
4849

4950
@ApplicationScoped
5051
public class InnhentingSamletTjeneste {
@@ -78,7 +79,6 @@ public InntektsInformasjon getInntektsInformasjon(AktørId aktørId, Kobling beh
7879
FinnInntektRequest.FinnInntektRequestBuilder builder = FinnInntektRequest.builder(YearMonth.from(LocalDateTime.ofInstant(periode.getStart(), ZoneId.systemDefault())),
7980
YearMonth.from(LocalDateTime.ofInstant(periode.getEnd(), ZoneId.systemDefault())));
8081

81-
LOGGER.info("Bruker aktørId mot inntektskomponenten for behandlingId {}", behandling.getId());
8282
builder.medAktørId(aktørId.getId());
8383

8484
return inntektTjeneste.finnInntekt(builder.build(), kilde);
@@ -92,17 +92,11 @@ public Map<ArbeidsforholdIdentifikator, List<Arbeidsforhold>> getArbeidsforhold(
9292
return aktørConsumer.hentPersonIdentForAktørId(aktørId.getId()).map(PersonIdent::new).orElseThrow();
9393
}
9494

95-
public List<InfotrygdSakOgGrunnlag> getSammenstiltSakOgGrunnlag(Kobling behandling, AktørId aktørId, Interval opplysningsPeriode, boolean medGrunnlag) {
96-
final List<InfotrygdSak> infotrygdSakList = filtrerSaker(getInfotrygdSaker(behandling, aktørId, opplysningsPeriode), medGrunnlag);
95+
public List<InfotrygdSakOgGrunnlag> getSammenstiltSakOgGrunnlag(AktørId aktørId, Interval opplysningsPeriode, boolean medGrunnlag) {
96+
final List<InfotrygdSak> infotrygdSakList = filtrerSaker(getInfotrygdSaker(aktørId, opplysningsPeriode), medGrunnlag);
9797
LOGGER.info("InfotrygdSak sammentilling antall saker/vedtak: {}", infotrygdSakList.size());
9898
if (medGrunnlag) {
99-
final YtelsesBeregningsgrunnlag ytelsesBeregningsgrunnlag = getInfotrygdBeregningsgrunnlag(behandling, aktørId, opplysningsPeriode);
100-
List<YtelseBeregningsgrunnlagGrunnlag> alleGrunnlag;
101-
if (ytelsesBeregningsgrunnlag != null) {
102-
alleGrunnlag = ytelsesBeregningsgrunnlag.getAlleGrunnlag();
103-
} else {
104-
alleGrunnlag = new ArrayList<>();
105-
}
99+
List<YtelseBeregningsgrunnlag> alleGrunnlag = getInfotrygdBeregningsgrunnlag(aktørId, opplysningsPeriode);
106100
LOGGER.info("InfotrygdBeregningsgrunnlag antall grunnlag: {}", alleGrunnlag.size());
107101
return sammenstillSakOgGrunnlag(infotrygdSakList, alleGrunnlag, opplysningsPeriode);
108102
}
@@ -129,50 +123,53 @@ private boolean skalLagresIfbmGrunnlag(InfotrygdSak infotrygdSak) {
129123
}
130124

131125
private boolean skalLagresBetinget(InfotrygdSak infotrygdSak, boolean medGrunnlag) {
132-
if (YtelseType.ENSLIG_FORSØRGER.equals(infotrygdSak.getRelatertYtelseType())) {
126+
if (YtelseType.ENSLIG_FORSØRGER.equals(infotrygdSak.getYtelseType())) {
133127
return false;
134128
}
135-
if (infotrygdSak.erLøpendeVedtak() || infotrygdSak.erAvsluttetVedtak()) {
136-
if (infotrygdSak.erAvRelatertYtelseType(YtelseType.ENGANGSSTØNAD, YtelseType.SYKEPENGER,
137-
YtelseType.SVANGERSKAPSPENGER, YtelseType.FORELDREPENGER, YtelseType.PÅRØRENDESYKDOM)) {
138-
return true;
139-
}
129+
if (YtelseStatus.LØPENDE.equals(infotrygdSak.getYtelseStatus()) || YtelseStatus.AVSLUTTET.equals(infotrygdSak.getYtelseStatus())) {
130+
return infotrygdSak.erAvRelatertYtelseType(YtelseType.ENGANGSSTØNAD, YtelseType.SYKEPENGER,
131+
YtelseType.SVANGERSKAPSPENGER, YtelseType.FORELDREPENGER, YtelseType.PÅRØRENDESYKDOM);
140132
} else if (infotrygdSak.erVedtak()) {
141133
if (infotrygdSak.erAvRelatertYtelseType(YtelseType.ENGANGSSTØNAD, YtelseType.FORELDREPENGER)) {
142134
return true;
143135
}
144-
if (medGrunnlag && infotrygdSak.erAvRelatertYtelseType(YtelseType.SYKEPENGER,
145-
YtelseType.PÅRØRENDESYKDOM, YtelseType.SVANGERSKAPSPENGER)) {
146-
return true;
147-
}
136+
return medGrunnlag && infotrygdSak.erAvRelatertYtelseType(YtelseType.SYKEPENGER,
137+
YtelseType.PÅRØRENDESYKDOM, YtelseType.SVANGERSKAPSPENGER);
148138
}
149139
return false;
150140
}
151141

152-
private List<InfotrygdSak> getInfotrygdSaker(Kobling behandling, AktørId aktørId, Interval opplysningsPeriode) {
153-
return infotrygdTjeneste.finnSakListe(behandling, getFnrFraAktørId(aktørId).getIdent(), LocalDateTime.ofInstant(opplysningsPeriode.getStart(), ZoneId.systemDefault()).toLocalDate());
142+
private List<InfotrygdSak> getInfotrygdSaker(AktørId aktørId, Interval opplysningsPeriode) {
143+
return infotrygdTjeneste.finnSakListe(getFnrFraAktørId(aktørId).getIdent(), LocalDateTime.ofInstant(opplysningsPeriode.getStart(), ZoneId.systemDefault()).toLocalDate());
154144
}
155145

156-
private YtelsesBeregningsgrunnlag getInfotrygdBeregningsgrunnlag(Kobling behandling, AktørId aktørId, Interval opplysningsPeriode) {
157-
return infotrygdBeregningsgrunnlagTjeneste.hentGrunnlagListeFull(behandling, getFnrFraAktørId(aktørId).getIdent(),
146+
private List<YtelseBeregningsgrunnlag> getInfotrygdBeregningsgrunnlag(AktørId aktørId, Interval opplysningsPeriode) {
147+
return infotrygdBeregningsgrunnlagTjeneste.hentGrunnlagListeFull(aktørId,
158148
LocalDateTime.ofInstant(opplysningsPeriode.getStart(), ZoneId.systemDefault()).toLocalDate());
159149
}
160150

161-
private boolean matcherSakOgGrunnlag(InfotrygdSakOgGrunnlag sak, YtelseBeregningsgrunnlagGrunnlag grunnlag) {
151+
private boolean matcherSakOgGrunnlag(InfotrygdSakOgGrunnlag sak, YtelseBeregningsgrunnlag grunnlag) {
162152
if (sak.getGrunnlag().isPresent() || sak.getSak().getIverksatt() == null) {
163153
return false;
164154
}
165155
// Samme type (ITrygd tema+behandlingstema) og grunnlag/identdato = sak/iverksattdato
166-
return grunnlag.getType().equals(sak.getSak().hentRelatertYtelseTypeForSammenstillingMedBeregningsgrunnlag()) && grunnlag.getIdentdato().equals(sak.getSak().getIverksatt());
156+
return grunnlag.getType().equals(sak.getSak().hentRelatertYtelseTypeForSammenstillingMedBeregningsgrunnlag())
157+
&& grunnlag.getIdentdato().equals(sak.getSak().getIverksatt());
167158
}
168159

169-
private List<InfotrygdSakOgGrunnlag> sammenstillSakOgGrunnlag(List<InfotrygdSak> saker, List<YtelseBeregningsgrunnlagGrunnlag> grunnlagene, Interval opplysningsPeriode) {
160+
private List<InfotrygdSakOgGrunnlag> sammenstillSakOgGrunnlag(List<InfotrygdSak> saker, List<YtelseBeregningsgrunnlag> grunnlagene,
161+
Interval opplysningsPeriode) {
170162
List<InfotrygdSakOgGrunnlag> sammenstilling = saker.stream().map(InfotrygdSakOgGrunnlag::new).collect(Collectors.toList());
171163
LocalDate periodeFom = LocalDateTime.ofInstant(opplysningsPeriode.getStart(), ZoneId.systemDefault()).toLocalDate();
172164

173-
for (YtelseBeregningsgrunnlagGrunnlag grunnlag : grunnlagene) {
165+
for (YtelseBeregningsgrunnlag grunnlag : grunnlagene) {
174166
Optional<InfotrygdSakOgGrunnlag> funnet = settSammenSakMatchendeGrunnlag(sammenstilling, grunnlag);
175-
if (!funnet.isPresent() && grunnlag.getTom() != null && !grunnlag.getTom().isBefore(periodeFom)) {
167+
if (funnet.isEmpty() && grunnlag.getTom() != null && !grunnlag.getTom().isBefore(periodeFom)) {
168+
InfotrygdSak sak = lagSakForYtelseUtenomSaksbasen(grunnlag.getType(), grunnlag.getTemaUnderkategori(), grunnlag.getIdentdato(),
169+
DatoIntervallEntitet.fraOgMedTilOgMed(grunnlag.getFom(), grunnlag.getTom()));
170+
InfotrygdSakOgGrunnlag isog = new InfotrygdSakOgGrunnlag(sak);
171+
isog.setGrunnlag(grunnlag);
172+
sammenstilling.add(isog);
176173
InnhentingSamletTjeneste.Feilene.FACTORY.manglerInfotrygdSak(grunnlag.getType().toString(), grunnlag.getIdentdato().toString()).log(LOGGER);
177174
}
178175
}
@@ -183,10 +180,23 @@ private List<InfotrygdSakOgGrunnlag> sammenstillSakOgGrunnlag(List<InfotrygdSak>
183180
.collect(Collectors.toList());
184181
}
185182

186-
private Optional<InfotrygdSakOgGrunnlag> settSammenSakMatchendeGrunnlag(List<InfotrygdSakOgGrunnlag> sakene, YtelseBeregningsgrunnlagGrunnlag grunnlag) {
183+
/* Faker sak fra Infotrygd når saken mangler i saksbasen, men finnes i vedtak */
184+
private InfotrygdSak lagSakForYtelseUtenomSaksbasen(YtelseType type, TemaUnderkategori temaUnderkategori, LocalDate identdato, DatoIntervallEntitet periode) {
185+
YtelseStatus tilstand = FPDateUtil.iDag().isBefore(periode.getTomDato()) ? YtelseStatus.LØPENDE : YtelseStatus.AVSLUTTET;
186+
return InfotrygdSak.InfotrygdSakBuilder.ny()
187+
.medIverksatt(identdato)
188+
.medRegistrert(identdato)
189+
.medYtelseType(type)
190+
.medTemaUnderkategori(temaUnderkategori)
191+
.medRelatertYtelseTilstand(tilstand)
192+
.medPeriode(periode)
193+
.build();
194+
}
195+
196+
private Optional<InfotrygdSakOgGrunnlag> settSammenSakMatchendeGrunnlag(List<InfotrygdSakOgGrunnlag> sakene, YtelseBeregningsgrunnlag grunnlag) {
187197
Optional<InfotrygdSakOgGrunnlag> funnet = Optional.empty();
188198
for (InfotrygdSakOgGrunnlag sak : sakene) {
189-
if (!funnet.isPresent() && matcherSakOgGrunnlag(sak, grunnlag)) {
199+
if (funnet.isEmpty() && matcherSakOgGrunnlag(sak, grunnlag)) {
190200
sak.setGrunnlag(grunnlag);
191201
funnet = Optional.of(sak);
192202
if (grunnlag.getFom() != null && grunnlag.getFom().isBefore(sak.getPeriode().getFomDato())) {
@@ -210,8 +220,8 @@ private boolean erEtterIverksatt(InfotrygdSakOgGrunnlag infotrygdSakOgGrunnlag)
210220
}
211221

212222
private boolean skalTypeLagresUansett(InfotrygdSakOgGrunnlag infotrygdSakOgGrunnlag) {
213-
YtelseType type = infotrygdSakOgGrunnlag.getSak().getRelatertYtelseType();
214-
return YtelseType.ENGANGSSTØNAD.equals(type) || YtelseType.FORELDREPENGER.equals(type);
223+
YtelseType type = infotrygdSakOgGrunnlag.getSak().getYtelseType();
224+
return List.of(YtelseType.ENGANGSSTØNAD, YtelseType.FORELDREPENGER).contains(type);
215225
}
216226

217227
public List<MeldekortUtbetalingsgrunnlagSak> hentYtelserTjenester(AktørId aktørId, Interval opplysningsPeriode) {
@@ -234,7 +244,8 @@ private List<MeldekortUtbetalingsgrunnlagSak> filtrerYtelserTjenester(List<Melde
234244
InnhentingFeil.FACTORY.ignorerArenaSakInfoLogg("meldekort", sak.getSaksnummer()).log(LOGGER);
235245
} else if (sak.getVedtaksPeriodeFom() == null && sak.getMeldekortene().isEmpty()) {
236246
InnhentingFeil.FACTORY.ignorerArenaSakInfoLogg("vedtaksDato", sak.getSaksnummer()).log(LOGGER);
237-
} else if (sak.getVedtaksPeriodeTom() != null && sak.getVedtaksPeriodeTom().isBefore(sak.getVedtaksPeriodeFom()) && sak.getMeldekortene().isEmpty()) {
247+
} else if (sak.getVedtaksPeriodeTom() != null && sak.getVedtaksPeriodeTom().isBefore(sak.getVedtaksPeriodeFom())
248+
&& sak.getMeldekortene().isEmpty()) {
238249
InnhentingFeil.FACTORY.ignorerArenaSakMedVedtakTomFørVedtakFom(sak.getSaksnummer()).log(LOGGER);
239250
} else {
240251
filtrert.add(sak);

0 commit comments

Comments
 (0)