From a2fa4733963e5fb01995a66f22fdc34e44e2b1cb Mon Sep 17 00:00:00 2001 From: "sebastien.arod@gmail.com" Date: Wed, 5 Jun 2024 22:06:57 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20ajoute=20%=20proc=C3=A9dure=20p=C3=A9na?= =?UTF-8?q?le=20avec=20CRPC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data/EvenementFamille.ts | 8 ++++++++ src/notion/statPublishOptions.ts | 4 ++++ src/statistiques/ELStats.ts | 1 + src/statistiques/computeELStatsAtDate.ts | 10 ++++++++++ 4 files changed, 23 insertions(+) diff --git a/src/data/EvenementFamille.ts b/src/data/EvenementFamille.ts index 175a4ab..95001fb 100644 --- a/src/data/EvenementFamille.ts +++ b/src/data/EvenementFamille.ts @@ -22,6 +22,14 @@ export function isCompositionPenale(evenement: EvenementFamille): boolean { ); } +export function isCRPC(evenement: EvenementFamille): boolean { + return ( + evenement.Type === "Convocation CRPC" || + evenement.Type === "Audience CRPC" || + evenement.Type === "Refus CRPC" + ); +} + export function isProcedureCivile(evenement: EvenementFamille): boolean { return categorieEvenement[evenement.Type] === "Procédure Civile"; } diff --git a/src/notion/statPublishOptions.ts b/src/notion/statPublishOptions.ts index 79da3d1..7a8cb57 100644 --- a/src/notion/statPublishOptions.ts +++ b/src/notion/statPublishOptions.ts @@ -57,6 +57,10 @@ const statPropsPublishOptions: { notionPropName: "% procédure pénale avec composition pénale", unit: "%", }, + pourcentageProcedurePenaleAvecCRPC: { + notionPropName: "% procédure pénale avec CRPC", + unit: "%", + }, nbFamillesProcedureCivile: { notionPropName: "Nb familles avec procédure civile", }, diff --git a/src/statistiques/ELStats.ts b/src/statistiques/ELStats.ts index f31fa10..0be8e6c 100644 --- a/src/statistiques/ELStats.ts +++ b/src/statistiques/ELStats.ts @@ -17,6 +17,7 @@ export type ELStatsAtDate = { pourcentageFamillesProcedurePenale: V; nbFamillesCompositionPenale: V; pourcentageProcedurePenaleAvecCompositionPenale: V; + pourcentageProcedurePenaleAvecCRPC: V; nbFamillesProcedureCivile: V; pourcentageFamillesProcedureCivile: V; }; diff --git a/src/statistiques/computeELStatsAtDate.ts b/src/statistiques/computeELStatsAtDate.ts index 73d6b90..fafb09a 100644 --- a/src/statistiques/computeELStatsAtDate.ts +++ b/src/statistiques/computeELStatsAtDate.ts @@ -1,4 +1,5 @@ import { + isCRPC, isCompositionPenale, isEvenementBefore, isProcedurePenale, @@ -51,6 +52,11 @@ export function computeELStatsAtDate( (evt) => isCompositionPenale(evt) && isEvenementBefore(evt, asOfDate) ) ); + const famillesAvecCRPC = familleResistantesOrEx.filter((famille) => + famille.Evenements.find( + (evt) => isCRPC(evt) && isEvenementBefore(evt, asOfDate) + ) + ); const pourcentageFamillesProcedurePenale = percent( famillesAvecProcedurePenale.length, @@ -84,6 +90,10 @@ export function computeELStatsAtDate( famillesAvecCompositionPenale.length, famillesAvecProcedurePenale.length ), + pourcentageProcedurePenaleAvecCRPC: percent( + famillesAvecCRPC.length, + famillesAvecProcedurePenale.length + ), nbFamillesProcedureCivile: famillesAvecProcedureCivile.length, pourcentageFamillesProcedureCivile: pourcentageFamillesProcedureCivile,