DROP TRIGGER IF EXISTS `vn`.`supplier_beforeUpdate`;

DELIMITER $$
$$
CREATE DEFINER=`root`@`%` TRIGGER `vn`.`supplier_beforeUpdate`
	BEFORE UPDATE ON `vn`.`supplier` FOR EACH ROW
BEGIN
	DECLARE vHasChange BOOL DEFAULT FALSE;
	DECLARE vPayMethodHasVerified BOOL;

	SELECT hasVerified INTO vPayMethodHasVerified
		FROM payMethod
			WHERE id = NEW.payMethodFk;

	SET vHasChange =  (NEW.payDemFk <> OLD.payDemFk) OR (NEW.payDay <> OLD.payDay);

	IF vPayMethodHasVerified AND !vHasChange THEN
		SET vHasChange = (NEW.payMethodFk <> OLD.payMethodFk);
	END IF;
	
	IF vHasChange THEN
		SET NEW.isPayMethodChecked = FALSE;
	END IF;

END$$
DELIMITER ;