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_refreshSale`(
|
2025-02-12 06:57:31 +00:00
|
|
|
`vTable` VARCHAR(255),
|
|
|
|
`vId` INT)
|
|
|
|
BEGIN
|
2025-02-24 17:05:21 +00:00
|
|
|
DECLARE vAliveDate DATE;
|
2025-02-12 06:57:31 +00:00
|
|
|
|
2025-02-24 17:50:25 +00:00
|
|
|
SELECT util.VN_CURDATE() - INTERVAL saleLife MONTH
|
|
|
|
INTO vAliveDate
|
|
|
|
FROM config LIMIT 1;
|
2025-02-12 06:57:31 +00:00
|
|
|
|
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,
|
|
|
|
s.quantity < 0 isExcluded,
|
2025-02-24 17:50:25 +00:00
|
|
|
t.shipped >= vAliveDate isAlive
|
2025-02-24 17:05:21 +00:00
|
|
|
FROM vn.sale s
|
|
|
|
JOIN vn.ticket t ON t.id = s.ticketFk
|
2025-02-12 06:57:31 +00:00
|
|
|
WHERE
|
2025-02-24 17:05:21 +00:00
|
|
|
(vTable = 'lot' AND s.lotFk = vId)
|
|
|
|
OR (vTable = 'ticket' AND t.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-24 17:05:21 +00:00
|
|
|
oo.lotFk,
|
2025-02-12 06:57:31 +00:00
|
|
|
t.warehouseFk,
|
|
|
|
t.shipped dated,
|
|
|
|
s.itemFk,
|
|
|
|
s.quantity,
|
|
|
|
s.created,
|
2025-02-24 17:05:21 +00:00
|
|
|
s.isPicked
|
|
|
|
FROM tLotStatus oo
|
|
|
|
JOIN vn.sale s ON s.lotFk = oo.lotFk
|
2025-02-12 06:57:31 +00:00
|
|
|
JOIN vn.ticket t ON t.id = s.ticketFk
|
2025-02-24 17:05:21 +00:00
|
|
|
WHERE oo.isAlive;
|
2025-02-12 06:57:31 +00:00
|
|
|
|
2025-02-24 17:05:21 +00:00
|
|
|
CALL buyOut_refresh(vTable, vId, 'sale');
|
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 ;
|