feat: suppression des evenements n'existants plus en base

This commit is contained in:
Sébastien Arod 2024-09-17 16:08:41 +02:00
parent 275911b27c
commit defaac856f
10 changed files with 2 additions and 73 deletions

View file

@ -31,10 +31,7 @@ export function isCompositionPenale(evenement: EvenementFamille): boolean {
export function isCRPC(evenement: EvenementFamille): boolean {
return (
evenement.Type === "Convocation CRPC" ||
evenement.Type === "Audience CRPC" ||
evenement.Type === "Refus CRPC" ||
evenement.Type === "Acceptation 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 {
return (
e.Type === "Audition gendarmerie / police" ||
e.Type === "Gendarmerie/Forces de l'ordre" ||
e.Type === "Récidive gendarmerie" ||
e.Type === "Passage police municipale"
);
return e.Type === "Gendarmerie/Forces de l'ordre";
}
export function isProcureur(e: EvenementFamille): boolean {
return e.Type === "Audition procureur" || isCRPC(e) || isCompositionPenale(e);

View file

@ -6,7 +6,6 @@ export const typesEvenements = [
...typesEvenementsSocial,
"Signalement au procureur",
// "Contrôle forcé",
"Refus de contrôle",
// "Validation désobéissance",
"Contrôle URSSAF",
"Contrôle fiscal",

View file

@ -3,18 +3,12 @@ export const typesEvenementsPenal = [
"Mise en demeure de scolarisation",
"Gendarmerie/Forces de l'ordre",
"Récidive gendarmerie",
"Audition gendarmerie / police",
"Passage police municipale",
"Convocation procureur",
"Audition procureur",
"Composition pénale refusée",
"Composition pénale acceptée",
"Convocation CRPC",
"Audience CRPC",
"Refus CRPC",
"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",
"Appel du 1er jugement",
"Plaidoirie",
"Tribunal de police judiciaire",
"Classement pénal sans suite",
"Rappel à la loi",
"Acceptation avertissement pénal probatoire",
] as const;

View file

@ -6,7 +6,6 @@ export const typesEvenementsSocial = [
"Information préoccupante 4",
"Classement suite IP",
"Classement suite AEMO MIJE ou...",
"Enquête sociale",
"Juge pour enfants",
"Stage parentalité",
"Audition des enfants",

View file

@ -5,7 +5,6 @@ import { fetchFamiliesWithEventsFromNotion } from "./notion/fetch/fetchFamiliesW
import { publishStatisticsToNotion } from "./notion/publish/v1/publishStatisticsToNotion";
import { publishStatsToPage } from "./notion/publish/v2/publishStatsToPage";
import { computeELStats } from "./statistiques/v1/computeELStats";
import { computeStatsParAnciennete } from "./statistiques/v1/computeEvenementsParAnciennete";
import { computeStatsPenales } from "./statistiques/v2/penales/computeStatsPenales";
import { statsPenalesDesc } from "./statistiques/v2/penales/StatsPenales";
import { computeStatsGenerales } from "./statistiques/v2/generales/computeStatsGenerales";
@ -75,17 +74,10 @@ function buildProcessOptions(): ProcessOptions {
console.log("Building statistics...");
const elStats = computeELStats(familles, currentDate);
const statsParAnciennete = computeStatsParAnciennete(familles);
writeFileSync(
"./el-stats-par-anciennete.json",
JSON.stringify(statsParAnciennete, null, " ")
);
const statsGenerales = computeStatsGenerales(familles);
const statsPenales = computeStatsPenales(familles);
const statsSociales = computeStatsSociales(familles);
console.log("Sankey Diagram:");
writeFileSync(
"./el-stats-penal-sankey-diagram.txt",
sankeyDataToMermaidDiagram(computeSequencEvtPenalSankeyData(familles))

View file

@ -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
),
};
}

View file

@ -54,10 +54,6 @@ export const statsPenalesDesc = {
label: "Nb familles avec Classement pénal sans suite",
},
nbFamillesRappelALaLoi: {
label: "Nb familles avec Rappel à la loi",
},
nbFamilleAcceptationAPP: {
label: "Nb familles avec Acceptation avertissement pénal probatoire",
},

View file

@ -43,10 +43,6 @@ export function computeStatsPenales(familles: Famille[]): StatsPenales {
famillesResistantesOuEx,
"Classement pénal sans suite"
).length,
nbFamillesRappelALaLoi: filterFamillesWithOneOfEvenementsOfType(
famillesResistantesOuEx,
"Rappel à la loi"
).length,
nbFamilleAcceptationAPP: filterFamillesWithOneOfEvenementsOfType(
famillesResistantesOuEx,
"Acceptation avertissement pénal probatoire"

View file

@ -14,9 +14,6 @@ export const statsSocialesDesc = {
label: "Nb Familles avec un classement suite IP",
},
nbFamilleAvecEnqueteSocial: {
label: "Nb Familles avec Enquête sociale",
},
nbFamilleAvecAssistanceEducative: {
label: "Nb Familles avec une Assistance educative",
},

View file

@ -41,10 +41,6 @@ export function computeStatsSociales(familles: Famille[]): StatsSociales {
famillesResistantesOuEx,
"Audition des enfants"
).length,
nbFamilleAvecEnqueteSocial: filterFamillesWithOneOfEvenementsOfType(
famillesResistantesOuEx,
"Enquête sociale"
).length,
nbFamilleAvecSignalement: filterFamillesWithOneOfEvenementsOfType(
famillesResistantesOuEx,