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.
|
||||
*
|
||||
* 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)
|
||||
* estado string ("finalizado","ausente","cancelado","en_servicio",... o vacío = todos)
|
||||
* lugar_id int (0 = todos)
|
||||
@@ -23,16 +23,29 @@ $pdo = db();
|
||||
// ── Parámetros ────────────────────────────────────────────────
|
||||
$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'] ?? '');
|
||||
$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 ($fechaDesde > $fechaHasta) $fechaDesde = $fechaHasta;
|
||||
|
||||
$estadoFiltro = trim($_GET['estado'] ?? '');
|
||||
$lugarId = (int)($_GET['lugar_id'] ?? 0);
|
||||
$prioridadId = (int)($_GET['prioridad_id'] ?? 0);
|
||||
$pacienteId = (int)($_GET['paciente_id'] ?? 0);
|
||||
$q = trim($_GET['q'] ?? '');
|
||||
|
||||
$perPage = min(200, max(10, (int)($_GET['per_page'] ?? 50)));
|
||||
|
||||
Reference in New Issue
Block a user