Skip to content

Commit

Permalink
Eksponer inntektsmelding til innsyn (#2734)
Browse files Browse the repository at this point in the history
  • Loading branch information
johannbm authored Oct 22, 2024
1 parent e5199ae commit 66e23ef
Show file tree
Hide file tree
Showing 11 changed files with 130 additions and 18 deletions.
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
java temurin-21.0.3+9.0.LTS
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import no.nav.foreldrepenger.common.domain.Saksnummer;
import no.nav.foreldrepenger.common.innsyn.AnnenPartSak;
import no.nav.foreldrepenger.common.innsyn.Saker;
import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;
import no.nav.foreldrepenger.selvbetjening.http.RetryAware;

public interface Innsyn extends RetryAware {
Expand All @@ -20,5 +21,5 @@ public interface Innsyn extends RetryAware {

Optional<AnnenPartSak> annenPartVedtak(AnnenPartSakIdentifikator request);

List<InntektsmeldingDto> inntektsmeldinger(Saksnummer saksnummer);
List<FpOversiktInntektsmeldingDto> inntektsmeldinger(Saksnummer saksnummer);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
import java.util.List;
import java.util.Optional;

import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;

import org.springframework.stereotype.Component;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestOperations;
Expand Down Expand Up @@ -58,8 +60,8 @@ public List<TilbakekrevingsInnslag> hentUttalelserOmTilbakekreving() {
.orElse(emptyList());
}

public List<InntektsmeldingDto> hentInntekstmeldingFor(Saksnummer saksnummer) {
return Optional.ofNullable(getForObject(cfg.inntektsmelding(saksnummer), InntektsmeldingDto[].class))
public List<FpOversiktInntektsmeldingDto> hentInntekstmeldingFor(Saksnummer saksnummer) {
return Optional.ofNullable(getForObject(cfg.inntektsmelding(saksnummer), FpOversiktInntektsmeldingDto[].class))
.map(Arrays::asList)
.orElse(emptyList());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import java.util.List;
import java.util.Optional;

import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -54,7 +56,7 @@ public Optional<AnnenPartSak> annenPartVedtak(AnnenPartSakIdentifikator annenPar
}

@Override
public List<InntektsmeldingDto> inntektsmeldinger(Saksnummer saksnummer) {
public List<FpOversiktInntektsmeldingDto> inntektsmeldinger(Saksnummer saksnummer) {
return innsynConnection.hentInntekstmeldingFor(saksnummer);
}

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package no.nav.foreldrepenger.selvbetjening.innsyn.inntektsmelding;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import no.nav.foreldrepenger.common.domain.Saksnummer;
import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;
import no.nav.foreldrepenger.selvbetjening.http.ProtectedRestController;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@ProtectedRestController("/rest/innsyn/inntektsmeldinger")
public class InntektsmeldingController {
private final InntektsmeldingTjeneste inntektsmeldingTjeneste;

@Autowired
public InntektsmeldingController(InntektsmeldingTjeneste inntektsmeldingTjeneste) {
this.inntektsmeldingTjeneste = inntektsmeldingTjeneste;
}

@GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
public List<FpOversiktInntektsmeldingDto> hentInntektsmeldinger(@RequestParam @Valid @NotNull Saksnummer saksnummer) {
return inntektsmeldingTjeneste.hentInntektsmeldinger(saksnummer);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package no.nav.foreldrepenger.selvbetjening.innsyn.inntektsmelding;

import no.nav.foreldrepenger.common.domain.Saksnummer;
import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;
import no.nav.foreldrepenger.selvbetjening.innsyn.Innsyn;

import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class InntektsmeldingTjeneste {

private final Innsyn innsyn;

public InntektsmeldingTjeneste(Innsyn innsyn) {
this.innsyn = innsyn;
}

public List<FpOversiktInntektsmeldingDto> hentInntektsmeldinger(Saksnummer saksnummer) {
return innsyn.inntektsmeldinger(saksnummer);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,15 @@
import java.util.Optional;
import java.util.stream.Stream;

import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;

import no.nav.foreldrepenger.common.domain.Fødselsnummer;
import no.nav.foreldrepenger.common.domain.Saksnummer;
import no.nav.foreldrepenger.selvbetjening.innsyn.Innsyn;
import no.nav.foreldrepenger.selvbetjening.innsyn.InntektsmeldingDto;
import no.nav.foreldrepenger.selvbetjening.innsyn.dokument.EnkelJournalpost;
import no.nav.foreldrepenger.selvbetjening.innsyn.dokument.SafSelvbetjeningTjeneste;

Expand Down Expand Up @@ -126,12 +127,16 @@ private static TidslinjeHendelseDto.Dokument tilDokument(EnkelJournalpost.Dokume
return new TidslinjeHendelseDto.Dokument(journalpostId, dokument.dokumentId(), dokument.tittel());
}

private static TidslinjeHendelseDto tilTidslinjeHendelse(InntektsmeldingDto inntektsmelding) {
private static TidslinjeHendelseDto tilTidslinjeHendelse(FpOversiktInntektsmeldingDto inntektsmelding) {
// versjon 1 har ikke journalPostId.
var dokumenter = inntektsmelding.versjon() == 2 ?
List.of(new TidslinjeHendelseDto.Dokument(inntektsmelding.journalpostId(), null, "")) : List.<TidslinjeHendelseDto.Dokument>of();

return new TidslinjeHendelseDto(
inntektsmelding.opprettet(),
inntektsmelding.mottattTidspunkt(),
TidslinjeHendelseDto.AktørType.ARBEIDSGIVER,
TidslinjeHendelseDto.TidslinjeHendelseType.INNTEKTSMELDING,
List.of()
dokumenter
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package no.nav.foreldrepenger.selvbetjening.innsyn.inntektsmelding;

import no.nav.foreldrepenger.common.domain.Saksnummer;
import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;

import org.junit.jupiter.api.Test;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

public class InntektsmeldingControllerTest {


private static final String FAKE_SAKSNUMMER = "123456789";
private InntektsmeldingTjeneste inntektsmeldingTjeneste = mock(InntektsmeldingTjeneste.class);

@Test
void sakErOppdatertHvisOppdateringstidspunktErEtterMottattidspunktetTilJournalposten() {
var imController = new InntektsmeldingController(inntektsmeldingTjeneste);

when(inntektsmeldingTjeneste.hentInntektsmeldinger(new Saksnummer(FAKE_SAKSNUMMER))).thenReturn(List.of(standardInntektsmelding()));

var result = imController.hentInntektsmeldinger(new Saksnummer(FAKE_SAKSNUMMER));
assertThat(result).hasSize(1);
}

private static FpOversiktInntektsmeldingDto standardInntektsmelding() {
return new FpOversiktInntektsmeldingDto(
2,
true,
BigDecimal.valueOf(70),
BigDecimal.valueOf(5000),
BigDecimal.valueOf(5000),
"Arbeidsgiver",
"123123123",
"1",
LocalDateTime.now(),
LocalDate.now(),
List.of(),
List.of()
);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,18 @@
import static org.mockito.Mockito.when;

import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List;

import no.nav.foreldrepenger.common.innsyn.inntektsmelding.FpOversiktInntektsmeldingDto;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

import no.nav.foreldrepenger.common.domain.Fødselsnummer;
import no.nav.foreldrepenger.common.domain.Saksnummer;
import no.nav.foreldrepenger.common.domain.felles.DokumentType;
import no.nav.foreldrepenger.selvbetjening.innsyn.Innsyn;
import no.nav.foreldrepenger.selvbetjening.innsyn.InntektsmeldingDto;
import no.nav.foreldrepenger.selvbetjening.innsyn.dokument.EnkelJournalpost;
import no.nav.foreldrepenger.selvbetjening.innsyn.dokument.SafSelvbetjeningTjeneste;

Expand Down Expand Up @@ -355,7 +357,9 @@ public static EnkelJournalpost etterlysIM(Saksnummer saksnummer) {
);
}

public static InntektsmeldingDto standardInntektsmelding(LocalDateTime opprettet) {
return new InntektsmeldingDto(opprettet);
public static FpOversiktInntektsmeldingDto standardInntektsmelding(LocalDateTime opprettet) {
return new FpOversiktInntektsmeldingDto(
1, true, null, null, null, null, null, null, opprettet, null, Collections.emptyList(), Collections.emptyList()
);
}
}
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<stonadskonto-regler.version>2.1.1</stonadskonto-regler.version>
<selvbetjening-felles.version>3.1.9</selvbetjening-felles.version>
<selvbetjening-felles.version>3.1.10</selvbetjening-felles.version>
<token-validation-version>4.0.5</token-validation-version> <!-- Fjerner cookie støtte fra versjon 4.1.0-->
<boot-conditionals.version>5.1.2</boot-conditionals.version>

Expand Down

0 comments on commit 66e23ef

Please sign in to comment.