From 424e072e34d0d0e84174d1bd705c36c980b7fbd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Arod?= Date: Mon, 16 Sep 2024 20:50:30 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20stats=20delai=20p=C3=A9nal=20consid?= =?UTF-8?q?=C3=A8re=20tous=20les=20evt=20li=C3=A9=20au=20proc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data/EvenementFamille.ts | 7 ++++--- src/statistiques/v2/penales/StatsPenales.ts | 2 ++ src/statistiques/v2/penales/computeStatsPenales.ts | 10 +++++----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/data/EvenementFamille.ts b/src/data/EvenementFamille.ts index edb7669..086d440 100644 --- a/src/data/EvenementFamille.ts +++ b/src/data/EvenementFamille.ts @@ -33,7 +33,8 @@ export function isCRPC(evenement: EvenementFamille): boolean { return ( evenement.Type === "Convocation CRPC" || evenement.Type === "Audience CRPC" || - evenement.Type === "Refus CRPC" + evenement.Type === "Refus CRPC" || + evenement.Type === "Acceptation CRPC" ); } @@ -64,8 +65,8 @@ export function isGendarmerie(e: EvenementFamille): boolean { e.Type === "Passage police municipale" ); } -export function isAuditionProcureurOuCRPC(e: EvenementFamille): boolean { - return e.Type === "Audition procureur" || e.Type === "Audience CRPC"; +export function isProcureur(e: EvenementFamille): boolean { + return e.Type === "Audition procureur" || isCRPC(e) || isCompositionPenale(e); } export function isInformationPreoccupante(e: EvenementFamille): boolean { diff --git a/src/statistiques/v2/penales/StatsPenales.ts b/src/statistiques/v2/penales/StatsPenales.ts index f3828f2..c12d973 100644 --- a/src/statistiques/v2/penales/StatsPenales.ts +++ b/src/statistiques/v2/penales/StatsPenales.ts @@ -88,10 +88,12 @@ export const statsPenalesDesc = { intervalGendarmerieProcureur: { label: "Délai moyen entre Gendarmerie et Procureur", unit: " jours", + valueMaxFractioDigits: 0, }, intervalProcureurTribunalCorrectionnel: { label: "Délai moyen entre Procureur et Tribunal Correctionnel", unit: " jours", + valueMaxFractioDigits: 0, }, }, } as const; diff --git a/src/statistiques/v2/penales/computeStatsPenales.ts b/src/statistiques/v2/penales/computeStatsPenales.ts index bd8d183..c3d6cda 100644 --- a/src/statistiques/v2/penales/computeStatsPenales.ts +++ b/src/statistiques/v2/penales/computeStatsPenales.ts @@ -3,7 +3,7 @@ import { isCompositionPenale, isCRPC, isEvenementBefore, - isAuditionProcureurOuCRPC, + isProcureur, isGendarmerie, isProcedurePenale, } from "../../../data/EvenementFamille"; @@ -35,7 +35,7 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales { procureur: { nbFamillesAuditionProcureur: filterFamillesWithOneOfEvenements( famillesResistantesOuEx, - isAuditionProcureurOuCRPC + isProcureur ).length, compositionPenales: computeCompositionPenales(familles), crpc: computeCrpc(familles), @@ -144,7 +144,7 @@ function computeTribunalCorrectionnel( function computeIntervalGendarmerieProcureur(familles: Famille[]): number { const intervals = familles.flatMap((f) => { const evtGendarmerie = f.Evenements.find((e) => isGendarmerie(e)); - const evtProcureur = f.Evenements.find((e) => isAuditionProcureurOuCRPC(e)); + const evtProcureur = f.Evenements.find((e) => isProcureur(e)); // consider only intervals for families with both events date if (!evtGendarmerie?.Date || !evtProcureur?.Date) { @@ -157,7 +157,7 @@ function computeIntervalGendarmerieProcureur(familles: Famille[]): number { ); if (intervalInDays < 0) { console.warn( - `IntervalGendarmerieProcureur < 0 for ${f.Titre} (${f.notionId})` + `IntervalGendarmerieProcureur < 0 pour ${f.Titre} (${f.notionId}): Cet interval sera ignoré.` ); return []; } else { @@ -171,7 +171,7 @@ function computeIntervalProcureurTribunalCorrectionnel( familles: Famille[] ): number { const intervals = familles.flatMap((f) => { - const evtProcureur = f.Evenements.find((e) => isAuditionProcureurOuCRPC(e)); + const evtProcureur = f.Evenements.find((e) => isProcureur(e)); const evtTribunal = f.Evenements.find( (e) => e.Type === "Tribunal correctionnel" );