From a80614a46d3fedeb8cc84ab746fa6515fa58ecfd Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 26 Feb 2025 12:18:55 +0100 Subject: [PATCH] feat(catalog_calculate): refs #8674 refs#8674 --- .../vn/procedures/catalog_calculate.sql | 21 ++++++++++++++++++- .../11457-redCataractarum/00-firstScript.sql | 4 ++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 db/versions/11457-redCataractarum/00-firstScript.sql diff --git a/db/routines/vn/procedures/catalog_calculate.sql b/db/routines/vn/procedures/catalog_calculate.sql index 09f42f09aa..f9aa957fe6 100644 --- a/db/routines/vn/procedures/catalog_calculate.sql +++ b/db/routines/vn/procedures/catalog_calculate.sql @@ -104,6 +104,24 @@ BEGIN LEFT JOIN agencyModeItemType ait ON ait.agencyModeFk = vAgencyModeFk AND ait.itemTypeFk = itt.id + LEFT JOIN ( + SELECT i.id + 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) + AND pd.isHidden + GROUP BY i.id) pd ON pd.id = i.itemFk WHERE a.calc_id = vAvailableCalc AND a.available > 0 AND (ag.isAnyVolumeAllowed OR NOT itt.isUnconventionalSize) @@ -113,7 +131,8 @@ BEGIN it.size <= z.itemMaxSize OR z.itemMaxSize IS NULL)) AND cit.id IS NULL AND zit.id IS NULL - AND ait.id IS NULL; + AND ait.id IS NULL + AND pd.id IS NULL; DROP TEMPORARY TABLE tmp.buyUltimate; diff --git a/db/versions/11457-redCataractarum/00-firstScript.sql b/db/versions/11457-redCataractarum/00-firstScript.sql new file mode 100644 index 0000000000..ed888e945c --- /dev/null +++ b/db/versions/11457-redCataractarum/00-firstScript.sql @@ -0,0 +1,4 @@ +-- Place your SQL code here +ALTER TABLE vn.priceDelta ADD IF NOT EXISTS isHidden BOOL + DEFAULT FALSE NOT NULL + COMMENT 'Hides the itemType when building de catalog recordset'; \ No newline at end of file