feat: refs #8227 Roadmap changes
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
parent
855600811e
commit
b40f145613
|
@ -4,18 +4,23 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmapStop_beforeDelet
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE vMaxEta DATETIME;
|
DECLARE vMaxEta DATETIME;
|
||||||
|
DECLARE vRoadmapEta DATETIME;
|
||||||
|
|
||||||
IF OLD.roadmapFk IS NOT NULL THEN
|
IF OLD.roadmapFk IS NOT NULL THEN
|
||||||
SELECT MAX(eta) INTO vMaxEta
|
SELECT MAX(eta) INTO vMaxEta
|
||||||
FROM roadmapStop
|
FROM roadmapStop
|
||||||
WHERE roadmapFk = OLD.roadmapFk
|
WHERE roadmapFk = OLD.roadmapFk
|
||||||
AND id <> OLD.id;
|
AND id <> OLD.id;
|
||||||
|
|
||||||
IF OLD.eta > vMaxEta OR vMaxEta IS NULL THEN
|
SELECT eta INTO vRoadmapEta
|
||||||
|
FROM roadmap
|
||||||
|
WHERE id = OLD.roadmapFk;
|
||||||
|
|
||||||
|
IF vMaxEta <> vRoadmapEta OR vMaxEta IS NULL THEN
|
||||||
UPDATE roadmap
|
UPDATE roadmap
|
||||||
SET eta = COALESCE(vMaxEta, OLD.eta)
|
SET eta = vMaxEta
|
||||||
WHERE id = OLD.roadmapFk;
|
WHERE id = OLD.roadmapFk;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
|
@ -3,7 +3,7 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmapStop_beforeInser
|
||||||
BEFORE INSERT ON `roadmapStop`
|
BEFORE INSERT ON `roadmapStop`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE vMaxEta DATETIME;
|
DECLARE vRoadmapEta DATETIME;
|
||||||
|
|
||||||
SET NEW.editorFk = account.myUser_getId();
|
SET NEW.editorFk = account.myUser_getId();
|
||||||
|
|
||||||
|
@ -18,13 +18,13 @@ BEGIN
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF NEW.roadmapFk IS NOT NULL AND NEW.eta IS NOT NULL THEN
|
IF NEW.roadmapFk IS NOT NULL AND NEW.eta IS NOT NULL THEN
|
||||||
SELECT MAX(eta) INTO vMaxEta
|
SELECT eta INTO vRoadmapEta
|
||||||
FROM roadmapStop
|
FROM roadmap
|
||||||
WHERE roadmapFk = NEW.roadmapFk;
|
WHERE id = NEW.roadmapFk;
|
||||||
|
|
||||||
IF NEW.eta > vMaxEta OR vMaxEta IS NOT NULL THEN
|
IF vRoadmapEta < NEW.eta OR vRoadmapEta IS NULL THEN
|
||||||
UPDATE roadmap
|
UPDATE roadmap
|
||||||
SET eta = GREATEST(COALESCE(vMaxEta, NEW.eta), NEW.eta)
|
SET eta = NEW.eta
|
||||||
WHERE id = NEW.roadmapFk;
|
WHERE id = NEW.roadmapFk;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
|
@ -4,6 +4,7 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmapStop_beforeUpdat
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
DECLARE vMaxEta DATETIME;
|
DECLARE vMaxEta DATETIME;
|
||||||
|
DECLARE vCurrentEta DATETIME;
|
||||||
|
|
||||||
SET NEW.editorFk = account.myUser_getId();
|
SET NEW.editorFk = account.myUser_getId();
|
||||||
|
|
||||||
|
@ -18,13 +19,22 @@ BEGIN
|
||||||
CALL util.throw('Departure time can not be after arrival time');
|
CALL util.throw('Departure time can not be after arrival time');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
SELECT MAX(eta) INTO vMaxEta
|
SELECT MAX(eta) INTO vMaxEta
|
||||||
FROM roadmapStop
|
FROM roadmapStop
|
||||||
WHERE roadmapFk = NEW.roadmapFk;
|
WHERE roadmapFk = NEW.roadmapFk
|
||||||
|
AND id <> OLD.id;
|
||||||
|
|
||||||
IF NEW.eta > vMaxEta OR vMaxEta IS NULL THEN
|
IF vMaxEta IS NULL OR NEW.eta > vMaxEta THEN
|
||||||
|
SET vMaxEta = NEW.eta;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SELECT eta INTO vCurrentEta
|
||||||
|
FROM roadmap
|
||||||
|
WHERE id = NEW.roadmapFk;
|
||||||
|
|
||||||
|
IF vMaxEta <> vCurrentEta THEN
|
||||||
UPDATE roadmap
|
UPDATE roadmap
|
||||||
SET eta = COALESCE(vMaxEta, NEW.eta)
|
SET eta = vMaxEta
|
||||||
WHERE id = NEW.roadmapFk;
|
WHERE id = NEW.roadmapFk;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
Loading…
Reference in New Issue