salix/db/routines/vn/triggers/roadmap_beforeInsert.sql

33 lines
988 B
MySQL
Raw Normal View History

2024-08-22 15:02:59 +00:00
DELIMITER $$
2024-10-01 06:51:03 +00:00
CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmap_beforeInsert`
2024-08-22 15:02:59 +00:00
BEFORE INSERT ON `roadmap`
FOR EACH ROW
BEGIN
2025-01-21 13:03:50 +00:00
SET NEW.editorFk = account.myUser_getId();
2025-01-29 13:15:22 +00:00
IF NEW.name IS NOT NULL THEN
SET NEW.name = UCASE(NEW.name);
END IF;
2025-01-30 08:28:44 +00:00
IF NEW.trailerPlate IS NOT NULL OR NEW.tugPlate IS NOT NULL THEN
SET NEW.m3 = (SELECT SUM(m3) FROM vehicle WHERE numberPlate IN (NEW.trailerPlate, NEW.tugPlate));
2025-01-29 13:15:22 +00:00
END IF;
IF NEW.driver1Fk IS NOT NULL THEN
SET NEW.driverName = (SELECT CONCAT(w.firstName, ' ', w.lastName)
FROM worker w
WHERE w.id = NEW.driver1Fk);
SET NEW.phone = (SELECT COALESCE(w.phone, c.mobile, c.phone, c.mobile)
FROM worker w
LEFT JOIN client c ON c.id = w.id
WHERE w.id = NEW.driver1Fk);
END IF;
2025-01-30 08:28:44 +00:00
IF NEW.driverChangeFk IS NOT NULL THEN
SET NEW.driverChangeName = (SELECT CONCAT(w.firstName, ' ', w.lastName)
FROM worker w
WHERE w.id = NEW.driverChangeFk);
END IF;
2024-08-22 15:02:59 +00:00
END$$
DELIMITER ;