Skip to content

Commit

Permalink
Merge pull request #362 from navikt/feature/logg-error-ved-feil-hent-…
Browse files Browse the repository at this point in the history
…grunnlag

Lagt til error-logging til vanlig logg ved feil ved innhenting av gru…
  • Loading branch information
rinnan17 authored Aug 16, 2024
2 parents 775de06 + 26477ca commit 6756dd6
Show file tree
Hide file tree
Showing 10 changed files with 227 additions and 100 deletions.
5 changes: 3 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,11 @@
<!-- build/language -->
<kotlin.version>1.9.24</kotlin.version>
<build-helper-maven.version>3.2.0</build-helper-maven.version>
<token-support.version>4.1.7</token-support.version>
<token-support.version>3.2.0</token-support.version>
<!-- <token-support.version>5.0.1</token-support.version>-->
<!-- dependencies -->
<bidrag-commons-test.version>1.20230511093912_dc35d81</bidrag-commons-test.version>
<bidrag-felles.version>2024.07.01.144736</bidrag-felles.version>
<bidrag-felles.version>2024.08.15.122550</bidrag-felles.version>
<bidrag-tilgangskontroll.version>1.10.4</bidrag-tilgangskontroll.version>
<mockito-kotlin.version>5.3.1</mockito-kotlin.version>
<springdoc-openapi-ui.version>2.5.0</springdoc-openapi-ui.version>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package no.nav.bidrag.grunnlag.service
import no.nav.bidrag.domene.enums.grunnlag.GrunnlagRequestType
import no.nav.bidrag.grunnlag.SECURE_LOGGER
import no.nav.bidrag.grunnlag.consumer.arbeidsforhold.ArbeidsforholdConsumer
import no.nav.bidrag.grunnlag.consumer.arbeidsforhold.ArbeidsforholdConsumer.Companion.LOGGER
import no.nav.bidrag.grunnlag.consumer.arbeidsforhold.EnhetsregisterConsumer
import no.nav.bidrag.grunnlag.consumer.arbeidsforhold.api.Arbeidsforhold
import no.nav.bidrag.grunnlag.consumer.arbeidsforhold.api.Arbeidssted
Expand All @@ -17,6 +18,7 @@ import no.nav.bidrag.transport.behandling.grunnlag.response.ArbeidsforholdGrunnl
import no.nav.bidrag.transport.behandling.grunnlag.response.FeilrapporteringDto
import no.nav.bidrag.transport.behandling.grunnlag.response.Permisjon
import no.nav.bidrag.transport.behandling.grunnlag.response.Permittering
import org.springframework.http.HttpStatus

class HentArbeidsforholdService(
private val arbeidsforholdConsumer: ArbeidsforholdConsumer,
Expand Down Expand Up @@ -148,53 +150,59 @@ class HentArbeidsforholdService(
arbeidssted: Arbeidssted?,
feilrapporteringListe: MutableList<FeilrapporteringDto>,
ident: String,
): Arbeidsgiverinfo? {
return if (arbeidssted?.type == "Underenhet") {
val orgnr = arbeidssted.identer?.filter { it.type == "ORGANISASJONSNUMMER" }?.get(0)?.ident
var navn: String? = null

if (orgnr != null) {
when (val restResponseEnhetsregister = enhetsregisterConsumer.hentEnhetsinfo(HentEnhetsregisterRequest(orgnr))) {
is RestResponse.Success -> {
navn = restResponseEnhetsregister.body.navn?.navnelinje1
}
): Arbeidsgiverinfo? = if (arbeidssted?.type == "Underenhet") {
val orgnr = arbeidssted.identer?.filter { it.type == "ORGANISASJONSNUMMER" }?.get(0)?.ident
var navn: String? = null

if (orgnr != null) {
when (val restResponseEnhetsregister = enhetsregisterConsumer.hentEnhetsinfo(HentEnhetsregisterRequest(orgnr))) {
is RestResponse.Success -> {
navn = restResponseEnhetsregister.body.navn?.navnelinje1
}

is RestResponse.Failure -> {
is RestResponse.Failure -> {
if (restResponseEnhetsregister.statusCode == HttpStatus.NOT_FOUND) {
SECURE_LOGGER.warn(
"Arbeidsgivernavn ikke funnet fra enhetsregisteret for orgnr $orgnr. " +
"Statuskode ${restResponseEnhetsregister.statusCode.value()}",
)
} else {
LOGGER.error(
"Feil ved henting av arbeidsgivernavn fra enhetsregisteret for orgnr $orgnr. " +
"Statuskode ${restResponseEnhetsregister.statusCode.value()}",
)
feilrapporteringListe.add(
FeilrapporteringDto(
grunnlagstype = GrunnlagRequestType.ARBEIDSFORHOLD,
personId = ident,
periodeFra = null,
periodeTil = null,
feiltype = evaluerFeiltype(
melding = restResponseEnhetsregister.message,
httpStatuskode = restResponseEnhetsregister.statusCode,
),
feilmelding = evaluerFeilmelding(
melding = restResponseEnhetsregister.message,
grunnlagstype = GrunnlagRequestType.ARBEIDSFORHOLD,
),
),
SECURE_LOGGER.error(
"Feil ved henting av arbeidsgivernavn fra enhetsregisteret for orgnr $orgnr. " +
"Statuskode ${restResponseEnhetsregister.statusCode.value()}",
)
}
feilrapporteringListe.add(
FeilrapporteringDto(
grunnlagstype = GrunnlagRequestType.ARBEIDSFORHOLD,
personId = ident,
periodeFra = null,
periodeTil = null,
feiltype = evaluerFeiltype(
melding = restResponseEnhetsregister.message,
httpStatuskode = restResponseEnhetsregister.statusCode,
),
feilmelding = evaluerFeilmelding(
melding = restResponseEnhetsregister.message,
grunnlagstype = GrunnlagRequestType.ARBEIDSFORHOLD,
),
),
)
}
}

Arbeidsgiverinfo(
orgnr = orgnr,
navn = navn,
)
} else {
null
}

Arbeidsgiverinfo(
orgnr = orgnr,
navn = navn,
)
} else {
null
}
}

data class Arbeidsgiverinfo(
val orgnr: String?,
val navn: String?,
)
data class Arbeidsgiverinfo(val orgnr: String?, val navn: String?)
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import no.nav.bidrag.grunnlag.consumer.pensjon.PensjonConsumer
import no.nav.bidrag.grunnlag.consumer.pensjon.api.BarnetilleggPensjon
import no.nav.bidrag.grunnlag.consumer.pensjon.api.HentBarnetilleggPensjonRequest
import no.nav.bidrag.grunnlag.exception.RestResponse
import no.nav.bidrag.grunnlag.service.InntektskomponentenService.Companion.LOGGER
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.evaluerFeilmelding
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.evaluerFeiltype
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.tilJson
import no.nav.bidrag.transport.behandling.grunnlag.response.BarnetilleggGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.FeilrapporteringDto
import org.springframework.http.HttpStatus

class HentBarnetilleggService(
private val pensjonConsumer: PensjonConsumer,
) {
class HentBarnetilleggService(private val pensjonConsumer: PensjonConsumer) {

fun hentBarnetilleggPensjon(barnetilleggPensjonRequestListe: List<PersonIdOgPeriodeRequest>): HentGrunnlagGenericDto<BarnetilleggGrunnlagDto> {
val barnetilleggPensjonListe = mutableListOf<BarnetilleggGrunnlagDto>()
Expand Down Expand Up @@ -44,10 +44,21 @@ class HentBarnetilleggService(
}

is RestResponse.Failure -> {
SECURE_LOGGER.warn(
"Feil ved henting av barnetillegg pensjon for ${it.personId}. " +
"Statuskode ${restResponseBarnetillegg.statusCode.value()}",
)
if (restResponseBarnetillegg.statusCode == HttpStatus.NOT_FOUND) {
SECURE_LOGGER.warn(
"Barnetillegg pensjon ikke funnet for ${it.personId}. " +
"Statuskode ${restResponseBarnetillegg.statusCode.value()}",
)
} else {
LOGGER.error(
"Feil ved henting av barnetillegg fra pensjon. Statuskode ${restResponseBarnetillegg.statusCode.value()}",
)
SECURE_LOGGER.error(
"Feil ved henting av barnetillegg pensjon for ${it.personId}. " +
"Statuskode ${restResponseBarnetillegg.statusCode.value()}",
)
}

feilrapporteringListe.add(
FeilrapporteringDto(
grunnlagstype = GrunnlagRequestType.BARNETILLEGG,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import no.nav.bidrag.grunnlag.consumer.familieefsak.FamilieEfSakConsumer
import no.nav.bidrag.grunnlag.consumer.familieefsak.api.BarnetilsynRequest
import no.nav.bidrag.grunnlag.consumer.familieefsak.api.BarnetilsynResponse
import no.nav.bidrag.grunnlag.exception.RestResponse
import no.nav.bidrag.grunnlag.service.InntektskomponentenService.Companion.LOGGER
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.evaluerFeilmelding
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.evaluerFeiltype
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.tilJson
import no.nav.bidrag.transport.behandling.grunnlag.response.BarnetilsynGrunnlagDto
import no.nav.bidrag.transport.behandling.grunnlag.response.FeilrapporteringDto
import org.springframework.http.HttpStatus

class HentBarnetilsynService(
private val familieEfSakConsumer: FamilieEfSakConsumer,
) {
class HentBarnetilsynService(private val familieEfSakConsumer: FamilieEfSakConsumer) {

fun hentBarnetilsyn(barnetilsynRequestListe: List<PersonIdOgPeriodeRequest>): HentGrunnlagGenericDto<BarnetilsynGrunnlagDto> {
val barnetilsynListe = mutableListOf<BarnetilsynGrunnlagDto>()
Expand All @@ -37,10 +37,22 @@ class HentBarnetilsynService(
}

is RestResponse.Failure -> {
SECURE_LOGGER.warn(
"Feil ved henting av barnetilsyn for ${it.personId}. " +
"Statuskode ${restResponseBarnetilsyn.statusCode.value()}",
)
if (restResponseBarnetilsyn.statusCode == HttpStatus.NOT_FOUND) {
SECURE_LOGGER.warn(
"Stønad til barnetilsyn fra Enslig Forsørger ikke funnet for ${it.personId}. " +
"Statuskode ${restResponseBarnetilsyn.statusCode.value()}",
)
} else {
LOGGER.error(
"Feil ved henting av stønad til barnetilsyn fra Enslig Forsørger. " +
"Statuskode ${restResponseBarnetilsyn.statusCode.value()}",
)
SECURE_LOGGER.error(
"Feil ved henting av stønad til barnetilsyn fra Enslig Forsørger for ${it.personId}. " +
"Statuskode ${restResponseBarnetilsyn.statusCode.value()}",
)
}

feilrapporteringListe.add(
FeilrapporteringDto(
grunnlagstype = GrunnlagRequestType.BARNETILSYN,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ import no.nav.bidrag.grunnlag.consumer.familiekssak.FamilieKsSakConsumer
import no.nav.bidrag.grunnlag.consumer.familiekssak.api.BisysDto
import no.nav.bidrag.grunnlag.consumer.familiekssak.api.BisysResponsDto
import no.nav.bidrag.grunnlag.exception.RestResponse
import no.nav.bidrag.grunnlag.service.InntektskomponentenService.Companion.LOGGER
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.evaluerFeilmelding
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.evaluerFeiltype
import no.nav.bidrag.grunnlag.util.GrunnlagUtil.Companion.tilJson
import no.nav.bidrag.transport.behandling.grunnlag.response.FeilrapporteringDto
import no.nav.bidrag.transport.behandling.grunnlag.response.KontantstøtteGrunnlagDto
import org.springframework.http.HttpStatus
import java.time.LocalDate
import java.time.YearMonth

class HentKontantstøtteService(
private val familieKsSakConsumer: FamilieKsSakConsumer,
) {
class HentKontantstøtteService(private val familieKsSakConsumer: FamilieKsSakConsumer) {

fun hentKontantstøtte(
kontantstøtteRequestListe: List<PersonIdOgPeriodeRequest>,
Expand Down Expand Up @@ -46,10 +46,21 @@ class HentKontantstøtteService(
}

is RestResponse.Failure -> {
SECURE_LOGGER.warn(
"Feil ved henting av kontantstøtte for $personIdListe. " +
"Statuskode ${restResponseKontantstøtte.statusCode.value()}",
)
if (restResponseKontantstøtte.statusCode == HttpStatus.NOT_FOUND) {
SECURE_LOGGER.warn(
"Kontantstøtte ikke funnet for $personIdListe. " +
"Statuskode ${restResponseKontantstøtte.statusCode.value()}",
)
} else {
LOGGER.error(
"Feil ved henting av kontantstøtte fra KS-Sak. Statuskode ${restResponseKontantstøtte.statusCode.value()}",
)
SECURE_LOGGER.error(
"Feil ved henting av kontantstøtte for $personIdListe. " +
"Statuskode ${restResponseKontantstøtte.statusCode.value()}",
)
}

feilrapporteringListe.add(
FeilrapporteringDto(
grunnlagstype = GrunnlagRequestType.KONTANTSTØTTE,
Expand Down
Loading

0 comments on commit 6756dd6

Please sign in to comment.