DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`lungSize_generator`(vDate DATE)
BEGIN

SET @buildingOrder := 0;
SET @route := 0;
set @cajas := 0;
    
	UPDATE tmp.sorter
	SET buildingOrder =  @buildingOrder := IF(@route = @route := routeFk, @buildingOrder, 0) + 1 
	where date(created) = vDate
	order by routeFk, created, weight DESC;

	update tmp.sorter
	SET palletOrder = buildingOrder mod 14, lungGrow = buildingOrder mod 14
    WHERE date(created) = vDate;

	UPDATE tmp.sorter
	JOIN (
	SELECT routeFk, max(id) maxid
	FROM tmp.sorter
	where date(created) = vDate
	GROUP BY routeFk) sub ON sub.maxid = id
	SET lungGrow = 1 - palletOrder ;

	UPDATE tmp.sorter
	SET lungGrow = IF(palletOrder = 0, -13, lungGrow);
    
	DELETE FROM tmp.lungSize WHERE dia = vDate;
	
	INSERT INTO tmp.lungSize(dia, hora,size)
	select vDate,hora, @cajas := @cajas + cajas as size
	from
	(
	 select IF(lungGrow BETWEEN -12 AND -1, ETD,time_format(created,"%H:%i")) as hora, sum(if(lungGrow <= 0, lungGrow, 1)) as cajas, @cajas := 0
	 from tmp.sorter 
	 where date(created) = vDate
	 group by hora
	 ) sub;
	 
	 SELECT * FROM tmp.lungSize
     WHERE dia = vDate;
 
 


END$$
DELIMITER ;