39 lines
1.1 KiB
MySQL
39 lines
1.1 KiB
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`travel_beforeUpdate`
|
||
|
BEFORE UPDATE ON `travel`
|
||
|
FOR EACH ROW
|
||
|
BEGIN
|
||
|
SET NEW.editorFk = account.myUser_getId();
|
||
|
/*
|
||
|
IF ((NOT NEW.shipped <=> OLD.shipped )
|
||
|
OR (NOT NEW.landed <=> OLD.landed )
|
||
|
OR (NOT NEW.warehouseInFk <=> OLD.warehouseInFk )
|
||
|
OR (NOT NEW.warehouseOutFk <=> OLD.warehouseOutFk ))
|
||
|
AND (OLD.totalEntries AND OLD.landed < CURDATE()) THEN
|
||
|
CALL util.throw("Cannot past travels with entries");
|
||
|
END IF;
|
||
|
*/
|
||
|
IF NOT (NEW.landed <=> OLD.landed)
|
||
|
OR NOT (NEW.shipped <=> OLD.shipped) THEN
|
||
|
CALL travel_checkDates(NEW.shipped, NEW.landed);
|
||
|
END IF;
|
||
|
|
||
|
-- Actualizar agencyFk y agencyModeFk
|
||
|
IF NOT (NEW.agencyFk <=> OLD.agencyFk)THEN
|
||
|
SET NEW.agencyModeFk = NEW.agencyFk;
|
||
|
END IF;
|
||
|
|
||
|
IF NOT (NEW.agencyModeFk <=> OLD.agencyModeFk) THEN
|
||
|
SET NEW.agencyFk = NEW.agencyModeFk;
|
||
|
END IF;
|
||
|
|
||
|
IF NOT (NEW.isReceived <=> OLD.isReceived) THEN
|
||
|
CALL travel_checkPackaging(NEW.id);
|
||
|
END IF;
|
||
|
|
||
|
IF NOT (NEW.warehouseInFk <=> OLD.warehouseInFk) THEN
|
||
|
CALL travel_checkWarehouseIsFeedStock(NEW.warehouseInFk);
|
||
|
END IF;
|
||
|
END$$
|
||
|
DELIMITER ;
|