fix: mise a jour CategorieEvement

wip-related-pages
sebastien.arod@gmail.com 2024-06-05 21:35:55 +02:00
parent af2e5d157c
commit b74838d482
2 changed files with 32 additions and 14 deletions

View File

@ -29,35 +29,37 @@ export function isProcedureCivile(evenement: EvenementFamille): boolean {
const categorieEvenement: { const categorieEvenement: {
[evt in TypeEvenement]: CategorieEvenement; [evt in TypeEvenement]: CategorieEvenement;
} = { } = {
["Signalement au procureur"]: "Procédure Civile",
["Classement social sans suite"]: "Procédure Civile",
["Enquête sociale"]: "Procédure Civile",
["Information préoccupante"]: "Procédure Civile",
["Juge pour enfants"]: "Procédure Civile",
["Audition des enfants"]: "Procédure Civile",
["Assistance éducative"]: "Procédure Civile",
["Contrôle forcé"]: "Procédure Civile",
["Récidive gendarmerie"]: "Procédure Pénale", ["Récidive gendarmerie"]: "Procédure Pénale",
["Appel du jugement"]: "Procédure Pénale", ["Appel du jugement"]: "Procédure Pénale",
["Tribunal de police judiciaire"]: "Procédure Pénale", ["Tribunal de police judiciaire"]: "Procédure Pénale",
["Signalement au procureur"]: "Procédure Civile", // TBC
["Mise en demeure de scolarisation"]: "Procédure Pénale", ["Mise en demeure de scolarisation"]: "Procédure Pénale",
["Signalement"]: "Procédure Civile",
["Audition gendarmerie / police"]: "Procédure Pénale", ["Audition gendarmerie / police"]: "Procédure Pénale",
["Passage police municipale"]: "Procédure Pénale",
["Convocation procureur"]: "Procédure Pénale", ["Convocation procureur"]: "Procédure Pénale",
["Audition procureur"]: "Procédure Pénale", ["Audition procureur"]: "Procédure Pénale",
["Composition pénale refusée"]: "Procédure Pénale", ["Composition pénale refusée"]: "Procédure Pénale",
["Composition pénale acceptée"]: "Procédure Pénale", ["Composition pénale acceptée"]: "Procédure Pénale",
["Classement social sans suite"]: "Procédure Civile",
["Classement pénal sans suite"]: "Procédure Pénale", ["Classement pénal sans suite"]: "Procédure Pénale",
["Enquête sociale"]: "Procédure Civile",
["Information préoccupante"]: "Procédure Civile",
["Juge pour enfants"]: "Procédure Civile",
["Tribunal correctionnel"]: "Procédure Pénale", ["Tribunal correctionnel"]: "Procédure Pénale",
["Convocation CRPC"]: "Procédure Pénale", ["Convocation CRPC"]: "Procédure Pénale",
["Plaidoirie"]: "Procédure Pénale",
["Audience CRPC"]: "Procédure Pénale", ["Audience CRPC"]: "Procédure Pénale",
["Refus CRPC"]: "Procédure Pénale", ["Refus CRPC"]: "Procédure Pénale",
["Audition des enfants"]: "Procédure Civile",
["Assistance éducative"]: "Procédure Civile",
["Contrôle forcé"]: "Autre",
["Refus de contrôle"]: "Autre",
["Rappel à la loi"]: "Procédure Pénale", ["Rappel à la loi"]: "Procédure Pénale",
["Passage police municipale"]: "Procédure Pénale", ["Validation désobéissance"]: "Procédure Pénale",
["Plaidoirie"]: "Autre",
["Refus de contrôle"]: "Autre",
["Administrateur AD'HOC"]: "Autre", ["Administrateur AD'HOC"]: "Autre",
["Validation désobéissance"]: "Autre", ["Signalement"]: "Autre",
}; };
export type CategorieEvenement = export type CategorieEvenement =
@ -72,6 +74,13 @@ export function isEvenementInPeriod(
return evt.Date && isPeriodContaining(period, evt.Date); return evt.Date && isPeriodContaining(period, evt.Date);
} }
export function isEvenementBefore(evt: EvenementFamille, date: Date): unknown { export function isEvenementBefore(evt: EvenementFamille, date: Date): boolean {
return evt.Date !== null && evt.Date < date; return evt.Date !== null && evt.Date < date;
} }
export function isValidEvenementFamille(str: string | null): boolean {
return (
str === null ||
Object.prototype.hasOwnProperty.call(categorieEvenement, str)
);
}

View File

@ -1,3 +1,4 @@
import { isValidEvenementFamille } from "./EvenementFamille";
import { Famille } from "./Famille"; import { Famille } from "./Famille";
export function checkDataConsistency(families: Famille[]): ConsistencyIssue[] { export function checkDataConsistency(families: Famille[]): ConsistencyIssue[] {
@ -59,5 +60,13 @@ function checkFamilyDataConsistency(family: Famille) {
}); });
} }
} }
consistencyIssues.push(
...family.Evenements.filter((e) => !isValidEvenementFamille(e.Type)).map(
(e) => ({
familyId: family.Titre,
issueType: "Unknown event Type: " + e.Type,
})
)
);
return consistencyIssues; return consistencyIssues;
} }