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