This commit is contained in:
seb
2026-07-12 21:55:10 +02:00
parent ee09434ea9
commit 23c5b76027
5 changed files with 79 additions and 5 deletions

View File

@@ -10,7 +10,15 @@ INNER JOIN dbo.tKategorieArtikel ka ON ka.kArtikel = a.kArtikel
WHERE a.cAktiv = 'Y'
AND ka.kKategorie IN (SELECT kKategorie FROM CategoryTree)
AND (@kShop = 0 OR EXISTS (SELECT 1 FROM dbo.tKategorieShop ks WHERE ks.kKategorie = ka.kKategorie AND ks.kShop = @kShop))
AND CONVERT(BIGINT, a.bRowversion) > @cursor;
AND (
CONVERT(BIGINT, a.bRowversion) > @cursor
OR EXISTS (
SELECT 1 FROM dbo.tArtikelbildPlattform abp
WHERE abp.kArtikel = a.kArtikel
AND abp.kShop = @kShop
AND CONVERT(BIGINT, abp.bRowversion) > @cursor
)
);
`;
export async function getProductCount({ cursor = 0, rootCategoryId = getRootCategoryId() } = {}) {

View File

@@ -14,6 +14,12 @@ WITH TaxRates AS (
SELECT kSteuerklasse, fSteuersatz
FROM dbo.tSteuersatz
WHERE kSteuerzone IN (SELECT kSteuerzone FROM dbo.tSteuerzone WHERE cName = @taxZoneName)
),
ImageRV AS (
SELECT kArtikel, MAX(CONVERT(BIGINT, bRowversion)) AS maxImageRV
FROM dbo.tArtikelbildPlattform
WHERE kShop = @kShop
GROUP BY kArtikel
)
SELECT TOP (@limit)
a.kArtikel AS id,
@@ -22,7 +28,11 @@ SELECT TOP (@limit)
a.fVKNetto AS netPrice,
tr.fSteuersatz AS taxRate,
a.dErstelldatum AS createdAt,
CONVERT(BIGINT, a.bRowversion) AS lastChanged,
CASE
WHEN ir.maxImageRV IS NOT NULL AND ir.maxImageRV > CONVERT(BIGINT, a.bRowversion)
THEN ir.maxImageRV
ELSE CONVERT(BIGINT, a.bRowversion)
END AS lastChanged,
(
SELECT TOP 1 img.cHash
FROM dbo.tArtikelbildPlattform abp
@@ -48,13 +58,17 @@ SELECT TOP (@limit)
FROM dbo.tArtikel a
INNER JOIN dbo.tArtikelBeschreibung ab ON ab.kArtikel = a.kArtikel AND ab.kSprache = @languageId
LEFT JOIN TaxRates tr ON tr.kSteuerklasse = a.kSteuerklasse
LEFT JOIN ImageRV ir ON ir.kArtikel = a.kArtikel
WHERE a.cAktiv = 'Y'
AND (@kShop = 0 OR EXISTS (
SELECT 1 FROM dbo.tKategorieArtikel ka
INNER JOIN dbo.tKategorieShop ks ON ks.kKategorie = ka.kKategorie AND ks.kShop = @kShop
WHERE ka.kArtikel = a.kArtikel
))
AND CONVERT(BIGINT, a.bRowversion) > @cursor
AND (
CONVERT(BIGINT, a.bRowversion) > @cursor
OR (ir.maxImageRV IS NOT NULL AND ir.maxImageRV > @cursor)
)
ORDER BY lastChanged ASC;
`;