From 4fb83b82173e5ba3d34d7dbd19a55694d01a6b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Arod?= Date: Mon, 26 May 2025 19:24:54 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20l'evenement=20admin=20adhoc=20est=20avan?= =?UTF-8?q?t=20l'=C3=A9v=C3=A8nement=20tribunal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2/penales/computeStatsPenales.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/statistiques/v2/penales/computeStatsPenales.ts b/src/statistiques/v2/penales/computeStatsPenales.ts index 1e0ceb3..a05177d 100644 --- a/src/statistiques/v2/penales/computeStatsPenales.ts +++ b/src/statistiques/v2/penales/computeStatsPenales.ts @@ -305,10 +305,19 @@ function buildInfoTribunaux(f: Famille): InfoTribunalCorrectionnel[] { const evtTribunaux = f.EvenementsEL.filter(isTribunalCorrectionnel); return evtTribunaux.map((evtTribunal, index) => { + const prevEvtTrib = ( index - 1 >= 0) ? evtTribunaux[index - 1] : null; const nextEvtTrib = index + 1 < evtTribunaux.length ? evtTribunaux[index + 1] : null; - const eventsBetweenTribAndNextTrib = f.EvenementsEL.filter( + const eventsBetweenPreviousTribAndCurrentTrib = f.EvenementsEL.filter( + (e) => + evtTribunal.Date != null && + e.Date != null && + e.Date <= evtTribunal.Date && + (prevEvtTrib?.Date == null || e.Date > prevEvtTrib.Date) + ); + + const eventsBetweenCurrentTribAndNextTrib = f.EvenementsEL.filter( (e) => evtTribunal.Date != null && e.Date != null && @@ -318,18 +327,18 @@ function buildInfoTribunaux(f: Famille): InfoTribunalCorrectionnel[] { return { evtTribunal: evtTribunal, - evtAdminAdhoc: eventsBetweenTribAndNextTrib.find( + evtAdminAdhoc: eventsBetweenPreviousTribAndCurrentTrib.find( (e) => e.Type === "Administrateur AD'HOC" ), - evtAppel: f.Evenements.find( + evtAppel: eventsBetweenCurrentTribAndNextTrib.find( (e) => (index === 0 && e.Type === "Appel jugement Tribunal Correctionnel") || (index === 1 && e.Type == "Appel du 2ème jugement TC") ), - evtViceDeProcedure: eventsBetweenTribAndNextTrib.find( + evtViceDeProcedure: eventsBetweenCurrentTribAndNextTrib.find( (e) => e.Type === "Vice de procédure tribunal correctionnel" ), - evtRelaxe: eventsBetweenTribAndNextTrib.find( + evtRelaxe: eventsBetweenCurrentTribAndNextTrib.find( (e) => e.Type === "Relaxe Tribunal correctionnel" ),