Procedimento interno para realização de baixar estoque nos clientes que utilizam o iPDV.
Este processo necessita que seja aplicado o seguinte comando dentro do my.ini: event_scheduler = 1
Cria o evento de recalcular estoque.
DELIMITER $$
DROP EVENT IF EXISTS e_recalcestoquepdv $$
CREATE EVENT e_recalcestoquepdv
ON SCHEDULE EVERY 1 MINUTE
COMMENT 'recalcula estoque do ipdv'
DO BEGIN
DECLARE qtderest INT(11) DEFAULT 0;
DECLARE qtderestcan INT(11) DEFAULT 0;
SET qtderestcan = ifnull((select count(distinct codauxvenda) from excluido_auxvenda where estoqueprocessado=0), 0);
SET qtderest = ifnull((select count(distinct codauxvenda) from auxvenda where estoqueprocessado=0 or custoprocessado=0), 0);
WHILE qtderestcan > 0 DO
start transaction;
update excluido_auxvenda set estoqueprocessado=1 where estoqueprocessado=0 limit 1;
commit;
SET qtderestcan= qtderestcan - 1;
END WHILE;
WHILE qtderest > 0 DO
start transaction;
update auxvenda set estoqueprocessado=1 where estoqueprocessado=0 limit 1;
update auxvenda set custoprocessado=1 where custoprocessado=0 limit 1;
commit;
SET qtderest= qtderest - 1;
END WHILE;
END$$
DELIMITER ;
Depois execute este comando abaixo para verificar a quantidade de itens a serem baixados no estoque.
select count(distinct codauxvenda) from auxvenda where estoqueprocessado=0 or custoprocessado=0