turnero: ordenar firmasCampos por minuto antes de calcular siguiente_toma_at

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 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-21 09:20:17 -05:00
co-authored by Claude Sonnet 4.6
parent ba2728a25f
commit e0041c8d24
+3
View File
@@ -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)