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 { 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);

View file

@ -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",

View file

@ -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;

View file

@ -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",

View file

@ -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))

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", 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",
}, },

View file

@ -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"

View file

@ -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",
}, },

View file

@ -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,