Turnero: el historial del paciente ya muestra las visitas anteriores
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
* GET Historial paginado de turnos con filtros multi-día.
|
* GET Historial paginado de turnos con filtros multi-día.
|
||||||
*
|
*
|
||||||
* Parámetros (todos opcionales):
|
* Parámetros (todos opcionales):
|
||||||
* fecha_desde YYYY-MM-DD (default: hace 7 días)
|
* fecha_desde YYYY-MM-DD (default: hoy; hace 12 meses si se pasa paciente_id)
|
||||||
* fecha_hasta YYYY-MM-DD (default: hoy)
|
* fecha_hasta YYYY-MM-DD (default: hoy)
|
||||||
* estado string ("finalizado","ausente","cancelado","en_servicio",... o vacío = todos)
|
* estado string ("finalizado","ausente","cancelado","en_servicio",... o vacío = todos)
|
||||||
* lugar_id int (0 = todos)
|
* lugar_id int (0 = todos)
|
||||||
@@ -23,16 +23,29 @@ $pdo = db();
|
|||||||
// ── Parámetros ────────────────────────────────────────────────
|
// ── Parámetros ────────────────────────────────────────────────
|
||||||
$hoy = date('Y-m-d');
|
$hoy = date('Y-m-d');
|
||||||
|
|
||||||
|
// paciente_id se lee primero: determina el rango de fechas por defecto.
|
||||||
|
$pacienteId = (int)($_GET['paciente_id'] ?? 0);
|
||||||
|
|
||||||
$fechaDesde = trim($_GET['fecha_desde'] ?? '');
|
$fechaDesde = trim($_GET['fecha_desde'] ?? '');
|
||||||
$fechaHasta = trim($_GET['fecha_hasta'] ?? '');
|
$fechaHasta = trim($_GET['fecha_hasta'] ?? '');
|
||||||
if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $fechaDesde)) $fechaDesde = $hoy;
|
|
||||||
|
// Rango por defecto cuando el cliente no manda fechas:
|
||||||
|
// - Ficha de paciente (paciente_id): ultimos 12 meses.
|
||||||
|
// Antes caia en "hoy", asi que el historial del paciente solo podia mostrar
|
||||||
|
// visitas del mismo dia y siempre respondia "sin visitas anteriores".
|
||||||
|
// - Listado general del historial: hoy (comportamiento original).
|
||||||
|
// Para ver el historial completo, el cliente pasa fecha_desde explicita.
|
||||||
|
$desdePorDefecto = $pacienteId > 0
|
||||||
|
? date('Y-m-d', strtotime('-12 months'))
|
||||||
|
: $hoy;
|
||||||
|
|
||||||
|
if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $fechaDesde)) $fechaDesde = $desdePorDefecto;
|
||||||
if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $fechaHasta)) $fechaHasta = $hoy;
|
if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $fechaHasta)) $fechaHasta = $hoy;
|
||||||
if ($fechaDesde > $fechaHasta) $fechaDesde = $fechaHasta;
|
if ($fechaDesde > $fechaHasta) $fechaDesde = $fechaHasta;
|
||||||
|
|
||||||
$estadoFiltro = trim($_GET['estado'] ?? '');
|
$estadoFiltro = trim($_GET['estado'] ?? '');
|
||||||
$lugarId = (int)($_GET['lugar_id'] ?? 0);
|
$lugarId = (int)($_GET['lugar_id'] ?? 0);
|
||||||
$prioridadId = (int)($_GET['prioridad_id'] ?? 0);
|
$prioridadId = (int)($_GET['prioridad_id'] ?? 0);
|
||||||
$pacienteId = (int)($_GET['paciente_id'] ?? 0);
|
|
||||||
$q = trim($_GET['q'] ?? '');
|
$q = trim($_GET['q'] ?? '');
|
||||||
|
|
||||||
$perPage = min(200, max(10, (int)($_GET['per_page'] ?? 50)));
|
$perPage = min(200, max(10, (int)($_GET['per_page'] ?? 50)));
|
||||||
|
|||||||
Reference in New Issue
Block a user