feat: ajoute les pages familles liées sur les stats pénales
parent
cfb4bcc772
commit
a5d5af8e49
|
@ -14,6 +14,8 @@ 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";
|
||||||
|
import { nbFamillesAvecPagesLiees } from "./nbFamillesAvecPagesLiees";
|
||||||
|
import { StatsData } from "../desc/StatsDesc";
|
||||||
|
|
||||||
type FamilleAvecInfoTribunaux = Famille & {
|
type FamilleAvecInfoTribunaux = Famille & {
|
||||||
evtTribunal1?: EvenementFamille;
|
evtTribunal1?: EvenementFamille;
|
||||||
|
@ -59,31 +61,41 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||||
});
|
});
|
||||||
|
|
||||||
const statsPenales: StatsPenales = {
|
const statsPenales: StatsPenales = {
|
||||||
nbFamillesMisesEnDemeure: famillesMisesEnDemeure.length,
|
nbFamillesMisesEnDemeure: nbFamillesAvecPagesLiees(famillesMisesEnDemeure),
|
||||||
nbFamillesAvecProcedurePenale: filterFamillesWithOneOfEvenements(
|
nbFamillesAvecProcedurePenale: nbFamillesAvecPagesLiees(
|
||||||
famillesResistantesOuEx,
|
filterFamillesWithOneOfEvenements(
|
||||||
isEvtProcedurePenale
|
|
||||||
).length,
|
|
||||||
nbFamillesAvecGendarmerie: famillesGendarmerie.length,
|
|
||||||
nbFamillesAvecGendarmerieSansSuiteACeJour:
|
|
||||||
famillesAvecGendarmerieSansSuiteACeJour.length,
|
|
||||||
nbFamillesAvecEvtProcedurePenaleHorsGendarmerie:
|
|
||||||
famillesAvecEvtProcedurePenaleHorsGendarmerie.length,
|
|
||||||
procureur: {
|
|
||||||
nbFamillesAuditionProcureur: filterFamillesWithOneOfEvenementsOfType(
|
|
||||||
famillesResistantesOuEx,
|
famillesResistantesOuEx,
|
||||||
"Audition procureur"
|
isEvtProcedurePenale
|
||||||
).length,
|
)
|
||||||
|
),
|
||||||
|
nbFamillesAvecGendarmerie: nbFamillesAvecPagesLiees(famillesGendarmerie),
|
||||||
|
nbFamillesAvecGendarmerieSansSuiteACeJour: nbFamillesAvecPagesLiees(
|
||||||
|
famillesAvecGendarmerieSansSuiteACeJour
|
||||||
|
),
|
||||||
|
nbFamillesAvecEvtProcedurePenaleHorsGendarmerie: nbFamillesAvecPagesLiees(
|
||||||
|
famillesAvecEvtProcedurePenaleHorsGendarmerie
|
||||||
|
),
|
||||||
|
procureur: {
|
||||||
|
nbFamillesAuditionProcureur: nbFamillesAvecPagesLiees(
|
||||||
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
|
famillesResistantesOuEx,
|
||||||
|
"Audition procureur"
|
||||||
|
)
|
||||||
|
),
|
||||||
compositionPenales: computeCompositionPenales(familles),
|
compositionPenales: computeCompositionPenales(familles),
|
||||||
crpc: computeCrpc(familles),
|
crpc: computeCrpc(familles),
|
||||||
nbFamillesClassementSansSuite: filterFamillesWithOneOfEvenementsOfType(
|
nbFamillesClassementSansSuite: nbFamillesAvecPagesLiees(
|
||||||
famillesResistantesOuEx,
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
"Classement pénal sans suite"
|
famillesResistantesOuEx,
|
||||||
).length,
|
"Classement pénal sans suite"
|
||||||
nbFamilleAcceptationAPP: filterFamillesWithOneOfEvenementsOfType(
|
)
|
||||||
famillesResistantesOuEx,
|
),
|
||||||
"Acceptation avertissement pénal probatoire"
|
nbFamilleAcceptationAPP: nbFamillesAvecPagesLiees(
|
||||||
).length,
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
|
famillesResistantesOuEx,
|
||||||
|
"Acceptation avertissement pénal probatoire"
|
||||||
|
)
|
||||||
|
),
|
||||||
},
|
},
|
||||||
tribunalCorrectionnel1: computeTribunalCorrectionnel1(
|
tribunalCorrectionnel1: computeTribunalCorrectionnel1(
|
||||||
famillesAvecInfoTribunaux
|
famillesAvecInfoTribunaux
|
||||||
|
@ -92,19 +104,25 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||||
famillesAvecInfoTribunaux
|
famillesAvecInfoTribunaux
|
||||||
),
|
),
|
||||||
|
|
||||||
nbFamilleAvecRequisitionJudiciaire: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAvecRequisitionJudiciaire: nbFamillesAvecPagesLiees(
|
||||||
famillesResistantesOuEx,
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
"Réquisition judiciaire"
|
famillesResistantesOuEx,
|
||||||
).length,
|
"Réquisition judiciaire"
|
||||||
nbFamilleAvecStageParentalité: filterFamillesWithOneOfEvenementsOfType(
|
)
|
||||||
famillesResistantesOuEx,
|
),
|
||||||
"Stage parentalité"
|
nbFamilleAvecStageParentalité: nbFamillesAvecPagesLiees(
|
||||||
).length,
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
|
famillesResistantesOuEx,
|
||||||
|
"Stage parentalité"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
nbFamillesTribunalDePolice: filterFamillesWithOneOfEvenementsOfType(
|
nbFamillesTribunalDePolice: nbFamillesAvecPagesLiees(
|
||||||
famillesResistantesOuEx,
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
"Tribunal de police judiciaire"
|
famillesResistantesOuEx,
|
||||||
).length,
|
"Tribunal de police judiciaire"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
|
||||||
intervalGendarmerieProcureur: computeIntervalGendarmerieProcureur(familles),
|
intervalGendarmerieProcureur: computeIntervalGendarmerieProcureur(familles),
|
||||||
intervalProcureurTribunalCorrectionnel:
|
intervalProcureurTribunalCorrectionnel:
|
||||||
|
@ -130,9 +148,9 @@ function computeCrpc(
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
nbFamilles: famillesConcernees.length,
|
nbFamilles: nbFamilles(famillesConcernees),
|
||||||
acceptees: acceptees.length,
|
acceptees: nbFamilles(acceptees),
|
||||||
refusees: refusees.length,
|
refusees: nbFamilles(refusees),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,9 +171,9 @@ function computeCompositionPenales(
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
nbFamilles: famillesConcernees.length,
|
nbFamilles: nbFamilles(famillesConcernees),
|
||||||
acceptees: acceptees.length,
|
acceptees: nbFamilles(acceptees),
|
||||||
refusees: refusees.length,
|
refusees: nbFamilles(refusees),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,13 +190,15 @@ function computeTribunalCorrectionnel1(
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
nbFamillesPassees: famillesPassees.length,
|
nbFamillesPassees: nbFamillesAvecPagesLiees(famillesPassees),
|
||||||
nbFamillesConvoquees: famillesProgrammees.length,
|
nbFamillesConvoquees: nbFamillesAvecPagesLiees(famillesProgrammees),
|
||||||
|
|
||||||
nbFamilleAppelDuJugement: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAppelDuJugement: nbFamillesAvecPagesLiees(
|
||||||
famillesResistantesOuEx,
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
"Appel du 1er jugement"
|
famillesResistantesOuEx,
|
||||||
).length,
|
"Appel du 1er jugement"
|
||||||
|
)
|
||||||
|
),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,13 +215,14 @@ function computeTribunalCorrectionnel2(
|
||||||
);
|
);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
nbFamillesPassees: famillesPassees.length,
|
nbFamillesPassees: nbFamilles(famillesPassees),
|
||||||
nbFamillesConvoquees: famillesProgrammees.length,
|
nbFamillesConvoquees: nbFamilles(famillesProgrammees),
|
||||||
|
nbFamilleAppelDuJugement: nbFamilles(
|
||||||
nbFamilleAppelDuJugement: filterFamillesWithOneOfEvenementsOfType(
|
filterFamillesWithOneOfEvenementsOfType(
|
||||||
famillesResistantesOuEx,
|
famillesResistantesOuEx,
|
||||||
"Appel du 2eme jugement"
|
"Appel du 2eme jugement"
|
||||||
).length,
|
)
|
||||||
|
),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -264,3 +285,7 @@ function computeIntervalProcureurTribunalCorrectionnel(
|
||||||
function isTribunalCorrectionnel(e: EvenementFamille): boolean {
|
function isTribunalCorrectionnel(e: EvenementFamille): boolean {
|
||||||
return e.Type === "Tribunal correctionnel";
|
return e.Type === "Tribunal correctionnel";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function nbFamilles(familles: Famille[]): StatsData {
|
||||||
|
return familles.length;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { Famille } from "../../../data/Famille";
|
||||||
|
import { StatsData } from "../desc/StatsDesc";
|
||||||
|
|
||||||
|
export function nbFamillesAvecPagesLiees(familles: Famille[]): StatsData {
|
||||||
|
return {
|
||||||
|
value: familles.length,
|
||||||
|
relatedPageIds: familles.map((f) => f.notionId),
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue