feat(binlog): refs #4409 Old recalc code removed
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
Queues: orderTotal, ticketTotal and travelEntries
This commit is contained in:
parent
133d45eecf
commit
ae326e6e2e
|
@ -2614,13 +2614,29 @@ INSERT INTO `vn`.`invoiceInIntrastat` (`invoiceInFk`, `net`, `intrastatFk`, `amo
|
||||||
(2, 13.20, 5080000, 15.00, 580, 5),
|
(2, 13.20, 5080000, 15.00, 580, 5),
|
||||||
(2, 16.10, 6021010, 25.00, 80, 5);
|
(2, 16.10, 6021010, 25.00, 80, 5);
|
||||||
|
|
||||||
INSERT INTO `vn`.`ticketRecalc`(`ticketFk`)
|
DELIMITER $$
|
||||||
SELECT t.id
|
CREATE PROCEDURE `tmp`.`ticket_recalc`()
|
||||||
FROM vn.ticket t
|
BEGIN
|
||||||
LEFT JOIN vn.ticketRecalc tr ON tr.ticketFk = t.id
|
DECLARE vDone BOOL;
|
||||||
WHERE tr.ticketFk IS NULL;
|
DECLARE vTicketFk INT;
|
||||||
|
|
||||||
CALL `vn`.`ticket_doRecalc`();
|
DECLARE cCur CURSOR FOR SELECT id FROM vn.ticket;
|
||||||
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
||||||
|
SET vDone = TRUE;
|
||||||
|
|
||||||
|
OPEN cCur;
|
||||||
|
myLoop: LOOP
|
||||||
|
SET vDone = FALSE;
|
||||||
|
FETCH cCur INTO vTicketFk;
|
||||||
|
IF vDone THEN LEAVE myLoop; END IF;
|
||||||
|
CALL vn.ticket_recalc(vTicketFk, NULL);
|
||||||
|
END LOOP;
|
||||||
|
CLOSE cCur;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
CALL tmp.ticket_recalc;
|
||||||
|
DROP PROCEDURE tmp.ticket_recalc;
|
||||||
|
|
||||||
UPDATE `vn`.`ticket`
|
UPDATE `vn`.`ticket`
|
||||||
SET refFk = 'T1111111'
|
SET refFk = 'T1111111'
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `hedera`.`order_doRecalc`
|
|
||||||
ON SCHEDULE EVERY 10 SECOND
|
|
||||||
STARTS '2019-08-29 14:18:04.000'
|
|
||||||
ON COMPLETION PRESERVE
|
|
||||||
ENABLE
|
|
||||||
DO CALL order_doRecalc$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,53 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `hedera`.`order_doRecalc`()
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Recalculates modified orders.
|
|
||||||
*/
|
|
||||||
DECLARE vDone BOOL;
|
|
||||||
DECLARE vOrderFk INT;
|
|
||||||
|
|
||||||
DECLARE cCur CURSOR FOR
|
|
||||||
SELECT DISTINCT orderFk FROM tOrder;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
||||||
SET vDone = TRUE;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
|
|
||||||
BEGIN
|
|
||||||
DO RELEASE_LOCK('hedera.order_doRecalc');
|
|
||||||
ROLLBACK;
|
|
||||||
RESIGNAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF !GET_LOCK('hedera.order_doRecalc', 0) THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tOrder;
|
|
||||||
CREATE TEMPORARY TABLE tOrder
|
|
||||||
ENGINE = MEMORY
|
|
||||||
SELECT id, orderFk FROM orderRecalc;
|
|
||||||
|
|
||||||
OPEN cCur;
|
|
||||||
|
|
||||||
myLoop: LOOP
|
|
||||||
SET vDone = FALSE;
|
|
||||||
FETCH cCur INTO vOrderFk;
|
|
||||||
|
|
||||||
IF vDone THEN
|
|
||||||
LEAVE myLoop;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
CALL order_recalc(vOrderFk);
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
CLOSE cCur;
|
|
||||||
|
|
||||||
DELETE o FROM orderRecalc o JOIN tOrder t ON t.id = o.id;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tOrder;
|
|
||||||
|
|
||||||
DO RELEASE_LOCK('hedera.order_doRecalc');
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,16 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `hedera`.`order_requestRecalc`(vSelf INT)
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Adds a request to recalculate the order total.
|
|
||||||
*
|
|
||||||
* @param vSelf The order identifier
|
|
||||||
*/
|
|
||||||
IF vSelf IS NULL THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- #4409 Deprecated by MyCDC
|
|
||||||
-- INSERT INTO orderRecalc SET orderFk = vSelf;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterDelete`
|
|
||||||
AFTER DELETE ON `orderRow`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL order_requestRecalc(OLD.orderFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterInsert`
|
|
||||||
AFTER INSERT ON `orderRow`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL order_requestRecalc(NEW.orderFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,9 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterUpdate`
|
|
||||||
AFTER UPDATE ON `orderRow`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL order_requestRecalc(OLD.orderFk);
|
|
||||||
CALL order_requestRecalc(NEW.orderFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -3,12 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`order_afterUpdate
|
||||||
AFTER UPDATE ON `order`
|
AFTER UPDATE ON `order`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
IF !(OLD.address_id <=> NEW.address_id)
|
|
||||||
OR !(OLD.company_id <=> NEW.company_id)
|
|
||||||
OR !(OLD.customer_id <=> NEW.customer_id) THEN
|
|
||||||
CALL order_requestRecalc(NEW.id);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF !(OLD.address_id <=> NEW.address_id) AND NEW.address_id = 2850 THEN
|
IF !(OLD.address_id <=> NEW.address_id) AND NEW.address_id = 2850 THEN
|
||||||
-- Fallo que se actualiza no se sabe como tickets en este cliente
|
-- Fallo que se actualiza no se sabe como tickets en este cliente
|
||||||
CALL vn.mail_insert(
|
CALL vn.mail_insert(
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`ticket_doRecalc`
|
|
||||||
ON SCHEDULE EVERY 10 SECOND
|
|
||||||
STARTS '2022-01-28 09:29:18.000'
|
|
||||||
ON COMPLETION PRESERVE
|
|
||||||
ENABLE
|
|
||||||
DO CALL ticket_doRecalc$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` EVENT `vn`.`travel_doRecalc`
|
|
||||||
ON SCHEDULE EVERY 15 SECOND
|
|
||||||
STARTS '2019-05-17 10:52:29.000'
|
|
||||||
ON COMPLETION PRESERVE
|
|
||||||
ENABLE
|
|
||||||
DO CALL travel_doRecalc$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,53 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_doRecalc`()
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Recalculates modified ticket.
|
|
||||||
*/
|
|
||||||
DECLARE vDone BOOL;
|
|
||||||
DECLARE vTicketFk INT;
|
|
||||||
|
|
||||||
DECLARE cCur CURSOR FOR
|
|
||||||
SELECT DISTINCT ticketFk FROM tTicket;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
|
||||||
SET vDone = TRUE;
|
|
||||||
|
|
||||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
|
|
||||||
BEGIN
|
|
||||||
DO RELEASE_LOCK('vn.ticket_doRecalc');
|
|
||||||
ROLLBACK;
|
|
||||||
RESIGNAL;
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF !GET_LOCK('vn.ticket_doRecalc', 0) THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE IF EXISTS tTicket;
|
|
||||||
CREATE TEMPORARY TABLE tTicket
|
|
||||||
ENGINE = MEMORY
|
|
||||||
SELECT id, ticketFk FROM ticketRecalc;
|
|
||||||
|
|
||||||
OPEN cCur;
|
|
||||||
|
|
||||||
myLoop: LOOP
|
|
||||||
SET vDone = FALSE;
|
|
||||||
FETCH cCur INTO vTicketFk;
|
|
||||||
|
|
||||||
IF vDone THEN
|
|
||||||
LEAVE myLoop;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
CALL ticket_recalc(vTicketFk, NULL);
|
|
||||||
END LOOP;
|
|
||||||
|
|
||||||
CLOSE cCur;
|
|
||||||
|
|
||||||
DELETE tr FROM ticketRecalc tr JOIN tTicket t ON tr.id = t.id;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tTicket;
|
|
||||||
|
|
||||||
DO RELEASE_LOCK('vn.ticket_doRecalc');
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_recalcByScope`(
|
||||||
|
vScope VARCHAR(255),
|
||||||
|
vId INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
/**
|
||||||
|
* Recalculates tickets in an scope.
|
||||||
|
*
|
||||||
|
* @param vScope The scope name
|
||||||
|
* @param vId The scope id
|
||||||
|
*/
|
||||||
|
DECLARE vDone BOOL;
|
||||||
|
DECLARE vTicketFk INT;
|
||||||
|
|
||||||
|
DECLARE cCur CURSOR FOR
|
||||||
|
SELECT id FROM ticket
|
||||||
|
WHERE refFk IS NULL
|
||||||
|
AND ((vScope = 'client' AND clientFk = vId)
|
||||||
|
OR (vScope = 'address' AND addressFk = vId));
|
||||||
|
|
||||||
|
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
||||||
|
SET vDone = TRUE;
|
||||||
|
|
||||||
|
OPEN cCur;
|
||||||
|
|
||||||
|
myLoop: LOOP
|
||||||
|
SET vDone = FALSE;
|
||||||
|
FETCH cCur INTO vTicketFk;
|
||||||
|
|
||||||
|
IF vDone THEN
|
||||||
|
LEAVE myLoop;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
CALL ticket_recalc(vTicketFk, NULL);
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
CLOSE cCur;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,16 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`ticket_requestRecalc`(vSelf INT)
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Adds a request to recalculate the ticket total.
|
|
||||||
*
|
|
||||||
* @param vSelf The ticket identifier
|
|
||||||
*/
|
|
||||||
IF vSelf IS NULL THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
-- #4409 Deprecated by MyCDC
|
|
||||||
-- INSERT INTO ticketRecalc SET ticketFk = vSelf;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,34 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_doRecalc`()
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Recounts the number of entries of changed travels.
|
|
||||||
*/
|
|
||||||
DECLARE vTravelFk INT;
|
|
||||||
|
|
||||||
DECLARE EXIT HANDLER FOR SQLEXCEPTION
|
|
||||||
BEGIN
|
|
||||||
DO RELEASE_LOCK('vn.ticket_doRecalc');
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF !GET_LOCK('vn.travel_doRecalc', 0) THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tTravel
|
|
||||||
ENGINE = MEMORY
|
|
||||||
SELECT travelFk FROM travelRecalc;
|
|
||||||
|
|
||||||
UPDATE travel t
|
|
||||||
JOIN tTravel tt ON tt.travelFk = t.id
|
|
||||||
SET t.totalEntries = (
|
|
||||||
SELECT COUNT(e.id)
|
|
||||||
FROM entry e
|
|
||||||
WHERE e.travelFk = t.id
|
|
||||||
);
|
|
||||||
|
|
||||||
DELETE tr FROM travelRecalc tr JOIN tTravel t ON tr.travelFk = t.travelFk;
|
|
||||||
DROP TEMPORARY TABLE tTravel;
|
|
||||||
DO RELEASE_LOCK('vn.travel_doRecalc');
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_recalc`(vSelf INT)
|
||||||
|
proc: BEGIN
|
||||||
|
/**
|
||||||
|
* Updates the number of entries assigned to the travel.
|
||||||
|
*
|
||||||
|
* @param vSelf The travel id
|
||||||
|
*/
|
||||||
|
UPDATE travel
|
||||||
|
SET totalEntries = (
|
||||||
|
SELECT COUNT(id)
|
||||||
|
FROM entry
|
||||||
|
WHERE travelFk = vSelf
|
||||||
|
)
|
||||||
|
WHERE id = vSelf;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,15 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`travel_requestRecalc`(vSelf INT)
|
|
||||||
proc: BEGIN
|
|
||||||
/**
|
|
||||||
* Adds a request to recount the number of entries for the travel.
|
|
||||||
*
|
|
||||||
* @param vSelf The travel reference
|
|
||||||
*/
|
|
||||||
IF vSelf IS NULL THEN
|
|
||||||
LEAVE proc;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
INSERT IGNORE INTO travelRecalc SET travelFk = vSelf;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -19,18 +19,14 @@ BEGIN
|
||||||
WHERE id = NEW.clientFk;
|
WHERE id = NEW.clientFk;
|
||||||
END IF;
|
END IF;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF NEW.isDefaultAddress AND NEW.isActive = FALSE THEN
|
IF NEW.isDefaultAddress AND NEW.isActive = FALSE THEN
|
||||||
CALL util.throw ('Cannot desactivate the default address');
|
CALL util.throw ('Cannot desactivate the default address');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF NOT (NEW.isEqualizated <=> OLD.isEqualizated) THEN
|
IF (NEW.clientFk <> OLD.clientFk
|
||||||
INSERT IGNORE INTO ticketRecalc (ticketFk)
|
OR NEW.isActive <> OLD.isActive
|
||||||
SELECT id FROM ticket t
|
OR NOT (NEW.provinceFk <=> OLD.provinceFk))
|
||||||
WHERE t.addressFk = NEW.id
|
|
||||||
AND t.refFk IS NULL;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF (NEW.clientFk <> OLD.clientFk OR NEW.isActive <> OLD.isActive OR NOT (NEW.provinceFk <=> OLD.provinceFk))
|
|
||||||
AND (SELECT client_hasDifferentCountries(NEW.clientFk)) THEN
|
AND (SELECT client_hasDifferentCountries(NEW.clientFk)) THEN
|
||||||
UPDATE client
|
UPDATE client
|
||||||
SET hasToInvoiceByAddress = TRUE
|
SET hasToInvoiceByAddress = TRUE
|
||||||
|
|
|
@ -4,20 +4,13 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`client_afterUpdate`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
IF !(NEW.defaultAddressFk <=> OLD.defaultAddressFk) THEN
|
IF !(NEW.defaultAddressFk <=> OLD.defaultAddressFk) THEN
|
||||||
UPDATE `address` SET isDefaultAddress = 0
|
UPDATE `address` SET isDefaultAddress = FALSE
|
||||||
WHERE clientFk = NEW.id;
|
WHERE clientFk = NEW.id;
|
||||||
|
|
||||||
UPDATE `address` SET isDefaultAddress = 1
|
UPDATE `address` SET isDefaultAddress = TRUE
|
||||||
WHERE id = NEW.defaultAddressFk;
|
WHERE id = NEW.defaultAddressFk;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF NOT (NEW.provinceFk <=> OLD.provinceFk) OR NOT (NEW.isVies <=> OLD.isVies) THEN
|
|
||||||
INSERT IGNORE INTO ticketRecalc (ticketFk)
|
|
||||||
SELECT id FROM ticket t
|
|
||||||
WHERE t.clientFk = NEW.id
|
|
||||||
AND t.refFk IS NULL;
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF NOT NEW.isActive THEN
|
IF NOT NEW.isActive THEN
|
||||||
UPDATE account.`user`
|
UPDATE account.`user`
|
||||||
SET active = FALSE
|
SET active = FALSE
|
||||||
|
|
|
@ -8,7 +8,5 @@ BEGIN
|
||||||
`changedModel` = 'Entry',
|
`changedModel` = 'Entry',
|
||||||
`changedModelId` = OLD.id,
|
`changedModelId` = OLD.id,
|
||||||
`userFk` = account.myUser_getId();
|
`userFk` = account.myUser_getId();
|
||||||
|
|
||||||
CALL travel_requestRecalc(OLD.travelFk);
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`entry_afterInsert`
|
|
||||||
AFTER INSERT ON `entry`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
CALL travel_requestRecalc(NEW.travelFk);
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -3,11 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`entry_afterUpdate`
|
||||||
AFTER UPDATE ON `entry`
|
AFTER UPDATE ON `entry`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
|
|
||||||
CALL travel_requestRecalc(OLD.travelFk);
|
|
||||||
CALL travel_requestRecalc(NEW.travelFk);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
|
IF NOT (NEW.travelFk <=> OLD.travelFk) THEN
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
||||||
SELECT b.id
|
SELECT b.id
|
||||||
|
|
|
@ -12,8 +12,6 @@ BEGIN
|
||||||
`changedModelId` = OLD.id,
|
`changedModelId` = OLD.id,
|
||||||
`userFk` = account.myUser_getId();
|
`userFk` = account.myUser_getId();
|
||||||
|
|
||||||
CALL ticket_requestRecalc(OLD.ticketFk);
|
|
||||||
|
|
||||||
SELECT account.myUser_getName() INTO vUserRole;
|
SELECT account.myUser_getName() INTO vUserRole;
|
||||||
SELECT account.user_getMysqlRole(vUserRole) INTO vUserRole;
|
SELECT account.user_getMysqlRole(vUserRole) INTO vUserRole;
|
||||||
|
|
||||||
|
|
|
@ -7,10 +7,7 @@ BEGIN
|
||||||
CALL util.throw('Cannot insert a service item into a ticket');
|
CALL util.throw('Cannot insert a service item into a ticket');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
CALL ticket_requestRecalc(NEW.ticketFk);
|
|
||||||
|
|
||||||
IF NEW.quantity > 0 THEN
|
IF NEW.quantity > 0 THEN
|
||||||
|
|
||||||
UPDATE vn.collection c
|
UPDATE vn.collection c
|
||||||
JOIN vn.ticketCollection tc ON tc.collectionFk = c.id
|
JOIN vn.ticketCollection tc ON tc.collectionFk = c.id
|
||||||
AND tc.ticketFk = NEW.ticketFk
|
AND tc.ticketFk = NEW.ticketFk
|
||||||
|
|
|
@ -6,15 +6,6 @@ BEGIN
|
||||||
DECLARE vIsToSendMail BOOL;
|
DECLARE vIsToSendMail BOOL;
|
||||||
DECLARE vUserRole VARCHAR(255);
|
DECLARE vUserRole VARCHAR(255);
|
||||||
|
|
||||||
IF !(NEW.price <=> OLD.price)
|
|
||||||
OR !(NEW.ticketFk <=> OLD.ticketFk)
|
|
||||||
OR !(NEW.itemFk <=> OLD.itemFk)
|
|
||||||
OR !(NEW.quantity <=> OLD.quantity)
|
|
||||||
OR !(NEW.discount <=> OLD.discount) THEN
|
|
||||||
CALL ticket_requestRecalc(NEW.ticketFk);
|
|
||||||
CALL ticket_requestRecalc(OLD.ticketFk);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF !(OLD.ticketFk <=> NEW.ticketFk) THEN
|
IF !(OLD.ticketFk <=> NEW.ticketFk) THEN
|
||||||
UPDATE ticketRequest SET ticketFk = NEW.ticketFk
|
UPDATE ticketRequest SET ticketFk = NEW.ticketFk
|
||||||
WHERE saleFk = NEW.id;
|
WHERE saleFk = NEW.id;
|
||||||
|
|
|
@ -8,8 +8,5 @@ BEGIN
|
||||||
`changedModel` = 'TicketService',
|
`changedModel` = 'TicketService',
|
||||||
`changedModelId` = OLD.id,
|
`changedModelId` = OLD.id,
|
||||||
`userFk` = account.myUser_getId();
|
`userFk` = account.myUser_getId();
|
||||||
|
|
||||||
CALL ticket_requestRecalc(OLD.ticketFk);
|
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`ticketService_afterInsert`
|
|
||||||
AFTER INSERT ON `ticketService`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
CALL ticket_requestRecalc(NEW.ticketFk);
|
|
||||||
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,13 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`ticketService_afterUpdate`
|
|
||||||
AFTER UPDATE ON `ticketService`
|
|
||||||
FOR EACH ROW
|
|
||||||
BEGIN
|
|
||||||
IF !(NEW.price <=> OLD.price)
|
|
||||||
OR !(NEW.ticketFk <=> OLD.ticketFk)
|
|
||||||
OR !(NEW.quantity <=> OLD.quantity) THEN
|
|
||||||
CALL ticket_requestRecalc(NEW.ticketFk);
|
|
||||||
CALL ticket_requestRecalc(OLD.ticketFk);
|
|
||||||
END IF;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -3,17 +3,10 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`ticket_afterUpdate`
|
||||||
AFTER UPDATE ON `ticket`
|
AFTER UPDATE ON `ticket`
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
IF !(NEW.clientFk <=> OLD.clientFk)
|
|
||||||
OR !(NEW.addressFk <=> OLD.addressFk)
|
|
||||||
OR !(NEW.companyFk <=> OLD.companyFk) THEN
|
|
||||||
CALL ticket_requestRecalc(NEW.id);
|
|
||||||
END IF;
|
|
||||||
|
|
||||||
IF NEW.routeFk <> OLD.routeFk THEN
|
IF NEW.routeFk <> OLD.routeFk THEN
|
||||||
UPDATE expedition
|
UPDATE expedition
|
||||||
SET hasNewRoute = TRUE
|
SET hasNewRoute = TRUE
|
||||||
WHERE ticketFk = NEW.id;
|
WHERE ticketFk = NEW.id;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
DROP TABLE hedera.orderRecalc;
|
|
@ -0,0 +1 @@
|
||||||
|
DROP TABLE vn.ticketRecalc;
|
|
@ -0,0 +1 @@
|
||||||
|
DROP TABLE vn.travelRecalc;
|
Loading…
Reference in New Issue