30 lines
751 B
MySQL
30 lines
751 B
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`route_beforeUpdate`
|
||
|
BEFORE UPDATE ON `route`
|
||
|
FOR EACH ROW
|
||
|
BEGIN
|
||
|
DECLARE vKmMax INT;
|
||
|
|
||
|
SET NEW.editorFk = account.myUser_getId();
|
||
|
|
||
|
IF NEW.isOk <> FALSE AND OLD.isOk = FALSE THEN
|
||
|
SET NEW.m3 = ( SELECT SUM(litros)/1000
|
||
|
FROM vn.saleVolume s
|
||
|
JOIN vn.ticket t ON s.ticketFk = t.id
|
||
|
WHERE t.routeFk = NEW.id);
|
||
|
END IF;
|
||
|
|
||
|
IF NEW.kmEnd < NEW.kmStart AND NEW.kmEnd <> 0 THEN
|
||
|
CALL util.throw ('KmEnd menor que kmStart');
|
||
|
END IF;
|
||
|
|
||
|
SELECT kmMax INTO vKmMax
|
||
|
FROM routeConfig rc;
|
||
|
|
||
|
IF ((NEW.kmEnd - NEW.kmStart) > vKmMax) AND NEW.kmEnd <> 0 THEN
|
||
|
CALL util.throw (CONCAT('The km can not exceed ', vKmMax));
|
||
|
END IF;
|
||
|
|
||
|
END$$
|
||
|
DELIMITER ;
|