Actualizar db/routines/vn/procedures/item_getStock.sql
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
parent
8e82a6d0f1
commit
3b1e906a87
|
@ -1,21 +1,21 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getStock`(
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`item_getStock`(
|
||||||
vWarehouseFk SMALLINT,
|
vWarehouseFk SMALLINT,
|
||||||
vDated DATE,
|
vAvailabled DATETIME,
|
||||||
vItemFk INT
|
vItemFk INT
|
||||||
)
|
)
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Calcula el stock de un artículo de un vWarehouseFk,
|
* Calcula el stock de un artículo de un vWarehouseFk,
|
||||||
* desde la fecha del inventario hasta vDated
|
* desde la fecha del inventario hasta el momento anterior a vAvailabled
|
||||||
*
|
*
|
||||||
* @param vWarehouse Warehouse id
|
* @param vWarehouse Warehouse id
|
||||||
* @param vDated Max date to filter
|
* @param vAvailabled Maximum time to filter
|
||||||
* @param vItemFk Item id
|
* @param vItemFk Item id
|
||||||
*
|
*
|
||||||
* @return tmp.itemList(itemFk, stock, visible, available)
|
* @return tmp.itemList(itemFk, stock, visible, available)
|
||||||
*/
|
*/
|
||||||
SET vDated = TIMESTAMP(vDated, '00:00:00');
|
CALL cache.stock_refresh(FALSE);
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tmp.itemList
|
CREATE OR REPLACE TEMPORARY TABLE tmp.itemList
|
||||||
(UNIQUE INDEX i USING HASH (itemFk))
|
(UNIQUE INDEX i USING HASH (itemFk))
|
||||||
|
@ -28,15 +28,15 @@ BEGIN
|
||||||
SELECT itemFk, quantity
|
SELECT itemFk, quantity
|
||||||
FROM itemTicketOut
|
FROM itemTicketOut
|
||||||
WHERE shipped >= util.VN_CURDATE()
|
WHERE shipped >= util.VN_CURDATE()
|
||||||
AND shipped < vDated
|
AND shipped < vAvailabled
|
||||||
AND warehouseFk = vWarehouseFk
|
AND warehouseFk = vWarehouseFk
|
||||||
AND (vItemFk IS NULL OR itemFk = vItemFk)
|
AND (vItemFk IS NULL OR itemFk = vItemFk)
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT iei.itemFk, iei.quantity
|
SELECT iei.itemFk, iei.quantity
|
||||||
FROM itemEntryIn iei
|
FROM itemEntryIn iei
|
||||||
JOIN item i ON i.id = iei.itemFk
|
JOIN item i ON i.id = iei.itemFk
|
||||||
WHERE IFNULL(iei.availabled, iei.landed) >= util.VN_CURDATE()
|
WHERE iei.availabled >= util.VN_CURDATE()
|
||||||
AND IFNULL(iei.availabled, iei.landed) < vDated
|
AND iei.availabled < vAvailabled
|
||||||
AND iei.warehouseInFk = vWarehouseFk
|
AND iei.warehouseInFk = vWarehouseFk
|
||||||
AND (vItemFk IS NULL OR iei.itemFk = vItemFk)
|
AND (vItemFk IS NULL OR iei.itemFk = vItemFk)
|
||||||
UNION ALL
|
UNION ALL
|
||||||
|
@ -44,23 +44,15 @@ BEGIN
|
||||||
FROM itemEntryOut ieo
|
FROM itemEntryOut ieo
|
||||||
JOIN item i ON i.id = ieo.itemFk
|
JOIN item i ON i.id = ieo.itemFk
|
||||||
WHERE ieo.shipped >= util.VN_CURDATE()
|
WHERE ieo.shipped >= util.VN_CURDATE()
|
||||||
AND ieo.shipped < vDated
|
AND ieo.shipped < vAvailabled
|
||||||
AND ieo.warehouseOutFk = vWarehouseFk
|
AND ieo.warehouseOutFk = vWarehouseFk
|
||||||
AND (vItemFk IS NULL OR ieo.itemFk = vItemFk)
|
AND (vItemFk IS NULL OR ieo.itemFk = vItemFk)
|
||||||
|
UNION ALL
|
||||||
|
SELECT item_id, amount
|
||||||
|
FROM cache.stock
|
||||||
|
WHERE warehouse_id = vWarehouseFk
|
||||||
) sub
|
) sub
|
||||||
GROUP BY itemFk
|
GROUP BY itemFk
|
||||||
HAVING stock;
|
HAVING stock;
|
||||||
|
|
||||||
CALL cache.stock_refresh(FALSE);
|
|
||||||
|
|
||||||
INSERT INTO tmp.itemList(itemFk, stock, visible, available)
|
|
||||||
SELECT item_id, amount, amount, amount
|
|
||||||
FROM cache.stock
|
|
||||||
WHERE warehouse_id = vWarehouseFk
|
|
||||||
AND (vItemFk IS NULL OR vItemFk = item_id)
|
|
||||||
ON DUPLICATE KEY UPDATE
|
|
||||||
stock = stock + VALUES(stock),
|
|
||||||
visible = visible + VALUES(visible),
|
|
||||||
available = available + VALUES(available);
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
Loading…
Reference in New Issue