refactor(encuesta): usar paciente_cel directo igual que send_consentimiento

Elimina el lookup innecesario en users/$userId que nunca se usaba.
Ahora sigue el mismo patrón que recepción: BD telefono → paciente_cel.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-30 17:57:36 -05:00
co-authored by Claude Sonnet 4.6
parent 9a18184ad7
commit 0e0dc4bd44
+4 -20
View File
@@ -15,12 +15,11 @@ if (!$turnoId) jsonError('turno_id requerido.');
$pdo = db();
// Obtener user_id y teléfono del paciente vía turnero_turnos → lab_pacientes → users
$row = $pdo->prepare(
"SELECT u.id AS user_id, u.phone_number, t.paciente_cel, t.paciente_nombre
"SELECT t.paciente_cel, t.paciente_nombre,
COALESCE(lp.telefono, t.paciente_cel) AS celular
FROM turnero_turnos t
LEFT JOIN lab_pacientes lp ON lp.id = t.paciente_id
LEFT JOIN users u ON u.id = lp.user_id
WHERE t.id = ? LIMIT 1"
);
$row->execute([$turnoId]);
@@ -28,23 +27,8 @@ $pac = $row->fetch(PDO::FETCH_ASSOC);
if (!$pac) jsonError('Turno no encontrado.', 404);
$userId = $pac['user_id'] ? (int)$pac['user_id'] : null;
$phone = $pac['phone_number'] ?? null;
// Fallback: buscar por paciente_cel si no hay user_id
if (!$userId && !empty($pac['paciente_cel'])) {
$cel = preg_replace('/\D/', '', $pac['paciente_cel']);
$u2 = $pdo->prepare("SELECT id, phone_number FROM users WHERE REPLACE(phone_number,'+','') LIKE ? LIMIT 1");
$u2->execute(['%' . substr($cel, -10)]);
$uRow = $u2->fetch(PDO::FETCH_ASSOC);
if ($uRow) { $userId = (int)$uRow['id']; $phone = $uRow['phone_number']; }
}
if (!$phone && !empty($pac['paciente_cel'])) {
$phone = $pac['paciente_cel'];
}
if (!$phone) jsonError('El paciente no tiene número de WhatsApp registrado.');
$phone = preg_replace('/[^0-9]/', '', $pac['celular'] ?? '');
if (!$phone) jsonError('El paciente no tiene número de celular registrado.');
try {
$wa = new WhatsAppService('turnero');