#5858 - zoneCollisions #1853
|
@ -19,19 +19,12 @@ BEGIN
|
|||
DECLARE vTypeFk INT;
|
||||
DECLARE vPriority INT DEFAULT 1;
|
||||
|
||||
DECLARE vTag1 VARCHAR(20) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vTag5 VARCHAR(20) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vTag6 VARCHAR(20) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vTag7 VARCHAR(20) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vTag8 VARCHAR(20) COLLATE 'utf8_unicode_ci';
|
||||
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vDated);
|
||||
|
||||
DECLARE vValue1 VARCHAR(50) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vValue5 VARCHAR(50) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vValue6 VARCHAR(50) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vValue7 VARCHAR(50) COLLATE 'utf8_unicode_ci';
|
||||
DECLARE vValue8 VARCHAR(50) COLLATE 'utf8_unicode_ci';
|
||||
|
||||
SELECT typeFk,
|
||||
WITH itemTags AS (
|
||||
SELECT i.id,
|
||||
typeFk,
|
||||
tag5,
|
||||
value5,
|
||||
tag6,
|
||||
|
@ -42,70 +35,58 @@ BEGIN
|
|||
value8,
|
||||
t.name,
|
||||
it.value
|
||||
INTO vTypeFk,
|
||||
vTag5,
|
||||
vValue5,
|
||||
vTag6,
|
||||
vValue6,
|
||||
vTag7,
|
||||
vValue7,
|
||||
vTag8,
|
||||
vValue8,
|
||||
vTag1,
|
||||
vValue1
|
||||
FROM item i
|
||||
LEFT JOIN itemTag it ON it.itemFk = i.id
|
||||
FROM vn.item i
|
||||
LEFT JOIN vn.itemTag it ON it.itemFk = i.id
|
||||
AND it.priority = vPriority
|
||||
LEFT JOIN tag t ON t.id = it.tagFk
|
||||
WHERE i.id = vSelf;
|
||||
|
||||
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vDated);
|
||||
|
||||
LEFT JOIN vn.tag t ON t.id = it.tagFk
|
||||
WHERE i.id = vSelf
|
||||
)
|
||||
SELECT i.id itemFk,
|
||||
i.longName,
|
||||
i.subName,
|
||||
i.tag5,
|
||||
i.value5,
|
||||
(i.value5 <=> vValue5) match5,
|
||||
(i.value5 <=> its.value5) match5,
|
||||
i.tag6,
|
||||
i.value6,
|
||||
(i.value6 <=> vValue6) match6,
|
||||
(i.value6 <=> its.value6) match6,
|
||||
i.tag7,
|
||||
i.value7,
|
||||
(i.value7 <=> vValue7) match7,
|
||||
(i.value7 <=> its.value7) match7,
|
||||
i.tag8,
|
||||
i.value8,
|
||||
(i.value8 <=> vValue8) match8,
|
||||
(i.value8 <=> its.value8) match8,
|
||||
a.available,
|
||||
IFNULL(ip.counter, 0) `counter`,
|
||||
IF(b.groupingMode = 1, b.grouping, b.packing) minQuantity,
|
||||
iss.visible located
|
||||
FROM item i
|
||||
STRAIGHT_JOIN cache.available a ON a.item_id = i.id
|
||||
FROM vn.item i
|
||||
JOIN cache.available a ON a.item_id = i.id
|
||||
AND a.calc_id = vCalcFk
|
||||
LEFT JOIN itemProposal ip ON ip.mateFk = i.id
|
||||
LEFT JOIN vn.itemProposal ip ON ip.mateFk = i.id
|
||||
AND ip.itemFk = vSelf
|
||||
LEFT JOIN itemTag it ON it.itemFk = i.id
|
||||
LEFT JOIN vn.itemTag it ON it.itemFk = i.id
|
||||
AND it.priority = vPriority
|
||||
LEFT JOIN tag t ON t.id = it.tagFk
|
||||
LEFT JOIN vn.tag t ON t.id = it.tagFk
|
||||
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id
|
||||
AND lb.warehouse_id = vWarehouseFk
|
||||
LEFT JOIN buy b ON b.id = lb.buy_id
|
||||
LEFT JOIN itemShelvingStock iss ON iss.itemFk = i.id
|
||||
LEFT JOIN vn.buy b ON b.id = lb.buy_id
|
||||
LEFT JOIN vn.itemShelvingStock iss ON iss.itemFk = i.id
|
||||
AND iss.warehouseFk = vWarehouseFk
|
||||
JOIN itemTags its
|
||||
WHERE a.available > 0
|
||||
AND IF(vShowType, i.typeFk = vTypeFk, TRUE)
|
||||
AND IF(vShowType, i.typeFk = its.typeFk, TRUE)
|
||||
AND i.id <> vSelf
|
||||
ORDER BY `counter` DESC,
|
||||
(t.name = vTag1) DESC,
|
||||
(it.value = vValue1) DESC,
|
||||
(i.tag5 = vTag5) DESC,
|
||||
(t.name = its.name) DESC,
|
||||
(it.value = its.value) DESC,
|
||||
(i.tag5 = its.tag5) DESC,
|
||||
match5 DESC,
|
||||
(i.tag6 = vTag6) DESC,
|
||||
(i.tag6 = its.tag6) DESC,
|
||||
match6 DESC,
|
||||
(i.tag7 = vTag7) DESC,
|
||||
(i.tag7 = its.tag7) DESC,
|
||||
match7 DESC,
|
||||
(i.tag8 = vTag8) DESC,
|
||||
(i.tag8 = its.tag8) DESC,
|
||||
match8 DESC;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
Loading…
Reference in New Issue