Merge pull request 'feat(previaDelta): refs #8030 new algorithym for coincident records' (!3036) from 8030-newPriceComponent into dev
gitea/salix/pipeline/head This commit looks good Details

Reviewed-on: #3036
Reviewed-by: Pablo Natek <pablone@verdnatura.es>
This commit is contained in:
Pako Natek 2024-09-30 08:32:44 +00:00
commit de93e477f8
1 changed files with 23 additions and 18 deletions

View File

@ -28,6 +28,8 @@ BEGIN
CREATE OR REPLACE TEMPORARY TABLE tPriceDelta CREATE OR REPLACE TEMPORARY TABLE tPriceDelta
(INDEX (itemFk)) (INDEX (itemFk))
ENGINE = MEMORY ENGINE = MEMORY
SELECT * FROM
(
SELECT i.id itemFk, SELECT i.id itemFk,
SUM(IFNULL(pd.absIncreasing,0)) absIncreasing, SUM(IFNULL(pd.absIncreasing,0)) absIncreasing,
SUM(IFNULL(pd.ratIncreasing,0)) ratIncreasing, SUM(IFNULL(pd.ratIncreasing,0)) ratIncreasing,
@ -42,10 +44,13 @@ BEGIN
AND (pd.producerFk IS NULL OR pd.producerFk = i.producerFk) AND (pd.producerFk IS NULL OR pd.producerFk = i.producerFk)
AND (pd.warehouseFk IS NULL OR pd.warehouseFk = vWarehouseFk) AND (pd.warehouseFk IS NULL OR pd.warehouseFk = vWarehouseFk)
LEFT JOIN zoneGeo zg ON zg.id = pd.zoneGeoFk 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) WHERE (pd.fromDated IS NULL OR pd.fromDated <= vShipped)
AND (pd.toDated IS NULL OR pd.toDated >= vShipped) AND (pd.toDated IS NULL OR pd.toDated >= vShipped)
AND (pd.zoneGeoFk IS NULL OR address_getGeo(vAddressFk) BETWEEN zg.lft AND zg.rgt) AND (pd.zoneGeoFk IS NULL OR zg2.lft BETWEEN zg.lft AND zg.rgt)
GROUP BY i.id; ORDER BY zg.`depth` DESC
LIMIT 10000000000000000000
) sub GROUP BY itemFk;
CREATE OR REPLACE TEMPORARY TABLE tSpecialPrice CREATE OR REPLACE TEMPORARY TABLE tSpecialPrice
(INDEX (itemFk)) (INDEX (itemFk))