Actualizar db/routines/vn/procedures/itemShelvingSale_reallocate.sql
gitea/salix/pipeline/head This commit looks good Details

This commit is contained in:
Carlos Andrés 2024-07-30 10:14:15 +00:00
parent 1f80117ff7
commit 01562420d4
1 changed files with 54 additions and 54 deletions

View File

@ -1,55 +1,55 @@
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_reallocate`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_reallocate`(
vItemShelvingFk INT(10), vItemShelvingFk INT(10),
vItemFk INT(10), vItemFk INT(10),
vSectorFk INT vSectorFk INT
) )
BEGIN BEGIN
/** /**
* Elimina reservas de un itemShelving e intenta reservar en otra ubicación * Elimina reservas de un itemShelving e intenta reservar en otra ubicación
* *
* @param vItemShelvingFk Id itemShelving * @param vItemShelvingFk Id itemShelving
* @param vItemFk Id del artículo * @param vItemFk Id del artículo
* @param vSectorFk Id del sector * @param vSectorFk Id del sector
*/ */
DECLARE EXIT HANDLER FOR SQLEXCEPTION DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN BEGIN
ROLLBACK; ROLLBACK;
RESIGNAL; RESIGNAL;
END; END;
START TRANSACTION; START TRANSACTION;
UPDATE itemShelving UPDATE itemShelving
SET visible = 0, SET visible = 0,
available = 0 available = 0
WHERE id = vItemShelvingFk WHERE id = vItemShelvingFk
AND itemFk = vItemFk; AND itemFk = vItemFk;
SELECT iss.id SELECT iss.id
FROM itemShelvingSale iss FROM itemShelvingSale iss
JOIN itemShelving ish ON ish.id = iss.itemShelvingFk JOIN itemShelving ish ON ish.id = iss.itemShelvingFk
WHERE iss.itemShelvingFk = vItemShelvingFk WHERE iss.itemShelvingFk = vItemShelvingFk
AND iss.itemFk = vItemFk AND iss.itemFk = vItemFk
AND NOT iss.isPicked AND NOT iss.isPicked
FOR UPDATE; FOR UPDATE;
INSERT INTO itemShelvingSaleReserve (saleFk, vSectorFk) INSERT INTO itemShelvingSaleReserve (saleFk, sectorFk)
SELECT DISTINCT iss.saleFk SELECT DISTINCT iss.saleFk, vSectorFk
FROM itemShelvingSale iss FROM itemShelvingSale iss
JOIN itemShelving ish ON ish.id = iss.itemShelvingFk JOIN itemShelving ish ON ish.id = iss.itemShelvingFk
WHERE iss.itemShelvingFk = vItemShelvingFk WHERE iss.itemShelvingFk = vItemShelvingFk
AND ish.itemFk = vItemFk AND ish.itemFk = vItemFk
AND NOT iss.isPicked; AND NOT iss.isPicked;
DELETE iss DELETE iss
FROM itemShelvingSale iss FROM itemShelvingSale iss
JOIN itemShelving ish ON ish.id = iss.itemShelvingFk JOIN itemShelving ish ON ish.id = iss.itemShelvingFk
WHERE iss.itemShelvingFk = vItemShelvingFk WHERE iss.itemShelvingFk = vItemShelvingFk
AND ish.itemFk = vItemFk AND ish.itemFk = vItemFk
AND NOT iss.isPicked; AND NOT iss.isPicked;
COMMIT; COMMIT;
CALL itemShelvingSale_doReserve(); CALL itemShelvingSale_doReserve();
END$$ END$$
DELIMITER ; DELIMITER ;