2025-02-12 06:57:31 +00:00
|
|
|
DELIMITER $$
|
2025-02-19 13:13:54 +00:00
|
|
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `stock`.`buyOut_refreshOrder`(
|
2025-02-12 06:57:31 +00:00
|
|
|
`vTable` VARCHAR(255),
|
|
|
|
`vId` INT)
|
|
|
|
BEGIN
|
2025-02-24 17:05:21 +00:00
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tLotStatus
|
2025-02-12 06:57:31 +00:00
|
|
|
ENGINE = MEMORY
|
2025-02-24 17:05:21 +00:00
|
|
|
SELECT lotFk,
|
2025-02-25 17:23:41 +00:00
|
|
|
@isExcluded := o.confirmed OR NOT isReserved OR r.amount <= 0 isExcluded,
|
2025-02-25 13:04:46 +00:00
|
|
|
NOT @isExcluded isIncluded
|
2025-02-24 17:05:21 +00:00
|
|
|
FROM hedera.orderRow r
|
|
|
|
JOIN hedera.`order` o ON o.id = r.orderFk
|
2025-02-12 06:57:31 +00:00
|
|
|
WHERE
|
2025-02-24 17:05:21 +00:00
|
|
|
(vTable = 'lot' AND r.lotFk = vId)
|
|
|
|
OR (vTable = 'order' AND o.id = vId);
|
2025-02-12 06:57:31 +00:00
|
|
|
|
2025-02-24 17:05:21 +00:00
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tLotAlive
|
2025-02-12 06:57:31 +00:00
|
|
|
ENGINE = MEMORY
|
|
|
|
SELECT
|
2025-02-26 08:36:43 +00:00
|
|
|
ls.lotFk,
|
2025-02-12 06:57:31 +00:00
|
|
|
r.warehouseFk,
|
|
|
|
r.shipment dated,
|
|
|
|
r.itemFk,
|
|
|
|
r.amount quantity,
|
|
|
|
r.created,
|
|
|
|
FALSE isPicked
|
2025-02-26 08:31:36 +00:00
|
|
|
FROM tLotStatus ls
|
|
|
|
JOIN hedera.orderRow r ON r.lotFk = ls.lotFk
|
2025-02-12 06:57:31 +00:00
|
|
|
JOIN hedera.`order` o ON o.id = r.orderFk
|
2025-02-26 08:31:36 +00:00
|
|
|
WHERE ls.isIncluded;
|
2025-02-12 06:57:31 +00:00
|
|
|
|
2025-02-24 17:05:21 +00:00
|
|
|
CALL buyOut_refresh(vTable, vId, 'orderRow');
|
2025-02-12 06:57:31 +00:00
|
|
|
|
2025-02-24 17:05:21 +00:00
|
|
|
DROP TEMPORARY TABLE tLotStatus, tLotAlive;
|
2025-02-12 06:57:31 +00:00
|
|
|
END$$
|
|
|
|
DELIMITER ;
|