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,