refs #5890
gitea/salix/pipeline/head This commit looks good Details

This commit is contained in:
Carlos Andrés 2023-09-29 10:53:06 +02:00
parent 375429b147
commit 934b4c4b36
2 changed files with 20 additions and 28 deletions

View File

View File

@ -1,13 +1,20 @@
ALTER TABLE `vn`.`itemShelvingSale` DROP COLUMN IF EXISTS isPicked;
ALTER TABLE `vn`.`itemShelvingSale` ADD isPicked TINYINT(1) DEFAULT FALSE NOT NULL; ALTER TABLE`vn`.`itemShelvingSale`
ADD isPicked TINYINT(1) DEFAULT FALSE NOT NULL;
ALTER TABLE `vn`.`productionConfig` DROP COLUMN IF EXISTS orderMode;
ALTER TABLE `vn`.`productionConfig`
ADD orderMode ENUM('Location', 'Age') NOT NULL DEFAULT 'Location';
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_addByCollection`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_reserveByCollection`(
vCollectionFk INT(11) vCollectionFk INT(11)
) )
BEGIN BEGIN
/** /**
* Guarda la ubicación para el contenido de una colección * Reserva cantidades con ubicaciones para el contenido de una colección
* *
* @param vCollectionFk Identificador de collection * @param vCollectionFk Identificador de collection
*/ */
@ -27,7 +34,7 @@ BEGIN
AND st.saleFk IS NULL AND st.saleFk IS NULL
AND NOT s.isPicked; AND NOT s.isPicked;
CALL itemShelvingSale_addNew(); CALL itemShelvingSale_reserve();
END$$ END$$
DELIMITER ; DELIMITER ;
@ -87,9 +94,6 @@ BEGIN
SET visible = IF(vIsItemShelvingSaleEmpty, 0, GREATEST(0,visible - vQuantity)) SET visible = IF(vIsItemShelvingSaleEmpty, 0, GREATEST(0,visible - vQuantity))
WHERE id = vItemShelvingFk; WHERE id = vItemShelvingFk;
/*Se podría preguntar por la cantidad correcta de la ubicació o insertar en una tabla
para que lo tenga en cuenta la gente que está haciendo inventario*/
IF vIsItemShelvingSaleEmpty THEN IF vIsItemShelvingSaleEmpty THEN
OPEN vSales; OPEN vSales;
l: LOOP l: LOOP
@ -104,7 +108,7 @@ l: LOOP
ENGINE = MEMORY ENGINE = MEMORY
SELECT vCursorSaleFk, vUserFk; SELECT vCursorSaleFk, vUserFk;
CALL itemShelvingSale_addNewWhitUser(); CALL itemShelvingSale_reserveWhitUser();
DROP TEMPORARY TABLE tmp.sale; DROP TEMPORARY TABLE tmp.sale;
END LOOP; END LOOP;
@ -124,7 +128,7 @@ l: LOOP
AND NOT isPicked; AND NOT isPicked;
IF vRemainingQuantity THEN IF vRemainingQuantity THEN
CALL itemShelvingSale_addBySale (vSaleFk, vRemainingQuantity, NULL); CALL itemShelvingSale_reserveBySale (vSaleFk, vRemainingQuantity, NULL);
SELECT SUM(quantity) INTO vRemainingQuantity SELECT SUM(quantity) INTO vRemainingQuantity
FROM itemShelvingSale FROM itemShelvingSale
@ -156,10 +160,10 @@ DELIMITER ;
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_addNew`() CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_reserve`()
BEGIN BEGIN
/** /**
* Guarda la ubicacion para un conjunto de sales del mismo wareHouse * Reserva cantidades con ubicaciones para un conjunto de sales del mismo wareHouse
* *
* @table tmp.sale(saleFk, userFk) * @table tmp.sale(saleFk, userFk)
*/ */
@ -228,11 +232,9 @@ BEGIN
s.quantity MOD ish.grouping = 0 DESC, s.quantity MOD ish.grouping = 0 DESC,
ish.grouping DESC, ish.grouping DESC,
IF(pc.orderMode = 'Location', p.pickingOrder, ish.created) IF(pc.orderMode = 'Location', p.pickingOrder, ish.created)
LIMIT 100000000000000000
)sub )sub
)sub2 )sub2
WHERE quantityToReserve > 0 WHERE quantityToReserve > 0;
;
INSERT INTO itemShelvingSale( INSERT INTO itemShelvingSale(
itemShelvingFk, itemShelvingFk,
@ -252,14 +254,14 @@ DELIMITER ;
DELIMITER $$ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_addBySale`( CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelvingSale_reserveBySale`(
vSelf INT , vSelf INT ,
vQuantity INT, vQuantity INT,
vUserFk INT vUserFk INT
) )
BEGIN BEGIN
/** /**
* Reserva la ubicación para una saleFk * Reserva cantida y ubicación para una saleFk
* *
* @param vSelf Identificador de la venta * @param vSelf Identificador de la venta
* @param vQuantity Cantidad a reservar * @param vQuantity Cantidad a reservar
@ -269,7 +271,7 @@ BEGIN
ENGINE = MEMORY ENGINE = MEMORY
SELECT vSelf saleFk, vUserFk userFk; SELECT vSelf saleFk, vUserFk userFk;
CALL itemShelvingSale_addNew(); CALL itemShelvingSale_reserve();
END$$ END$$
DELIMITER ; DELIMITER ;
@ -287,13 +289,3 @@ BEGIN
END$$ END$$
DELIMITER ; DELIMITER ;
ALTER TABLE `vn`.`itemShelvingSale` DROP COLUMN IF EXISTS isPicked;
ALTER TABLE`vn`.`itemShelvingSale`
ADD isPicked TINYINT(1) DEFAULT FALSE NOT NULL;
ALTER TABLE `vn`.`productionConfig` DROP COLUMN IF EXISTS orderMode;
ALTER TABLE `vn`.`productionConfig`
ADD orderMode ENUM('Location', 'Age') NOT NULL DEFAULT 'Location';