From c3707765453e812f6e2d90ba080993565cadc0a8 Mon Sep 17 00:00:00 2001 From: hans-jacob Melby Date: Thu, 31 Oct 2024 09:55:02 +0100 Subject: [PATCH] logger vektet stillingsprosent for alle brukere --- .../domene/arbeidsforhold/Arbeidsforhold.kt | 21 +++++++++++++++++++ .../nav/medlemskap/routes/EvalueringRoute.kt | 4 ++++ 2 files changed, 25 insertions(+) diff --git a/src/main/kotlin/no/nav/medlemskap/domene/arbeidsforhold/Arbeidsforhold.kt b/src/main/kotlin/no/nav/medlemskap/domene/arbeidsforhold/Arbeidsforhold.kt index 330bed9b7..0f11c6827 100644 --- a/src/main/kotlin/no/nav/medlemskap/domene/arbeidsforhold/Arbeidsforhold.kt +++ b/src/main/kotlin/no/nav/medlemskap/domene/arbeidsforhold/Arbeidsforhold.kt @@ -383,6 +383,27 @@ data class Arbeidsforhold( return samletStillingsprosent >= gittStillingsprosent } + fun List.summVektetStilingsProsentIKontrollPeriode(kontrollPeriode: Kontrollperiode):Double{ + val arbeidsforholdForKontrollPeriode = + this.arbeidsforholdForKontrollPeriodeMedStillingsprosentOver0(kontrollPeriode) + var samletStillingsprosent = 0.0 + + val list = mutableListOf() + for (arbeidsforhold in arbeidsforholdForKontrollPeriode) { + val vektetStillingsprosentForArbeidsforhold = + arbeidsforhold.vektetStillingsprosentForArbeidsforhold(kontrollPeriode, false) + + list.addAll( + this.arbeidsforholdForKontrollPeriode(kontrollPeriode) + .parallelleArbeidsforhold(arbeidsforhold, kontrollPeriode) + ) + samletStillingsprosent += vektetStillingsprosentForArbeidsforhold + } + + return samletStillingsprosent + + } + fun Arbeidsforhold.vektetStillingsprosentForArbeidsforhold( kontrollPeriode: Kontrollperiode, beregnGjennomsnittForKontrollperioden: Boolean = false diff --git a/src/main/kotlin/no/nav/medlemskap/routes/EvalueringRoute.kt b/src/main/kotlin/no/nav/medlemskap/routes/EvalueringRoute.kt index 76c5f988f..fae73302c 100644 --- a/src/main/kotlin/no/nav/medlemskap/routes/EvalueringRoute.kt +++ b/src/main/kotlin/no/nav/medlemskap/routes/EvalueringRoute.kt @@ -26,6 +26,7 @@ import no.nav.medlemskap.domene.Ytelse.Companion.name import no.nav.medlemskap.domene.arbeidsforhold.Arbeidsforhold.Companion.alleAktiveYrkeskoderDerTomErNull import no.nav.medlemskap.domene.arbeidsforhold.Arbeidsforhold.Companion.antallAnsatteHosArbeidsgivere import no.nav.medlemskap.domene.arbeidsforhold.Arbeidsforhold.Companion.antallAnsatteHosArbeidsgiversJuridiskeEnheter +import no.nav.medlemskap.domene.arbeidsforhold.Arbeidsforhold.Companion.summVektetStilingsProsentIKontrollPeriode import no.nav.medlemskap.regler.common.Resultat import no.nav.medlemskap.regler.v1.Hovedregler import no.nav.medlemskap.services.kafka.Producer @@ -312,6 +313,8 @@ private fun lagResponse(callid: String, datagrunnlag: Datagrunnlag, resultat: Re } private fun loggResponse(fnr: String, response: Response, endpoint: String = "/") { + val startDatoForYtelse = response.datagrunnlag.startDatoForYtelse + val kontrollperiode:Kontrollperiode = Kontrollperiode(startDatoForYtelse.minusMonths(12),startDatoForYtelse) val resultat = response.resultat val årsaker = resultat.årsaker val årsakerSomRegelIdStr = årsaker.map { it.regelId.toString() } @@ -351,6 +354,7 @@ private fun loggResponse(fnr: String, response: Response, endpoint: String = "/" kv("har_innflytting", response.datagrunnlag.pdlpersonhistorikk.harInnflyttingTilNorge()), kv("har_utflytting", response.datagrunnlag.pdlpersonhistorikk.harUtflyttingFraNorge()), kv("yrkeskoder", response.datagrunnlag.arbeidsforhold.alleAktiveYrkeskoderDerTomErNull()), + kv("vektetStillingsProsent", response.datagrunnlag.arbeidsforhold.summVektetStilingsProsentIKontrollPeriode(kontrollperiode)), kv("har_medlperiode_uten_arbeidsforhold", response.datagrunnlag.harPeriodeUtenMedlemskapOgIkkeArbeidsforhold()), kv( "Antall_ansatte_hos_arbeidsgiver",