-
Notifications
You must be signed in to change notification settings - Fork 2
Abonner på inntekts hendelser #880
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
eirroer
wants to merge
86
commits into
master
Choose a base branch
from
abonner-paa-inntekts-hendelser
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 74 commits
Commits
Show all changes
86 commits
Select commit
Hold shift + click to select a range
c57b959
Legg til dependency til inntektskomponeneten
eirroer 5c489c4
Legg til lagringstruktur for å lagre ned abonnementIDer sammen med ak…
eirroer c02dcf6
Merge branch 'master' into abonner-paa-inntekts-hendelser
eirroer b21711c
Endre klassenavn
eirroer 9b9422f
Fix navn
eirroer 6b11331
Opprett migreringsskript
eirroer 7a77a68
Merge branch 'master' into abonner-paa-inntekts-hendelser
eirroer c7455ac
Oppdater entitet for abonnement
eirroer 897d2d5
Oppdater migreringsskript
eirroer 9214bae
Oppdater navn og bytt til å sette aktiv flagg til false istendenfor å…
eirroer ec21872
Opprett klient for abonnent-kall mot inntekstkomponenten
eirroer 5692e89
Matcher navn med dto schemas, og setter limit til å hente 1000 hendel…
eirroer bc77746
Revert "Matcher navn med dto schemas, og setter limit til å hente 100…
eirroer a366625
Fix: Matcher navn med dto schemas, og setter limit til å hente 1000 h…
eirroer af74e5c
Oppretter tjeneste for å administrere og hente hendelser fra abonneme…
eirroer ae7d1ce
Endre metodenavn til hentAbonnenthendelser
eirroer 9df2a0f
Merge branch 'master' into abonner-paa-inntekts-hendelser
eirroer 943d66c
Bump k9-felles versjon til 9.2.0
eirroer ade32c1
Fjern todo og legg til logging
eirroer 1525989
endre versjonsnummer på migreringsskript
eirroer 4797b6f
Legg til metode for å hente første sekvensnummer fra tjenesten
eirroer ea85e72
Opprett task for å hente inntekthendelser for abonnenter
eirroer a640405
Opprett og avslutt inntekt abonnenter i VurderKompletthetStegImpl
eirroer 0154e80
liten fiks
eirroer ea86b7a
Oppdater VurderKompletthetStegImplTest
eirroer c0c5b1d
Legg til feature flagg og konfigverdier
eirroer 3a05d41
Merge branch 'master' into abonner-paa-inntekts-hendelser
eirroer 8de8faa
Legg på aktiv flagg i query
eirroer 4b994b8
Få med periode i opprettelse av abonnement
eirroer 6bc1476
Fjern unødvendig sjekk av flagg
eirroer 35276c1
Fjern logging av aktørid
eirroer d39691e
fix typo
eirroer bda0c93
fix typo
eirroer 34ff8d2
Merge remote-tracking branch 'origin/abonner-paa-inntekts-hendelser' …
eirroer 9d9ca14
bytte baseurl, og refaktorer
eirroer d0d6898
setter abonnement DTOer til private og pakkenivå
eirroer 42f57c5
Merge branch 'master' into abonner-paa-inntekts-hendelser
eirroer cc8469d
opprett interface for restjenestefeil
eirroer fad3cd6
refaktorer
eirroer e280df9
håndter 404 dersom ingen sekvensnummer ved kall
eirroer 2d4f1bd
Merge branch 'master' into abonner-paa-inntekts-hendelser
eirroer e0d2766
bruk behandlingrepository for å hente behandling istedenfor query
eirroer ecca3b8
refaktorerer for tydeligjøre flyten
eirroer 83082f7
legg til sjekk på at hendelsen er relevant for behandlingen
eirroer 54d64a1
refaktorerer for å ikke sjekke om behandling er relevant flere steder
eirroer 7643beb
legg til toogle for å kunne logge innkommende inntekthendelser uten å…
eirroer 929f1ed
fix
eirroer 59266ae
tar bort noen konfigverdier for å forenkle
eirroer e94d51e
Håndter dersom ingen sekvensnummer fra inntektskomponenten ved oppsta…
eirroer 457e8c4
Legg til url og scope i dev-miljøet
eirroer 9f36107
gjør til metode til void siden returverdien ikke blir brukt
eirroer 51d8f59
Oppgrader til inntektkomponenten V2 abonnentløsningen
eirroer 0dbaf31
hent siste sekvensnummer på en safere måte og flytt filter av periode…
eirroer f5031b5
inntektskomponenten V2 tar personIdent og ikke lenger aktørId når abo…
eirroer 0250a7d
bytt stream iterasjon til list
eirroer 834817c
Fjern getter og sette på versjon
eirroer 91b0414
Fjern unødvendige returns
eirroer d4126e2
Forenkle sjekk siden vi ikke avslutter behandlinger uten å også være …
eirroer db2f915
Småfiks
eirroer df116eb
Navn og typefiks
eirroer d3221e9
bytt til dependent
eirroer c248a26
Fjern unødvending konvertering
eirroer acf7f31
Endre kommentar på kolonne
eirroer b665812
Fjern return statement
eirroer a092dbb
fjern logging
eirroer 5a59448
legg til periode og sisteBrukdag kolonner i inntektAbonnent entiteten
eirroer a43c767
Legg til sjekk på periode ved opprettelse av abonnement
eirroer 74c5ea2
fix
eirroer 42f51e0
Kall igjen på idempotens avslutt metode for inntektsabonnement ved av…
eirroer 916a9d4
Endre navn på konfig verdi for å unngå dobbelnegering
eirroer 1d1c70a
Endre navn på konfig verdi for å unngå dobbelnegering
eirroer d015b55
Merge remote-tracking branch 'origin/abonner-paa-inntekts-hendelser' …
eirroer 8a6fe7c
oppdater enhetstest
eirroer dc9c169
fjern unique contraint
eirroer 4daa874
legg til sekvensgenerator for inntekt abonnement
eirroer 8a27484
abstraherer bort sekvensnummer i en InntektHendelsetilstand record
eirroer 5d07cd8
legg til enhetstester for InntektAbonnentTjeneste
eirroer 36c2335
legg til enhetstest for sjekke at abonnent blir oprettet og lagret
eirroer de9375f
abonnementId skal være unik
eirroer 3343ba5
legg til enhetstester for InntektHendelseTilstand og gjør record synl…
eirroer 9f470d1
Implementasjon med enklere flyt (#932)
tendestad f5be20c
fjern tilstander med enhetstester
eirroer c28af6f
unngå nullpointerException
eirroer 0b3bb6b
fjern ubrukt metode
eirroer 2a2d1fe
fjern ubrukt metode
eirroer 08850ac
flip toggle sånn at logikken blir riktig og fjern noe logging
eirroer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
100 changes: 100 additions & 0 deletions
100
...omene/src/main/java/no/nav/ung/sak/behandlingslager/tilkjentytelse/InntektAbonnement.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,100 @@ | ||
| package no.nav.ung.sak.behandlingslager.tilkjentytelse; | ||
|
|
||
| import jakarta.persistence.AttributeOverride; | ||
| import jakarta.persistence.AttributeOverrides; | ||
| import jakarta.persistence.Column; | ||
| import jakarta.persistence.Embedded; | ||
| import jakarta.persistence.Entity; | ||
| import jakarta.persistence.GeneratedValue; | ||
| import jakarta.persistence.GenerationType; | ||
| import jakarta.persistence.Id; | ||
| import jakarta.persistence.Table; | ||
| import jakarta.persistence.Version; | ||
| import no.nav.k9.felles.konfigurasjon.konfig.Tid; | ||
| import no.nav.ung.sak.behandlingslager.BaseEntitet; | ||
| import no.nav.ung.sak.behandlingslager.PostgreSQLRangeType; | ||
| import no.nav.ung.sak.behandlingslager.Range; | ||
| import no.nav.ung.sak.domene.typer.tid.DatoIntervallEntitet; | ||
| import no.nav.ung.sak.typer.AktørId; | ||
| import org.hibernate.annotations.Type; | ||
|
|
||
| import java.time.LocalDate; | ||
|
|
||
| @Entity(name = "InntektAbonnement") | ||
| @Table(name = "INNTEKT_ABONNEMENT") | ||
| public class InntektAbonnement extends BaseEntitet { | ||
|
|
||
| @Id | ||
| @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_INNTEKT_ABONNEMENT") | ||
| private Long id; | ||
|
|
||
| @Column(name = "abonnement_id", nullable = false) | ||
| private String abonnementId; | ||
|
|
||
| @Embedded | ||
| @AttributeOverrides(@AttributeOverride(name = "aktørId", column = @Column(name = "aktoer_id", nullable = false))) | ||
| private AktørId aktørId; | ||
|
|
||
| @Type(PostgreSQLRangeType.class) | ||
| @Column(name = "periode", columnDefinition = "daterange") | ||
| private Range<LocalDate> periode; | ||
|
|
||
| @Column(name = "siste_bruksdag", nullable = false) | ||
| private LocalDate sisteBruksdag; | ||
|
|
||
| @Version | ||
| @Column(name = "versjon", nullable = false) | ||
| private long versjon; | ||
|
|
||
| @Column(name = "aktiv", nullable = false) | ||
| private boolean aktiv = true; | ||
|
|
||
| public InntektAbonnement() { | ||
| } | ||
|
|
||
| public InntektAbonnement(String abonnementId, AktørId aktørId) { | ||
| this.abonnementId = abonnementId; | ||
| this.aktørId = aktørId; | ||
| } | ||
|
|
||
| public Long getId() { | ||
| return id; | ||
| } | ||
|
|
||
| public String getAbonnementId() { | ||
| return abonnementId; | ||
| } | ||
|
|
||
| public AktørId getAktørId() { | ||
| return aktørId; | ||
| } | ||
|
|
||
| public DatoIntervallEntitet getPeriode() { | ||
| return DatoIntervallEntitet.fra(periode); | ||
| } | ||
|
|
||
| void setPeriode(LocalDate fom, LocalDate tom) { | ||
| if ((fom == null || fom.equals(Tid.TIDENES_BEGYNNELSE))) { | ||
| throw new IllegalArgumentException(String.format("Alle saker må angi en startdato: [%s, %s]", fom, tom)); | ||
| } | ||
| if (tom == null || tom.equals(Tid.TIDENES_ENDE)) { | ||
| throw new IllegalArgumentException(); | ||
| } | ||
| this.periode = DatoIntervallEntitet.fra(fom, tom).toRange(); | ||
| } | ||
|
|
||
| public LocalDate getSisteBruksdag() { | ||
| return sisteBruksdag; | ||
| } | ||
|
|
||
| public void setSisteBruksdag(LocalDate sisteBruksdag) { | ||
| this.sisteBruksdag = sisteBruksdag; | ||
| } | ||
|
|
||
| public boolean erAktiv() { | ||
| return aktiv; | ||
| } | ||
| public void setAktiv(boolean aktiv) { | ||
| this.aktiv = aktiv; | ||
| } | ||
| } | ||
37 changes: 37 additions & 0 deletions
37
...main/java/no/nav/ung/sak/behandlingslager/tilkjentytelse/InntektAbonnementRepository.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| package no.nav.ung.sak.behandlingslager.tilkjentytelse; | ||
|
|
||
| import jakarta.enterprise.context.Dependent; | ||
| import jakarta.inject.Inject; | ||
| import jakarta.persistence.EntityManager; | ||
| import no.nav.ung.sak.typer.AktørId; | ||
| import java.util.Optional; | ||
|
|
||
| @Dependent | ||
| public class InntektAbonnementRepository { | ||
|
|
||
| private EntityManager entityManager; | ||
|
|
||
| @Inject | ||
| public InntektAbonnementRepository(EntityManager entityManager) { | ||
| this.entityManager = entityManager; | ||
| } | ||
|
|
||
| public void lagre(InntektAbonnement abonnement) { | ||
| entityManager.persist(abonnement); | ||
| } | ||
|
|
||
| public Optional<InntektAbonnement> hentAbonnementForAktør(AktørId aktørId) { | ||
| var query = entityManager.createQuery( | ||
| "SELECT i FROM InntektAbonnement i WHERE i.aktørId = :aktørId AND i.aktiv = true", | ||
| InntektAbonnement.class | ||
| ); | ||
| query.setParameter("aktørId", aktørId); | ||
| return query.getResultStream().findFirst(); | ||
| } | ||
|
|
||
| public void slettAbonnement(InntektAbonnement abonnement) { | ||
| abonnement.setAktiv(false); | ||
| entityManager.persist(abonnement); | ||
| } | ||
| } | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,20 +3,19 @@ | |
| import jakarta.enterprise.context.ApplicationScoped; | ||
| import jakarta.inject.Inject; | ||
| import no.nav.k9.felles.konfigurasjon.konfig.KonfigVerdi; | ||
| import no.nav.ung.kodeverk.behandling.BehandlingÅrsakType; | ||
| import no.nav.ung.kodeverk.behandling.aksjonspunkt.AksjonspunktDefinisjon; | ||
| import no.nav.ung.kodeverk.behandling.aksjonspunkt.Venteårsak; | ||
| import no.nav.ung.kodeverk.varsel.EtterlysningType; | ||
| import no.nav.ung.sak.behandling.BehandlingReferanse; | ||
| import no.nav.ung.sak.behandlingskontroll.*; | ||
| import no.nav.ung.sak.behandlingslager.behandling.BehandlingÅrsak; | ||
| import no.nav.ung.sak.behandlingslager.behandling.repository.BehandlingRepository; | ||
| import no.nav.ung.sak.behandlingslager.etterlysning.Etterlysning; | ||
| import no.nav.ung.sak.behandlingslager.etterlysning.EtterlysningRepository; | ||
| import no.nav.ung.sak.behandlingslager.fagsak.Fagsak; | ||
| import no.nav.ung.sak.domene.behandling.steg.kompletthet.registerinntektkontroll.KontrollerInntektEtterlysningOppretter; | ||
| import no.nav.ung.sak.domene.behandling.steg.kompletthet.registerinntektkontroll.RapporteringsfristAutopunktUtleder; | ||
| import no.nav.ung.sak.domene.behandling.steg.ungdomsprogramkontroll.ProgramperiodeendringEtterlysningTjeneste; | ||
| import no.nav.ung.sak.domene.registerinnhenting.InntektAbonnentTjeneste; | ||
| import org.slf4j.Logger; | ||
| import org.slf4j.LoggerFactory; | ||
|
|
||
|
|
@@ -57,8 +56,10 @@ public class VurderKompletthetStegImpl implements VurderKompletthetSteg { | |
| private BehandlingRepository behandlingRepository; | ||
| private KontrollerInntektEtterlysningOppretter kontrollerInntektEtterlysningOppretter; | ||
| private ProgramperiodeendringEtterlysningTjeneste programperiodeendringEtterlysningTjeneste; | ||
| private InntektAbonnentTjeneste inntektAbonnentTjeneste; | ||
| private RapporteringsfristAutopunktUtleder rapporteringsfristAutopunktUtleder; | ||
| private Duration ventePeriode; | ||
| private boolean hentInntektHendelserEnabled; | ||
|
|
||
|
|
||
| VurderKompletthetStegImpl() { | ||
|
|
@@ -69,14 +70,18 @@ public VurderKompletthetStegImpl(EtterlysningRepository etterlysningRepository, | |
| BehandlingRepository behandlingRepository, | ||
| KontrollerInntektEtterlysningOppretter kontrollerInntektEtterlysningOppretter, | ||
| ProgramperiodeendringEtterlysningTjeneste programperiodeendringEtterlysningTjeneste, | ||
| InntektAbonnentTjeneste inntektAbonnentTjeneste, | ||
| RapporteringsfristAutopunktUtleder rapporteringsfristAutopunktUtleder, | ||
| @KonfigVerdi(value = "VENTEFRIST_UTTALELSE", defaultVerdi = "P14D") String ventePeriode) { | ||
| @KonfigVerdi(value = "VENTEFRIST_UTTALELSE", defaultVerdi = "P14D") String ventePeriode, | ||
| @KonfigVerdi(value = "HENT_INNTEKT_HENDELSER_ENABLED", required = false, defaultVerdi = "false") boolean hentInntektHendelserEnabled) { | ||
| this.etterlysningRepository = etterlysningRepository; | ||
| this.behandlingRepository = behandlingRepository; | ||
| this.kontrollerInntektEtterlysningOppretter = kontrollerInntektEtterlysningOppretter; | ||
| this.programperiodeendringEtterlysningTjeneste = programperiodeendringEtterlysningTjeneste; | ||
| this.inntektAbonnentTjeneste = inntektAbonnentTjeneste; | ||
| this.rapporteringsfristAutopunktUtleder = rapporteringsfristAutopunktUtleder; | ||
| this.ventePeriode = Duration.parse(ventePeriode); | ||
| this.hentInntektHendelserEnabled = hentInntektHendelserEnabled; | ||
| } | ||
|
|
||
| @Override | ||
|
|
@@ -95,6 +100,10 @@ public VurderKompletthetStegImpl(EtterlysningRepository etterlysningRepository, | |
| log.info("Behandling {} har ikke digital bruker, hopper over opprettelse av etterlysninger for endret programperiode og kontroll av inntekt.", kontekst.getBehandlingId()); | ||
| } | ||
|
|
||
| if (hentInntektHendelserEnabled) { | ||
| inntektAbonnentTjeneste.opprettAbonnement(behandlingReferanse.getAktørId(), behandling.getFagsak().getPeriode().tilPeriode()); | ||
| } | ||
|
|
||
| // Steg 2: Utled aksjonspunkter | ||
| List<AksjonspunktResultat> aksjonspunktResultater = new ArrayList<>(); | ||
|
|
||
|
|
@@ -105,6 +114,11 @@ public VurderKompletthetStegImpl(EtterlysningRepository etterlysningRepository, | |
| // Sjekker etterlysninger opprettet i steg 1 | ||
| final var etterlysningerSomVenterPåSvar = etterlysningRepository.hentEtterlysningerSomVenterPåSvar(kontekst.getBehandlingId()); | ||
| aksjonspunktResultater.addAll(utledFraEtterlysninger(etterlysningerSomVenterPåSvar)); | ||
|
|
||
| if(etterlysningerSomVenterPåSvar.isEmpty()) { | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Denne må være i sync med at steget blir ferdig uten aksjonspunktere for at vi alltid skal avslutte abonnementet, så kanskje bedre å sjekke mot aksjonpsunktResultater? |
||
| inntektAbonnentTjeneste.avsluttAbonnentHvisFinnes(behandlingReferanse.getAktørId()); | ||
| } | ||
|
|
||
| return BehandleStegResultat.utførtMedAksjonspunktResultater(aksjonspunktResultater); | ||
| } | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.