mirror of
https://framagit.org/enfance-libre/statistiques
synced 2025-12-07 07:23:44 +00:00
42 lines
1.6 KiB
TypeScript
42 lines
1.6 KiB
TypeScript
import { Famille } from "../../../data/Famille";
|
|
import { isEvtTypeProcedurePenaleHorsGendarmerie } from "../../../data/TypeEvenementsPenal";
|
|
import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements";
|
|
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
|
import { percent } from "../math/percent";
|
|
import { nbFamillesAvecPagesLiees } from "../nbFamillesAvecPagesLiees";
|
|
import { StatsPenales } from "./StatsPenales";
|
|
|
|
export function computeStatDepartement(
|
|
famillesDepartements: Famille[]
|
|
): StatsPenales["parDepartements"][string] {
|
|
return {
|
|
nbFamilles: nbFamillesAvecPagesLiees(famillesDepartements),
|
|
pourcentageMED: percent(
|
|
filterFamillesWithOneOfEvenementsOfType(
|
|
famillesDepartements,
|
|
"Mise en demeure de scolarisation"
|
|
).length,
|
|
famillesDepartements.length
|
|
),
|
|
pourcentageProcedurePenaleHorsGendarmerie: percent(
|
|
filterFamillesWithOneOfEvenements(famillesDepartements, (e) =>
|
|
isEvtTypeProcedurePenaleHorsGendarmerie(e.Type)
|
|
).length,
|
|
famillesDepartements.length
|
|
),
|
|
pourcentageTribunalCorrectionnel: percent(
|
|
filterFamillesWithOneOfEvenements(
|
|
famillesDepartements,
|
|
(e) => e.Type === "Tribunal correctionnel"
|
|
).length,
|
|
famillesDepartements.length
|
|
),
|
|
pourcentageTribunalPolice: percent(
|
|
filterFamillesWithOneOfEvenements(
|
|
famillesDepartements,
|
|
(e) => e.Type === "Tribunal de police judiciaire"
|
|
).length,
|
|
famillesDepartements.length
|
|
),
|
|
};
|
|
}
|