feat: refs #7685 delivery coordinates #2706
|
@ -0,0 +1,25 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`address_updateCoordinates`(
|
||||||
|
vTicketFk INT,
|
||||||
|
vLongitude INT,
|
||||||
|
vLatitude INT)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Actualiza las coordenadas de una dirección.
|
||||||
|
*
|
||||||
|
* @param vTicketFk Id del ticket
|
||||||
|
* @param vLongitude Longitud de la dirección
|
||||||
|
* @param vLatitude Latitud de la dirección
|
||||||
|
*/
|
||||||
|
DECLARE vAddressFK INT;
|
||||||
|
|
||||||
|
SELECT addressFK INTO vAddressFK
|
||||||
|
FROM ticket
|
||||||
|
WHERE id = vTicketFk;
|
||||||
|
|
||||||
|
UPDATE address
|
||||||
|
SET longitude = vLongitude,
|
||||||
|
latitude = vLatitude
|
||||||
|
WHERE id = vAddressFK;
|
||||||
|
END$$
|
||||||
robert marked this conversation as resolved
|
|||||||
|
DELIMITER ;
|
|
@ -3,18 +3,11 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`delivery_beforeInsert
|
||||||
BEFORE INSERT ON `delivery`
|
BEFORE INSERT ON `delivery`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
|
IF (NEW.longitude IS NOT NULL
|
||||||
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL)
|
AND NEW.latitude IS NOT NULL
|
||||||
|
AND NEW.ticketFK IS NOT NULL)
|
||||||
THEN
|
THEN
|
||||||
UPDATE address
|
CALL address_updateCoordinates(NEW.ticketFk, NEW.longitude, NEW.latitude);
|
||||||
SET longitude = NEW.longitude,
|
|
||||||
latitude = NEW.latitude
|
|
||||||
WHERE id IN (
|
|
||||||
SELECT addressFK
|
|
||||||
FROM ticket
|
|
||||||
WHERE id = NEW.ticketFk
|
|
||||||
);
|
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -3,18 +3,11 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`delivery_beforeUpdate
|
||||||
BEFORE UPDATE ON `delivery`
|
BEFORE UPDATE ON `delivery`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
|
IF (NEW.longitude IS NOT NULL
|
||||||
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL)
|
AND NEW.latitude IS NOT NULL
|
||||||
|
AND NEW.ticketFK IS NOT NULL)
|
||||||
THEN
|
THEN
|
||||||
UPDATE address
|
CALL address_updateCoordinates(NEW.ticketFk, NEW.longitude, NEW.latitude);
|
||||||
SET longitude = NEW.longitude,
|
|
||||||
latitude = NEW.latitude
|
|
||||||
WHERE id IN (
|
|
||||||
SELECT addressFK
|
|
||||||
FROM ticket
|
|
||||||
WHERE id = NEW.ticketFk
|
|
||||||
);
|
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
Loading…
Reference in New Issue
Quitar salto de linea