Skip to content

Commit 1d898bd

Browse files
committed
Fjern CXF fra SimuleringClient
1 parent 5f43aa2 commit 1d898bd

33 files changed

+2151
-2731
lines changed

client/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ dependencies {
4646
implementation(rootProject.libs.wiremock) {
4747
exclude(group = "junit")
4848
}
49+
implementation("org.jetbrains.kotlinx:atomicfu:0.23.2")
4950
testImplementation("org.xmlunit:xmlunit-matchers:2.9.1")
5051
}
5152

client/src/main/kotlin/no/nav/su/se/bakover/client/ProdClientsBuilder.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import no.nav.su.se.bakover.client.nais.LeaderPodLookupClient
1212
import no.nav.su.se.bakover.client.oppdrag.IbmMqPublisher
1313
import no.nav.su.se.bakover.client.oppdrag.MqPublisher.MqPublisherConfig
1414
import no.nav.su.se.bakover.client.oppdrag.avstemming.AvstemmingMqPublisher
15-
import no.nav.su.se.bakover.client.oppdrag.simulering.SimuleringConfig
1615
import no.nav.su.se.bakover.client.oppdrag.simulering.SimuleringSoapClient
1716
import no.nav.su.se.bakover.client.oppdrag.tilbakekrevingUnderRevurdering.TilbakekrevingUnderRevurderingSoapClient
1817
import no.nav.su.se.bakover.client.oppdrag.tilbakekrevingUnderRevurdering.TilbakekrevingUnderRevurderingSoapClientConfig
@@ -24,6 +23,7 @@ import no.nav.su.se.bakover.client.person.PersonClient
2423
import no.nav.su.se.bakover.client.person.PersonClientConfig
2524
import no.nav.su.se.bakover.client.skjerming.SkjermingClient
2625
import no.nav.su.se.bakover.client.sts.StsClient
26+
import no.nav.su.se.bakover.client.sts.StsSamlClient
2727
import no.nav.su.se.bakover.common.SU_SE_BAKOVER_CONSUMER_ID
2828
import no.nav.su.se.bakover.common.infrastructure.config.ApplicationConfig
2929
import no.nav.su.se.bakover.common.infrastructure.jms.JmsConfig
@@ -117,12 +117,12 @@ data class ProdClientsBuilder(
117117
),
118118
kodeverk = kodeverk,
119119
simuleringClient = SimuleringSoapClient(
120-
SimuleringConfig(
121-
simuleringServiceUrl = applicationConfig.oppdrag.simulering.url,
122-
stsSoapUrl = applicationConfig.oppdrag.simulering.stsSoapUrl,
123-
disableCNCheck = true,
120+
baseUrl = applicationConfig.oppdrag.simulering.url,
121+
samlTokenProvider = StsSamlClient(
122+
baseUrl = applicationConfig.clientsConfig.stsSamlUrl,
124123
serviceUser = serviceUser,
125-
).wrapWithSTSSimulerFpService(),
124+
clock = clock,
125+
),
126126
clock = clock,
127127
),
128128
utbetalingPublisher = UtbetalingMqPublisher(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
@file:Suppress("HttpUrlsUsage")
2+
3+
package no.nav.su.se.bakover.client.oppdrag.simulering
4+
5+
import no.nav.su.se.bakover.client.oppdrag.utbetaling.UtbetalingRequest
6+
import no.nav.su.se.bakover.client.oppdrag.utbetaling.toUtbetalingRequest
7+
import no.nav.su.se.bakover.common.tid.periode.Periode
8+
import no.nav.system.os.tjenester.simulerfpservice.simulerfpserviceservicetypes.SimulerBeregningRequest
9+
import økonomi.domain.utbetaling.Utbetaling
10+
11+
internal fun buildXmlRequestBody(
12+
utbetaling: Utbetaling.UtbetalingForSimulering,
13+
): String {
14+
return buildXmlRequestBody(
15+
simuleringsperiode = utbetaling.periode,
16+
request = toUtbetalingRequest(utbetaling).oppdragRequest,
17+
)
18+
}
19+
20+
/**
21+
* https://confluence.adeo.no/display/OKSY/Inputdata+fra+fagrutinen+til+Oppdragssystemet
22+
*
23+
* Effekt av å sette
24+
* [SimulerBeregningRequest.SimuleringsPeriode.datoSimulerFom]
25+
* [SimulerBeregningRequest.SimuleringsPeriode.datoSimulerTom]
26+
*
27+
* Ingen satt:
28+
* For nye (ikke utbetalt) perioder:
29+
* Kun simulering for første berørte måned returneres.
30+
* For eksisterende (utbetalt) perioder:
31+
* Simulering for alle berørte måneder returneres (opp til og med siste ikke utbetalte måned)
32+
*
33+
* Begge satt:
34+
* For nye (ikke utbetalte) perioder:
35+
* Simulering for alle måneder i perioden returneres.
36+
* For eksisterende (utbetalt) perioder:
37+
* Simulering for alle måneder i perioden returneres. OBS: Berørte måneder kan ligge utenfor valgt periode!
38+
*
39+
* Kun fra og med satt:
40+
* Samme som "Ingen satt", med nedre begrensning. Til og med bestemmes av utbetalingslinje.
41+
* OBS: Berørte måneder kan være tidligere enn valgt dato!
42+
*
43+
* Kun til og med satt:
44+
* Samme som "Begge satt", men øvre begrensning. Fra og med bestemmes av utbetalingslinje.
45+
* OBS: Berørte måneder kan være senere enn valgt dato!
46+
*
47+
*/
48+
internal fun buildXmlRequestBody(
49+
simuleringsperiode: Periode,
50+
request: UtbetalingRequest.OppdragRequest,
51+
): String {
52+
// 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.
53+
// language=XML
54+
return """<ns2:simulerBeregningRequest xmlns:ns2="http://nav.no/system/os/tjenester/simulerFpService/simulerFpServiceGrensesnitt"
55+
xmlns:ns3="http://nav.no/system/os/entiteter/oppdragSkjema">
56+
<request>
57+
<oppdrag>
58+
<kodeEndring>${request.kodeEndring.value}</kodeEndring>
59+
<kodeFagomraade>${request.kodeFagomraade}</kodeFagomraade>
60+
<fagsystemId>${request.fagsystemId}</fagsystemId>
61+
<utbetFrekvens>${request.utbetFrekvens.value}</utbetFrekvens>
62+
<oppdragGjelderId>${request.oppdragGjelderId}</oppdragGjelderId>
63+
<datoOppdragGjelderFom>${request.datoOppdragGjelderFom}</datoOppdragGjelderFom>
64+
<saksbehId>${request.saksbehId}</saksbehId>
65+
${
66+
request.oppdragsEnheter.joinToString(separator = "\n") { enhet ->
67+
"""<ns3:enhet>
68+
<typeEnhet>${enhet.typeEnhet}</typeEnhet>
69+
<enhet>${enhet.enhet}</enhet>
70+
<datoEnhetFom>${enhet.datoEnhetFom}</datoEnhetFom>
71+
</ns3:enhet>"""
72+
}
73+
}
74+
${
75+
request.oppdragslinjer.joinToString(separator = "\n") { linje ->
76+
"""<oppdragslinje>
77+
<kodeEndringLinje>${linje.kodeEndringLinje.value}</kodeEndringLinje>
78+
${linje.kodeStatusLinje?.let { """<kodeStatusLinje>${linje.kodeStatusLinje.value}</kodeStatusLinje>""" } ?: ""}
79+
${linje.datoStatusFom?.let { """<datoStatusFom>${linje.datoStatusFom}</datoStatusFom>""" } ?: ""}
80+
<delytelseId>${linje.delytelseId}</delytelseId>
81+
<kodeKlassifik>${linje.kodeKlassifik}</kodeKlassifik>
82+
<datoVedtakFom>${linje.datoVedtakFom}</datoVedtakFom>
83+
<datoVedtakTom>${linje.datoVedtakTom}</datoVedtakTom>
84+
<sats>${linje.sats}</sats>
85+
<fradragTillegg>${linje.fradragTillegg.value}</fradragTillegg>
86+
<typeSats>${linje.typeSats.value}</typeSats>
87+
<brukKjoreplan>${linje.brukKjoreplan.value}</brukKjoreplan>
88+
<saksbehId>${linje.saksbehId}</saksbehId>
89+
<utbetalesTilId>${linje.utbetalesTilId}</utbetalesTilId>
90+
${linje.refFagsystemId?.let { """<refFagsystemId>${linje.refFagsystemId}</refFagsystemId>""" } ?: ""}
91+
${linje.refDelytelseId?.let { """<refDelytelseId>${linje.refDelytelseId}</refDelytelseId>""" } ?: ""}
92+
${
93+
linje.grad?.let { grad ->
94+
"""<ns3:grad>
95+
<typeGrad>${grad.typeGrad.value}</typeGrad>
96+
<grad>${grad.grad}</grad>
97+
</ns3:grad>"""
98+
}
99+
}
100+
<ns3:attestant>
101+
<attestantId>${linje.saksbehId }</attestantId>
102+
</ns3:attestant>
103+
104+
</oppdragslinje>"""
105+
}
106+
}
107+
<henvisning>${request.utbetalingsId()}</henvisning>
108+
</oppdrag>
109+
<simuleringsPeriode>
110+
<datoSimulerFom>${simuleringsperiode.fraOgMed}</datoSimulerFom>
111+
<datoSimulerTom>${simuleringsperiode.tilOgMed}</datoSimulerTom>
112+
</simuleringsPeriode>
113+
</request>
114+
</ns2:simulerBeregningRequest>"""
115+
}

client/src/main/kotlin/no/nav/su/se/bakover/client/oppdrag/simulering/SimuleringConfig.kt

-51
This file was deleted.

client/src/main/kotlin/no/nav/su/se/bakover/client/oppdrag/simulering/SimuleringRequestBuilder.kt

-126
This file was deleted.

0 commit comments

Comments
 (0)