From 726cbdd21adbcb982cb3d707bbb15f3dfbf1aa86 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Wed, 8 Jul 2026 10:07:24 -0500 Subject: [PATCH] temp: debug script to inspect lab_formularios schema for F-LAB-28 --- modules/turnero/api/_debug_form.php | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 modules/turnero/api/_debug_form.php diff --git a/modules/turnero/api/_debug_form.php b/modules/turnero/api/_debug_form.php new file mode 100644 index 0000000..9e608b2 --- /dev/null +++ b/modules/turnero/api/_debug_form.php @@ -0,0 +1,41 @@ +getConnection(); + +// Buscar por nombre o código F-LAB-28 +$stmt = $pdo->prepare( + "SELECT id, nombre, codigo, is_active, + JSON_LENGTH(esquema) AS esquema_longitud, + esquema + FROM lab_formularios + WHERE nombre LIKE ? OR codigo LIKE ? + LIMIT 5" +); +$stmt->execute(['%helicobacter%', '%F-LAB-28%']); +$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + +if (!$rows) { + // Buscar todos los formularios para ver cuáles hay + $stmt2 = $pdo->query("SELECT id, nombre, codigo FROM lab_formularios ORDER BY id LIMIT 50"); + echo json_encode(['not_found' => true, 'all_forms' => $stmt2->fetchAll(PDO::FETCH_ASSOC)], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); + exit; +} + +foreach ($rows as &$r) { + $decoded = json_decode($r['esquema'], true); + $campos = is_array($decoded) ? $decoded : ($decoded['campos'] ?? []); + $firmaPro = array_values(array_filter($campos, fn($f) => ($f['tipo'] ?? '') === 'firma_profesional')); + $r['campos_total'] = count($campos); + $r['campos_firma_profesional'] = $firmaPro; + $r['count_firma_profesional'] = count($firmaPro); + unset($r['esquema']); +} + +echo json_encode($rows, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);