DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`buy_afterUpdate`
	AFTER UPDATE ON `buy`
	FOR EACH ROW
trig: BEGIN
	DECLARE vLanded DATE;
	DECLARE vBuyerFk INT;
	DECLARE vIsBuyerToBeEmailed BOOL;
	DECLARE vItemName VARCHAR(50);

	IF @isModeInventory OR @isTriggerDisabled THEN
		LEAVE trig;
	END IF;

	CALL buy_afterUpsert(NEW.id);

	SELECT w.isBuyerToBeEmailed, t.landed
		INTO vIsBuyerToBeEmailed, vLanded
		FROM entry e
			JOIN travel t ON t.id = e.travelFk
			JOIN warehouse w ON w.id = t.warehouseInFk
		WHERE e.id = NEW.entryFk;

	SELECT it.workerFk, i.longName
		INTO vBuyerFk, vItemName
		FROM itemCategory k
			JOIN itemType it ON it.categoryFk = k.id
			JOIN item i ON i.typeFk = it.id
		WHERE i.id = OLD.itemFk;

	IF vIsBuyerToBeEmailed AND
		vBuyerFk != account.myUser_getId() AND
		vLanded = util.VN_CURDATE() THEN
			IF !(NEW.itemFk <=> OLD.itemFk) OR
				!(NEW.quantity <=> OLD.quantity) OR
				!(NEW.packing <=> OLD.packing) OR
				!(NEW.grouping <=> OLD.grouping) OR
				!(NEW.packagingFk <=> OLD.packagingFk) OR
				!(NEW.weight <=> OLD.weight) THEN
					CALL vn.mail_insert(
						CONCAT(account.user_getNameFromId(vBuyerFk),'@verdnatura.es'),
						CONCAT(account.myUser_getName(),'@verdnatura.es'),
						CONCAT('E ', NEW.entryFk ,' Se ha modificado item ', NEW.itemFk, ' ', vItemName),
						'Este email se ha generado automáticamente'
					);
			END IF;
	END IF;
END$$
DELIMITER ;
