diff --git a/modules/turnero/api/guardar_toma.php b/modules/turnero/api/guardar_toma.php index e009bf0..a4b1077 100644 --- a/modules/turnero/api/guardar_toma.php +++ b/modules/turnero/api/guardar_toma.php @@ -56,6 +56,34 @@ if ($tc['datos_respuestas']) { } // Guardar svg en el campo firmado $datosInput[$campoId] = $svg; + +// Identidad del firmante — resuelta en el servidor desde la sesión, no desde el +// cliente: cada toma puede firmarla un profesional distinto y esta es la única +// fuente confiable de quién la hizo. +$__uid = adminId(); +if ($__uid) { + $stmtPro = $pdo->prepare( + "SELECT au.full_name, au.cedula AS au_cedula, + le.nombre_completo AS pro_nombre, le.numero_documento AS pro_documento + FROM admin_users au + LEFT JOIN lab_enfermeras le ON le.id = au.enfermera_id + WHERE au.id = ? LIMIT 1" + ); + $stmtPro->execute([$__uid]); + $pro = $stmtPro->fetch(PDO::FETCH_ASSOC) ?: []; + $proNombre = ($pro['pro_nombre'] ?? null) ?: ($pro['full_name'] ?? null); + $proCedula = ($pro['au_cedula'] ?? null) ?: ($pro['pro_documento'] ?? null); + if ($proNombre) { + $datosInput[$campoId . '_pro_nombre'] = $proNombre; + $datosInput['_pro_nombre'] = $proNombre; // respaldo global + } + if ($proCedula) { + $datosInput[$campoId . '_pro_cedula'] = $proCedula; + $datosInput['_pro_cedula'] = $proCedula; + } + $datosInput[$campoId . '_pro_id'] = $__uid; +} + $datosMerge = array_merge($datosActuales, $datosInput); // ── Analizar esquema: campos firma_profesional en orden ────── diff --git a/modules/turnero/views/historial.php b/modules/turnero/views/historial.php index eb47695..9fc0084 100644 --- a/modules/turnero/views/historial.php +++ b/modules/turnero/views/historial.php @@ -631,7 +631,9 @@ async function cargarDocumentosTurno(turnoId, container) { ? ` ${c.tomas_firmadas||0}/${c.tomas_total||0} tomas` : ''; if (est === 'firmado' && c.token) { - const url = BASE_URL_ROOT + 'ver_formulario_enviado.php?token=' + encodeURIComponent(c.token) + '&embed=1'; + // Mismos parámetros que bandeja: compact activa la grilla de campos + // y las tarjetas de toma; sin ellos el documento se ve en lista larga. + const url = BASE_URL_ROOT + 'ver_formulario_enviado.php?token=' + encodeURIComponent(c.token) + '&embed=1&compact=1&zoom=1.1'; return ` ${nombre}${tomas} `;