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