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:
co-authored by
Claude Sonnet 4.6
parent
9a18184ad7
commit
0e0dc4bd44
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user