From aa597870a48df35e7c61088ad1ad00efb80e671f Mon Sep 17 00:00:00 2001 From: Pako Date: Wed, 26 Feb 2025 08:33:39 +0100 Subject: [PATCH] feat(catalog_calculate): priceDelta.isHidden restriction refs#8674 --- .../vn/procedures/catalog_calculate.sql | 22 ++++++++++++++++++- .../11456-goldenDracena/00-firstScript.sql | 3 +++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 db/versions/11456-goldenDracena/00-firstScript.sql diff --git a/db/routines/vn/procedures/catalog_calculate.sql b/db/routines/vn/procedures/catalog_calculate.sql index 09f42f09aa..63d1d40eb4 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,9 @@ 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/11456-goldenDracena/00-firstScript.sql b/db/versions/11456-goldenDracena/00-firstScript.sql new file mode 100644 index 0000000000..fba3ba8088 --- /dev/null +++ b/db/versions/11456-goldenDracena/00-firstScript.sql @@ -0,0 +1,3 @@ +ALTER TABLE vn.priceDelta ADD IF NOT EXISTS isHidden BOOL + DEFAULT FALSE NOT NULL + COMMENT 'Hides the itemType when building de catalog recordset'; -- 2.40.1