Al vincular un paciente al turno, actualiza paciente_nombre con el nombre_completo real de lab_pacientes. El siguiente poll de la cola muestra el nombre en lugar de la cédula del kiosko. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
31 lines
945 B
PHP
31 lines
945 B
PHP
<?php
|
|
/**
|
|
* POST { turno_id, paciente_id }
|
|
* Vincula un paciente al turno para que los consentimientos puedan crearse.
|
|
*/
|
|
require_once __DIR__ . '/_helpers.php';
|
|
requireMethod('POST');
|
|
requireTurnero();
|
|
|
|
$d = inputJson();
|
|
$turnoId = (int)($d['turno_id'] ?? 0);
|
|
$pacienteId = (int)($d['paciente_id'] ?? 0);
|
|
|
|
if (!$turnoId || !$pacienteId) jsonError('turno_id y paciente_id requeridos.');
|
|
|
|
$pdo = db();
|
|
|
|
// Obtener nombre real del paciente
|
|
$nombre = $pdo->prepare('SELECT nombre_completo FROM lab_pacientes WHERE id = ?');
|
|
$nombre->execute([$pacienteId]);
|
|
$nombreCompleto = $nombre->fetchColumn() ?: null;
|
|
|
|
$stmt = $pdo->prepare(
|
|
'UPDATE turnero_turnos SET paciente_id = ?, paciente_nombre = COALESCE(?, paciente_nombre) WHERE id = ?'
|
|
);
|
|
$stmt->execute([$pacienteId, $nombreCompleto, $turnoId]);
|
|
|
|
if (!$stmt->rowCount()) jsonError('Turno no encontrado.', 404);
|
|
|
|
jsonOk(['turno_id' => $turnoId, 'paciente_id' => $pacienteId]);
|