30 lines
867 B
SQL
30 lines
867 B
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`route_beforeInsert`
|
|
BEFORE INSERT ON `route`
|
|
FOR EACH ROW
|
|
BEGIN
|
|
DECLARE vDefaultAgencyModeFk INT;
|
|
DECLARE vUserFk INT ;
|
|
|
|
SET vUserFk = account.myUser_getId();
|
|
SET NEW.editorFk = vUserFk;
|
|
SET NEW.firstEditorFk = vUserFk;
|
|
|
|
SET NEW.commissionWorkCenterFk = (
|
|
SELECT IFNULL(b.workCenterFK, r.defaultWorkCenterFk)
|
|
FROM vn.routeConfig r
|
|
LEFT JOIN vn.business b ON b.workerFk = vUserFk
|
|
AND NEW.created BETWEEN b.started AND IFNULL(b.ended, NEW.created));
|
|
|
|
IF ISNULL(NEW.agencyModeFk) THEN
|
|
SELECT r.agencyModeFk INTO vDefaultAgencyModeFk
|
|
FROM routeDefaultAgencyMode r
|
|
JOIN business b ON b.workCenterFk = r.workCenterFK
|
|
JOIN worker w ON w.businessFk = b.id
|
|
WHERE b.workerFk = vUserFk;
|
|
|
|
SET NEW.agencyModeFk = vDefaultAgencyModeFk;
|
|
END IF;
|
|
END$$
|
|
DELIMITER ;
|