fix: stats delai pénal considère tous les evt lié au proc
parent
50c50c6b3a
commit
424e072e34
|
@ -33,7 +33,8 @@ export function isCRPC(evenement: EvenementFamille): boolean {
|
|||
return (
|
||||
evenement.Type === "Convocation CRPC" ||
|
||||
evenement.Type === "Audience CRPC" ||
|
||||
evenement.Type === "Refus CRPC"
|
||||
evenement.Type === "Refus CRPC" ||
|
||||
evenement.Type === "Acceptation CRPC"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -64,8 +65,8 @@ export function isGendarmerie(e: EvenementFamille): boolean {
|
|||
e.Type === "Passage police municipale"
|
||||
);
|
||||
}
|
||||
export function isAuditionProcureurOuCRPC(e: EvenementFamille): boolean {
|
||||
return e.Type === "Audition procureur" || e.Type === "Audience CRPC";
|
||||
export function isProcureur(e: EvenementFamille): boolean {
|
||||
return e.Type === "Audition procureur" || isCRPC(e) || isCompositionPenale(e);
|
||||
}
|
||||
|
||||
export function isInformationPreoccupante(e: EvenementFamille): boolean {
|
||||
|
|
|
@ -88,10 +88,12 @@ export const statsPenalesDesc = {
|
|||
intervalGendarmerieProcureur: {
|
||||
label: "Délai moyen entre Gendarmerie et Procureur",
|
||||
unit: " jours",
|
||||
valueMaxFractioDigits: 0,
|
||||
},
|
||||
intervalProcureurTribunalCorrectionnel: {
|
||||
label: "Délai moyen entre Procureur et Tribunal Correctionnel",
|
||||
unit: " jours",
|
||||
valueMaxFractioDigits: 0,
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
|
|
|
@ -3,7 +3,7 @@ import {
|
|||
isCompositionPenale,
|
||||
isCRPC,
|
||||
isEvenementBefore,
|
||||
isAuditionProcureurOuCRPC,
|
||||
isProcureur,
|
||||
isGendarmerie,
|
||||
isProcedurePenale,
|
||||
} from "../../../data/EvenementFamille";
|
||||
|
@ -35,7 +35,7 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
|||
procureur: {
|
||||
nbFamillesAuditionProcureur: filterFamillesWithOneOfEvenements(
|
||||
famillesResistantesOuEx,
|
||||
isAuditionProcureurOuCRPC
|
||||
isProcureur
|
||||
).length,
|
||||
compositionPenales: computeCompositionPenales(familles),
|
||||
crpc: computeCrpc(familles),
|
||||
|
@ -144,7 +144,7 @@ function computeTribunalCorrectionnel(
|
|||
function computeIntervalGendarmerieProcureur(familles: Famille[]): number {
|
||||
const intervals = familles.flatMap((f) => {
|
||||
const evtGendarmerie = f.Evenements.find((e) => isGendarmerie(e));
|
||||
const evtProcureur = f.Evenements.find((e) => isAuditionProcureurOuCRPC(e));
|
||||
const evtProcureur = f.Evenements.find((e) => isProcureur(e));
|
||||
|
||||
// consider only intervals for families with both events date
|
||||
if (!evtGendarmerie?.Date || !evtProcureur?.Date) {
|
||||
|
@ -157,7 +157,7 @@ function computeIntervalGendarmerieProcureur(familles: Famille[]): number {
|
|||
);
|
||||
if (intervalInDays < 0) {
|
||||
console.warn(
|
||||
`IntervalGendarmerieProcureur < 0 for ${f.Titre} (${f.notionId})`
|
||||
`IntervalGendarmerieProcureur < 0 pour ${f.Titre} (${f.notionId}): Cet interval sera ignoré.`
|
||||
);
|
||||
return [];
|
||||
} else {
|
||||
|
@ -171,7 +171,7 @@ function computeIntervalProcureurTribunalCorrectionnel(
|
|||
familles: Famille[]
|
||||
): number {
|
||||
const intervals = familles.flatMap((f) => {
|
||||
const evtProcureur = f.Evenements.find((e) => isAuditionProcureurOuCRPC(e));
|
||||
const evtProcureur = f.Evenements.find((e) => isProcureur(e));
|
||||
const evtTribunal = f.Evenements.find(
|
||||
(e) => e.Type === "Tribunal correctionnel"
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue