diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingClient.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingClient.java index 9165045c22f..da2b4b3360b 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingClient.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingClient.java @@ -7,7 +7,6 @@ import ma.glasnost.orika.MapperFacade; import no.nav.dolly.bestilling.ClientFuture; import no.nav.dolly.bestilling.ClientRegister; -import no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest; import no.nav.dolly.bestilling.inntektsmelding.domain.TransaksjonMappingDTO; import no.nav.dolly.domain.jpa.BestillingProgress; import no.nav.dolly.domain.jpa.TransaksjonMapping; @@ -17,6 +16,7 @@ import no.nav.dolly.mapper.MappingContextUtils; import no.nav.dolly.service.TransaksjonMappingService; import no.nav.dolly.util.TransactionHelperService; +import no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests.InntektsmeldingRequest; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import reactor.core.publisher.Flux; @@ -53,12 +53,10 @@ public Flux gjenopprett(RsDollyUtvidetBestilling bestilling, Dolly var context = MappingContextUtils.getMappingContext(); context.setProperty("ident", dollyPerson.getIdent()); - var inntektsmeldingRequest = mapperFacade.map(bestilling.getInntektsmelding(), InntektsmeldingRequest.class, context); - return Flux.from( Flux.fromIterable(bestilling.getEnvironments()) .flatMap(environment -> { - var request = mapperFacade.map(inntektsmeldingRequest, InntektsmeldingRequest.class); + var request = mapperFacade.map(bestilling.getInntektsmelding(), InntektsmeldingRequest.class, context); request.setMiljoe(environment); return postInntektsmelding(isOpprettEndre || !transaksjonMappingService.existAlready(INNTKMELD, dollyPerson.getIdent(), environment, bestilling.getId()), diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingConsumer.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingConsumer.java index d37d985ffaa..1ca4ab6ea2b 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingConsumer.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/InntektsmeldingConsumer.java @@ -4,10 +4,10 @@ import lombok.extern.slf4j.Slf4j; import no.nav.dolly.bestilling.ConsumerStatus; import no.nav.dolly.bestilling.inntektsmelding.command.OpprettInntektsmeldingCommand; -import no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest; import no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingResponse; import no.nav.dolly.config.Consumers; import no.nav.dolly.metrics.Timed; +import no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests.InntektsmeldingRequest; import no.nav.testnav.libs.securitycore.domain.ServerProperties; import no.nav.testnav.libs.standalone.servletsecurity.exchange.TokenExchange; import org.springframework.stereotype.Service; diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/command/OpprettInntektsmeldingCommand.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/command/OpprettInntektsmeldingCommand.java index b122259a8ff..9b7006042e8 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/command/OpprettInntektsmeldingCommand.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/command/OpprettInntektsmeldingCommand.java @@ -1,8 +1,8 @@ package no.nav.dolly.bestilling.inntektsmelding.command; import lombok.RequiredArgsConstructor; -import no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest; import no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingResponse; +import no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests.InntektsmeldingRequest; import no.nav.testnav.libs.reactivecore.utils.WebClientFilter; import no.nav.testnav.libs.securitycore.config.UserConstant; import org.springframework.http.HttpHeaders; diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/domain/TransaksjonMappingDTO.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/domain/TransaksjonMappingDTO.java index 2e12bcf1f38..ace08d6fe44 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/domain/TransaksjonMappingDTO.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/domain/TransaksjonMappingDTO.java @@ -4,6 +4,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests.InntektsmeldingRequest; @Data @Builder diff --git a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java index a444e9a55c1..de3fd9f129c 100644 --- a/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java +++ b/apps/dolly-backend/src/main/java/no/nav/dolly/bestilling/inntektsmelding/mapper/InntektsmeldingMappingStrategy.java @@ -3,29 +3,29 @@ import ma.glasnost.orika.CustomMapper; import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.MappingContext; -import no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest; -import no.nav.dolly.domain.resultset.inntektsmeldingstub.AarsakTilInnsendingType; import no.nav.dolly.domain.resultset.inntektsmeldingstub.RsInntektsmelding; import no.nav.dolly.mapper.MappingStrategy; +import no.nav.testnav.libs.dto.dokarkiv.v1.RsJoarkMetadata; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.RsInntektsmeldingRequest; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.enums.AarsakInnsendingKodeListe; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsAvsendersystem; +import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs.RsKontaktinformasjon; +import no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests.InntektsmeldingRequest; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import static java.util.Objects.isNull; import static java.util.Objects.nonNull; -import static no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest.Avsendersystem; import static no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest.Avsendertype; -import static no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest.Inntektsmelding; -import static no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest.JoarkMetadata; -import static no.nav.dolly.bestilling.inntektsmelding.domain.InntektsmeldingRequest.Kontaktinformasjon; import static no.nav.dolly.util.NullcheckUtil.nullcheckSetDefaultValue; @Component public class InntektsmeldingMappingStrategy implements MappingStrategy { - private static Kontaktinformasjon getFiktivKontaktinformasjon() { + private static RsKontaktinformasjon getFiktivKontaktinformasjon() { - return Kontaktinformasjon.builder() + return RsKontaktinformasjon.builder() .kontaktinformasjonNavn("Dolly Dollesen") .telefonnummer("99999999") .build(); @@ -41,12 +41,12 @@ public void mapAtoB(RsInntektsmelding rsInntektsmelding, InntektsmeldingRequest inntektsmelding, MappingContext context) { if (isNull(rsInntektsmelding.getJoarkMetadata())) { - inntektsmelding.setJoarkMetadata(new JoarkMetadata()); + inntektsmelding.setJoarkMetadata(new RsJoarkMetadata()); } inntektsmelding.getJoarkMetadata().setAvsenderMottakerIdType( - !inntektsmelding.getInntekter().isEmpty() && - nonNull(inntektsmelding.getInntekter().get(0).getArbeidsgiver()) ? - Avsendertype.ORGNR : Avsendertype.FNR + (!inntektsmelding.getInntekter().isEmpty() && + nonNull(inntektsmelding.getInntekter().getFirst().getArbeidsgiver()) ? + Avsendertype.ORGNR : Avsendertype.FNR).name() ); inntektsmelding.setArbeidstakerFnr((String) context.getProperty("ident")); } @@ -54,14 +54,14 @@ public void mapAtoB(RsInntektsmelding rsInntektsmelding, .byDefault() .register(); - factory.classMap(RsInntektsmelding.Inntektsmelding.class, Inntektsmelding.class) + factory.classMap(RsInntektsmelding.Inntektsmelding.class, RsInntektsmeldingRequest.class) .customize(new CustomMapper<>() { @Override public void mapAtoB(RsInntektsmelding.Inntektsmelding rsInntektsmelding, - Inntektsmelding inntektsmelding, MappingContext context) { + RsInntektsmeldingRequest inntektsmelding, MappingContext context) { inntektsmelding.setAarsakTilInnsending( - nullcheckSetDefaultValue(rsInntektsmelding.getAarsakTilInnsending(), AarsakTilInnsendingType.NY)); + nullcheckSetDefaultValue(inntektsmelding.getAarsakTilInnsending(), AarsakInnsendingKodeListe.NY)); if (nonNull(inntektsmelding.getArbeidsgiver()) && isNull(inntektsmelding.getArbeidsgiver().getKontaktinformasjon())) { @@ -74,7 +74,7 @@ public void mapAtoB(RsInntektsmelding.Inntektsmelding rsInntektsmelding, getFiktivKontaktinformasjon()); } if (isNull(inntektsmelding.getAvsendersystem())) { - inntektsmelding.setAvsendersystem(Avsendersystem.builder() + inntektsmelding.setAvsendersystem(RsAvsendersystem.builder() .innsendingstidspunkt(LocalDateTime.now()) .build()); } diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/dokarkiv/v1/RsJoarkMetadata.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/dokarkiv/v1/RsJoarkMetadata.java index 141d46bf853..9b460fedd16 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/dokarkiv/v1/RsJoarkMetadata.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/dokarkiv/v1/RsJoarkMetadata.java @@ -1,14 +1,10 @@ package no.nav.testnav.libs.dto.dokarkiv.v1; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Getter; +import lombok.Data; import lombok.NoArgsConstructor; -@Builder -@Getter +@Data @NoArgsConstructor -@AllArgsConstructor public class RsJoarkMetadata { private String journalpostType; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsAvsendersystem.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsAvsendersystem.java index 2e39479d546..d6affa98654 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsAvsendersystem.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsAvsendersystem.java @@ -1,5 +1,7 @@ package no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @@ -7,7 +9,9 @@ import java.util.Objects; @Data +@Builder @NoArgsConstructor +@AllArgsConstructor public class RsAvsendersystem { private static final String DEFAULT_SYSTEMNAVN = "ORKESTRATOREN"; diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsKontaktinformasjon.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsKontaktinformasjon.java index 8fbbbd507f9..9a5be0a0187 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsKontaktinformasjon.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldinggeneratorservice/v1/rs/RsKontaktinformasjon.java @@ -1,10 +1,14 @@ package no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.rs; import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data +@Builder +@AllArgsConstructor @NoArgsConstructor public class RsKontaktinformasjon { diff --git a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldingservice/v1/requests/InntektsmeldingRequest.java b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldingservice/v1/requests/InntektsmeldingRequest.java index c15f663862c..693f25d7ba6 100644 --- a/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldingservice/v1/requests/InntektsmeldingRequest.java +++ b/libs/data-transfer-objects/src/main/java/no/nav/testnav/libs/dto/inntektsmeldingservice/v1/requests/InntektsmeldingRequest.java @@ -1,18 +1,33 @@ package no.nav.testnav.libs.dto.inntektsmeldingservice.v1.requests; +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import no.nav.testnav.libs.dto.dokarkiv.v1.RsJoarkMetadata; import no.nav.testnav.libs.dto.inntektsmeldinggeneratorservice.v1.RsInntektsmeldingRequest; +import java.util.ArrayList; import java.util.List; +import static java.util.Objects.isNull; + @Data +@Builder @NoArgsConstructor +@AllArgsConstructor public class InntektsmeldingRequest { private String miljoe; private String arbeidstakerFnr; // TODO: ident! (i v2) private RsJoarkMetadata joarkMetadata; private List inntekter; + + public List getInntekter() { + + if (isNull(inntekter)) { + inntekter = new ArrayList<>(); + } + return inntekter; + } }