63 lines
1.9 KiB
SQL
63 lines
1.9 KiB
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemShelving_inventory`(vParkingFromFk VARCHAR(8), vParkingToFk VARCHAR(8))
|
|
BEGIN
|
|
/**
|
|
* Devuelve un listado de ubicaciones a revisar
|
|
*
|
|
* @param vParkingFromFk Parking de partida, identificador de parking
|
|
* @param vParkingToFk Parking de llegada, identificador de parking
|
|
*/
|
|
DECLARE vSectorFk INT;
|
|
DECLARE vPickingOrderFrom INT;
|
|
DECLARE vPickingOrderTo INT;
|
|
|
|
SELECT p.sectorFk, p.pickingOrder INTO vSectorFk, vPickingOrderFrom
|
|
FROM parking p
|
|
WHERE p.code = vParkingFromFk COLLATE 'utf8mb3_general_ci';
|
|
|
|
SELECT p.pickingOrder INTO vPickingOrderTo
|
|
FROM parking p
|
|
WHERE p.code = vParkingToFk COLLATE 'utf8mb3_general_ci';
|
|
|
|
CALL visible_getMisfit(vSectorFk);
|
|
|
|
SELECT ish.id,
|
|
p.pickingOrder,
|
|
p.code parking,
|
|
ish.shelvingFk,
|
|
ish.itemFk,
|
|
i.longName,
|
|
ish.visible,
|
|
p.sectorFk,
|
|
it.workerFk buyer,
|
|
CONCAT('http:',ic.url, '/catalog/1600x900/',i.image) urlImage,
|
|
ish.isChecked,
|
|
CASE
|
|
WHEN s.notPrepared > sm.parked THEN 0
|
|
WHEN sm.visible > sm.parked THEN 1
|
|
ELSE 2
|
|
END priority
|
|
FROM itemShelving ish
|
|
JOIN item i ON i.id = ish.itemFk
|
|
JOIN itemType it ON it.id = i.typeFk
|
|
JOIN tmp.stockMisfit sm ON sm.itemFk = ish.itemFk
|
|
JOIN shelving sh ON sh.code = ish.shelvingFk
|
|
JOIN parking p ON p.id = sh.parkingFk
|
|
JOIN (
|
|
SELECT s.itemFk, sum(s.quantity) notPrepared
|
|
FROM sale s
|
|
JOIN ticket t ON t.id = s.ticketFk
|
|
JOIN warehouse w ON w.id = t.warehouseFk
|
|
JOIN config c ON c.mainWarehouseFk = w.id
|
|
WHERE t.shipped BETWEEN util.VN_CURDATE()
|
|
AND util.dayEnd(util.VN_CURDATE())
|
|
AND s.isPicked = FALSE
|
|
GROUP BY s.itemFk
|
|
) s ON s.itemFk = i.id
|
|
JOIN hedera.imageConfig ic
|
|
WHERE p.pickingOrder BETWEEN vPickingOrderFrom AND vPickingOrderTo
|
|
AND p.sectorFk = vSectorFk
|
|
ORDER BY p.pickingOrder;
|
|
END$$
|
|
DELIMITER ;
|