feat: refs #8030 new field vn.priceDelta.zoneGeoFk #3050
|
@ -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
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
-- Place your SQL code here
|
||||
|
||||
ALTER TABLE vn.priceDelta ADD IF NOT EXISTS zoneGeoFk int(11) NULL;
|
||||
|
||||
ALTER TABLE vn.priceDelta ADD CONSTRAINT priceDelta_zoneGeo_FK FOREIGN KEY IF NOT EXISTS (zoneGeoFk)
|
||||
REFERENCES vn.zoneGeo (`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
Loading…
Reference in New Issue