39 lines
1.2 KiB
SQL
39 lines
1.2 KiB
SQL
DROP TRIGGER IF EXISTS `vn2008`.`CompresAfterUpdate`;
|
|
|
|
DELIMITER $$
|
|
USE `vn2008`$$
|
|
CREATE DEFINER=`root`@`%` TRIGGER `CompresAfterUpdate`
|
|
AFTER UPDATE ON `Compres` FOR EACH ROW
|
|
BEGIN
|
|
DECLARE vWarehouse INT;
|
|
DECLARE vWarehouseOut INT;
|
|
DECLARE isMerchandise BOOLEAN;
|
|
|
|
CALL stock.queueAdd ('buy', NEW.Id_Compra, OLD.Id_Compra);
|
|
|
|
SELECT warehouse_id, warehouse_id_out INTO vWarehouse, vWarehouseOut
|
|
FROM Entradas E
|
|
JOIN travel T ON T.id = E.travel_id
|
|
WHERE E.Id_Entrada = NEW.Id_Entrada;
|
|
|
|
SELECT k.merchandise INTO isMerchandise
|
|
FROM vn.itemCategory k
|
|
JOIN vn.itemType it ON it.categoryFk = k.id
|
|
JOIN vn.item i ON i.typeFk = it.id
|
|
WHERE i.id = NEW.Id_Article;
|
|
|
|
IF isMerchandise AND NOT(NEW.Id_Cubo <=> OLD.Id_Cubo AND NEW.Id_Entrada <=> OLD.Id_Entrada)
|
|
THEN
|
|
REPLACE bi.rotacion(Id_Article, warehouse_id, cm3)
|
|
VALUES (NEW.Id_ARticle, vWarehouse, vn2008.cm3_unidad(NEW.Id_Compra));
|
|
END IF;
|
|
|
|
IF (SELECT fuente FROM warehouse where id = vWarehouseOut AND id <> 13) AND
|
|
(SELECT has_notify_passport(NEW.Id_Article,NEW.Id_Compra)) > 0
|
|
THEN
|
|
CALL notify_passport(NEW.Id_Article, NEW.Etiquetas, NEW.Packing,NEW.Id_Compra);
|
|
CALL insert_producer_plantpassport(NEW.Id_Compra);
|
|
END IF;
|
|
END$$
|
|
DELIMITER ;
|