feat: refs #7685 delivery coordinates #2706

Merged
robert merged 10 commits from 7685-delivery_beforeDeadlock into dev 2024-07-12 05:22:13 +00:00
3 changed files with 34 additions and 20 deletions
Showing only changes of commit 4dcc8b02a5 - Show all commits

View File

@ -0,0 +1,30 @@
DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`address_updateCorordinates`(
vTicketFk INT,
vLongitude INT,
vLatitude INT)
BEGIN
/**
* Actualiza las coordenadas de una direccion
*
* @param vTicketFk id del ticket
* @param vLongitude longitud de la direccion
* @param vLatitude latitud de la dirrecion
*/
DECLARE vAddressFK INT;
START TRANSACTION;
SELECT addressFK INTO vAddressFK
FROM ticket
WHERE id = vTicketFk
FOR UPDATE;
UPDATE address
SET longitude = vLongitude,
latitude = vLatitude
WHERE id = vAddressFK;
COMMIT;
END$$
DELIMITER ;

View File

@ -4,16 +4,8 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`delivery_beforeInsert
FOR EACH ROW
BEGIN
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL)
THEN
UPDATE address
SET longitude = NEW.longitude,
latitude = NEW.latitude
WHERE id IN (
SELECT addressFK
FROM ticket
WHERE id = NEW.ticketFk
);
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL) THEN
robert marked this conversation as resolved Outdated

Sobrepasa los caracteres máximos por linea, aplica esto al otro tmb

Sobrepasa los caracteres máximos por linea, aplica esto al otro tmb
CALL address_updateCorordinates(NEW.ticketFk,NEW.longitude,NEW.latitude);
robert marked this conversation as resolved Outdated

address_updateCoordinates(NEW.ticketFk, NEW.longitude, NEW.latitude);

Espacio despues de coma, aplica esto al otro tmb

address_updateCoordinates(NEW.ticketFk, NEW.longitude, NEW.latitude); Espacio despues de coma, aplica esto al otro tmb
END IF;
END$$

View File

@ -4,16 +4,8 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`delivery_beforeUpdate
FOR EACH ROW
BEGIN
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL)
THEN
UPDATE address
SET longitude = NEW.longitude,
latitude = NEW.latitude
WHERE id IN (
SELECT addressFK
FROM ticket
WHERE id = NEW.ticketFk
);
IF (NEW.longitude IS NOT NULL AND NEW.latitude IS NOT NULL AND NEW.ticketFK IS NOT NULL) THEN
CALL address_updateCorordinates(NEW.ticketFk,NEW.longitude,NEW.latitude);
END IF;
END$$