fix: stats sociales
parent
8dda887349
commit
e718874a3a
|
@ -34,7 +34,7 @@ export const statsGeneralesDesc = {
|
||||||
},
|
},
|
||||||
|
|
||||||
apresPoursuiteProcureur: {
|
apresPoursuiteProcureur: {
|
||||||
label: "Nb Familles Après poursuite procureur",
|
label: "Après poursuite procureur",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -7,51 +7,54 @@ import {
|
||||||
isGendarmerie,
|
isGendarmerie,
|
||||||
isProcedurePenale,
|
isProcedurePenale,
|
||||||
} from "../../../data/EvenementFamille";
|
} from "../../../data/EvenementFamille";
|
||||||
import { Famille } from "../../../data/Famille";
|
import { Famille, isExResistant, isResistant } from "../../../data/Famille";
|
||||||
import { average } from "../../../utils/math/average";
|
import { average } from "../../../utils/math/average";
|
||||||
import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements";
|
import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements";
|
||||||
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
||||||
import { StatsPenales } from "./StatsPenales";
|
import { StatsPenales } from "./StatsPenales";
|
||||||
|
|
||||||
export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||||
|
const famillesResistantesOuEx = familles.filter(
|
||||||
|
(f) => isResistant(f) || isExResistant(f)
|
||||||
|
);
|
||||||
const famillesMisesEnDemeure = filterFamillesWithOneOfEvenementsOfType(
|
const famillesMisesEnDemeure = filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Mise en demeure de scolarisation"
|
"Mise en demeure de scolarisation"
|
||||||
);
|
);
|
||||||
const famillesAvecGendarmerie = filterFamillesWithOneOfEvenements(
|
const famillesAvecGendarmerie = filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
isGendarmerie
|
isGendarmerie
|
||||||
);
|
);
|
||||||
const statsPenales: StatsPenales = {
|
const statsPenales: StatsPenales = {
|
||||||
nbFamillesMisesEnDemeure: famillesMisesEnDemeure.length,
|
nbFamillesMisesEnDemeure: famillesMisesEnDemeure.length,
|
||||||
nbFamillesAvecGendarmerie: famillesAvecGendarmerie.length,
|
nbFamillesAvecGendarmerie: famillesAvecGendarmerie.length,
|
||||||
nbFamillesAvecProcedurePenale: filterFamillesWithOneOfEvenements(
|
nbFamillesAvecProcedurePenale: filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
isProcedurePenale
|
isProcedurePenale
|
||||||
).length,
|
).length,
|
||||||
procureur: {
|
procureur: {
|
||||||
nbFamillesAuditionProcureur: filterFamillesWithOneOfEvenements(
|
nbFamillesAuditionProcureur: filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
isAuditionProcureurOuCRPC
|
isAuditionProcureurOuCRPC
|
||||||
).length,
|
).length,
|
||||||
compositionPenales: computeCompositionPenales(familles),
|
compositionPenales: computeCompositionPenales(familles),
|
||||||
crpc: computeCrpc(familles),
|
crpc: computeCrpc(familles),
|
||||||
nbFamillesClassementSansSuite: filterFamillesWithOneOfEvenementsOfType(
|
nbFamillesClassementSansSuite: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Classement pénal sans suite"
|
"Classement pénal sans suite"
|
||||||
).length,
|
).length,
|
||||||
nbFamillesRappelALaLoi: filterFamillesWithOneOfEvenementsOfType(
|
nbFamillesRappelALaLoi: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Rappel à la loi"
|
"Rappel à la loi"
|
||||||
).length,
|
).length,
|
||||||
},
|
},
|
||||||
tribunalCorrectionnel: computeTribunalCorrectionnel(familles),
|
tribunalCorrectionnel: computeTribunalCorrectionnel(familles),
|
||||||
nbFamillesAdministrateurAdhoc: filterFamillesWithOneOfEvenementsOfType(
|
nbFamillesAdministrateurAdhoc: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Administrateur AD'HOC"
|
"Administrateur AD'HOC"
|
||||||
).length,
|
).length,
|
||||||
nbFamillesTribunalDePolice: filterFamillesWithOneOfEvenementsOfType(
|
nbFamillesTribunalDePolice: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Tribunal de police judiciaire"
|
"Tribunal de police judiciaire"
|
||||||
).length,
|
).length,
|
||||||
intervalGendarmerieProcureur: computeIntervalGendarmerieProcureur(familles),
|
intervalGendarmerieProcureur: computeIntervalGendarmerieProcureur(familles),
|
||||||
|
@ -61,16 +64,19 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||||
return statsPenales;
|
return statsPenales;
|
||||||
}
|
}
|
||||||
|
|
||||||
function computeCrpc(familles: Famille[]): StatsPenales["procureur"]["crpc"] {
|
function computeCrpc(
|
||||||
const famillesConcernees = filterFamillesWithOneOfEvenements(familles, (e) =>
|
famillesResistantesOuEx: Famille[]
|
||||||
isCRPC(e)
|
): StatsPenales["procureur"]["crpc"] {
|
||||||
|
const famillesConcernees = filterFamillesWithOneOfEvenements(
|
||||||
|
famillesResistantesOuEx,
|
||||||
|
(e) => isCRPC(e)
|
||||||
);
|
);
|
||||||
const acceptees = filterFamillesWithOneOfEvenementsOfType(
|
const acceptees = filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Acceptation CRPC"
|
"Acceptation CRPC"
|
||||||
);
|
);
|
||||||
const refusees = filterFamillesWithOneOfEvenementsOfType(
|
const refusees = filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Refus CRPC"
|
"Refus CRPC"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -82,17 +88,18 @@ function computeCrpc(familles: Famille[]): StatsPenales["procureur"]["crpc"] {
|
||||||
}
|
}
|
||||||
|
|
||||||
function computeCompositionPenales(
|
function computeCompositionPenales(
|
||||||
familles: Famille[]
|
famillesResistantesOuEx: Famille[]
|
||||||
): StatsPenales["procureur"]["compositionPenales"] {
|
): StatsPenales["procureur"]["compositionPenales"] {
|
||||||
const famillesConcernees = filterFamillesWithOneOfEvenements(familles, (e) =>
|
const famillesConcernees = filterFamillesWithOneOfEvenements(
|
||||||
isCompositionPenale(e)
|
famillesResistantesOuEx,
|
||||||
|
(e) => isCompositionPenale(e)
|
||||||
);
|
);
|
||||||
const acceptees = filterFamillesWithOneOfEvenementsOfType(
|
const acceptees = filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Composition pénale acceptée"
|
"Composition pénale acceptée"
|
||||||
);
|
);
|
||||||
const refusees = filterFamillesWithOneOfEvenementsOfType(
|
const refusees = filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Composition pénale refusée"
|
"Composition pénale refusée"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -104,19 +111,19 @@ function computeCompositionPenales(
|
||||||
}
|
}
|
||||||
|
|
||||||
function computeTribunalCorrectionnel(
|
function computeTribunalCorrectionnel(
|
||||||
familles: Famille[]
|
famillesResistantesOuEx: Famille[]
|
||||||
): StatsPenales["tribunalCorrectionnel"] {
|
): StatsPenales["tribunalCorrectionnel"] {
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const famillesPassees = filterFamillesWithOneOfEvenements(
|
const famillesPassees = filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
(e) => e.Type === "Tribunal correctionnel" && isEvenementBefore(e, now)
|
(e) => e.Type === "Tribunal correctionnel" && isEvenementBefore(e, now)
|
||||||
);
|
);
|
||||||
const famillesProgrammees = filterFamillesWithOneOfEvenements(
|
const famillesProgrammees = filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
(e) => e.Type === "Tribunal correctionnel" && !isEvenementBefore(e, now)
|
(e) => e.Type === "Tribunal correctionnel" && !isEvenementBefore(e, now)
|
||||||
);
|
);
|
||||||
|
|
||||||
const famillesRecidiveTribunal = familles.filter((f) => {
|
const famillesRecidiveTribunal = famillesResistantesOuEx.filter((f) => {
|
||||||
return (
|
return (
|
||||||
f.Evenements.filter((e) => e.Type === "Tribunal correctionnel").length > 1
|
f.Evenements.filter((e) => e.Type === "Tribunal correctionnel").length > 1
|
||||||
);
|
);
|
||||||
|
@ -127,7 +134,7 @@ function computeTribunalCorrectionnel(
|
||||||
nbFamillesProgrammees: famillesProgrammees.length,
|
nbFamillesProgrammees: famillesProgrammees.length,
|
||||||
nbFamillesRecidive: famillesRecidiveTribunal.length,
|
nbFamillesRecidive: famillesRecidiveTribunal.length,
|
||||||
nbFamilleAppelDuJugement: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAppelDuJugement: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Appel du jugement"
|
"Appel du jugement"
|
||||||
).length,
|
).length,
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,64 +3,69 @@ import {
|
||||||
isInformationPreoccupante,
|
isInformationPreoccupante,
|
||||||
isProcedureCivile,
|
isProcedureCivile,
|
||||||
} from "../../../data/EvenementFamille";
|
} from "../../../data/EvenementFamille";
|
||||||
import { Famille } from "../../../data/Famille";
|
import { Famille, isExResistant, isResistant } from "../../../data/Famille";
|
||||||
import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements";
|
import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEvenements";
|
||||||
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
||||||
import { StatsSociales } from "./StatsSociales";
|
import { StatsSociales } from "./StatsSociales";
|
||||||
|
|
||||||
export function computeStatsSociales(familles: Famille[]): StatsSociales {
|
export function computeStatsSociales(familles: Famille[]): StatsSociales {
|
||||||
|
const famillesResistantesOuEx = familles.filter(
|
||||||
|
(f) => isResistant(f) || isExResistant(f)
|
||||||
|
);
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
const statsCiviles: StatsSociales = {
|
const statsCiviles: StatsSociales = {
|
||||||
nbFamillesProcedureCivile: filterFamillesWithOneOfEvenements(
|
nbFamillesProcedureCivile: filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
(e) => isProcedureCivile(e)
|
(e) => isProcedureCivile(e)
|
||||||
).length,
|
).length,
|
||||||
|
|
||||||
nbFamilleAvecIP: filterFamillesWithOneOfEvenements(
|
nbFamilleAvecIP: filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
isInformationPreoccupante
|
isInformationPreoccupante
|
||||||
).length,
|
).length,
|
||||||
nbFamilleAvecAssistanceEducative: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAvecAssistanceEducative: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Assistance éducative"
|
"Assistance éducative"
|
||||||
).length,
|
).length,
|
||||||
|
|
||||||
nbFamilleAvecAuditionDesEnfants: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAvecAuditionDesEnfants: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Audition des enfants"
|
"Audition des enfants"
|
||||||
).length,
|
).length,
|
||||||
jugePourEnfant: {
|
jugePourEnfant: {
|
||||||
nbFamillesPassees: filterFamillesWithOneOfEvenements(
|
nbFamillesPassees: filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
(e) => e.Type === "Juge pour enfants" && isEvenementBefore(e, now)
|
(e) => e.Type === "Juge pour enfants" && isEvenementBefore(e, now)
|
||||||
).length,
|
).length,
|
||||||
nbFamillesConvoquées: filterFamillesWithOneOfEvenements(
|
nbFamillesConvoquées: filterFamillesWithOneOfEvenements(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
(e) => e.Type === "Juge pour enfants" && !isEvenementBefore(e, now)
|
(e) => e.Type === "Juge pour enfants" && !isEvenementBefore(e, now)
|
||||||
).length,
|
).length,
|
||||||
},
|
},
|
||||||
nbFamilleAvecClassementSuiteIP: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAvecClassementSuiteIP: filterFamillesWithOneOfEvenementsOfType(
|
||||||
familles,
|
famillesResistantesOuEx,
|
||||||
"Classement suite IP"
|
"Classement suite IP"
|
||||||
).length,
|
).length,
|
||||||
propFamilleSocial: {
|
propFamilleSocial: {
|
||||||
classementApresIP: familles.filter(
|
classementApresIP: famillesResistantesOuEx.filter(
|
||||||
(f) => f.Social === "Classement après IP"
|
(f) => f.Social === "Classement après IP"
|
||||||
).length,
|
).length,
|
||||||
classementApresMijeOuAemo: familles.filter(
|
classementApresMijeOuAemo: famillesResistantesOuEx.filter(
|
||||||
(f) => f.Social === "Classement après MIJE ou AEMO ou"
|
(f) => f.Social === "Classement après MIJE ou AEMO ou"
|
||||||
).length,
|
).length,
|
||||||
convocationJugePourEnfants: familles.filter(
|
convocationJugePourEnfants: famillesResistantesOuEx.filter(
|
||||||
(f) => f.Social === "Convocation Juge pour Enfants"
|
(f) => f.Social === "Convocation Juge pour Enfants"
|
||||||
).length,
|
).length,
|
||||||
convoqueeServiceSociaux: familles.filter(
|
convoqueeServiceSociaux: famillesResistantesOuEx.filter(
|
||||||
(f) => f.Social === "Convoquée par les services sociaux"
|
(f) => f.Social === "Convoquée par les services sociaux"
|
||||||
).length,
|
).length,
|
||||||
enqueteEnCours: familles.filter((f) => f.Social === "Enquête en cours")
|
enqueteEnCours: famillesResistantesOuEx.filter(
|
||||||
.length,
|
(f) => f.Social === "Enquête en cours"
|
||||||
mije: familles.filter((f) => f.Social === "MJIE").length,
|
).length,
|
||||||
pasDenquete: familles.filter((f) => f.Social === "Pas d’enquête sociale")
|
mije: famillesResistantesOuEx.filter((f) => f.Social === "MJIE").length,
|
||||||
.length,
|
pasDenquete: famillesResistantesOuEx.filter(
|
||||||
|
(f) => f.Social === "Pas d’enquête sociale"
|
||||||
|
).length,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
return statsCiviles;
|
return statsCiviles;
|
||||||
|
|
Loading…
Reference in New Issue