feat: les evenements hors période de résistance son ignorés
parent
5c0aebbcc3
commit
c2c9b8f9db
|
@ -1,3 +1,4 @@
|
||||||
|
import { EvenementFamille } from "../EvenementFamille";
|
||||||
import { Famille } from "../Famille";
|
import { Famille } from "../Famille";
|
||||||
import { checkDataConsistency } from "./checkDataConsistency";
|
import { checkDataConsistency } from "./checkDataConsistency";
|
||||||
import {
|
import {
|
||||||
|
@ -19,9 +20,9 @@ export function nettoyerDonneesFamilles(
|
||||||
|
|
||||||
let messages: MessageDeNettoyage[] = [];
|
let messages: MessageDeNettoyage[] = [];
|
||||||
|
|
||||||
const output = supprimerLesEntreesVide(familles);
|
const output1 = supprimerLesEntreesVide(familles);
|
||||||
messages = [...messages, ...output.messages];
|
messages = [...messages, ...output1.messages];
|
||||||
familles = output.familles;
|
familles = output1.familles;
|
||||||
|
|
||||||
// TODO convert checkDataConsistency to filters
|
// TODO convert checkDataConsistency to filters
|
||||||
const consistencyReport = checkDataConsistency(familles);
|
const consistencyReport = checkDataConsistency(familles);
|
||||||
|
@ -36,6 +37,14 @@ export function nettoyerDonneesFamilles(
|
||||||
|
|
||||||
messages = [...messages, ...errorMessages, ...warnings];
|
messages = [...messages, ...errorMessages, ...warnings];
|
||||||
|
|
||||||
|
const output2 = supprimerLesEvenementsSansDate(familles);
|
||||||
|
messages = [...messages, ...output2.messages];
|
||||||
|
familles = output2.familles;
|
||||||
|
|
||||||
|
const output3 = supprimerLesEvenementsHorsResisstance(familles);
|
||||||
|
messages = [...messages, ...output3.messages];
|
||||||
|
familles = output3.familles;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
familles,
|
familles,
|
||||||
messages,
|
messages,
|
||||||
|
@ -66,3 +75,50 @@ function supprimerLesEntreesVide(familles: Famille[]): DonneesNettoyees {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function supprimerLesEvenementsSansDate(familles: Famille[]): DonneesNettoyees {
|
||||||
|
return ignorerEvenements(
|
||||||
|
familles,
|
||||||
|
(e: EvenementFamille) => e.Date === null,
|
||||||
|
(e, f) =>
|
||||||
|
`Evenement "${f.Titre} - ${e.Évènement}" [${e.notionId}] n'as pas de Date il sera ignoré`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function supprimerLesEvenementsHorsResisstance(
|
||||||
|
familles: Famille[]
|
||||||
|
): DonneesNettoyees {
|
||||||
|
return ignorerEvenements(
|
||||||
|
familles,
|
||||||
|
(e: EvenementFamille, f: Famille) => {
|
||||||
|
return (
|
||||||
|
e.Date !== null &&
|
||||||
|
((f.Integration !== null && e.Date < f.Integration) ||
|
||||||
|
(f.Sortie !== null && e.Date > f.Sortie))
|
||||||
|
);
|
||||||
|
},
|
||||||
|
(e, f) =>
|
||||||
|
`Evenement "${f.Titre} - ${e.Évènement}" [${e.notionId}] hors période de résistance il sera ignoré`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ignorerEvenements(
|
||||||
|
familles: Famille[],
|
||||||
|
conditionAIgnoree: (evt: EvenementFamille, f: Famille) => boolean,
|
||||||
|
messageIgnoreeFn: (evt: EvenementFamille, f: Famille) => string
|
||||||
|
): DonneesNettoyees {
|
||||||
|
let messages: MessageDeNettoyage[] = [];
|
||||||
|
const nettoyees = familles.map((f) => {
|
||||||
|
const nettoyees = f.Evenements.filter((e) => !conditionAIgnoree(e, f));
|
||||||
|
const evtIgnorees = f.Evenements.filter((e) => conditionAIgnoree(e, f));
|
||||||
|
messages = [
|
||||||
|
...messages,
|
||||||
|
...evtIgnorees.map((e) => msgDonneeIgnoree(messageIgnoreeFn(e, f))),
|
||||||
|
];
|
||||||
|
return { ...f, Evenements: nettoyees };
|
||||||
|
});
|
||||||
|
return {
|
||||||
|
familles: nettoyees,
|
||||||
|
messages,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -134,8 +134,9 @@ function buildProcessOptions(): ProcessOptions {
|
||||||
await publishStatisticsToNotion(elStats, currentDate, notionClient);
|
await publishStatisticsToNotion(elStats, currentDate, notionClient);
|
||||||
|
|
||||||
const header = `
|
const header = `
|
||||||
Note: Sauf mention contraire les statistiques sont basées sur les familles résistantes & ex-résistantes.
|
Note:
|
||||||
Dernière mise à jour le ${formatDate(currentDate, "dd/MM/yyyy à HH:mm")}
|
- Sauf mention contraire les statistiques sont basées sur les familles résistantes & ex-résistantes (en ignorant les évènements hors de la période d'appartenance à EL')
|
||||||
|
Dernière mise à jour le ${formatDate(currentDate, "dd/MM/yyyy à HH:mm")}
|
||||||
|
|
||||||
`;
|
`;
|
||||||
await publishStatsGenerales(
|
await publishStatsGenerales(
|
||||||
|
|
Loading…
Reference in New Issue