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