feat: refs #7335 Added call ticket_afterUpdate #2415

Merged
guillermo merged 7 commits from 7335-modifyCmr into dev 2024-05-08 11:54:03 +00:00
2 changed files with 6 additions and 11 deletions

View File

@ -7,7 +7,7 @@ BEGIN
*
* @param vSelf El id del ticket
*/
DECLARE vCmrFk, vPreviousCmrFk, vCurrentCmrFk INT;
DECLARE vCmrFk INT;
SELECT cmrFk INTO vCmrFk
FROM ticket
WHERE id = vSelf;
@ -44,8 +44,6 @@ BEGIN
AND t.id = vSelf
GROUP BY t.id;
START TRANSACTION;
IF vCmrFk THEN
UPDATE cmr c
JOIN tTicket t
@ -57,9 +55,7 @@ BEGIN
c.supplierFk = t.supplierFk,
c.ead = t.landed
WHERE id = vCmrFk;
ELSE
SELECT MAX(id) INTO vPreviousCmrFk FROM cmr;
ELSE
INSERT INTO cmr (
senderInstruccions,
truckPlate,
@ -70,17 +66,14 @@ BEGIN
ead
)
SELECT * FROM tTicket;
SELECT MAX(id) INTO vCurrentCmrFk FROM cmr;
IF vPreviousCmrFk <> vCurrentCmrFk THEN
IF (SELECT EXISTS(SELECT * FROM tTicket)) THEN
UPDATE ticket
SET cmrFk = vCurrentCmrFk
SET cmrFk = LAST_INSERT_ID()
guillermo marked this conversation as resolved Outdated

SQL Error [1054] [42S22]: Unknown column 'vCurrentCmrFk' in 'field list'

SQL Error [1054] [42S22]: Unknown column 'vCurrentCmrFk' in 'field list'
WHERE id = vSelf;
END IF;
END IF;
COMMIT;
DROP TEMPORARY TABLE tTicket;
END$$
DELIMITER ;

View File

@ -7,6 +7,8 @@ BEGIN
UPDATE expedition
SET hasNewRoute = TRUE
WHERE ticketFk = NEW.id;
CALL ticket_doCmr(NEW.id);
guillermo marked this conversation as resolved
Review

tal com esta el if de dalt, si es posa una ruta a null o una ruta te null y se li asigna valor, en entra en este if...valora si això es correcte.

tal com esta el if de dalt, si es posa una ruta a null o una ruta te null y se li asigna valor, en entra en este if...valora si això es correcte.
Review

Es correcto, ya que si es uno de los dos (NEW.id o OLD.id) es null, no queremos que entre.

Ya que el CMR se genera cuando se le cambia el estado al ticket.

Es correcto, ya que si es uno de los dos (NEW.id o OLD.id) es null, no queremos que entre. Ya que el CMR se genera cuando se le cambia el estado al ticket.
END IF;
END$$
DELIMITER ;