From e0041c8d2494c005eb3528dc61fd087bb10f2c0b Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:20:17 -0500 Subject: [PATCH] turnero: ordenar firmasCampos por minuto antes de calcular siguiente_toma_at MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sin el sort, Otro (2 min) aparecía después de Minuto 15 en schema order, haciendo que el countdown arrancara con 15 min en vez de 2. Co-Authored-By: Claude Sonnet 4.6 --- modules/turnero/api/guardar_toma.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/turnero/api/guardar_toma.php b/modules/turnero/api/guardar_toma.php index 2d14afb..7187a83 100644 --- a/modules/turnero/api/guardar_toma.php +++ b/modules/turnero/api/guardar_toma.php @@ -114,6 +114,9 @@ if (is_array($__tcFirmas)) { $firmasCampos = array_values(array_filter($firmasCampos, fn($f) => isset($__allowed[$f['id']]))); } +// Ordenar cronológicamente para que el siguiente pendiente sea el más próximo +usort($firmasCampos, fn($a, $b) => ($a['minutos'] ?? PHP_INT_MAX) <=> ($b['minutos'] ?? PHP_INT_MAX)); + // ── Determinar estado y siguiente_toma_at ──────────────────── // Acepta firma guardada con clave campo_id O campo_id_svg (compatibilidad registros históricos) $hasFirma = fn($f) => (isset($datosMerge[$f['id']]) && strlen($datosMerge[$f['id']]) > 10)