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