From c74462f97b1dc8ebec42b346213397cf33ea2122 Mon Sep 17 00:00:00 2001 From: louispaulb Date: Fri, 3 Jul 2026 17:56:56 -0400 Subject: [PATCH] =?UTF-8?q?feat(planif):=20dispatch=20auto=20=3D=20SEULEME?= =?UTF-8?q?NT=20les=20jobs=20du=20jour=20s=C3=A9lectionn=C3=A9=20(retards?= =?UTF-8?q?=20exclus=20par=20d=C3=A9faut)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sélectionner le 7 juillet ne devait pas tirer les jobs en retard/sans date (souvent faits mais pas fermés) dans la simulation. Par défaut (aucun chip de date coché), suggestJobs ne garde que les jobs DATÉS sur le(s) jour(s) de la fenêtre — plus de pollution par les retards/autres jours. Pour dispatcher les retards : cocher le chip « ⏰ en retard » (comportement inchangé). Le job_names envoyé au solveur hub ne contient alors que les jobs du jour → même résultat côté Optimiser. Vérifié preview : jour 07-07 → 15 jobs, plan = 15 arrêts tous le 07-07, 0 en retard. Co-Authored-By: Claude Opus 4.8 --- apps/ops/src/pages/PlanificationPage.vue | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/ops/src/pages/PlanificationPage.vue b/apps/ops/src/pages/PlanificationPage.vue index 8d8060c..a1dae57 100644 --- a/apps/ops/src/pages/PlanificationPage.vue +++ b/apps/ops/src/pages/PlanificationPage.vue @@ -1033,7 +1033,7 @@ - jobs en retard/sans date → tirés sur ce jour + {{ suggestJobCount }} job(s) de ce jour · retards exclus (chip « ⏰ en retard » pour les inclure)
@@ -4387,7 +4387,12 @@ const suggestWindow = computed(() => { // par les CHIPS de TYPE **et** de DATE (assignJobsFiltered). Ex. décocher « téléphonie » → non réparti aux techs terrain. const suggestJobs = () => { if (selectedNames.value.length) return (assignPanel.jobs || []).filter(j => j.status !== 'On Hold' && selectedJobs[j.name]) // sélection lasso explicite - return (assignJobsFiltered.value || []).filter(j => j.status !== 'On Hold') // pool tel qu'affiché (type + date) + let jobs = (assignJobsFiltered.value || []).filter(j => j.status !== 'On Hold') // pool tel qu'affiché (type + date) + // Par DÉFAUT (aucun chip de date coché) : ne répartir QUE les jobs DATÉS sur le(s) jour(s) de la fenêtre — jamais les + // jobs en retard/sans date/d'autres jours (souvent faits mais pas encore fermés) qui pollueraient la simulation. + // (Pour dispatcher les retards, cocher explicitement le chip « ⏰ en retard ».) + if (!assignDateFilter.value.length) { const win = new Set(suggestWindow.value); jobs = jobs.filter(j => win.has(j.scheduled_date)) } + return jobs } const suggestJobCount = computed(() => suggestJobs().length) // Y a-t-il un filtre restreignant le dispatch ? (lasso, chips de date ou de type)