Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. CREATE DEFINER=`root`@`localhost` EVENT `produtoConferirEstoqueInterno` ON SCHEDULE EVERY 1 DAY STARTS '2018-04-20 23:50:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN
  2. select DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 6 MONTH), '%Y%m') into @mesSaldo;
  3. select DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 6 MONTH), '%m/%Y') into @mesSaldoVisivel;
  4. select DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 5 MONTH), '%Y%m') into @mesMovimentacaoInicio;
  5. select DATE_FORMAT(NOW(), '%Y%m') into @mesMovimentacaoFim;
  6. select 12361 into @idUsuario;
  7. select 1448 into @assunto_id;
  8.  
  9. ## Insert log de recalculo estoque
  10. INSERT INTO webpdv.estoque_log_recalculo_gerencial
  11. (storeno, mes_inicio, prdno, todos, id_usuario, data_hora, mensagem)
  12. VALUES
  13. (0, @mesSaldoVisivel, 0, 1, @idUsuario, now(), 'INICIO verificacao movimentacao do estoque interno.');
  14.  
  15. SELECT webpdv.chamado_abrir(@assunto_id, t2.storeno, @idUsuario,
  16. CONCAT('ERRO NO ESTOQUE INTERNO - Produto ', t2.prdno, ' de grade ', t2.grade, ' consta com quantidade ', ROUND(t2.qtty_varejo/1000, 0), ' mas deveria ter estoque ', ROUND((t2.qtty + t2.movimentacao)/1000, 0), ' que é resultado do saldo inicio do mes ', @mesSaldoVisivel, ' com quantidade ', ROUND(t2.qtty/1000, 0), ' mais movimentacao de ', ROUND(t2.movimentacao/1000, 0) )
  17. )
  18. FROM (
  19. select t1.storeno, t1.prdno, t1.grade,
  20. t1.qtty,
  21. t1.movimentacao,
  22. (t1.qtty + t1.movimentacao) as saldo_esperado,
  23. t1.qtty_varejo,
  24. IF(t1.qtty_varejo != (t1.qtty + t1.movimentacao), 'Divergencia', 'OK') as situacao
  25. from (
  26. select s.storeno, s.prdno, s.grade, s.qtty,
  27. webpdv.produto_calcula_movimentacao_interna(s.storeno, s.prdno, s.grade, @mesMovimentacaoInicio, @mesMovimentacaoFim) as movimentacao,
  28. stk.qtty_varejo
  29. from sqldados.stkchk s
  30. INNER JOIN sqldados.stk
  31. ON(stk.storeno = s.storeno AND stk.prdno = s.prdno AND stk.grade = s.grade)
  32. where 1 = 1
  33. and s.ym = @mesSaldo
  34. ) t1
  35. having situacao = 'Divergencia'
  36. ) t2
  37. ;
  38.  
  39.  
  40. ## Insert log de recalculo estoque
  41. INSERT INTO webpdv.estoque_log_recalculo_gerencial
  42. (storeno, mes_inicio, prdno, todos, id_usuario, data_hora, mensagem)
  43. VALUES
  44. (0, @mesSaldoVisivel, 0, 1, @idUsuario, now(), 'FIM verificacao movimentacao do estoque interno.');
  45.  
  46. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement