feat: ajoute Requisition Judiciaire et deplace Stage Par dans pénal
parent
b0272d3733
commit
999fd8f4b5
|
@ -4,6 +4,7 @@ export const typesEvenementsPenal = [
|
|||
|
||||
"Gendarmerie/Forces de l'ordre",
|
||||
|
||||
"Réquisition judiciaire",
|
||||
"Audition procureur",
|
||||
|
||||
"Composition pénale refusée",
|
||||
|
@ -15,10 +16,10 @@ export const typesEvenementsPenal = [
|
|||
"Tribunal correctionnel",
|
||||
"Administrateur AD'HOC",
|
||||
"Appel du 1er jugement",
|
||||
"Stage parentalité",
|
||||
|
||||
// placeholder
|
||||
"Appel du 2eme jugement",
|
||||
|
||||
"Réquisition judiciaire",
|
||||
"Appel du 2eme jugement", // placeholder
|
||||
|
||||
"Tribunal de police judiciaire",
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ export const typesEvenementsSocial = [
|
|||
"Classement suite IP",
|
||||
"Classement suite AEMO MIJE ou...",
|
||||
"Juge pour enfants",
|
||||
"Stage parentalité",
|
||||
"Audition des enfants",
|
||||
"Assistance éducative",
|
||||
"Signalement",
|
||||
|
|
|
@ -63,7 +63,6 @@ export const statsPenalesDesc = {
|
|||
tribunalCorrectionnel1: {
|
||||
label: "Tribunal Correctionnel 1er passage",
|
||||
stats: {
|
||||
|
||||
nbFamillesConvoquees: {
|
||||
label: "Nb familles convoquées mais pas encore passées",
|
||||
},
|
||||
|
@ -89,6 +88,13 @@ export const statsPenalesDesc = {
|
|||
},
|
||||
},
|
||||
},
|
||||
|
||||
nbFamilleAvecStageParentalité: {
|
||||
label: "Nb Familles avec un Stage de parentalité",
|
||||
},
|
||||
nbFamilleAvecRequisitionJudiciaire: {
|
||||
label: "Nb Familles avec Réquisition Judiciaire",
|
||||
},
|
||||
nbFamillesTribunalDePolice: {
|
||||
label: "Nb familles avec Tribunal de police",
|
||||
},
|
||||
|
|
|
@ -14,11 +14,10 @@ import { filterFamillesWithOneOfEvenements } from "../filterFamillesWithOneOfEve
|
|||
import { filterFamillesWithOneOfEvenementsOfType } from "../filterFamillesWithOneOfEvenementsOfType";
|
||||
import { StatsPenales } from "./StatsPenales";
|
||||
|
||||
|
||||
type FamilleAvecInfoTribunaux = Famille & {
|
||||
evtTribunal1?: EvenementFamille
|
||||
evtTribunal2?: EvenementFamille
|
||||
}
|
||||
evtTribunal1?: EvenementFamille;
|
||||
evtTribunal2?: EvenementFamille;
|
||||
};
|
||||
|
||||
export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||
const famillesResistantesOuEx = familles.filter(
|
||||
|
@ -33,16 +32,15 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
|||
isGendarmerie
|
||||
);
|
||||
|
||||
const famillesAvecInfoTribunaux: FamilleAvecInfoTribunaux[] = famillesResistantesOuEx.map(
|
||||
f => {
|
||||
const famillesAvecInfoTribunaux: FamilleAvecInfoTribunaux[] =
|
||||
famillesResistantesOuEx.map((f) => {
|
||||
const evtTribunaux = f.Evenements.filter(isTribunalCorrectionnel);
|
||||
return {
|
||||
...f,
|
||||
evtTribunal1: evtTribunaux.length > 0 ? evtTribunaux[0] : undefined,
|
||||
evtTribunal2: evtTribunaux.length > 1 ? evtTribunaux[1] : undefined
|
||||
evtTribunal2: evtTribunaux.length > 1 ? evtTribunaux[1] : undefined,
|
||||
};
|
||||
}
|
||||
);
|
||||
});
|
||||
const statsPenales: StatsPenales = {
|
||||
nbFamillesMisesEnDemeure: famillesMisesEnDemeure.length,
|
||||
nbFamillesAvecGendarmerie: famillesAvecGendarmerie.length,
|
||||
|
@ -66,8 +64,21 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
|||
"Acceptation avertissement pénal probatoire"
|
||||
).length,
|
||||
},
|
||||
tribunalCorrectionnel1: computeTribunalCorrectionnel1(famillesAvecInfoTribunaux),
|
||||
tribunalCorrectionnel2: computeTribunalCorrectionnel2(famillesAvecInfoTribunaux),
|
||||
tribunalCorrectionnel1: computeTribunalCorrectionnel1(
|
||||
famillesAvecInfoTribunaux
|
||||
),
|
||||
tribunalCorrectionnel2: computeTribunalCorrectionnel2(
|
||||
famillesAvecInfoTribunaux
|
||||
),
|
||||
|
||||
nbFamilleAvecRequisitionJudiciaire: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Réquisition judiciaire"
|
||||
).length,
|
||||
nbFamilleAvecStageParentalité: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Stage parentalité"
|
||||
).length,
|
||||
|
||||
nbFamillesTribunalDePolice: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
|
@ -127,17 +138,17 @@ function computeCompositionPenales(
|
|||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
function computeTribunalCorrectionnel1(
|
||||
famillesResistantesOuEx: FamilleAvecInfoTribunaux[]
|
||||
): StatsPenales["tribunalCorrectionnel1"] {
|
||||
const now = new Date();
|
||||
const famillesPassees = famillesResistantesOuEx.filter(f => f.evtTribunal1
|
||||
&& isEvenementBefore(f.evtTribunal1, now));
|
||||
const famillesPassees = famillesResistantesOuEx.filter(
|
||||
(f) => f.evtTribunal1 && isEvenementBefore(f.evtTribunal1, now)
|
||||
);
|
||||
|
||||
const famillesProgrammees = famillesResistantesOuEx.filter(f => f.evtTribunal1
|
||||
&& !isEvenementBefore(f.evtTribunal1, now));
|
||||
const famillesProgrammees = famillesResistantesOuEx.filter(
|
||||
(f) => f.evtTribunal1 && !isEvenementBefore(f.evtTribunal1, now)
|
||||
);
|
||||
|
||||
return {
|
||||
nbFamillesPassees: famillesPassees.length,
|
||||
|
@ -154,11 +165,13 @@ function computeTribunalCorrectionnel2(
|
|||
famillesResistantesOuEx: FamilleAvecInfoTribunaux[]
|
||||
): StatsPenales["tribunalCorrectionnel2"] {
|
||||
const now = new Date();
|
||||
const famillesPassees = famillesResistantesOuEx.filter(f => f.evtTribunal2
|
||||
&& isEvenementBefore(f.evtTribunal2, now));
|
||||
const famillesPassees = famillesResistantesOuEx.filter(
|
||||
(f) => f.evtTribunal2 && isEvenementBefore(f.evtTribunal2, now)
|
||||
);
|
||||
|
||||
const famillesProgrammees = famillesResistantesOuEx.filter(f => f.evtTribunal2
|
||||
&& !isEvenementBefore(f.evtTribunal2, now));
|
||||
const famillesProgrammees = famillesResistantesOuEx.filter(
|
||||
(f) => f.evtTribunal2 && !isEvenementBefore(f.evtTribunal2, now)
|
||||
);
|
||||
|
||||
return {
|
||||
nbFamillesPassees: famillesPassees.length,
|
||||
|
@ -227,7 +240,6 @@ function computeIntervalProcureurTribunalCorrectionnel(
|
|||
return average(intervals);
|
||||
}
|
||||
|
||||
|
||||
function isTribunalCorrectionnel(e: EvenementFamille): boolean {
|
||||
return e.Type === "Tribunal correctionnel"
|
||||
return e.Type === "Tribunal correctionnel";
|
||||
}
|
||||
|
|
|
@ -17,9 +17,6 @@ export const statsSocialesDesc = {
|
|||
nbFamilleAvecAssistanceEducative: {
|
||||
label: "Nb Familles avec une Assistance educative",
|
||||
},
|
||||
nbFamilleAvecStageParentalité: {
|
||||
label: "Nb Familles avec un Stage de parentalité",
|
||||
},
|
||||
nbFamilleAvecAuditionDesEnfants: {
|
||||
label: "Nb Familles avec audition des enfants",
|
||||
},
|
||||
|
|
|
@ -28,10 +28,6 @@ export function computeStatsSociales(familles: Famille[]): StatsSociales {
|
|||
famillesResistantesOuEx,
|
||||
"Classement suite IP"
|
||||
).length,
|
||||
nbFamilleAvecStageParentalité: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Stage parentalité"
|
||||
).length,
|
||||
nbFamilleAvecAssistanceEducative: filterFamillesWithOneOfEvenementsOfType(
|
||||
famillesResistantesOuEx,
|
||||
"Assistance éducative"
|
||||
|
|
Loading…
Reference in New Issue