@@ -29,6 +29,7 @@ import no.nav.dagpenger.inntekt.db.Inntektparametre
29
29
import no.nav.dagpenger.inntekt.db.ManueltRedigert
30
30
import no.nav.dagpenger.inntekt.db.RegelKontekst
31
31
import no.nav.dagpenger.inntekt.db.StoreInntektCommand
32
+ import no.nav.dagpenger.inntekt.db.StoredInntektMedMetadata
32
33
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.AktoerType
33
34
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektkomponentRequest
34
35
import no.nav.dagpenger.inntekt.inntektskomponenten.v1.InntektskomponentClient
@@ -152,7 +153,8 @@ fun Route.uklassifisertInntekt(
152
153
.getStoredInntektMedMetadata(inntektId)
153
154
.let { storedInntektMedMetadata ->
154
155
val person = personOppslag.hentPerson(storedInntektMedMetadata.fødselsnummer)
155
- val inntektsmottaker = Inntektsmottaker (storedInntektMedMetadata.fødselsnummer, person.sammensattNavn())
156
+ val inntektsmottaker =
157
+ Inntektsmottaker (storedInntektMedMetadata.fødselsnummer, person.sammensattNavn())
156
158
val organisasjoner =
157
159
hentOrganisasjoner(
158
160
enhetsregisterClient,
@@ -198,7 +200,8 @@ fun Route.uklassifisertInntekt(
198
200
beregningsdato = inntektPersonMapping.beregningsdato,
199
201
).apply {
200
202
this .opptjeningsperiode.førsteMåned = inntekterDto.periode.fraOgMed
201
- this .opptjeningsperiode.sisteAvsluttendeKalenderMåned = inntekterDto.periode.tilOgMed
203
+ this .opptjeningsperiode.sisteAvsluttendeKalenderMåned =
204
+ inntekterDto.periode.tilOgMed
202
205
},
203
206
inntekt = it.inntekt,
204
207
manueltRedigert =
@@ -283,6 +286,66 @@ fun Route.uklassifisertInntekt(
283
286
}
284
287
}
285
288
}
289
+
290
+ route(" /uklassifisert/uncached/{inntektId}" ) {
291
+ get {
292
+ val callId = call.callId
293
+ withContext(coroutineContext) {
294
+ val inntektId = InntektId (call.parameters[" inntektId" ]!! )
295
+ logger.info { " Henter nye inntekt for $inntektId " }
296
+
297
+ call.withInntektRequest(" GET /uklassifisert/uncached/" ) {
298
+ inntektStore
299
+ .getStoredInntektMedMetadata(inntektId)
300
+ .let { storedInntektMedMetadata ->
301
+ logger.info { " Henter stored inntekt: ${storedInntektMedMetadata.inntektId} " }
302
+ val person = personOppslag.hentPerson(storedInntektMedMetadata.fødselsnummer)
303
+ val opptjeningsperiode = Opptjeningsperiode (storedInntektMedMetadata.beregningsdato)
304
+
305
+ toInntektskomponentRequest(person, opptjeningsperiode)
306
+ .let {
307
+ logger.info { " Henter nye inntekter fra inntektskomponenten" }
308
+ inntektskomponentClient.getInntekt(it, callId = callId)
309
+ }.let {
310
+ logger.info { " Fikk nye inntekter fra inntektskomponenten" }
311
+ val inntektsmottaker =
312
+ Inntektsmottaker (person.fødselsnummer, person.sammensattNavn())
313
+ val organisasjoner =
314
+ hentOrganisasjoner(
315
+ enhetsregisterClient,
316
+ it.arbeidsInntektMaaned
317
+ ?.flatMap { it.arbeidsInntektInformasjon?.inntektListe.orEmpty() }
318
+ ?.filter { inntekt ->
319
+ inntekt.virksomhet?.aktoerType == AktoerType .ORGANISASJON &&
320
+ (inntekt.opptjeningsland == " NO" || inntekt.opptjeningsland == null )
321
+ }?.mapNotNull { it.virksomhet?.identifikator }
322
+ ?.toTypedArray()
323
+ ?.toList() ? : emptyList(),
324
+ )
325
+
326
+ it.mapToFrontend(
327
+ person = inntektsmottaker,
328
+ organisasjoner = organisasjoner,
329
+ storedInntektMedMetadata =
330
+ StoredInntektMedMetadata (
331
+ inntektId = inntektId,
332
+ fødselsnummer = storedInntektMedMetadata.fødselsnummer,
333
+ inntekt = it,
334
+ manueltRedigert = false ,
335
+ timestamp = storedInntektMedMetadata.timestamp,
336
+ beregningsdato = storedInntektMedMetadata.beregningsdato,
337
+ storedInntektPeriode = storedInntektMedMetadata.storedInntektPeriode,
338
+ begrunnelse = " " ,
339
+ ),
340
+ )
341
+ }.let {
342
+ call.respond(HttpStatusCode .OK , it)
343
+ }.also { inntektOppfriskingCounter.inc() }
344
+ } ? : throw InntektNotFoundException (" Inntekt with id $inntektId not found." )
345
+ }
346
+ }
347
+ }
348
+ }
286
349
}
287
350
route(" /verdikoder" ) {
288
351
get {
0 commit comments