diff --git a/classes/lab/Domicilio.php b/classes/lab/Domicilio.php index 9f8b683..b13e6a8 100644 --- a/classes/lab/Domicilio.php +++ b/classes/lab/Domicilio.php @@ -90,18 +90,10 @@ class Domicilio { a.id AS asignacion_id, a.estado AS asignacion_estado, CASE - WHEN a.enfermera_id IS NULL OR d.hora_llegada IS NULL THEN NULL + WHEN d.hora_en_camino IS NULL OR d.hora_llegada IS NULL THEN NULL ELSE TIMESTAMPDIFF( MINUTE, - ( - SELECT MAX(CONCAT(d2.fecha_programada, ' ', d2.hora_salida)) - FROM lab_domicilios d2 - JOIN lab_asignaciones a2 ON a2.domicilio_id = d2.id - WHERE a2.enfermera_id = a.enfermera_id - AND d2.hora_salida IS NOT NULL - AND d2.id <> d.id - AND CONCAT(d2.fecha_programada, ' ', d2.hora_salida) < CONCAT(d.fecha_programada, ' ', d.hora_llegada) - ), + CONCAT(d.fecha_programada, ' ', d.hora_en_camino), CONCAT(d.fecha_programada, ' ', d.hora_llegada) ) END AS tiempo_recorrido_min @@ -147,18 +139,10 @@ class Domicilio { a.estado AS asignacion_estado, adm.full_name AS creado_por_nombre, CASE - WHEN a.enfermera_id IS NULL OR d.hora_llegada IS NULL THEN NULL + WHEN d.hora_en_camino IS NULL OR d.hora_llegada IS NULL THEN NULL ELSE TIMESTAMPDIFF( MINUTE, - ( - SELECT MAX(CONCAT(d2.fecha_programada, ' ', d2.hora_salida)) - FROM lab_domicilios d2 - JOIN lab_asignaciones a2 ON a2.domicilio_id = d2.id - WHERE a2.enfermera_id = a.enfermera_id - AND d2.hora_salida IS NOT NULL - AND d2.id <> d.id - AND CONCAT(d2.fecha_programada, ' ', d2.hora_salida) < CONCAT(d.fecha_programada, ' ', d.hora_llegada) - ), + CONCAT(d.fecha_programada, ' ', d.hora_en_camino), CONCAT(d.fecha_programada, ' ', d.hora_llegada) ) END AS tiempo_recorrido_min diff --git a/classes/lab/Enfermera.php b/classes/lab/Enfermera.php index 122cd14..ccb79e9 100644 --- a/classes/lab/Enfermera.php +++ b/classes/lab/Enfermera.php @@ -154,7 +154,7 @@ class Enfermera { LEFT JOIN lab_ordenes_medicas om ON om.id = d.orden_id WHERE a.enfermera_id = ? AND d.fecha_programada = ? - ORDER BY d.hora_programada ASC + ORDER BY d.hora_programada IS NULL ASC, d.hora_programada ASC ", [$enfermeraId, $fecha]); // Bulk-load todos los archivos de órdenes vinculados a estos domicilios