diff --git a/api/lab/get_direcciones_paciente.php b/api/lab/get_direcciones_paciente.php new file mode 100644 index 0000000..270aab4 --- /dev/null +++ b/api/lab/get_direcciones_paciente.php @@ -0,0 +1,56 @@ +fetch( + 'SELECT direccion, barrio, ciudad FROM lab_pacientes WHERE id = ?', + [$pacienteId] + ); + + // Direcciones distintas de domicilios anteriores (máx 10 más recientes) + $previas = $db->fetchAll( + "SELECT DISTINCT direccion, barrio, ciudad + FROM lab_domicilios + WHERE paciente_id = ? + AND direccion IS NOT NULL AND direccion != '' + ORDER BY id DESC + LIMIT 10", + [$pacienteId] + ); + + // Combinar: perfil primero, luego domicilios previos deduplicando + $resultado = []; + $vistas = []; + + $agregar = function(array $row) use (&$resultado, &$vistas) { + $dir = trim($row['direccion'] ?? ''); + if (!$dir) return; + $key = strtolower($dir); + if (isset($vistas[$key])) return; + $vistas[$key] = true; + $resultado[] = [ + 'direccion' => $dir, + 'barrio' => $row['barrio'] ?? '', + 'ciudad' => $row['ciudad'] ?? '', + ]; + }; + + if ($pac) $agregar($pac); + foreach ($previas as $p) $agregar($p); + + jsonOk(['data' => $resultado]); +} catch (Exception $e) { + jsonError($e->getMessage(), 500); +} diff --git a/enfermero_portal.php b/enfermero_portal.php index 36383c7..3bd6acf 100644 --- a/enfermero_portal.php +++ b/enfermero_portal.php @@ -1170,6 +1170,7 @@ const formVer = { +