locallyTested #2956
|
@ -167,7 +167,8 @@ BEGIN
|
|||
OR LENGTH(pb.problem)
|
||||
OR pb.lines > vLinesLimit
|
||||
OR pb.m3 > vVolumeLimit
|
||||
OR sub.maxSize > vSizeLimit;
|
||||
OR sub.maxSize > vSizeLimit
|
||||
OR pb.hasPlantTray;
|
||||
END IF;
|
||||
|
||||
-- Hay que excluir aquellos que no tengan la misma hora de preparacion, si procede
|
||||
|
|
|
@ -211,8 +211,6 @@ proc: BEGIN
|
|||
salesInParkingCount INT DEFAULT 0)
|
||||
ENGINE = MEMORY;
|
||||
|
||||
-- Insertamos todos los tickets que tienen productos parkineados
|
||||
-- en sectores de previa, segun el sector
|
||||
CREATE OR REPLACE TEMPORARY TABLE tItemShelvingStock
|
||||
(PRIMARY KEY(itemFk, sectorFk))
|
||||
ENGINE = MEMORY
|
||||
|
@ -245,7 +243,6 @@ proc: BEGIN
|
|||
AND s.quantity > 0
|
||||
GROUP BY pb.ticketFk;
|
||||
|
||||
-- Se calcula la cantidad de productos que estan ya preparados porque su saleGroup está aparcado
|
||||
UPDATE tmp.ticketWithPrevia twp
|
||||
JOIN (
|
||||
SELECT pb.ticketFk, COUNT(DISTINCT s.id) salesInParkingCount
|
||||
|
@ -259,12 +256,28 @@ proc: BEGIN
|
|||
) sub ON twp.ticketFk = sub.ticketFk
|
||||
SET twp.salesInParkingCount = sub.salesInParkingCount;
|
||||
|
||||
-- Marcamos como pendientes aquellos que no coinciden las cantidades
|
||||
UPDATE tmp.productionBuffer pb
|
||||
JOIN tmp.ticketWithPrevia twp ON twp.ticketFk = pb.ticketFk
|
||||
SET pb.previousWithoutParking = TRUE
|
||||
WHERE twp.salesCount > twp.salesInParkingCount;
|
||||
|
||||
-- hasPlantTray
|
||||
ALTER TABLE tmp.productionBuffer
|
||||
ADD hasPlantTray BOOL DEFAULT FALSE;
|
||||
|
||||
UPDATE tmp.productionBuffer pb
|
||||
JOIN sale s ON s.ticketFk = pb.ticketFk
|
||||
JOIN item i ON i.id = s.itemFk
|
||||
JOIN itemType it ON it.id = i.typeFk
|
||||
|
||||
JOIN itemCategory ic ON ic.id = it.categoryFk
|
||||
JOIN cache.last_buy lb ON lb.warehouse_id = vWarehouseFk AND lb.item_id = s.itemFk
|
||||
JOIN buy b ON b.id = lb.buy_id
|
||||
JOIN packaging p ON p.id = b.packagingFk
|
||||
JOIN productionConfig pc
|
||||
SET hasPlantTray = TRUE
|
||||
WHERE ic.code = 'plant'
|
||||
AND p.`depth` >= pc.minPlantTrayLength;
|
||||
pako marked this conversation as resolved
carlosap
commented
No deuria de ser > i no >=? No deuria de ser > i no >=?
pako
commented
No, es correcte. Es la mida a partir de la cual volen la restricció No, es correcte. Es la mida a partir de la cual volen la restricció
|
||||
|
||||
DROP TEMPORARY TABLE
|
||||
tmp.productionTicket,
|
||||
tmp.ticket,
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
-- Place your SQL code here
|
||||
ALTER TABLE vn.productionConfig ADD minPlantTrayLength INT DEFAULT 53 NOT NULL
|
||||
COMMENT 'minimum length for plant tray restriction. Avoid to make collection of the ticket with this kind of item';
|
Loading…
Reference in New Issue
EL JOIN encara que es raro en el UDPATE tabulem 2 vegades
fet