59 lines
1.6 KiB
MySQL
59 lines
1.6 KiB
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`sale_getBoxPickingList`(vSectorFk INT, vDated DATE)
|
||
|
BEGIN
|
||
|
/**
|
||
|
* Returns a suitable boxPicking sales list
|
||
|
*
|
||
|
* @param vSectorFk Identifier for vn.sector table
|
||
|
* @param vDated Date for vn.tickets.shipping
|
||
|
*
|
||
|
* @return tmp.sale
|
||
|
*/
|
||
|
DECLARE vWarehouseFk INT;
|
||
|
|
||
|
SELECT warehouseFk INTO vWarehouseFk
|
||
|
FROM sector
|
||
|
WHERE id = vSectorFk;
|
||
|
|
||
|
CALL productionControl(vWarehouseFk, 0);
|
||
|
|
||
|
SELECT
|
||
|
s.ticketFk,
|
||
|
s.id saleFk,
|
||
|
s.itemFk,
|
||
|
s.concept,
|
||
|
s.quantity,
|
||
|
MAKETIME(pb.HH,pb.mm,0) etd,
|
||
|
pb.routeFk,
|
||
|
s.quantity / i.packingOut stickers,
|
||
|
i.packingOut
|
||
|
FROM sale s
|
||
|
JOIN item i ON i.id = s.itemFk
|
||
|
JOIN itemShelving ish ON ish.itemFk = s.itemFk
|
||
|
JOIN shelving sh ON sh.code = ish.shelvingFk
|
||
|
JOIN parking p ON p.id = sh.parkingFk
|
||
|
JOIN tmp.productionBuffer pb ON pb.ticketFk = s.ticketFk
|
||
|
JOIN agencyMode am ON am.id = pb.agencyModeFk
|
||
|
LEFT JOIN routesMonitor rm ON rm.routeFk = pb.routeFk
|
||
|
LEFT JOIN itemShelvingStock iss ON iss.itemFk = s.itemFk AND iss.sectorFk = p.sectorFk
|
||
|
LEFT JOIN saleGroupDetail sgd ON sgd.saleFk = s.id
|
||
|
LEFT JOIN ticketState ts ON ts.ticketFk = s.ticketFk
|
||
|
WHERE s.quantity MOD i.packingOut = 0
|
||
|
AND pb.problem = ""
|
||
|
AND s.quantity > 0
|
||
|
AND sgd.saleFk IS NULL
|
||
|
AND p.sectorFk = vSectorFk
|
||
|
AND ts.isPreviousPreparable
|
||
|
AND iss.visible >= s.quantity
|
||
|
AND ((rm.bufferFk AND rm.isPickingAllowed)
|
||
|
OR am.name = 'REC_ALGEMESI')
|
||
|
AND pb.shipped = vDated
|
||
|
GROUP BY s.id
|
||
|
ORDER BY etd;
|
||
|
|
||
|
DROP TEMPORARY TABLE tmp.productionBuffer;
|
||
|
END$$
|
||
|
DELIMITER ;
|
||
|
|
||
|
|