This commit is contained in:
parent
f909c648a7
commit
8af2cabaea
|
@ -24,6 +24,7 @@ BEGIN
|
||||||
ON ish2.itemFk = ish.itemFk
|
ON ish2.itemFk = ish.itemFk
|
||||||
AND ish2.packing = ish.packing
|
AND ish2.packing = ish.packing
|
||||||
AND date(ish2.created) = date(ish.created)
|
AND date(ish2.created) = date(ish.created)
|
||||||
|
AND ish2.buyFk = ish.buyFk
|
||||||
WHERE ish.shelvingFk = vShelvingFk COLLATE utf8_unicode_ci;
|
WHERE ish.shelvingFk = vShelvingFk COLLATE utf8_unicode_ci;
|
||||||
|
|
||||||
IF vNewItemShelvingFk THEN
|
IF vNewItemShelvingFk THEN
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelving_add`(IN vShelvingFk VARCHAR(8), IN vBarcode VARCHAR(22), IN vQuantity INT, IN vPackagingFk VARCHAR(10), IN vGrouping INT, IN vPacking INT, IN vWarehouseFk INT)
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelving_add`(IN vShelvingFk VARCHAR(8), IN vBarcode VARCHAR(22), IN vQuantity INT, IN vPackagingFk VARCHAR(10), IN vGrouping INT, IN vPacking INT, IN vWarehouseFk INT)
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Añade registro o lo actualiza si ya existe.
|
* Añade registro o lo actualiza si ya existe.
|
||||||
*
|
*
|
||||||
|
@ -15,12 +13,24 @@ BEGIN
|
||||||
* @param vWarehouseFk indica el sector
|
* @param vWarehouseFk indica el sector
|
||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
|
|
||||||
DECLARE vItemFk INT;
|
DECLARE vItemFk INT;
|
||||||
|
DECLARE vBuyFk INT;
|
||||||
|
|
||||||
|
SELECT id INTO vBuyFk
|
||||||
|
FROM buy WHERE id = vBarcode;
|
||||||
|
|
||||||
SELECT barcodeToItem(vBarcode) INTO vItemFk;
|
SELECT barcodeToItem(vBarcode) INTO vItemFk;
|
||||||
|
|
||||||
IF (SELECT COUNT(*) FROM shelving WHERE code = vShelvingFk COLLATE utf8_unicode_ci) = 0 THEN
|
IF vBuyFk IS NULL THEN
|
||||||
|
CALL cache.last_buy_refresh(FALSE);
|
||||||
|
|
||||||
|
SELECT buy_id INTO vBuyFk
|
||||||
|
FROM cache.last_buy
|
||||||
|
WHERE item_id = vItemFk
|
||||||
|
AND warehouse_id = vWarehouseFk;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
IF NOT (SELECT COUNT(*) FROM shelving WHERE code = vShelvingFk COLLATE utf8_unicode_ci) THEN
|
||||||
|
|
||||||
INSERT IGNORE INTO parking(code) VALUES(vShelvingFk);
|
INSERT IGNORE INTO parking(code) VALUES(vShelvingFk);
|
||||||
INSERT INTO shelving(code, parkingFk)
|
INSERT INTO shelving(code, parkingFk)
|
||||||
|
@ -33,31 +43,35 @@ BEGIN
|
||||||
IF (SELECT COUNT(*) FROM itemShelving
|
IF (SELECT COUNT(*) FROM itemShelving
|
||||||
WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk
|
WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk
|
||||||
AND itemFk = vItemFk
|
AND itemFk = vItemFk
|
||||||
AND packing = vPacking) = 1 THEN
|
AND packing = vPacking
|
||||||
|
AND buyFk = vBuyFk) THEN
|
||||||
|
|
||||||
UPDATE itemShelving
|
UPDATE itemShelving
|
||||||
SET visible = visible + vQuantity
|
SET visible = visible + vQuantity
|
||||||
WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk AND itemFk = vItemFk AND packing = vPacking;
|
WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk
|
||||||
|
AND itemFk = vItemFk
|
||||||
|
AND packing = vPacking
|
||||||
|
AND buyFk = vBuyFk;
|
||||||
|
|
||||||
ELSE
|
ELSE
|
||||||
CALL cache.last_buy_refresh(FALSE);
|
|
||||||
INSERT INTO itemShelving( itemFk,
|
INSERT INTO itemShelving(
|
||||||
|
itemFk,
|
||||||
shelvingFk,
|
shelvingFk,
|
||||||
visible,
|
visible,
|
||||||
grouping,
|
grouping,
|
||||||
packing,
|
packing,
|
||||||
packagingFk)
|
packagingFk,
|
||||||
|
buyFk)
|
||||||
SELECT vItemFk,
|
SELECT vItemFk,
|
||||||
vShelvingFk,
|
vShelvingFk,
|
||||||
vQuantity,
|
vQuantity,
|
||||||
IFNULL(vGrouping, b.grouping),
|
IFNULL(vGrouping, b.grouping),
|
||||||
IFNULL(vPacking, b.packing),
|
IFNULL(vPacking, b.packing),
|
||||||
IFNULL(vPackagingFk, b.packagingFk)
|
IFNULL(vPackagingFk, b.packagingFk),
|
||||||
FROM item i
|
id
|
||||||
LEFT JOIN cache.last_buy lb ON i.id = lb.item_id AND lb.warehouse_id = vWarehouseFk
|
FROM buy b
|
||||||
LEFT JOIN buy b ON b.id = lb.buy_id
|
WHERE id = vBuyFk;
|
||||||
WHERE i.id = vItemFk;
|
|
||||||
END IF;
|
END IF;
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
Loading…
Reference in New Issue