mirror of
https://framagit.org/enfance-libre/statistiques
synced 2025-12-08 00:03:47 +00:00
feat: suppression des evenements n'existants plus en base
This commit is contained in:
parent
275911b27c
commit
defaac856f
10 changed files with 2 additions and 73 deletions
|
|
@ -31,10 +31,7 @@ export function isCompositionPenale(evenement: EvenementFamille): boolean {
|
||||||
|
|
||||||
export function isCRPC(evenement: EvenementFamille): boolean {
|
export function isCRPC(evenement: EvenementFamille): boolean {
|
||||||
return (
|
return (
|
||||||
evenement.Type === "Convocation CRPC" ||
|
evenement.Type === "Refus CRPC" || evenement.Type === "Acceptation CRPC"
|
||||||
evenement.Type === "Audience CRPC" ||
|
|
||||||
evenement.Type === "Refus CRPC" ||
|
|
||||||
evenement.Type === "Acceptation CRPC"
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -58,12 +55,7 @@ export function isEvenementBefore(evt: EvenementFamille, date: Date): boolean {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isGendarmerie(e: EvenementFamille): boolean {
|
export function isGendarmerie(e: EvenementFamille): boolean {
|
||||||
return (
|
return e.Type === "Gendarmerie/Forces de l'ordre";
|
||||||
e.Type === "Audition gendarmerie / police" ||
|
|
||||||
e.Type === "Gendarmerie/Forces de l'ordre" ||
|
|
||||||
e.Type === "Récidive gendarmerie" ||
|
|
||||||
e.Type === "Passage police municipale"
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
export function isProcureur(e: EvenementFamille): boolean {
|
export function isProcureur(e: EvenementFamille): boolean {
|
||||||
return e.Type === "Audition procureur" || isCRPC(e) || isCompositionPenale(e);
|
return e.Type === "Audition procureur" || isCRPC(e) || isCompositionPenale(e);
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ export const typesEvenements = [
|
||||||
...typesEvenementsSocial,
|
...typesEvenementsSocial,
|
||||||
"Signalement au procureur",
|
"Signalement au procureur",
|
||||||
// "Contrôle forcé",
|
// "Contrôle forcé",
|
||||||
"Refus de contrôle",
|
|
||||||
// "Validation désobéissance",
|
// "Validation désobéissance",
|
||||||
"Contrôle URSSAF",
|
"Contrôle URSSAF",
|
||||||
"Contrôle fiscal",
|
"Contrôle fiscal",
|
||||||
|
|
|
||||||
|
|
@ -3,18 +3,12 @@ export const typesEvenementsPenal = [
|
||||||
"Mise en demeure de scolarisation",
|
"Mise en demeure de scolarisation",
|
||||||
|
|
||||||
"Gendarmerie/Forces de l'ordre",
|
"Gendarmerie/Forces de l'ordre",
|
||||||
"Récidive gendarmerie",
|
|
||||||
"Audition gendarmerie / police",
|
|
||||||
"Passage police municipale",
|
|
||||||
|
|
||||||
"Convocation procureur",
|
|
||||||
"Audition procureur",
|
"Audition procureur",
|
||||||
|
|
||||||
"Composition pénale refusée",
|
"Composition pénale refusée",
|
||||||
"Composition pénale acceptée",
|
"Composition pénale acceptée",
|
||||||
|
|
||||||
"Convocation CRPC",
|
|
||||||
"Audience CRPC",
|
|
||||||
"Refus CRPC",
|
"Refus CRPC",
|
||||||
"Acceptation CRPC", // PLaceholder see does not exist in Notion yet // See https://discord.com/channels/990921361121746984/1245360366322585691/1248260713634336839
|
"Acceptation CRPC", // PLaceholder see does not exist in Notion yet // See https://discord.com/channels/990921361121746984/1245360366322585691/1248260713634336839
|
||||||
|
|
||||||
|
|
@ -22,10 +16,8 @@ export const typesEvenementsPenal = [
|
||||||
"Administrateur AD'HOC",
|
"Administrateur AD'HOC",
|
||||||
"Appel du 1er jugement",
|
"Appel du 1er jugement",
|
||||||
|
|
||||||
"Plaidoirie",
|
|
||||||
"Tribunal de police judiciaire",
|
"Tribunal de police judiciaire",
|
||||||
|
|
||||||
"Classement pénal sans suite",
|
"Classement pénal sans suite",
|
||||||
"Rappel à la loi",
|
|
||||||
"Acceptation avertissement pénal probatoire",
|
"Acceptation avertissement pénal probatoire",
|
||||||
] as const;
|
] as const;
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ export const typesEvenementsSocial = [
|
||||||
"Information préoccupante 4",
|
"Information préoccupante 4",
|
||||||
"Classement suite IP",
|
"Classement suite IP",
|
||||||
"Classement suite AEMO MIJE ou...",
|
"Classement suite AEMO MIJE ou...",
|
||||||
"Enquête sociale",
|
|
||||||
"Juge pour enfants",
|
"Juge pour enfants",
|
||||||
"Stage parentalité",
|
"Stage parentalité",
|
||||||
"Audition des enfants",
|
"Audition des enfants",
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@ import { fetchFamiliesWithEventsFromNotion } from "./notion/fetch/fetchFamiliesW
|
||||||
import { publishStatisticsToNotion } from "./notion/publish/v1/publishStatisticsToNotion";
|
import { publishStatisticsToNotion } from "./notion/publish/v1/publishStatisticsToNotion";
|
||||||
import { publishStatsToPage } from "./notion/publish/v2/publishStatsToPage";
|
import { publishStatsToPage } from "./notion/publish/v2/publishStatsToPage";
|
||||||
import { computeELStats } from "./statistiques/v1/computeELStats";
|
import { computeELStats } from "./statistiques/v1/computeELStats";
|
||||||
import { computeStatsParAnciennete } from "./statistiques/v1/computeEvenementsParAnciennete";
|
|
||||||
import { computeStatsPenales } from "./statistiques/v2/penales/computeStatsPenales";
|
import { computeStatsPenales } from "./statistiques/v2/penales/computeStatsPenales";
|
||||||
import { statsPenalesDesc } from "./statistiques/v2/penales/StatsPenales";
|
import { statsPenalesDesc } from "./statistiques/v2/penales/StatsPenales";
|
||||||
import { computeStatsGenerales } from "./statistiques/v2/generales/computeStatsGenerales";
|
import { computeStatsGenerales } from "./statistiques/v2/generales/computeStatsGenerales";
|
||||||
|
|
@ -75,17 +74,10 @@ function buildProcessOptions(): ProcessOptions {
|
||||||
console.log("Building statistics...");
|
console.log("Building statistics...");
|
||||||
const elStats = computeELStats(familles, currentDate);
|
const elStats = computeELStats(familles, currentDate);
|
||||||
|
|
||||||
const statsParAnciennete = computeStatsParAnciennete(familles);
|
|
||||||
writeFileSync(
|
|
||||||
"./el-stats-par-anciennete.json",
|
|
||||||
JSON.stringify(statsParAnciennete, null, " ")
|
|
||||||
);
|
|
||||||
|
|
||||||
const statsGenerales = computeStatsGenerales(familles);
|
const statsGenerales = computeStatsGenerales(familles);
|
||||||
const statsPenales = computeStatsPenales(familles);
|
const statsPenales = computeStatsPenales(familles);
|
||||||
const statsSociales = computeStatsSociales(familles);
|
const statsSociales = computeStatsSociales(familles);
|
||||||
|
|
||||||
console.log("Sankey Diagram:");
|
|
||||||
writeFileSync(
|
writeFileSync(
|
||||||
"./el-stats-penal-sankey-diagram.txt",
|
"./el-stats-penal-sankey-diagram.txt",
|
||||||
sankeyDataToMermaidDiagram(computeSequencEvtPenalSankeyData(familles))
|
sankeyDataToMermaidDiagram(computeSequencEvtPenalSankeyData(familles))
|
||||||
|
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
import { isProcedureCivile } from "../../data/EvenementFamille";
|
|
||||||
import { Famille } from "../../data/Famille";
|
|
||||||
import { computeFamillesWithEventsConditionInEarlyPeriod } from "./computeFamilleWithEventAfterDurationOfDC";
|
|
||||||
|
|
||||||
export function computeStatsParAnciennete(familles: Famille[]) {
|
|
||||||
return {
|
|
||||||
procedureCivile: computeFamillesWithEventsConditionInEarlyPeriod(
|
|
||||||
familles,
|
|
||||||
(events) => events.find((ev) => isProcedureCivile(ev)) !== undefined
|
|
||||||
),
|
|
||||||
|
|
||||||
miseEnDemeure: computeFamillesWithEventsConditionInEarlyPeriod(
|
|
||||||
familles,
|
|
||||||
(events) =>
|
|
||||||
events.find((ev) => ev.Type === "Mise en demeure de scolarisation") !==
|
|
||||||
undefined
|
|
||||||
),
|
|
||||||
auditionGendarmerie: computeFamillesWithEventsConditionInEarlyPeriod(
|
|
||||||
familles,
|
|
||||||
(events) =>
|
|
||||||
events.find((ev) => ev.Type === "Audition gendarmerie / police") !==
|
|
||||||
undefined
|
|
||||||
),
|
|
||||||
tribunalCorrectionnel: computeFamillesWithEventsConditionInEarlyPeriod(
|
|
||||||
familles,
|
|
||||||
(events) =>
|
|
||||||
events.find((ev) => ev.Type === "Tribunal correctionnel") !== undefined
|
|
||||||
),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -54,10 +54,6 @@ export const statsPenalesDesc = {
|
||||||
label: "Nb familles avec Classement pénal sans suite",
|
label: "Nb familles avec Classement pénal sans suite",
|
||||||
},
|
},
|
||||||
|
|
||||||
nbFamillesRappelALaLoi: {
|
|
||||||
label: "Nb familles avec Rappel à la loi",
|
|
||||||
},
|
|
||||||
|
|
||||||
nbFamilleAcceptationAPP: {
|
nbFamilleAcceptationAPP: {
|
||||||
label: "Nb familles avec Acceptation avertissement pénal probatoire",
|
label: "Nb familles avec Acceptation avertissement pénal probatoire",
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -43,10 +43,6 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
|
||||||
famillesResistantesOuEx,
|
famillesResistantesOuEx,
|
||||||
"Classement pénal sans suite"
|
"Classement pénal sans suite"
|
||||||
).length,
|
).length,
|
||||||
nbFamillesRappelALaLoi: filterFamillesWithOneOfEvenementsOfType(
|
|
||||||
famillesResistantesOuEx,
|
|
||||||
"Rappel à la loi"
|
|
||||||
).length,
|
|
||||||
nbFamilleAcceptationAPP: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAcceptationAPP: filterFamillesWithOneOfEvenementsOfType(
|
||||||
famillesResistantesOuEx,
|
famillesResistantesOuEx,
|
||||||
"Acceptation avertissement pénal probatoire"
|
"Acceptation avertissement pénal probatoire"
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,6 @@ export const statsSocialesDesc = {
|
||||||
label: "Nb Familles avec un classement suite IP",
|
label: "Nb Familles avec un classement suite IP",
|
||||||
},
|
},
|
||||||
|
|
||||||
nbFamilleAvecEnqueteSocial: {
|
|
||||||
label: "Nb Familles avec Enquête sociale",
|
|
||||||
},
|
|
||||||
nbFamilleAvecAssistanceEducative: {
|
nbFamilleAvecAssistanceEducative: {
|
||||||
label: "Nb Familles avec une Assistance educative",
|
label: "Nb Familles avec une Assistance educative",
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -41,10 +41,6 @@ export function computeStatsSociales(familles: Famille[]): StatsSociales {
|
||||||
famillesResistantesOuEx,
|
famillesResistantesOuEx,
|
||||||
"Audition des enfants"
|
"Audition des enfants"
|
||||||
).length,
|
).length,
|
||||||
nbFamilleAvecEnqueteSocial: filterFamillesWithOneOfEvenementsOfType(
|
|
||||||
famillesResistantesOuEx,
|
|
||||||
"Enquête sociale"
|
|
||||||
).length,
|
|
||||||
|
|
||||||
nbFamilleAvecSignalement: filterFamillesWithOneOfEvenementsOfType(
|
nbFamilleAvecSignalement: filterFamillesWithOneOfEvenementsOfType(
|
||||||
famillesResistantesOuEx,
|
famillesResistantesOuEx,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue