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
|
||||
BEGIN
|
||||
DECLARE vMaxEta DATETIME;
|
||||
DECLARE vRoadmapEta DATETIME;
|
||||
|
||||
IF OLD.roadmapFk IS NOT NULL THEN
|
||||
SELECT MAX(eta) INTO vMaxEta
|
||||
SELECT MAX(eta) INTO vMaxEta
|
||||
FROM roadmapStop
|
||||
WHERE roadmapFk = OLD.roadmapFk
|
||||
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
|
||||
SET eta = COALESCE(vMaxEta, OLD.eta)
|
||||
SET eta = vMaxEta
|
||||
WHERE id = OLD.roadmapFk;
|
||||
END IF;
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
DELIMITER ;
|
|
@ -3,7 +3,7 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmapStop_beforeInser
|
|||
BEFORE INSERT ON `roadmapStop`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE vMaxEta DATETIME;
|
||||
DECLARE vRoadmapEta DATETIME;
|
||||
|
||||
SET NEW.editorFk = account.myUser_getId();
|
||||
|
||||
|
@ -18,13 +18,13 @@ BEGIN
|
|||
END IF;
|
||||
|
||||
IF NEW.roadmapFk IS NOT NULL AND NEW.eta IS NOT NULL THEN
|
||||
SELECT MAX(eta) INTO vMaxEta
|
||||
FROM roadmapStop
|
||||
WHERE roadmapFk = NEW.roadmapFk;
|
||||
SELECT eta INTO vRoadmapEta
|
||||
FROM roadmap
|
||||
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
|
||||
SET eta = GREATEST(COALESCE(vMaxEta, NEW.eta), NEW.eta)
|
||||
SET eta = NEW.eta
|
||||
WHERE id = NEW.roadmapFk;
|
||||
END IF;
|
||||
END IF;
|
||||
|
|
|
@ -4,6 +4,7 @@ CREATE OR REPLACE DEFINER=`vn`@`localhost` TRIGGER `vn`.`roadmapStop_beforeUpdat
|
|||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE vMaxEta DATETIME;
|
||||
DECLARE vCurrentEta DATETIME;
|
||||
|
||||
SET NEW.editorFk = account.myUser_getId();
|
||||
|
||||
|
@ -18,13 +19,22 @@ BEGIN
|
|||
CALL util.throw('Departure time can not be after arrival time');
|
||||
END IF;
|
||||
|
||||
SELECT MAX(eta) INTO vMaxEta
|
||||
SELECT MAX(eta) INTO vMaxEta
|
||||
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
|
||||
SET eta = COALESCE(vMaxEta, NEW.eta)
|
||||
SET eta = vMaxEta
|
||||
WHERE id = NEW.roadmapFk;
|
||||
END IF;
|
||||
END IF;
|
||||
|
|
Loading…
Reference in New Issue