39 lines
970 B
SQL
39 lines
970 B
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`shelving_clean`()
|
|
BEGIN
|
|
|
|
DELETE FROM shelving
|
|
WHERE length(code) > 3
|
|
AND parked < TIMESTAMPADD(WEEK,-1,util.VN_CURDATE());
|
|
|
|
DELETE FROM itemShelving
|
|
WHERE visible <= 0
|
|
AND created < TIMESTAMPADD(MONTH,-1,util.VN_CURDATE());
|
|
|
|
DELETE ish.*
|
|
FROM itemShelving ish
|
|
JOIN vn.shelving sh ON sh.code = ish.shelvingFk
|
|
WHERE sh.parkingFk IS NULL
|
|
AND ish.created < TIMESTAMPADD(WEEK,-1,util.VN_CURDATE());
|
|
|
|
UPDATE shelving sh
|
|
LEFT JOIN itemShelving its ON its.shelvingFk = sh.`code`
|
|
SET isPrinted = 0,
|
|
parkingFk = NULL
|
|
WHERE its.id IS NULL
|
|
AND sh.isRecyclable
|
|
AND (
|
|
sh.parked IS NULL
|
|
OR
|
|
sh.parked < util.VN_CURDATE() - INTERVAL 2 WEEK
|
|
)
|
|
|
|
AND IF(code REGEXP '^[A-Za-z]{2}[0-9]', LEFT (code, 2) NOT IN (
|
|
SELECT DISTINCT LEFT(its.shelvingFk, 2)
|
|
FROM itemShelving its
|
|
WHERE its.shelvingFk REGEXP '^[A-Za-z]{2}[0-9]'
|
|
), TRUE);
|
|
|
|
END$$
|
|
DELIMITER ;
|