Merge pull request 'refs #4409 Remove old recalc code' (!2300) from 4409-binlog into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #2300 Reviewed-by: Javi Gallego <jgallego@verdnatura.es> Reviewed-by: Carlos Andrés <carlosap@verdnatura.es>
This commit is contained in:
commit
91608b9053
|
@ -0,0 +1,13 @@
|
|||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# http://editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
|
@ -2616,16 +2616,32 @@ INSERT INTO `vn`.`invoiceInIntrastat` (`invoiceInFk`, `net`, `intrastatFk`, `amo
|
|||
(2, 16.10, 6021010, 25.00, 80, 5);
|
||||
|
||||
UPDATE `vn`.`invoiceIn`
|
||||
SET isBooked = TRUE
|
||||
WHERE id IN (2, 5, 7, 8, 9, 10);
|
||||
SET isBooked = TRUE
|
||||
WHERE id IN (2, 5, 7, 8, 9, 10);
|
||||
|
||||
INSERT INTO `vn`.`ticketRecalc`(`ticketFk`)
|
||||
SELECT t.id
|
||||
FROM vn.ticket t
|
||||
LEFT JOIN vn.ticketRecalc tr ON tr.ticketFk = t.id
|
||||
WHERE tr.ticketFk IS NULL;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE `tmp`.`ticket_recalc`()
|
||||
BEGIN
|
||||
DECLARE vDone BOOL;
|
||||
DECLARE vTicketFk INT;
|
||||
|
||||
CALL `vn`.`ticket_doRecalc`();
|
||||
DECLARE cTickets CURSOR FOR SELECT id FROM vn.ticket;
|
||||
DECLARE CONTINUE HANDLER FOR NOT FOUND
|
||||
SET vDone = TRUE;
|
||||
|
||||
OPEN cTickets;
|
||||
myLoop: LOOP
|
||||
SET vDone = FALSE;
|
||||
FETCH cTickets INTO vTicketFk;
|
||||
IF vDone THEN LEAVE myLoop; END IF;
|
||||
CALL vn.ticket_recalc(vTicketFk, NULL);
|
||||
END LOOP;
|
||||
CLOSE cTickets;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
||||
CALL tmp.ticket_recalc;
|
||||
DROP PROCEDURE tmp.ticket_recalc;
|
||||
|
||||
UPDATE `vn`.`ticket`
|
||||
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
|
||||
DISABLE
|
||||
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 Disable order recalc
|
||||
-- INSERT INTO orderRecalc SET orderFk = vSelf;
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -1,9 +0,0 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterDelete`
|
||||
AFTER DELETE ON `orderRow`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CALL stock.log_add('orderRow', NULL, OLD.id);
|
||||
CALL order_requestRecalc(OLD.orderFk);
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -1,9 +0,0 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterInsert`
|
||||
AFTER INSERT ON `orderRow`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CALL stock.log_add('orderRow', NEW.id, NULL);
|
||||
CALL order_requestRecalc(NEW.orderFk);
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -1,10 +0,0 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`orderRow_afterUpdate`
|
||||
AFTER UPDATE ON `orderRow`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CALL stock.log_add('orderRow', NEW.id, OLD.id);
|
||||
CALL order_requestRecalc(OLD.orderFk);
|
||||
CALL order_requestRecalc(NEW.orderFk);
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -3,14 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `hedera`.`order_afterUpdate
|
|||
AFTER UPDATE ON `order`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CALL stock.log_add('order', NEW.id, OLD.id);
|
||||
|
||||
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
|
||||
-- Fallo que se actualiza no se sabe como tickets en este cliente
|
||||
CALL vn.mail_insert(
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_addPick`(
|
||||
vSelf INT,
|
||||
vOutboundFk INT,
|
||||
vQuantity INT
|
||||
vOutboundFk INT,
|
||||
vQuantity INT
|
||||
)
|
||||
BEGIN
|
||||
INSERT INTO inboundPick
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_removePick`(
|
||||
vSelf INT,
|
||||
vOutboundFk INT,
|
||||
vQuantity INT,
|
||||
vTotalQuantity INT
|
||||
vOutboundFk INT,
|
||||
vQuantity INT,
|
||||
vTotalQuantity INT
|
||||
)
|
||||
BEGIN
|
||||
IF vQuantity < vTotalQuantity THEN
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`inbound_requestQuantity`(
|
||||
vSelf INT,
|
||||
vRequested INT,
|
||||
vDated DATETIME,
|
||||
OUT vSupplied INT)
|
||||
vRequested INT,
|
||||
vDated DATETIME,
|
||||
OUT vSupplied INT)
|
||||
BEGIN
|
||||
/**
|
||||
* Disassociates inbound picks after the given date until the
|
||||
|
|
|
@ -23,7 +23,7 @@ BEGIN
|
|||
SELECT id, lack, lack < quantity
|
||||
FROM outbound
|
||||
WHERE warehouseFk = vWarehouse
|
||||
AND itemFk = vItem
|
||||
AND itemFk = vItem
|
||||
AND dated >= vDated
|
||||
AND (vExpired IS NULL OR dated < vExpired)
|
||||
ORDER BY dated, created;
|
||||
|
@ -52,7 +52,7 @@ BEGIN
|
|||
|
||||
SET vSupplied = LEAST(vAvailable, vLack);
|
||||
|
||||
IF vSupplied > 0 THEN
|
||||
IF vSupplied > 0 THEN
|
||||
SET vAvailable = vAvailable - vSupplied;
|
||||
UPDATE outbound
|
||||
SET lack = lack - vSupplied
|
||||
|
@ -65,7 +65,7 @@ BEGIN
|
|||
SET vAvailable = vAvailable - vSuppliedFromRequest;
|
||||
END IF;
|
||||
|
||||
IF vSupplied > 0 THEN
|
||||
IF vSupplied > 0 THEN
|
||||
CALL inbound_addPick(vSelf, vOutboundFk, vSupplied);
|
||||
END IF;
|
||||
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_add`(IN `vTableName` VARCHAR(255), IN `vNewId` VARCHAR(255), IN `vOldId` VARCHAR(255))
|
||||
proc: BEGIN
|
||||
-- XXX: Disabled while testing
|
||||
LEAVE proc;
|
||||
|
||||
IF vOldId IS NOT NULL AND !(vOldId <=> vNewId) THEN
|
||||
INSERT IGNORE INTO `log` SET
|
||||
tableName = vTableName,
|
||||
tableId = vOldId,
|
||||
operation = 'delete';
|
||||
END IF;
|
||||
|
||||
IF vNewId IS NOT NULL THEN
|
||||
INSERT IGNORE INTO `log` SET
|
||||
tableName = vTableName,
|
||||
tableId = vNewId,
|
||||
operation = 'insert';
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -1,7 +1,7 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshBuy`(
|
||||
`vTableName` VARCHAR(255),
|
||||
`vTableId` INT)
|
||||
`vTableName` VARCHAR(255),
|
||||
`vTableId` INT)
|
||||
BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tValues;
|
||||
CREATE TEMPORARY TABLE tValues
|
||||
|
@ -11,7 +11,7 @@ BEGIN
|
|||
e.id entryFk,
|
||||
t.id travelFk,
|
||||
b.itemFk,
|
||||
e.isRaid,
|
||||
e.isRaid,
|
||||
ADDTIME(t.shipped,
|
||||
IFNULL(t.shipmentHour, '00:00:00')) shipped,
|
||||
t.warehouseOutFk,
|
||||
|
@ -24,7 +24,7 @@ BEGIN
|
|||
ABS(b.quantity) quantity,
|
||||
b.created,
|
||||
b.quantity > 0 isIn,
|
||||
t.shipped < vn.getInventoryDate() lessThanInventory
|
||||
t.shipped < vn.getInventoryDate() lessThanInventory
|
||||
FROM vn.buy b
|
||||
JOIN vn.entry e ON e.id = b.entryFk
|
||||
JOIN vn.travel t ON t.id = e.travelFk
|
||||
|
@ -52,7 +52,7 @@ BEGIN
|
|||
quantity,
|
||||
IF(isIn, isReceived, isDelivered) AND !isRaid
|
||||
FROM tValues
|
||||
WHERE isIn OR !lessThanInventory;
|
||||
WHERE isIn OR !lessThanInventory;
|
||||
|
||||
REPLACE INTO outbound (
|
||||
tableName, tableId, warehouseFk, dated,
|
||||
|
@ -67,7 +67,7 @@ BEGIN
|
|||
quantity,
|
||||
IF(isIn, isDelivered, isReceived) AND !isRaid
|
||||
FROM tValues
|
||||
WHERE !isIn OR !lessThanInventory;
|
||||
WHERE !isIn OR !lessThanInventory;
|
||||
|
||||
DROP TEMPORARY TABLE tValues;
|
||||
END$$
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshOrder`(
|
||||
`vTableName` VARCHAR(255),
|
||||
`vTableId` INT)
|
||||
`vTableName` VARCHAR(255),
|
||||
`vTableId` INT)
|
||||
BEGIN
|
||||
DECLARE vExpireTime INT DEFAULT 20;
|
||||
DECLARE vExpired DATETIME DEFAULT TIMESTAMPADD(MINUTE, -vExpireTime, util.VN_NOW());
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tValues;
|
||||
CREATE TEMPORARY TABLE tValues
|
||||
CREATE TEMPORARY TABLE tValues
|
||||
ENGINE = MEMORY
|
||||
SELECT
|
||||
r.id rowFk,
|
||||
|
@ -23,24 +23,24 @@ BEGIN
|
|||
OR (vTableName = 'order' AND o.id = vTableId)
|
||||
OR (vTableName = 'orderRow' AND r.id = vTableId)
|
||||
)
|
||||
AND !o.confirmed
|
||||
AND r.shipment >= vn.getInventoryDate()
|
||||
AND !o.confirmed
|
||||
AND r.shipment >= vn.getInventoryDate()
|
||||
AND r.created >= vExpired
|
||||
AND r.amount != 0;
|
||||
|
||||
REPLACE INTO outbound (
|
||||
tableName, tableId, warehouseFk, dated,
|
||||
itemFk, created, expired, quantity
|
||||
itemFk, created, expired, quantity
|
||||
)
|
||||
SELECT 'orderRow',
|
||||
SELECT 'orderRow',
|
||||
rowFk,
|
||||
warehouseFk,
|
||||
shipped,
|
||||
itemFk,
|
||||
created,
|
||||
TIMESTAMPADD(MINUTE, vExpireTime, created),
|
||||
TIMESTAMPADD(MINUTE, vExpireTime, created),
|
||||
quantity
|
||||
FROM tValues;
|
||||
FROM tValues;
|
||||
|
||||
DROP TEMPORARY TABLE tValues;
|
||||
END$$
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`log_refreshSale`(
|
||||
`vTableName` VARCHAR(255),
|
||||
`vTableId` INT)
|
||||
`vTableName` VARCHAR(255),
|
||||
`vTableId` INT)
|
||||
BEGIN
|
||||
DROP TEMPORARY TABLE IF EXISTS tValues;
|
||||
CREATE TEMPORARY TABLE tValues
|
||||
CREATE TEMPORARY TABLE tValues
|
||||
ENGINE = MEMORY
|
||||
SELECT
|
||||
m.id saleFk,
|
||||
|
@ -14,7 +14,7 @@ BEGIN
|
|||
t.shipped,
|
||||
ABS(m.quantity) quantity,
|
||||
m.created,
|
||||
TIMESTAMPADD(DAY, tp.life, t.shipped) expired,
|
||||
TIMESTAMPADD(DAY, tp.life, t.shipped) expired,
|
||||
m.quantity < 0 isIn,
|
||||
m.isPicked OR s.alertLevel > 1 isPicked
|
||||
FROM vn.sale m
|
||||
|
@ -32,33 +32,33 @@ BEGIN
|
|||
|
||||
REPLACE INTO inbound (
|
||||
tableName, tableId, warehouseFk, dated,
|
||||
itemFk, expired, quantity, isPicked
|
||||
itemFk, expired, quantity, isPicked
|
||||
)
|
||||
SELECT 'sale',
|
||||
SELECT 'sale',
|
||||
saleFk,
|
||||
warehouseFk,
|
||||
shipped,
|
||||
itemFk,
|
||||
expired,
|
||||
expired,
|
||||
quantity,
|
||||
isPicked
|
||||
FROM tValues
|
||||
WHERE isIn;
|
||||
isPicked
|
||||
FROM tValues
|
||||
WHERE isIn;
|
||||
|
||||
REPLACE INTO outbound (
|
||||
tableName, tableId, warehouseFk, dated,
|
||||
itemFk, created, quantity, isPicked
|
||||
itemFk, created, quantity, isPicked
|
||||
)
|
||||
SELECT 'sale',
|
||||
SELECT 'sale',
|
||||
saleFk,
|
||||
warehouseFk,
|
||||
shipped,
|
||||
itemFk,
|
||||
created,
|
||||
quantity,
|
||||
isPicked
|
||||
FROM tValues
|
||||
WHERE !isIn;
|
||||
isPicked
|
||||
FROM tValues
|
||||
WHERE !isIn;
|
||||
|
||||
DROP TEMPORARY TABLE tValues;
|
||||
END$$
|
||||
|
|
|
@ -7,7 +7,7 @@ BEGIN
|
|||
* @param vSelf The outbound reference
|
||||
*/
|
||||
DECLARE vDated DATETIME;
|
||||
DECLARE vItem INT;
|
||||
DECLARE vItem INT;
|
||||
DECLARE vWarehouse INT;
|
||||
DECLARE vLack INT;
|
||||
DECLARE vSupplied INT;
|
||||
|
@ -21,7 +21,7 @@ BEGIN
|
|||
SELECT id, available, available < quantity
|
||||
FROM inbound
|
||||
WHERE warehouseFk = vWarehouse
|
||||
AND itemFk = vItem
|
||||
AND itemFk = vItem
|
||||
AND dated <= vDated
|
||||
AND (expired IS NULL OR expired > vDated)
|
||||
ORDER BY dated;
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`visible_log`(
|
||||
vIsPicked BOOL,
|
||||
vWarehouseFk INT,
|
||||
vItemFk INT,
|
||||
vQuantity INT
|
||||
vWarehouseFk INT,
|
||||
vItemFk INT,
|
||||
vQuantity INT
|
||||
)
|
||||
proc: BEGIN
|
||||
IF !vIsPicked THEN
|
||||
LEAVE proc;
|
||||
END IF;
|
||||
|
||||
INSERT INTO visible
|
||||
INSERT INTO visible
|
||||
SET itemFk = vItemFk,
|
||||
warehouseFk = vWarehouseFk,
|
||||
quantity = vQuantity
|
||||
|
|
|
@ -12,11 +12,11 @@ BEGIN
|
|||
DELETE FROM inboundPick
|
||||
WHERE inboundFk = OLD.id;
|
||||
|
||||
CALL visible_log(
|
||||
CALL visible_log(
|
||||
OLD.isPicked,
|
||||
OLD.warehouseFk,
|
||||
OLD.itemFk,
|
||||
-OLD.quantity
|
||||
OLD.warehouseFk,
|
||||
OLD.itemFk,
|
||||
-OLD.quantity
|
||||
);
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -5,11 +5,11 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `stock`.`inbound_beforeInse
|
|||
BEGIN
|
||||
SET NEW.isPicked = NEW.isPicked OR NEW.dated < util.VN_CURDATE();
|
||||
|
||||
CALL visible_log(
|
||||
CALL visible_log(
|
||||
NEW.isPicked,
|
||||
NEW.warehouseFk,
|
||||
NEW.itemFk,
|
||||
NEW.quantity
|
||||
NEW.warehouseFk,
|
||||
NEW.itemFk,
|
||||
NEW.quantity
|
||||
);
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -12,11 +12,11 @@ BEGIN
|
|||
DELETE FROM inboundPick
|
||||
WHERE outboundFk = OLD.id;
|
||||
|
||||
CALL visible_log(
|
||||
CALL visible_log(
|
||||
OLD.isPicked,
|
||||
OLD.warehouseFk,
|
||||
OLD.itemFk,
|
||||
OLD.quantity
|
||||
OLD.warehouseFk,
|
||||
OLD.itemFk,
|
||||
OLD.quantity
|
||||
);
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -6,11 +6,11 @@ BEGIN
|
|||
SET NEW.lack = NEW.quantity;
|
||||
SET NEW.isPicked = NEW.isPicked OR NEW.dated < util.VN_CURDATE();
|
||||
|
||||
CALL visible_log(
|
||||
CALL visible_log(
|
||||
NEW.isPicked,
|
||||
NEW.warehouseFk,
|
||||
NEW.itemFk,
|
||||
-NEW.quantity
|
||||
NEW.warehouseFk,
|
||||
NEW.itemFk,
|
||||
-NEW.quantity
|
||||
);
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
DELIMITER $$
|
||||
CREATE OR REPLACE DEFINER=`root`@`localhost` FUNCTION `util`.`binlogQueue_getDelay`(vCode VARCHAR(255))
|
||||
RETURNS BIGINT
|
||||
READS SQL DATA
|
||||
NOT DETERMINISTIC
|
||||
BEGIN
|
||||
/**
|
||||
|
|
|
@ -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 cTickets 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 cTickets;
|
||||
|
||||
myLoop: LOOP
|
||||
SET vDone = FALSE;
|
||||
FETCH cTickets INTO vTicketFk;
|
||||
|
||||
IF vDone THEN
|
||||
LEAVE myLoop;
|
||||
END IF;
|
||||
|
||||
CALL ticket_recalc(vTicketFk, NULL);
|
||||
END LOOP;
|
||||
|
||||
CLOSE cTickets;
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -1,15 +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;
|
||||
|
||||
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,19 +19,15 @@ BEGIN
|
|||
WHERE id = NEW.clientFk;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF NEW.isDefaultAddress AND NEW.isActive = FALSE THEN
|
||||
CALL util.throw ('Cannot desactivate the default address');
|
||||
END IF;
|
||||
|
||||
IF NOT (NEW.isEqualizated <=> OLD.isEqualizated) THEN
|
||||
INSERT IGNORE INTO ticketRecalc (ticketFk)
|
||||
SELECT id FROM ticket t
|
||||
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
|
||||
IF (NEW.clientFk <> OLD.clientFk
|
||||
OR NEW.isActive <> OLD.isActive
|
||||
OR NOT (NEW.provinceFk <=> OLD.provinceFk))
|
||||
AND (SELECT client_hasDifferentCountries(NEW.clientFk)) THEN
|
||||
UPDATE client
|
||||
SET hasToInvoiceByAddress = TRUE
|
||||
WHERE id = NEW.clientFk;
|
||||
|
|
|
@ -3,19 +3,14 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`buy_afterDelete`
|
|||
AFTER DELETE ON `buy`
|
||||
FOR EACH ROW
|
||||
trig: BEGIN
|
||||
DECLARE vValues VARCHAR(255);
|
||||
|
||||
IF @isModeInventory OR @isTriggerDisabled THEN
|
||||
LEAVE trig;
|
||||
END IF;
|
||||
|
||||
CALL stock.log_add('buy', NULL, OLD.id);
|
||||
|
||||
INSERT INTO entryLog
|
||||
SET `action` = 'delete',
|
||||
`changedModel` = 'Buy',
|
||||
`changedModelId` = OLD.id,
|
||||
`userFk` = account.myUser_getId();
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -7,8 +7,6 @@ trig: BEGIN
|
|||
LEAVE trig;
|
||||
END IF;
|
||||
|
||||
CALL stock.log_add('buy', NEW.id, NULL);
|
||||
|
||||
CALL buy_afterUpsert(NEW.id);
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -12,14 +12,6 @@ trig: BEGIN
|
|||
LEAVE trig;
|
||||
END IF;
|
||||
|
||||
IF !(NEW.id <=> OLD.id)
|
||||
OR !(NEW.entryFk <=> OLD.entryFk)
|
||||
OR !(NEW.itemFk <=> OLD.itemFk)
|
||||
OR !(NEW.quantity <=> OLD.quantity)
|
||||
OR !(NEW.created <=> OLD.created) THEN
|
||||
CALL stock.log_add('buy', NEW.id, OLD.id);
|
||||
END IF;
|
||||
|
||||
CALL buy_afterUpsert(NEW.id);
|
||||
|
||||
SELECT w.isBuyerToBeEmailed, t.landed
|
||||
|
|
|
@ -4,20 +4,13 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`client_afterUpdate`
|
|||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF !(NEW.defaultAddressFk <=> OLD.defaultAddressFk) THEN
|
||||
UPDATE `address` SET isDefaultAddress = 0
|
||||
UPDATE `address` SET isDefaultAddress = FALSE
|
||||
WHERE clientFk = NEW.id;
|
||||
|
||||
UPDATE `address` SET isDefaultAddress = 1
|
||||
UPDATE `address` SET isDefaultAddress = TRUE
|
||||
WHERE id = NEW.defaultAddressFk;
|
||||
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
|
||||
UPDATE account.`user`
|
||||
SET active = FALSE
|
||||
|
|
|
@ -8,7 +8,5 @@ BEGIN
|
|||
`changedModel` = 'Entry',
|
||||
`changedModelId` = OLD.id,
|
||||
`userFk` = account.myUser_getId();
|
||||
|
||||
CALL travel_requestRecalc(OLD.travelFk);
|
||||
END$$
|
||||
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,18 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`entry_afterUpdate`
|
|||
AFTER UPDATE ON `entry`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NOT(NEW.id <=> OLD.id)
|
||||
OR NOT(NEW.travelFk <=> OLD.travelFk)
|
||||
OR NOT(NEW.isRaid <=> OLD.isRaid) THEN
|
||||
CALL stock.log_add('entry', NEW.id, OLD.id);
|
||||
END IF;
|
||||
|
||||
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
|
||||
CREATE OR REPLACE TEMPORARY TABLE tmp.buysToCheck
|
||||
SELECT b.id
|
||||
|
|
|
@ -12,9 +12,6 @@ BEGIN
|
|||
`changedModelId` = OLD.id,
|
||||
`userFk` = account.myUser_getId();
|
||||
|
||||
CALL stock.log_add('sale', NULL, OLD.id);
|
||||
CALL ticket_requestRecalc(OLD.ticketFk);
|
||||
|
||||
SELECT account.myUser_getName() INTO vUserRole;
|
||||
SELECT account.user_getMysqlRole(vUserRole) INTO vUserRole;
|
||||
|
||||
|
|
|
@ -7,11 +7,7 @@ BEGIN
|
|||
CALL util.throw('Cannot insert a service item into a ticket');
|
||||
END IF;
|
||||
|
||||
CALL stock.log_add('sale', NEW.id, NULL);
|
||||
CALL ticket_requestRecalc(NEW.ticketFk);
|
||||
|
||||
IF NEW.quantity > 0 THEN
|
||||
|
||||
UPDATE vn.collection c
|
||||
JOIN vn.ticketCollection tc ON tc.collectionFk = c.id
|
||||
AND tc.ticketFk = NEW.ticketFk
|
||||
|
|
|
@ -6,24 +6,6 @@ BEGIN
|
|||
DECLARE vIsToSendMail BOOL;
|
||||
DECLARE vUserRole VARCHAR(255);
|
||||
|
||||
IF !(NEW.id <=> OLD.id)
|
||||
OR !(NEW.ticketFk <=> OLD.ticketFk)
|
||||
OR !(NEW.itemFk <=> OLD.itemFk)
|
||||
OR !(NEW.quantity <=> OLD.quantity)
|
||||
OR !(NEW.created <=> OLD.created)
|
||||
OR !(NEW.isPicked <=> OLD.isPicked) THEN
|
||||
CALL stock.log_add('sale', NEW.id, OLD.id);
|
||||
END IF;
|
||||
|
||||
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
|
||||
UPDATE ticketRequest SET ticketFk = NEW.ticketFk
|
||||
WHERE saleFk = NEW.id;
|
||||
|
|
|
@ -8,8 +8,5 @@ BEGIN
|
|||
`changedModel` = 'TicketService',
|
||||
`changedModelId` = OLD.id,
|
||||
`userFk` = account.myUser_getId();
|
||||
|
||||
CALL ticket_requestRecalc(OLD.ticketFk);
|
||||
|
||||
END$$
|
||||
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,24 +3,10 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`ticket_afterUpdate`
|
|||
AFTER UPDATE ON `ticket`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
|
||||
IF !(NEW.id <=> OLD.id)
|
||||
OR !(NEW.warehouseFk <=> OLD.warehouseFk)
|
||||
OR !(NEW.shipped <=> OLD.shipped) THEN
|
||||
CALL stock.log_add('ticket', NEW.id, OLD.id);
|
||||
END IF;
|
||||
|
||||
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
|
||||
UPDATE expedition
|
||||
SET hasNewRoute = TRUE
|
||||
WHERE ticketFk = NEW.id;
|
||||
END IF;
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
|
@ -3,8 +3,6 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`travel_afterUpdate`
|
|||
AFTER UPDATE ON `travel`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
CALL stock.log_add('travel', NEW.id, OLD.id);
|
||||
|
||||
IF NOT(NEW.shipped <=> OLD.shipped) THEN
|
||||
UPDATE entry
|
||||
SET commission = entry_getCommission(travelFk, currencyFk,supplierFk)
|
||||
|
|
|
@ -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