mirror of
https://framagit.org/enfance-libre/statistiques
synced 2025-12-07 04:03:44 +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;
|
||||
|
||||
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 = {
|
||||
label: "Stats Pénales",
|
||||
stats: {
|
||||
|
|
@ -149,6 +168,19 @@ export const statsPenalesDesc = {
|
|||
unit: " jours",
|
||||
valueMaxFractioDigits: 0,
|
||||
},
|
||||
amendes: {
|
||||
label: "Amendes",
|
||||
stats: {
|
||||
tc: {
|
||||
label: "Tribunal Correctionnel",
|
||||
stats: statsAmendesDesc,
|
||||
},
|
||||
tp: {
|
||||
label: "Tribunal de Police",
|
||||
stats: statsAmendesDesc,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,20 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
|||
const famillesAvecInfoProceduresPenales: FamilleAvecInfoProceduresPenales[] =
|
||||
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 = {
|
||||
nbFamillesMisesEnDemeure: nbFamillesAvecPagesLiees(famillesMisesEnDemeure),
|
||||
nbFamillesAvecProcedurePenale: nbFamillesAvecPagesLiees(
|
||||
|
|
@ -154,6 +168,44 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
|||
computeIntervalProcureurTribunalCorrectionnel(
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue