feat: ajoute % procédure pénale avec CRPC

wip-related-pages
sebastien.arod@gmail.com 2024-06-05 22:06:57 +02:00
parent b74838d482
commit a2fa473396
4 changed files with 23 additions and 0 deletions

View File

@ -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 { export function isProcedureCivile(evenement: EvenementFamille): boolean {
return categorieEvenement[evenement.Type] === "Procédure Civile"; return categorieEvenement[evenement.Type] === "Procédure Civile";
} }

View File

@ -57,6 +57,10 @@ const statPropsPublishOptions: {
notionPropName: "% procédure pénale avec composition pénale", notionPropName: "% procédure pénale avec composition pénale",
unit: "%", unit: "%",
}, },
pourcentageProcedurePenaleAvecCRPC: {
notionPropName: "% procédure pénale avec CRPC",
unit: "%",
},
nbFamillesProcedureCivile: { nbFamillesProcedureCivile: {
notionPropName: "Nb familles avec procédure civile", notionPropName: "Nb familles avec procédure civile",
}, },

View File

@ -17,6 +17,7 @@ export type ELStatsAtDate<V> = {
pourcentageFamillesProcedurePenale: V; pourcentageFamillesProcedurePenale: V;
nbFamillesCompositionPenale: V; nbFamillesCompositionPenale: V;
pourcentageProcedurePenaleAvecCompositionPenale: V; pourcentageProcedurePenaleAvecCompositionPenale: V;
pourcentageProcedurePenaleAvecCRPC: V;
nbFamillesProcedureCivile: V; nbFamillesProcedureCivile: V;
pourcentageFamillesProcedureCivile: V; pourcentageFamillesProcedureCivile: V;
}; };

View File

@ -1,4 +1,5 @@
import { import {
isCRPC,
isCompositionPenale, isCompositionPenale,
isEvenementBefore, isEvenementBefore,
isProcedurePenale, isProcedurePenale,
@ -51,6 +52,11 @@ export function computeELStatsAtDate(
(evt) => isCompositionPenale(evt) && isEvenementBefore(evt, asOfDate) (evt) => isCompositionPenale(evt) && isEvenementBefore(evt, asOfDate)
) )
); );
const famillesAvecCRPC = familleResistantesOrEx.filter((famille) =>
famille.Evenements.find(
(evt) => isCRPC(evt) && isEvenementBefore(evt, asOfDate)
)
);
const pourcentageFamillesProcedurePenale = percent( const pourcentageFamillesProcedurePenale = percent(
famillesAvecProcedurePenale.length, famillesAvecProcedurePenale.length,
@ -84,6 +90,10 @@ export function computeELStatsAtDate(
famillesAvecCompositionPenale.length, famillesAvecCompositionPenale.length,
famillesAvecProcedurePenale.length famillesAvecProcedurePenale.length
), ),
pourcentageProcedurePenaleAvecCRPC: percent(
famillesAvecCRPC.length,
famillesAvecProcedurePenale.length
),
nbFamillesProcedureCivile: famillesAvecProcedureCivile.length, nbFamillesProcedureCivile: famillesAvecProcedureCivile.length,
pourcentageFamillesProcedureCivile: pourcentageFamillesProcedureCivile, pourcentageFamillesProcedureCivile: pourcentageFamillesProcedureCivile,