Guest User

Untitled

a guest
Nov 17th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. DELIMITER //
  2. CREATE TRIGGER `onUpdateQuotationPrice` BEFORE UPDATE ON `cotacao`
  3. FOR EACH ROW BEGIN
  4. -- Quando fazer alteração no preço, faz novamente às contas
  5. -- de impostos sob esse novo preço
  6. DECLARE `impostoFornecedor` DECIMAL( 10 , 2 ) ;
  7. DECLARE `impostoCategoria` DECIMAL( 10 , 2 ) ;
  8. DECLARE `precoOriginal` DECIMAL( 10 , 2 ) ;
  9.  
  10. IF NOT IsIsento( NEW.`pid` ) THEN
  11. SELECT ((`fornecedores`.`imposto` / 100.0) * NEW.`preco`),
  12. ((`ic`.`imposto` / 100.0) * NEW.`preco`), NEW.`preco`
  13. INTO `impostoFornecedor`, `impostoCategoria`, `precoOriginal`
  14. FROM `cotacao` INNER JOIN `produtos` ON `produtos`.`pid` = `cotacao`.`pid`
  15. INNER JOIN `fornecedores` ON `cotacao`.`fid` = `fornecedores`.`fid`
  16. INNER JOIN `impostocategoria` AS `ic` ON `produtos`.`categoria` = `ic`.`cid`
  17. AND `ic`.`fid` = `cotacao`.`fid` WHERE `cotacao`.`pid` = NEW.`pid` AND `cotacao`.`fid` = NEW.`fid`
  18. AND NOT IsIsento( NEW.`pid` ) ;
  19. SET NEW.`precoComImposto` = ( `precoOriginal` + `impostoFornecedor` + `impostoCategoria` ) ;
  20. ELSE
  21. SELECT ((`fornecedores`.`imposto` / 100.0) * NEW.`preco`),
  22. NEW.`preco` INTO `impostoCategoria`, `precoOriginal`
  23. FROM `cotacao` INNER JOIN `produtos` ON `produtos`.`pid` = `cotacao`.`pid`
  24. INNER JOIN `fornecedores` ON `cotacao`.`fid` = `fornecedores`.`fid`
  25. WHERE `cotacao`.`pid` = NEW.`pid` AND `cotacao`.`fid` = NEW.`fid`
  26. SET NEW.`precoComImposto` = ( `precoOriginal` + `impostoFornecedor` ) ;
  27. END IF ;
  28. END//
  29. DELIMITER ;
Add Comment
Please, Sign In to add comment