Skip to content
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

Feature/tfp 5554 2 #6892

Draft
wants to merge 34 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
32249b2
temp
palfi Nov 13, 2024
a04b192
Legger til tekstlinjer direkte på historikkinnslaget
palfi Nov 13, 2024
6a17d14
TFP-5554 nye tabeller
palfi Nov 14, 2024
d444869
tmep
palfi Nov 14, 2024
3236dd9
videre
palfi Nov 14, 2024
1e16a81
Historikkinnslag dokumentmottak
palfi Nov 14, 2024
f38d13f
flere historikkinnslag
palfi Nov 14, 2024
df051dc
TFP-5554: historikkinnslag for ArbeidInntektHistorikkinnslagTjeneste.
thao1 Nov 15, 2024
28657bd
TFP-5554: Legger til bold på tekst for historikkinnslag ArbeidInntek…
thao1 Nov 15, 2024
b4d6ee4
TFP-5554: Lagt til ny historikkinnslag for FordelBeregningsgrunnlagHi…
thao1 Nov 19, 2024
46eec9a
TFP-5554: Lagt til ny historikkinnslag for VurderRefusjonBeregningsgr…
thao1 Nov 20, 2024
1849228
rename t og b
palfi Nov 20, 2024
f80e360
Gernere nytt historikkinnslag for VurderSøknadsfristOppdaterer
espenwaaga Nov 20, 2024
e1cd2d9
temp
palfi Nov 20, 2024
829e99b
doklink i persinstence unit
palfi Nov 20, 2024
8e83bdf
fikser test
palfi Nov 20, 2024
c1dbeaa
Forcer punktum på slutten av hver tekstlinje + flere uttak innslag
palfi Nov 20, 2024
bae6fe1
Validering på required felter i historikkinnslaget
palfi Nov 20, 2024
b80bc80
TFP-5444: Endrer historikkopprettelse for avvik atfl
pekern Nov 21, 2024
c787284
Genererer historikkinnslag for AvklarAktivitetsPerioderOppdaterer
espenwaaga Nov 21, 2024
e05e83f
Liten cleanup
espenwaaga Nov 21, 2024
685a852
verge historikk
palfi Nov 21, 2024
465f099
Historikk ikke varsel revurdering
palfi Nov 21, 2024
653b887
Klage historikk
palfi Nov 21, 2024
ba4fca5
Gjør om BeregningsaktivitetOverstyringshåndterer og AvklarAktiviteter…
espenwaaga Nov 21, 2024
1470138
Legger til genereing av historikkinnslag for FaktaBeregningHistorikkK…
espenwaaga Nov 22, 2024
03dd809
Generer historikkinnsalg for BekreftTerminbekreftelseOppdaterer.java
espenwaaga Nov 22, 2024
9b57283
Generer historikkinnslag for KontrollerStorEtterbetalingOppdaterer
espenwaaga Nov 22, 2024
07f4d0c
Generer historikkinnslag for VurderUttakDokumentasjonOppdaterer
espenwaaga Nov 22, 2024
c9dd97e
Generer historikkinnslag for KontrollerRevurderingsBehandlingOppdaterer
espenwaaga Nov 22, 2024
da5f470
Generer historikkinnslag for VurderFeilutbetalingOppdaterer
espenwaaga Nov 22, 2024
fc1380d
Generer historikkinnslag for VurderAnnenYtelseFørVedtakOppdaterer
espenwaaga Nov 22, 2024
14a13cb
Generer historikkinnslag for VurderDokumentFørVedtakOppdaterer og Vur…
espenwaaga Nov 22, 2024
72af938
Generer historikkinnslag for ForeslåVedtakAksjonspunktOppdaterer og F…
espenwaaga Nov 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@

public enum HistorikkResultatType implements Kodeverdi {

//TODO TFP-5554 fjerne?

UDEFINIERT("-", "Ikke definert"),
AVVIS_KLAGE("AVVIS_KLAGE", "Klagen er avvist"),
MEDHOLD_I_KLAGE("MEDHOLD_I_KLAGE", "omgjør vedtaket, til gunst"),
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
package no.nav.foreldrepenger.behandlingslager.behandling.historikk;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import jakarta.persistence.Column;
import jakarta.persistence.Convert;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;

import no.nav.foreldrepenger.behandlingslager.BaseEntitet;
import no.nav.foreldrepenger.behandlingslager.behandling.skjermlenke.SkjermlenkeType;

@Entity(name = "Historikkinnslag2")
@Table(name = "HISTORIKKINNSLAG2")
public class Historikkinnslag2 extends BaseEntitet {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_HISTORIKKINNSLAG2")
private Long id;

//TODO TFP-5554 trenger egentlig ikke fagsakId hvis vi har en behandlingId?
@Column(name = "fagsak_id", nullable = false)
private Long fagsakId;

@Column(name = "behandling_id")
private Long behandlingId;

@Convert(converter = HistorikkAktør.KodeverdiConverter.class)
@Column(name = "aktoer", nullable = false)
private HistorikkAktør aktør;

@Convert(converter = SkjermlenkeType.KodeverdiConverter.class)
@Column(name = "skjermlenke")
private SkjermlenkeType skjermlenke;

@OneToMany(mappedBy = "historikkinnslag")
private List<Historikkinnslag2Tekstlinje> tekstlinjer = new ArrayList<>();

@OneToMany(mappedBy = "historikkinnslag")
private List<Historikkinnslag2DokumentLink> dokumentLinker = new ArrayList<>();

@Column(name = "tittel")
private String tittel;

protected Historikkinnslag2() {
}

public Long getFagsakId() {
return fagsakId;
}

public Long getBehandlingId() {
return behandlingId;
}

public HistorikkAktør getAktør() {
return aktør;
}

public SkjermlenkeType getSkjermlenke() {
return skjermlenke;
}

public List<Historikkinnslag2Tekstlinje> getTekstlinjer() {
return tekstlinjer;
}

public List<Historikkinnslag2DokumentLink> getDokumentLinker() {
return dokumentLinker;
}

@Override
public String toString() {
return "Historikkinnslag2{" + "fagsakId=" + fagsakId + ", behandlingId=" + behandlingId + ", aktør=" + aktør + ", skjermlenkeType="
+ skjermlenke + ", tekstlinjer=" + tekstlinjer + ", tittel='" + tittel + '\'' + '}';
}

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Historikkinnslag2 that)) {
return false;
}
return Objects.equals(behandlingId, that.behandlingId) && Objects.equals(fagsakId, that.fagsakId) && Objects.equals(tittel, that.tittel)
&& Objects.equals(dokumentLinker, that.dokumentLinker) && Objects.equals(tekstlinjer, that.tekstlinjer);
}

@Override
public int hashCode() {
return Objects.hash(behandlingId, fagsakId, tittel, dokumentLinker, tekstlinjer);
}

public String getTittel() {
return tittel;
}

public static class Builder {

private Historikkinnslag2 kladd = new Historikkinnslag2();
private List<String> internLinjer = new ArrayList<>();

public Builder medFagsakId(Long fagsakId) {
kladd.fagsakId = fagsakId;
return this;
}

public Builder medBehandlingId(Long behandlingId) {
kladd.behandlingId = behandlingId;
return this;
}

public Builder medAktør(HistorikkAktør aktør) {
kladd.aktør = aktør;
return this;
}

public Builder medTittel(SkjermlenkeType skjermlenke) {
kladd.skjermlenke = skjermlenke;
return this;
}

public Builder medTittel(String tittel) {
kladd.tittel = tittel;
return this;
}


public Builder medTekstlinjer(List<HistorikkinnslagTekstlinjeBuilder> linjer) {
medTekstlinjerString(linjer.stream().filter(Objects::nonNull).map(HistorikkinnslagTekstlinjeBuilder::build).toList()); // fraTilEquals kan legger til null objekter
return this;
}

public Builder medTekstlinjerString(List<String> linjer) {
internLinjer = new ArrayList<>(linjer);
return this;
}

public Builder addTekstlinje(HistorikkinnslagTekstlinjeBuilder historikkinnslagTekstlinjeBuilder) {
if (historikkinnslagTekstlinjeBuilder != null) {
internLinjer.add(historikkinnslagTekstlinjeBuilder.build());
}
return this;
}

public Builder addTekstlinje(String tekst) {
if (tekst != null) {
internLinjer.add(tekst);
}
return this;
}

public Builder medDokumenter(List<Historikkinnslag2DokumentLink> dokumenter) {
kladd.dokumentLinker = dokumenter;
for (var historikkinnslag2DokumentLink : dokumenter) {
historikkinnslag2DokumentLink.setHistorikkinnslag(kladd);
}
return this;
}

public Historikkinnslag2 build() {
Objects.requireNonNull(kladd.fagsakId);
Objects.requireNonNull(kladd.aktør);
if (kladd.tittel == null && kladd.skjermlenke == null) {
throw new NullPointerException("Forventer å enten ha tittel eller skjermlenke");
}

for (var i = 0; i < internLinjer.size(); i++) {
var tekst = internLinjer.get(i);
var linje = new Historikkinnslag2Tekstlinje(sluttMedPunktum(tekst), String.valueOf(i));
kladd.tekstlinjer.add(linje);
linje.setHistorikkinnslag(kladd);
}

var t = kladd;
kladd = null;
return t;
}

private String sluttMedPunktum(String tekst) {
if (tekst.isEmpty()) {
return tekst;
}
var sisteTegn = tekst.charAt(tekst.length() - 1);
return sisteTegn == '.' ? tekst : tekst + '.';
}

public int antallLagtTilLinjer() {
return kladd.tekstlinjer.size();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
package no.nav.foreldrepenger.behandlingslager.behandling.historikk;

import java.util.Objects;

import jakarta.persistence.AttributeOverride;
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.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;

import no.nav.foreldrepenger.behandlingslager.BaseEntitet;
import no.nav.foreldrepenger.behandlingslager.diff.IndexKey;
import no.nav.foreldrepenger.domene.typer.JournalpostId;

@Entity(name = "Historikkinnslag2DokumentLink")
@Table(name = "HISTORIKKINNSLAG2_DOK_LINK")
public class Historikkinnslag2DokumentLink extends BaseEntitet implements IndexKey {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_HISTORIKKINNSLAG2_DOK_LINK")
private Long id;

@Column(name = "link_tekst", updatable=false, nullable = false)
private String linkTekst;

@ManyToOne(optional = false)
@JoinColumn(name = "historikkinnslag_id", nullable = false)
private Historikkinnslag2 historikkinnslag;

@Embedded
@AttributeOverride(name = "journalpostId", column = @Column(name = "journalpost_id"))
private JournalpostId journalpostId;

@Column(name = "dokument_id")
private String dokumentId;

@Override
public String getIndexKey() {
return IndexKey.createKey(journalpostId, dokumentId, linkTekst);
}

public String getLinkTekst() {
return linkTekst;
}

public void setLinkTekst(String tag) {
this.linkTekst = tag;
}

public void setHistorikkinnslag(Historikkinnslag2 historikkinnslag) {
this.historikkinnslag = historikkinnslag;
}

public JournalpostId getJournalpostId() {
return journalpostId;
}

public void setJournalpostId(JournalpostId journalpostId) {
this.journalpostId = journalpostId;
}

public String getDokumentId() {
return dokumentId;
}

public void setDokumentId(String dokumentId) {
this.dokumentId = dokumentId;
}

public static class Builder {
private Historikkinnslag2DokumentLink historikkinnslagDokumentLink;

public Builder() {
historikkinnslagDokumentLink = new Historikkinnslag2DokumentLink();
}

public Builder medLinkTekst(String linkTekst) {
historikkinnslagDokumentLink.linkTekst = linkTekst;
return this;
}

public Builder medHistorikkinnslag(Historikkinnslag2 historikkinnslag) {
historikkinnslagDokumentLink.historikkinnslag = historikkinnslag;
return this;
}

public Builder medJournalpostId(JournalpostId journalpostId) {
historikkinnslagDokumentLink.journalpostId = journalpostId;
return this;
}

public Builder medDokumentId(String dokumentId) {
historikkinnslagDokumentLink.dokumentId = dokumentId;
return this;
}

public Historikkinnslag2DokumentLink build() {
return historikkinnslagDokumentLink;
}
}

@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Historikkinnslag2DokumentLink that)) {
return false;
}
return
Objects.equals(getLinkTekst(), that.getLinkTekst()) &&
Objects.equals(historikkinnslag, that.historikkinnslag) &&
Objects.equals(getJournalpostId(), that.getJournalpostId()) &&
Objects.equals(getDokumentId(), that.getDokumentId());
}

@Override
public int hashCode() {
return Objects.hash(getLinkTekst(), historikkinnslag, getJournalpostId(), getDokumentId());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package no.nav.foreldrepenger.behandlingslager.behandling.historikk;

import java.util.List;

import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import jakarta.persistence.EntityManager;

import no.nav.foreldrepenger.domene.typer.Saksnummer;

@ApplicationScoped
public class Historikkinnslag2Repository {

private EntityManager entityManager;

@Inject
public Historikkinnslag2Repository(EntityManager entityManager) {
this.entityManager = entityManager;
}

Historikkinnslag2Repository() {
//CDI
}

public List<Historikkinnslag2> hent(Saksnummer saksnummer) {
return entityManager.createQuery("select h from Historikkinnslag2 h inner join Fagsak f On f.id = h.fagsakId where f.saksnummer= :saksnummer",
Historikkinnslag2.class).setParameter("saksnummer", saksnummer).getResultStream().toList();
}

public List<Historikkinnslag2> hent(Long behandlingId) {
return entityManager.createQuery(
"select h from Historikkinnslag2 h where h.behandlingId = :behandlingId OR h.behandlingId = NULL ", Historikkinnslag2.class)
.setParameter("behandlingId", behandlingId)
.getResultList();
}

public void lagre(Historikkinnslag2 historikkinnslag) {
entityManager.persist(historikkinnslag);
for (var tekstlinje : historikkinnslag.getTekstlinjer()) {
entityManager.persist(tekstlinje);
}
for (var dokument : historikkinnslag.getDokumentLinker()) {
entityManager.persist(dokument);
}
entityManager.flush();
}
}
Loading
Loading