DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`scan_rutas_view`()
BEGIN


/* muestra las rutas agrupadas de los ultimos tres dias, así como una lista de los tickets sin enrutar, agrpados por agencia y fecha*/

select Fecha, Id_Ruta, Matricula, sub.m3, CodigoTrabajador, Agencia, Bultos, w.name as Almacen
from
(
select r.Fecha, Id_Ruta, r.Id_Trabajador, r.Id_Agencia, Id_Vehiculo, sum(m3) m3, sum(Bultos) Bultos, warehouse_id
from Rutas r
join Tickets t using(Id_Ruta)
where r.Fecha >= timestampadd(day,-3,util.VN_CURDATE())
group by Id_Ruta, warehouse_id

union all

select ifnull(landing,Fecha), dayofmonth(Fecha) * 100000 + Id_Agencia ruta , count(*) as m3, Id_Agencia, null, null, sum(Bultos), warehouse_id
from Tickets 
where Id_Ruta is null
and Fecha between timestampadd(day,-3,util.VN_CURDATE()) and util.dayEnd(util.VN_CURDATE())
group by ruta, warehouse_id
) sub
left join Vehiculos using(Id_Vehiculo)
left join Agencias using(Id_Agencia)
left join Trabajadores using(Id_Trabajador)
left join warehouse w on w.id = sub.warehouse_id;

END$$
DELIMITER ;
