48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?php
|
|
/** GET /api/lab/get_enfermeras.php — Lista de enfermeras */
|
|
require_once __DIR__ . '/_helpers.php';
|
|
requireMethod('GET');
|
|
|
|
try {
|
|
$enf = new Enfermera();
|
|
|
|
// Perfil + agenda de una sola enfermera
|
|
if (!empty($_GET['id'])) {
|
|
$id = (int)$_GET['id'];
|
|
$e = $enf->obtener($id);
|
|
if (!$e) {
|
|
jsonError('Enfermera no encontrada', 404);
|
|
}
|
|
$fecha = $_GET['fecha'] ?? date('Y-m-d');
|
|
$e['agenda'] = $enf->agenda($id, $fecha);
|
|
|
|
// Incluir info de acceso al sistema (si tiene usuario creado)
|
|
$db = Database::getInstance();
|
|
$u = $db->fetch(
|
|
'SELECT id, username FROM admin_users WHERE enfermera_id = ? AND role = "enfermero" LIMIT 1',
|
|
[$id]
|
|
);
|
|
$e['usuario_acceso'] = $u ?: null;
|
|
|
|
jsonOk(['enfermera' => $e]);
|
|
}
|
|
|
|
$soloActivas = !isset($_GET['todas']) || $_GET['todas'] !== '1';
|
|
$lista = $enf->listar($soloActivas);
|
|
|
|
// Enriquecer con username de acceso para cada enfermera
|
|
$db = Database::getInstance();
|
|
foreach ($lista as &$item) {
|
|
$u = $db->fetch(
|
|
'SELECT username FROM admin_users WHERE enfermera_id = ? AND is_active = 1 LIMIT 1',
|
|
[$item['id']]
|
|
);
|
|
$item['username_acceso'] = $u['username'] ?? null;
|
|
}
|
|
unset($item);
|
|
|
|
jsonOk(['data' => $lista, 'total' => count($lista)]);
|
|
} catch (Exception $e) {
|
|
jsonError($e->getMessage(), 500);
|
|
}
|