From 8e2ca3a99b8ee890c6a2656bda75be4dbf8fee6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Arod?= Date: Mon, 23 Jun 2025 17:22:57 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20supprime=20stats=20departementales=20de?= =?UTF-8?q?=20p=C3=A9nal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/statistiques/v2/penales/StatsPenales.ts | 26 ------------ .../v2/penales/computeStatDepartement.ts | 42 ------------------- .../v2/penales/computeStatsPenales.ts | 14 ------- 3 files changed, 82 deletions(-) delete mode 100644 src/statistiques/v2/penales/computeStatDepartement.ts diff --git a/src/statistiques/v2/penales/StatsPenales.ts b/src/statistiques/v2/penales/StatsPenales.ts index 06010ac..0c3a656 100644 --- a/src/statistiques/v2/penales/StatsPenales.ts +++ b/src/statistiques/v2/penales/StatsPenales.ts @@ -176,32 +176,6 @@ export const statsPenalesDesc = { type: "group-list", stats: statsAmendesDesc, }, - parDepartements: { - label: "Par départements", - type: "group-list", - stats: { - nbFamilles: { - label: "Nb familles", - }, - pourcentageMED: { - label: "% familles avec une Mise en demeure", - unit: "%", - }, - pourcentageProcedurePenaleHorsGendarmerie: { - label: - "% familles avec une Procédure Pénale différent de Gendarmerie (Procureur, Tribunal...)", - unit: "%", - }, - pourcentageTribunalCorrectionnel: { - label: "% familles avec un evt Tribunal correctionnel", - unit: "%", - }, - pourcentageTribunalPolice: { - label: "% familles avec un evt Tribunal de Police", - unit: "%", - }, - }, - }, }, } as const; diff --git a/src/statistiques/v2/penales/computeStatDepartement.ts b/src/statistiques/v2/penales/computeStatDepartement.ts deleted file mode 100644 index 9eaa7c1..0000000 --- a/src/statistiques/v2/penales/computeStatDepartement.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Famille } from "../../../data/Famille"; -import { isEvtTypeProcedurePenaleHorsGendarmerie } from "../../../data/TypeEvenementsPenal"; -import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements"; -import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType"; -import { percent } from "../math/percent"; -import { nbFamillesAvecPagesLiees } from "../nbFamillesAvecPagesLiees"; -import { StatsPenales } from "./StatsPenales"; - -export function computeStatDepartement( - famillesDepartements: Famille[] -): StatsPenales["parDepartements"][string] { - return { - nbFamilles: nbFamillesAvecPagesLiees(famillesDepartements), - pourcentageMED: percent( - filterFamillesWithOneOfEvenementsOfType( - famillesDepartements, - "Mise en demeure de scolarisation" - ).length, - famillesDepartements.length - ), - pourcentageProcedurePenaleHorsGendarmerie: percent( - filterFamillesWithOneOfEvenements(famillesDepartements, (e) => - isEvtTypeProcedurePenaleHorsGendarmerie(e.Type) - ).length, - famillesDepartements.length - ), - pourcentageTribunalCorrectionnel: percent( - filterFamillesWithOneOfEvenements( - famillesDepartements, - (e) => e.Type === "Tribunal correctionnel" - ).length, - famillesDepartements.length - ), - pourcentageTribunalPolice: percent( - filterFamillesWithOneOfEvenements( - famillesDepartements, - (e) => e.Type === "Tribunal de police judiciaire" - ).length, - famillesDepartements.length - ), - }; -} diff --git a/src/statistiques/v2/penales/computeStatsPenales.ts b/src/statistiques/v2/penales/computeStatsPenales.ts index 563df44..84b09a3 100644 --- a/src/statistiques/v2/penales/computeStatsPenales.ts +++ b/src/statistiques/v2/penales/computeStatsPenales.ts @@ -22,9 +22,7 @@ import { FamilleAvecInfosProceduresPenales as FamilleAvecInfoProceduresPenales, } from "./computeFamilleAvecInfosProceduresPenales"; import { computeIntervalMedGendarmerieOuProcureur } from "./intervals/computeIntervalMedGendarmerieOuProcureur"; -import { groupBy } from "lodash"; import { computeStatsAmendes } from "./computeStatsAmendes"; -import { computeStatDepartement } from "./computeStatDepartement"; export type FamilleAvecInfoTribunaux = Famille & { infoTribunaux: InfoTribunalCorrectionnel[]; @@ -67,12 +65,6 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales { }; }); - const famillesParDepartement = groupBy( - famillesResistantesOuEx, - (f) => f.Departement - ); - const departements = Object.keys(famillesParDepartement).sort(); - const famillesAvecInfoProceduresPenales: FamilleAvecInfoProceduresPenales[] = famillesResistantesOuEx.map(computeFamilleAvecInfosProceduresPenales); @@ -169,12 +161,6 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales { famillesAvecInfoProceduresPenales ), amendes: computeStatsAmendes(famillesResistantesOuEx), - parDepartements: Object.fromEntries( - departements.map((d) => [ - d, - computeStatDepartement(famillesParDepartement[d]), - ]) - ), }; return statsPenales; }