|
|
|
@ -29,21 +29,24 @@ BEGIN
|
|
|
|
|
(INDEX (itemFk))
|
|
|
|
|
ENGINE = MEMORY
|
|
|
|
|
SELECT i.id itemFk,
|
|
|
|
|
SUM(IFNULL(pd.absIncreasing,0)) absIncreasing,
|
|
|
|
|
SUM(IFNULL(pd.ratIncreasing,0)) ratIncreasing,
|
|
|
|
|
pd.warehouseFk
|
|
|
|
|
FROM item i
|
|
|
|
|
JOIN priceDelta pd
|
|
|
|
|
ON pd.itemTypeFk = i.typeFk
|
|
|
|
|
AND (pd.minSize IS NULL OR pd.minSize <= i.`size`)
|
|
|
|
|
AND (pd.maxSize IS NULL OR pd.maxSize >= i.`size`)
|
|
|
|
|
AND (pd.inkFk IS NULL OR pd.inkFk = i.inkFk)
|
|
|
|
|
AND (pd.originFk IS NULL OR pd.originFk = i.originFk)
|
|
|
|
|
AND (pd.producerFk IS NULL OR pd.producerFk = i.producerFk)
|
|
|
|
|
AND (pd.warehouseFk IS NULL OR pd.warehouseFk = vWarehouseFk)
|
|
|
|
|
WHERE (pd.fromDated IS NULL OR pd.fromDated <= vShipped)
|
|
|
|
|
AND (pd.toDated IS NULL OR pd.toDated >= vShipped)
|
|
|
|
|
GROUP BY i.id;
|
|
|
|
|
SUM(IFNULL(pd.absIncreasing,0)) absIncreasing,
|
|
|
|
|
SUM(IFNULL(pd.ratIncreasing,0)) ratIncreasing,
|
|
|
|
|
pd.warehouseFk
|
|
|
|
|
FROM item i
|
|
|
|
|
JOIN priceDelta pd
|
|
|
|
|
ON pd.itemTypeFk = i.typeFk
|
|
|
|
|
AND (pd.minSize IS NULL OR pd.minSize <= i.`size`)
|
|
|
|
|
AND (pd.maxSize IS NULL OR pd.maxSize >= i.`size`)
|
|
|
|
|
AND (pd.inkFk IS NULL OR pd.inkFk = i.inkFk)
|
|
|
|
|
AND (pd.originFk IS NULL OR pd.originFk = i.originFk)
|
|
|
|
|
AND (pd.producerFk IS NULL OR pd.producerFk = i.producerFk)
|
|
|
|
|
AND (pd.warehouseFk IS NULL OR pd.warehouseFk = vWarehouseFk)
|
|
|
|
|
LEFT JOIN zoneGeo zg ON zg.id = pd.zoneGeoFk
|
|
|
|
|
LEFT JOIN zoneGeo zg2 ON zg2.id = address_getGeo(vAddressFk)
|
|
|
|
|
WHERE (pd.fromDated IS NULL OR pd.fromDated <= vShipped)
|
|
|
|
|
AND (pd.toDated IS NULL OR pd.toDated >= vShipped)
|
|
|
|
|
AND (pd.zoneGeoFk IS NULL OR zg2.lft BETWEEN zg.lft AND zg.rgt)
|
|
|
|
|
GROUP BY itemFk;
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tSpecialPrice
|
|
|
|
|
(INDEX (itemFk))
|
|
|
|
@ -130,15 +133,15 @@ BEGIN
|
|
|
|
|
|
|
|
|
|
-- Bonus del comprador a un rango de productos
|
|
|
|
|
INSERT INTO tmp.ticketComponent(warehouseFk, itemFk, componentFk, cost)
|
|
|
|
|
SELECT
|
|
|
|
|
SELECT
|
|
|
|
|
tcb.warehouseFk,
|
|
|
|
|
tcb.itemFk,
|
|
|
|
|
c.id,
|
|
|
|
|
IFNULL(tcb.base * tpd.ratIncreasing / 100,0) + IFNULL(tpd.absIncreasing,0)
|
|
|
|
|
FROM tmp.ticketComponentBase tcb
|
|
|
|
|
JOIN component c ON c.code = 'bonus'
|
|
|
|
|
JOIN tPriceDelta tpd
|
|
|
|
|
ON tpd.itemFk = tcb.itemFk
|
|
|
|
|
JOIN tPriceDelta tpd
|
|
|
|
|
ON tpd.itemFk = tcb.itemFk
|
|
|
|
|
AND tpd.warehouseFk = tcb.warehouseFk;
|
|
|
|
|
|
|
|
|
|
-- RECOBRO
|
|
|
|
|