From 9b724d3789ae22a592f0642133d686b8570075aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Arod?= Date: Mon, 26 May 2025 19:08:40 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20stats=20admin=20adhoc=20et=20vice=20de?= =?UTF-8?q?=20proc=C3=A9dure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data/TypeEvenementsPenal.ts | 12 +++++++++-- src/statistiques/v2/penales/StatsPenales.ts | 6 ++++++ .../v2/penales/computeStatsPenales.ts | 20 ++++++++++++++++++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/data/TypeEvenementsPenal.ts b/src/data/TypeEvenementsPenal.ts index 7d52c64..13e3e04 100644 --- a/src/data/TypeEvenementsPenal.ts +++ b/src/data/TypeEvenementsPenal.ts @@ -20,13 +20,21 @@ export const typesEvenementsPenal = [ "Stage parentalité", "Réquisition judiciaire", - // Tribunal + // Tribunal correctionnel "Tribunal correctionnel", "Appel jugement Tribunal Correctionnel", "Appel du 2ème jugement TC", // placeholder - "Tribunal de police judiciaire", "Administrateur AD'HOC", "Relaxe Tribunal correctionnel", + "Vice de procédure tribunal correctionnel", + "Procès appel TC", + "Appel du parquet", + // Tribunal de police + "Tribunal de police judiciaire", + "Procès appel TP", +"Relaxe Tribunal de police", +"Appel Tribunal Police opposition ordonnance pénale" + // [,,,"Amendes",,,,"Classement sous condition","Information non médico-sociale"] ] as const; export function isEvtTypeProcedurePenale(evtType: TypeEvenement): boolean { diff --git a/src/statistiques/v2/penales/StatsPenales.ts b/src/statistiques/v2/penales/StatsPenales.ts index 26a8f6b..e2bf1f6 100644 --- a/src/statistiques/v2/penales/StatsPenales.ts +++ b/src/statistiques/v2/penales/StatsPenales.ts @@ -7,6 +7,12 @@ export const statsTribunalDesc = { nbFamillesPassees: { label: "Nb familles passées au tribunal", }, + nbFamillesViceDeProcedure: { + label: "Nb familles pour lesquels il y a eu un vice de procédure", + }, + nbFamillesAdministrateurAdhoc: { + label: "Nb familles pour lesquelles un Administrateur ad'hoc à été nommé", + }, nbFamillesAppelDuJugement: { label: "Nb familles ayant fait appel du jugement", }, diff --git a/src/statistiques/v2/penales/computeStatsPenales.ts b/src/statistiques/v2/penales/computeStatsPenales.ts index d41b6bc..1e0ceb3 100644 --- a/src/statistiques/v2/penales/computeStatsPenales.ts +++ b/src/statistiques/v2/penales/computeStatsPenales.ts @@ -15,7 +15,6 @@ import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEve import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType"; import { StatsPenales } from "./StatsPenales"; import { nbFamillesAvecPagesLiees } from "./nbFamillesAvecPagesLiees"; -import { info } from "console"; type FamilleAvecInfoTribunaux = Famille & { infoTribunaux: InfoTribunalCorrectionnel[]; @@ -25,6 +24,7 @@ type InfoTribunalCorrectionnel = { evtTribunal: EvenementFamille; evtRelaxe?: EvenementFamille; evtAdminAdhoc?: EvenementFamille; + evtViceDeProcedure?: EvenementFamille; evtAppel?: EvenementFamille; }; @@ -216,6 +216,17 @@ function computeTribunalCorrectionnel( f.infoTribunaux.length > indexTribunal && f.infoTribunaux[indexTribunal].evtAppel ); + const famillesAdministrateurAdhoc = famillesPassees.filter( + (f) => + f.infoTribunaux.length > indexTribunal && + f.infoTribunaux[indexTribunal].evtAdminAdhoc + ); + + const famillesViceDeProcedure = famillesPassees.filter( + (f) => + f.infoTribunaux.length > indexTribunal && + f.infoTribunaux[indexTribunal].evtViceDeProcedure + ); return { nbFamillesPassees: nbFamillesAvecPagesLiees(famillesPassees), @@ -224,6 +235,9 @@ function computeTribunalCorrectionnel( nbFamillesAppelDuJugement: nbFamillesAvecPagesLiees( famillesAppelDuJugement ), + nbFamillesAdministrateurAdhoc: nbFamillesAvecPagesLiees(famillesAdministrateurAdhoc), + nbFamillesViceDeProcedure: nbFamillesAvecPagesLiees(famillesViceDeProcedure), + }; } @@ -312,9 +326,13 @@ function buildInfoTribunaux(f: Famille): InfoTribunalCorrectionnel[] { (index === 0 && e.Type === "Appel jugement Tribunal Correctionnel") || (index === 1 && e.Type == "Appel du 2ème jugement TC") ), + evtViceDeProcedure: eventsBetweenTribAndNextTrib.find( + (e) => e.Type === "Vice de procédure tribunal correctionnel" + ), evtRelaxe: eventsBetweenTribAndNextTrib.find( (e) => e.Type === "Relaxe Tribunal correctionnel" ), + }; }); }