Skip to content

Commit

Permalink
Fjern CXF fra SimuleringClient
Browse files Browse the repository at this point in the history
  • Loading branch information
hestad committed Feb 7, 2024
1 parent 5f43aa2 commit 1d898bd
Show file tree
Hide file tree
Showing 33 changed files with 2,151 additions and 2,731 deletions.
1 change: 1 addition & 0 deletions client/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ dependencies {
implementation(rootProject.libs.wiremock) {
exclude(group = "junit")
}
implementation("org.jetbrains.kotlinx:atomicfu:0.23.2")
testImplementation("org.xmlunit:xmlunit-matchers:2.9.1")
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import no.nav.su.se.bakover.client.nais.LeaderPodLookupClient
import no.nav.su.se.bakover.client.oppdrag.IbmMqPublisher
import no.nav.su.se.bakover.client.oppdrag.MqPublisher.MqPublisherConfig
import no.nav.su.se.bakover.client.oppdrag.avstemming.AvstemmingMqPublisher
import no.nav.su.se.bakover.client.oppdrag.simulering.SimuleringConfig
import no.nav.su.se.bakover.client.oppdrag.simulering.SimuleringSoapClient
import no.nav.su.se.bakover.client.oppdrag.tilbakekrevingUnderRevurdering.TilbakekrevingUnderRevurderingSoapClient
import no.nav.su.se.bakover.client.oppdrag.tilbakekrevingUnderRevurdering.TilbakekrevingUnderRevurderingSoapClientConfig
Expand All @@ -24,6 +23,7 @@ import no.nav.su.se.bakover.client.person.PersonClient
import no.nav.su.se.bakover.client.person.PersonClientConfig
import no.nav.su.se.bakover.client.skjerming.SkjermingClient
import no.nav.su.se.bakover.client.sts.StsClient
import no.nav.su.se.bakover.client.sts.StsSamlClient
import no.nav.su.se.bakover.common.SU_SE_BAKOVER_CONSUMER_ID
import no.nav.su.se.bakover.common.infrastructure.config.ApplicationConfig
import no.nav.su.se.bakover.common.infrastructure.jms.JmsConfig
Expand Down Expand Up @@ -117,12 +117,12 @@ data class ProdClientsBuilder(
),
kodeverk = kodeverk,
simuleringClient = SimuleringSoapClient(
SimuleringConfig(
simuleringServiceUrl = applicationConfig.oppdrag.simulering.url,
stsSoapUrl = applicationConfig.oppdrag.simulering.stsSoapUrl,
disableCNCheck = true,
baseUrl = applicationConfig.oppdrag.simulering.url,
samlTokenProvider = StsSamlClient(
baseUrl = applicationConfig.clientsConfig.stsSamlUrl,
serviceUser = serviceUser,
).wrapWithSTSSimulerFpService(),
clock = clock,
),
clock = clock,
),
utbetalingPublisher = UtbetalingMqPublisher(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
@file:Suppress("HttpUrlsUsage")

package no.nav.su.se.bakover.client.oppdrag.simulering

import no.nav.su.se.bakover.client.oppdrag.utbetaling.UtbetalingRequest
import no.nav.su.se.bakover.client.oppdrag.utbetaling.toUtbetalingRequest
import no.nav.su.se.bakover.common.tid.periode.Periode
import no.nav.system.os.tjenester.simulerfpservice.simulerfpserviceservicetypes.SimulerBeregningRequest
import økonomi.domain.utbetaling.Utbetaling

internal fun buildXmlRequestBody(
utbetaling: Utbetaling.UtbetalingForSimulering,
): String {
return buildXmlRequestBody(
simuleringsperiode = utbetaling.periode,
request = toUtbetalingRequest(utbetaling).oppdragRequest,
)
}

/**
* https://confluence.adeo.no/display/OKSY/Inputdata+fra+fagrutinen+til+Oppdragssystemet
*
* Effekt av å sette
* [SimulerBeregningRequest.SimuleringsPeriode.datoSimulerFom]
* [SimulerBeregningRequest.SimuleringsPeriode.datoSimulerTom]
*
* Ingen satt:
* For nye (ikke utbetalt) perioder:
* Kun simulering for første berørte måned returneres.
* For eksisterende (utbetalt) perioder:
* Simulering for alle berørte måneder returneres (opp til og med siste ikke utbetalte måned)
*
* Begge satt:
* For nye (ikke utbetalte) perioder:
* Simulering for alle måneder i perioden returneres.
* For eksisterende (utbetalt) perioder:
* Simulering for alle måneder i perioden returneres. OBS: Berørte måneder kan ligge utenfor valgt periode!
*
* Kun fra og med satt:
* Samme som "Ingen satt", med nedre begrensning. Til og med bestemmes av utbetalingslinje.
* OBS: Berørte måneder kan være tidligere enn valgt dato!
*
* Kun til og med satt:
* Samme som "Begge satt", men øvre begrensning. Fra og med bestemmes av utbetalingslinje.
* OBS: Berørte måneder kan være senere enn valgt dato!
*
*/
internal fun buildXmlRequestBody(
simuleringsperiode: Periode,
request: UtbetalingRequest.OppdragRequest,
): String {
// TODO jah: attestantId settes til saksbehandleren, men bør egentlig loopes og settes til linje.attestant. Men det bør gjøres i en egen PR.
// language=XML
return """<ns2:simulerBeregningRequest xmlns:ns2="http://nav.no/system/os/tjenester/simulerFpService/simulerFpServiceGrensesnitt"
xmlns:ns3="http://nav.no/system/os/entiteter/oppdragSkjema">
<request>
<oppdrag>
<kodeEndring>${request.kodeEndring.value}</kodeEndring>
<kodeFagomraade>${request.kodeFagomraade}</kodeFagomraade>
<fagsystemId>${request.fagsystemId}</fagsystemId>
<utbetFrekvens>${request.utbetFrekvens.value}</utbetFrekvens>
<oppdragGjelderId>${request.oppdragGjelderId}</oppdragGjelderId>
<datoOppdragGjelderFom>${request.datoOppdragGjelderFom}</datoOppdragGjelderFom>
<saksbehId>${request.saksbehId}</saksbehId>
${
request.oppdragsEnheter.joinToString(separator = "\n") { enhet ->
"""<ns3:enhet>
<typeEnhet>${enhet.typeEnhet}</typeEnhet>
<enhet>${enhet.enhet}</enhet>
<datoEnhetFom>${enhet.datoEnhetFom}</datoEnhetFom>
</ns3:enhet>"""
}
}
${
request.oppdragslinjer.joinToString(separator = "\n") { linje ->
"""<oppdragslinje>
<kodeEndringLinje>${linje.kodeEndringLinje.value}</kodeEndringLinje>
${linje.kodeStatusLinje?.let { """<kodeStatusLinje>${linje.kodeStatusLinje.value}</kodeStatusLinje>""" } ?: ""}
${linje.datoStatusFom?.let { """<datoStatusFom>${linje.datoStatusFom}</datoStatusFom>""" } ?: ""}
<delytelseId>${linje.delytelseId}</delytelseId>
<kodeKlassifik>${linje.kodeKlassifik}</kodeKlassifik>
<datoVedtakFom>${linje.datoVedtakFom}</datoVedtakFom>
<datoVedtakTom>${linje.datoVedtakTom}</datoVedtakTom>
<sats>${linje.sats}</sats>
<fradragTillegg>${linje.fradragTillegg.value}</fradragTillegg>
<typeSats>${linje.typeSats.value}</typeSats>
<brukKjoreplan>${linje.brukKjoreplan.value}</brukKjoreplan>
<saksbehId>${linje.saksbehId}</saksbehId>
<utbetalesTilId>${linje.utbetalesTilId}</utbetalesTilId>
${linje.refFagsystemId?.let { """<refFagsystemId>${linje.refFagsystemId}</refFagsystemId>""" } ?: ""}
${linje.refDelytelseId?.let { """<refDelytelseId>${linje.refDelytelseId}</refDelytelseId>""" } ?: ""}
${
linje.grad?.let { grad ->
"""<ns3:grad>
<typeGrad>${grad.typeGrad.value}</typeGrad>
<grad>${grad.grad}</grad>
</ns3:grad>"""
}
}
<ns3:attestant>
<attestantId>${linje.saksbehId }</attestantId>
</ns3:attestant>
</oppdragslinje>"""
}
}
<henvisning>${request.utbetalingsId()}</henvisning>
</oppdrag>
<simuleringsPeriode>
<datoSimulerFom>${simuleringsperiode.fraOgMed}</datoSimulerFom>
<datoSimulerTom>${simuleringsperiode.tilOgMed}</datoSimulerTom>
</simuleringsPeriode>
</request>
</ns2:simulerBeregningRequest>"""
}

This file was deleted.

This file was deleted.

Loading

0 comments on commit 1d898bd

Please sign in to comment.