mirror of
https://framagit.org/enfance-libre/statistiques
synced 2025-12-07 13:53:45 +00:00
feat: ajout stat Amendes
This commit is contained in:
parent
beb69eacac
commit
f2d2744b6d
2 changed files with 84 additions and 0 deletions
|
|
@ -24,6 +24,25 @@ export const statsTribunalCorrectionnelDesc = {
|
||||||
},
|
},
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
|
const statsAmendesDesc = {
|
||||||
|
amendeMinAvecSursi: {
|
||||||
|
label: "Amende avec sursi minimale",
|
||||||
|
unit: "€",
|
||||||
|
},
|
||||||
|
amendeMaxAvecSursi: {
|
||||||
|
label: "Amende avec sursi maximale",
|
||||||
|
unit: "€",
|
||||||
|
},
|
||||||
|
amendeMinFerme: {
|
||||||
|
label: "Amende ferme minimale",
|
||||||
|
unit: "€",
|
||||||
|
},
|
||||||
|
amendeMaxFerme: {
|
||||||
|
label: "Amende ferme maximale",
|
||||||
|
unit: "€",
|
||||||
|
},
|
||||||
|
} as const;
|
||||||
|
|
||||||
export const statsPenalesDesc = {
|
export const statsPenalesDesc = {
|
||||||
label: "Stats Pénales",
|
label: "Stats Pénales",
|
||||||
stats: {
|
stats: {
|
||||||
|
|
@ -149,6 +168,19 @@ export const statsPenalesDesc = {
|
||||||
unit: " jours",
|
unit: " jours",
|
||||||
valueMaxFractioDigits: 0,
|
valueMaxFractioDigits: 0,
|
||||||
},
|
},
|
||||||
|
amendes: {
|
||||||
|
label: "Amendes",
|
||||||
|
stats: {
|
||||||
|
tc: {
|
||||||
|
label: "Tribunal Correctionnel",
|
||||||
|
stats: statsAmendesDesc,
|
||||||
|
},
|
||||||
|
tp: {
|
||||||
|
label: "Tribunal de Police",
|
||||||
|
stats: statsAmendesDesc,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,20 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||||
const famillesAvecInfoProceduresPenales: FamilleAvecInfoProceduresPenales[] =
|
const famillesAvecInfoProceduresPenales: FamilleAvecInfoProceduresPenales[] =
|
||||||
famillesResistantesOuEx.map(computeFamilleAvecInfosProceduresPenales);
|
famillesResistantesOuEx.map(computeFamilleAvecInfosProceduresPenales);
|
||||||
|
|
||||||
|
const amendesTC = famillesResistantesOuEx
|
||||||
|
.flatMap((f) =>
|
||||||
|
f.EvenementsEL.filter((e) => e.Type === "Tribunal correctionnel")
|
||||||
|
)
|
||||||
|
.flatMap((e) => e.Amendes)
|
||||||
|
.filter((e) => !isNaN(e.Montant));
|
||||||
|
|
||||||
|
const amendesTP = famillesResistantesOuEx
|
||||||
|
.flatMap((f) =>
|
||||||
|
f.EvenementsEL.filter((e) => e.Type === "Tribunal de police judiciaire")
|
||||||
|
)
|
||||||
|
.flatMap((e) => e.Amendes)
|
||||||
|
.filter((e) => !isNaN(e.Montant));
|
||||||
|
|
||||||
const statsPenales: StatsPenales = {
|
const statsPenales: StatsPenales = {
|
||||||
nbFamillesMisesEnDemeure: nbFamillesAvecPagesLiees(famillesMisesEnDemeure),
|
nbFamillesMisesEnDemeure: nbFamillesAvecPagesLiees(famillesMisesEnDemeure),
|
||||||
nbFamillesAvecProcedurePenale: nbFamillesAvecPagesLiees(
|
nbFamillesAvecProcedurePenale: nbFamillesAvecPagesLiees(
|
||||||
|
|
@ -154,6 +168,44 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||||
computeIntervalProcureurTribunalCorrectionnel(
|
computeIntervalProcureurTribunalCorrectionnel(
|
||||||
famillesAvecInfoProceduresPenales
|
famillesAvecInfoProceduresPenales
|
||||||
),
|
),
|
||||||
|
amendes: {
|
||||||
|
tc: {
|
||||||
|
amendeMinAvecSursi: Math.min(
|
||||||
|
...amendesTC
|
||||||
|
.filter((a) => a.Type === "avec sursis")
|
||||||
|
.map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
amendeMaxAvecSursi: Math.max(
|
||||||
|
...amendesTC
|
||||||
|
.filter((a) => a.Type === "avec sursis")
|
||||||
|
.map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
amendeMinFerme: Math.min(
|
||||||
|
...amendesTC.filter((a) => a.Type === "ferme").map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
amendeMaxFerme: Math.max(
|
||||||
|
...amendesTC.filter((a) => a.Type === "ferme").map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
},
|
||||||
|
tp: {
|
||||||
|
amendeMinAvecSursi: Math.min(
|
||||||
|
...amendesTP
|
||||||
|
.filter((a) => a.Type === "avec sursis")
|
||||||
|
.map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
amendeMaxAvecSursi: Math.max(
|
||||||
|
...amendesTP
|
||||||
|
.filter((a) => a.Type === "avec sursis")
|
||||||
|
.map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
amendeMinFerme: Math.min(
|
||||||
|
...amendesTP.filter((a) => a.Type === "ferme").map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
amendeMaxFerme: Math.max(
|
||||||
|
...amendesTP.filter((a) => a.Type === "ferme").map((a) => a.Montant)
|
||||||
|
),
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
return statsPenales;
|
return statsPenales;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue