From 8040db4d174e95b5b9ef10c1438ceb146d0d4608 Mon Sep 17 00:00:00 2001 From: Bernat Date: Mon, 16 Jul 2018 13:23:54 +0200 Subject: [PATCH] update structure --- .../install/changes/1.0.8/triggerTicket.sql | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 services/db/install/changes/1.0.8/triggerTicket.sql diff --git a/services/db/install/changes/1.0.8/triggerTicket.sql b/services/db/install/changes/1.0.8/triggerTicket.sql new file mode 100644 index 0000000000..70cbdb2052 --- /dev/null +++ b/services/db/install/changes/1.0.8/triggerTicket.sql @@ -0,0 +1,58 @@ +DROP TRIGGER IF EXISTS `vn2008`.`TicketsBeforeUpdate`; + +DELIMITER $$ +USE `vn2008`$$ +CREATE DEFINER=`root`@`%` TRIGGER `TicketsBeforeUpdate` + BEFORE UPDATE ON `Tickets` FOR EACH ROW +BEGIN + DECLARE vAgency INT; + DECLARE vEmployee INT; + DECLARE vIsCee TINYINT; + DECLARE vHasVies TINYINT; + + SELECT Id_Trabajador INTO vEmployee + FROM Trabajadores WHERE user_id = account.userGetId(); + + IF vEmployee IS NULL THEN + SET vEmployee = 20; + END IF; + + -- ComprobaciĆ³n de VIES + + IF NEW.empresa_id <> OLD.empresa_id THEN + + SELECT CEE INTO vIsCee + FROM Proveedores AS pr + INNER JOIN Paises p ON p.Id = pr.pais_id + WHERE Id_Proveedor = NEW.empresa_id; + + SELECT isVies INTO vHasVies + FROM vn.`client` + WHERE id = OLD.Id_Cliente; + + IF vIsCee = 1 AND NOT vHasVies Then + CALL util.throw("NO_VALID_VIES"); + END IF; + + END IF; + + + IF NEW.Fecha < '2001-01-01' + THEN + SET NEW.Id_Ruta = NULL; + + IF NEW.Fecha < '2000-01-01' then + SET NEW.Fecha = OLD.Fecha; + END IF; + + INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) + VALUES(17, NEW.Id_Ticket, vEmployee); + END IF; + + IF NEW.isDeleted = 1 THEN + SET NEW.Fecha = DATE_FORMAT(NEW.Fecha, '2000-%m-%d %T'); + SET NEW.landing = DATE_FORMAT(NEW.landing, '2000-%m-%d %T'); + END IF; + +END$$ +DELIMITER ;