2025-02-12 06:57:31 +00:00
|
|
|
DELIMITER $$
|
|
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `stock`.`buyOut_refresh`(
|
|
|
|
`vTable` VARCHAR(255),
|
|
|
|
`vId` INT)
|
|
|
|
BEGIN
|
2025-02-14 09:21:02 +00:00
|
|
|
CREATE TEMPORARY TABLE tOutPrune
|
2025-02-12 06:57:31 +00:00
|
|
|
ENGINE = MEMORY
|
2025-02-14 09:21:02 +00:00
|
|
|
SELECT tableId FROM tOutOld
|
2025-02-12 06:57:31 +00:00
|
|
|
EXCEPT
|
2025-02-14 09:21:02 +00:00
|
|
|
SELECT tableId FROM tOutNew;
|
2025-02-12 06:57:31 +00:00
|
|
|
|
|
|
|
DELETE o FROM buyOut o
|
2025-02-14 09:21:02 +00:00
|
|
|
JOIN tOutPrune d USING(tableId)
|
|
|
|
WHERE o.tableName = vTable;
|
2025-02-12 06:57:31 +00:00
|
|
|
|
|
|
|
INSERT INTO buyOut (
|
|
|
|
tableName,
|
|
|
|
tableId,
|
|
|
|
warehouseFk,
|
|
|
|
dated,
|
|
|
|
itemFk,
|
|
|
|
quantity,
|
2025-02-18 14:58:38 +00:00
|
|
|
lack,
|
2025-02-12 06:57:31 +00:00
|
|
|
created,
|
|
|
|
isPicked,
|
|
|
|
isSync
|
|
|
|
)
|
|
|
|
SELECT
|
|
|
|
vTable,
|
|
|
|
tableId,
|
|
|
|
warehouseFk,
|
|
|
|
dated,
|
|
|
|
itemFk,
|
|
|
|
quantity,
|
2025-02-18 14:58:38 +00:00
|
|
|
quantity,
|
2025-02-12 06:57:31 +00:00
|
|
|
created,
|
|
|
|
isPicked,
|
|
|
|
FALSE
|
2025-02-14 09:21:02 +00:00
|
|
|
FROM tOutNew
|
2025-02-12 06:57:31 +00:00
|
|
|
ON DUPLICATE KEY UPDATE
|
|
|
|
warehouseFk = VALUES(warehouseFk),
|
|
|
|
dated = VALUES(dated),
|
|
|
|
itemFk = VALUES(itemFk),
|
|
|
|
quantity = VALUES(quantity),
|
2025-02-18 14:58:38 +00:00
|
|
|
lack = VALUES(lack),
|
2025-02-12 06:57:31 +00:00
|
|
|
created = VALUES(created),
|
|
|
|
isPicked = VALUES(isPicked),
|
|
|
|
isSync = VALUES(isSync);
|
2025-02-14 09:21:02 +00:00
|
|
|
|
2025-02-18 14:58:38 +00:00
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tPickPrune
|
2025-02-14 09:21:02 +00:00
|
|
|
ENGINE = MEMORY
|
2025-02-14 10:34:35 +00:00
|
|
|
SELECT id FROM buyPick
|
2025-02-18 14:58:38 +00:00
|
|
|
WHERE tableName = vTable
|
2025-02-14 09:21:02 +00:00
|
|
|
AND id IN (
|
|
|
|
SELECT tableId FROM tOutDel
|
|
|
|
UNION
|
|
|
|
SELECT tableId FROM tOutNew
|
|
|
|
);
|
|
|
|
|
|
|
|
UPDATE buyLot l
|
|
|
|
JOIN buyPick p ON p.buyFk = l.buyFk
|
2025-02-18 14:58:38 +00:00
|
|
|
JOIN tPickPrune pp ON pp.id = p.id
|
2025-02-14 09:21:02 +00:00
|
|
|
SET l.isSync = FALSE;
|
|
|
|
|
|
|
|
DELETE p FROM buyPick p
|
2025-02-18 14:58:38 +00:00
|
|
|
JOIN tPickPrune pp USING (id);
|
2025-02-14 09:21:02 +00:00
|
|
|
|
2025-02-18 14:58:38 +00:00
|
|
|
DROP TEMPORARY TABLE tPickPrune;
|
2025-02-12 06:57:31 +00:00
|
|
|
END$$
|
|
|
|
DELIMITER ;
|