feat: ajout de nbFamillesAvecGendarmerieSansSuiteACeJour

wip-related-pages
Sébastien Arod 2024-10-14 13:10:12 +02:00
parent c2c9b8f9db
commit 3480e18c76
3 changed files with 29 additions and 2 deletions

View File

@ -22,6 +22,15 @@ export function isProcedurePenale(evenement: EvenementFamille): boolean {
);
}
export function isProcedurePenaleHorsGendarmerie(
evenement: EvenementFamille
): boolean {
return (
isProcedurePenale(evenement) &&
evenement.Type !== "Gendarmerie/Forces de l'ordre"
);
}
export function isCompositionPenale(evenement: EvenementFamille): boolean {
return (
evenement.Type === "Composition pénale acceptée" ||

View File

@ -15,6 +15,10 @@ export const statsPenalesDesc = {
label:
"Nb familles avec un évènement Gendarmerie ou autre Force de l'ordre",
},
nbFamillesAvecGendarmerieSansSuiteACeJour: {
label:
"Nb familles avec un évènement Gendarmerie mais sans suite à ce sjour (pas de procureur, procès...)",
},
procureur: {
label: "Procureur",
stats: {

View File

@ -7,6 +7,7 @@ import {
isGendarmerie,
isProcedurePenale,
EvenementFamille,
isProcedurePenaleHorsGendarmerie,
} from "../../../data/EvenementFamille";
import { Famille, isExResistant, isResistant } from "../../../data/Famille";
import { average } from "../../../utils/math/average";
@ -27,11 +28,21 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
famillesResistantesOuEx,
"Mise en demeure de scolarisation"
);
const famillesAvecGendarmerie = filterFamillesWithOneOfEvenements(
const famillesGendarmerie = filterFamillesWithOneOfEvenements(
famillesResistantesOuEx,
isGendarmerie
);
const famillesAvecGendarmerieSansSuiteACeJour = famillesGendarmerie.filter(
(f) => {
const evtsProcPenaleHorsGendarmerie = f.Evenements.filter(
isProcedurePenaleHorsGendarmerie
);
return evtsProcPenaleHorsGendarmerie.length === 0;
}
);
const famillesAvecInfoTribunaux: FamilleAvecInfoTribunaux[] =
famillesResistantesOuEx.map((f) => {
const evtTribunaux = f.Evenements.filter(isTribunalCorrectionnel);
@ -41,13 +52,16 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
evtTribunal2: evtTribunaux.length > 1 ? evtTribunaux[1] : undefined,
};
});
const statsPenales: StatsPenales = {
nbFamillesMisesEnDemeure: famillesMisesEnDemeure.length,
nbFamillesAvecGendarmerie: famillesAvecGendarmerie.length,
nbFamillesAvecProcedurePenale: filterFamillesWithOneOfEvenements(
famillesResistantesOuEx,
isProcedurePenale
).length,
nbFamillesAvecGendarmerie: famillesGendarmerie.length,
nbFamillesAvecGendarmerieSansSuiteACeJour:
famillesAvecGendarmerieSansSuiteACeJour.length,
procureur: {
nbFamillesAuditionProcureur: filterFamillesWithOneOfEvenementsOfType(
famillesResistantesOuEx,