Mejoras F-LAB-28 tomas prolongadas: bugfixes + UX + datos
- guardar_toma.php: reconoce firma campo_id_svg (compat. registros históricos) - get_consentimientos.php: mismo fix para conteo tomas_firmadas - ver_formulario_enviado.php: $_mpMap incluye hora fija (Cortisol 3pm/4pm), agrupa por condición de separador para no mezclar Glicemia/Cortisol, muestra resumen de tomas al completar antes de cerrar el modal - lugar.php: banner rojo + beep cuando el countdown de una toma llega a cero, resetea alerta al cerrar el modal; función _playBeepLugar() compartida DB Form 15: +10 campos (firma_profesional Minuto 60 Glicemia + campo Resultado numérico en cada toma Glicemia y Cortisol) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
848dd8e4d0
commit
fdc04d615c
@@ -118,7 +118,8 @@ foreach ($consentimientos as &$c) {
|
||||
|
||||
$tomasTotal = count($relevantIds);
|
||||
foreach ($relevantIds as $fid) {
|
||||
if (!empty($dr[$fid]) && strlen($dr[$fid]) > 10) $tomasFirm++;
|
||||
if ((!empty($dr[$fid]) && strlen($dr[$fid]) > 10)
|
||||
|| (!empty($dr[$fid.'_svg']) && strlen($dr[$fid.'_svg']) > 10)) $tomasFirm++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -102,9 +102,11 @@ foreach ($esquema as $campo) {
|
||||
}
|
||||
|
||||
// ── Determinar estado y siguiente_toma_at ────────────────────
|
||||
$firmados = array_filter($firmasCampos, fn($f) => isset($datosMerge[$f['id']]) && strlen($datosMerge[$f['id']]) > 10);
|
||||
$pendientes = array_filter($firmasCampos, fn($f) => !isset($datosMerge[$f['id']]) || strlen($datosMerge[$f['id']]) <= 10);
|
||||
$pendientes = array_values($pendientes);
|
||||
// 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)
|
||||
|| (isset($datosMerge[$f['id'].'_svg']) && strlen($datosMerge[$f['id'].'_svg']) > 10);
|
||||
$firmados = array_filter($firmasCampos, $hasFirma);
|
||||
$pendientes = array_values(array_filter($firmasCampos, fn($f) => !$hasFirma($f)));
|
||||
|
||||
$todasFirmadas = empty($pendientes);
|
||||
$siguienteToma = null;
|
||||
|
||||
Reference in New Issue
Block a user