diff --git a/modules/turnero/api/enviar_encuesta.php b/modules/turnero/api/enviar_encuesta.php index 5ea3230..d309a28 100644 --- a/modules/turnero/api/enviar_encuesta.php +++ b/modules/turnero/api/enviar_encuesta.php @@ -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');