x
This commit is contained in:
@@ -10,7 +10,8 @@ export const {
|
||||
COUNT_CUSTOMER_GROUPS, COUNT_COMPOSITE_PRODUCTS, MAX_ORDER_ID,
|
||||
LIST_POS_PRODUCT_CATEGORIES, LIST_POS_CUSTOMER_GROUP_IDS, LIST_POS_PRODUCT_PRICES,
|
||||
LIST_POS_MANDATED_OPTIONS, LIST_POS_PARENT_OPTIONS,
|
||||
TOUCH_LASTSEEN, RECORD_OBITUARY, COUNT_DELETED_ENTITIES,
|
||||
TOUCH_LASTSEEN, RECORD_OBITUARY, RECORD_SYNC_QUEUE, SEED_SYNC_QUEUE_FOR_TERMINAL,
|
||||
COUNT_DELETED_ENTITIES,
|
||||
} = queries;
|
||||
|
||||
export const SET_ON = `
|
||||
@@ -50,13 +51,19 @@ SELECT
|
||||
cg.name,
|
||||
CASE WHEN cg.id = co.poscustomergroup_id THEN '1' ELSE '0' END AS standard,
|
||||
'0.000000' AS discountPercent,
|
||||
CAST(strftime('%s', cg.updated_at) AS INTEGER) AS lastChanged
|
||||
FROM customergroup cg
|
||||
sq.syncId AS lastChanged
|
||||
FROM (
|
||||
SELECT entity_id, MAX(id) AS syncId
|
||||
FROM posterminalsyncqueue
|
||||
WHERE posterminal_id = @posterminalId AND entity_type = 'customergroup'
|
||||
GROUP BY entity_id
|
||||
HAVING MAX(id) > @cursor
|
||||
) sq
|
||||
INNER JOIN customergroup cg ON cg.id = sq.entity_id
|
||||
INNER JOIN posterminal pt ON pt.id = @posterminalId AND pt.company_id = cg.company_id
|
||||
INNER JOIN company co ON co.id = pt.company_id
|
||||
WHERE cg.name <> 'Lieferanten'
|
||||
AND CAST(strftime('%s', cg.updated_at) AS INTEGER) > @cursor
|
||||
ORDER BY lastChanged ASC, cg.id ASC
|
||||
ORDER BY sq.syncId ASC
|
||||
LIMIT @limit
|
||||
`;
|
||||
|
||||
@@ -116,13 +123,19 @@ SELECT
|
||||
ORDER BY ec.sort ASC, ec.id ASC
|
||||
LIMIT 1
|
||||
) AS email,
|
||||
CAST(strftime('%s', e.updated_at) AS INTEGER) AS lastChanged
|
||||
FROM entity e
|
||||
sq.syncId AS lastChanged
|
||||
FROM (
|
||||
SELECT entity_id, MAX(id) AS syncId
|
||||
FROM posterminalsyncqueue
|
||||
WHERE posterminal_id = @posterminalId AND entity_type = 'customer'
|
||||
GROUP BY entity_id
|
||||
HAVING MAX(id) > @cursor
|
||||
) sq
|
||||
INNER JOIN entity e ON e.id = sq.entity_id
|
||||
INNER JOIN customergroup cg ON cg.id = e.customergroup_id
|
||||
INNER JOIN posterminal pt ON pt.id = @posterminalId AND pt.company_id = cg.company_id
|
||||
WHERE cg.name <> 'Lieferanten'
|
||||
AND CAST(strftime('%s', e.updated_at) AS INTEGER) > @cursor
|
||||
ORDER BY lastChanged ASC, e.id ASC
|
||||
ORDER BY sq.syncId ASC
|
||||
LIMIT @limit
|
||||
`;
|
||||
|
||||
@@ -141,16 +154,21 @@ SELECT
|
||||
ORDER BY cp.sort ASC, cp.id ASC
|
||||
LIMIT 1
|
||||
) AS imgHash,
|
||||
CAST(strftime('%s', c.updated_at) AS INTEGER) AS lastChanged
|
||||
FROM category c
|
||||
INNER JOIN posterminalcategory pc ON pc.category_id = c.id
|
||||
sq.syncId AS lastChanged
|
||||
FROM (
|
||||
SELECT entity_id, MAX(id) AS syncId
|
||||
FROM posterminalsyncqueue
|
||||
WHERE posterminal_id = @posterminalId AND entity_type = 'category'
|
||||
GROUP BY entity_id
|
||||
HAVING MAX(id) > @cursor
|
||||
) sq
|
||||
INNER JOIN category c ON c.id = sq.entity_id
|
||||
INNER JOIN posterminalcategory pc ON pc.category_id = c.id AND pc.posterminal_id = @posterminalId
|
||||
INNER JOIN posterminal pt ON pt.id = pc.posterminal_id
|
||||
INNER JOIN company co ON co.id = pt.company_id
|
||||
LEFT JOIN categorytext ct ON ct.category_id = c.id AND ct.language_id = co.default_language_id
|
||||
WHERE pc.posterminal_id = @posterminalId
|
||||
AND (co.root_category_id IS NULL OR c.id <> co.root_category_id)
|
||||
AND CAST(strftime('%s', c.updated_at) AS INTEGER) > @cursor
|
||||
ORDER BY lastChanged ASC, c.id ASC
|
||||
WHERE (co.root_category_id IS NULL OR c.id <> co.root_category_id)
|
||||
ORDER BY sq.syncId ASC
|
||||
LIMIT @limit
|
||||
`;
|
||||
|
||||
@@ -162,7 +180,7 @@ SELECT
|
||||
COALESCE(pr.net, 0) AS netPrice,
|
||||
COALESCE(ptax.rate, ctax.rate, 0) AS taxRate,
|
||||
a.created_at AS createdAt,
|
||||
(CAST(strftime('%s', a.updated_at) AS INTEGER) * 1000000 + (a.id % 1000000)) AS lastChanged,
|
||||
sq.syncId AS lastChanged,
|
||||
COALESCE(
|
||||
(
|
||||
SELECT p.hash
|
||||
@@ -265,7 +283,14 @@ SELECT
|
||||
co.id AS companyId,
|
||||
co.root_category_id AS rootCategoryId,
|
||||
co.poscustomergroup_id AS posCustomerGroupId
|
||||
FROM article a
|
||||
FROM (
|
||||
SELECT entity_id, MAX(id) AS syncId
|
||||
FROM posterminalsyncqueue
|
||||
WHERE posterminal_id = @posterminalId AND entity_type = 'article'
|
||||
GROUP BY entity_id
|
||||
HAVING MAX(id) > @cursor
|
||||
) sq
|
||||
INNER JOIN article a ON a.id = sq.entity_id
|
||||
INNER JOIN posterminal pt ON pt.id = @posterminalId AND pt.company_id = a.company_id
|
||||
INNER JOIN company co ON co.id = a.company_id
|
||||
LEFT JOIN articletext at ON at.article_id = a.id AND at.language_id = co.default_language_id
|
||||
@@ -279,8 +304,7 @@ WHERE EXISTS (
|
||||
WHERE ca.article_id = a.id
|
||||
AND pc.posterminal_id = @posterminalId
|
||||
)
|
||||
AND (CAST(strftime('%s', a.updated_at) AS INTEGER) * 1000000 + (a.id % 1000000)) > @cursor
|
||||
ORDER BY (CAST(strftime('%s', a.updated_at) AS INTEGER) * 1000000 + (a.id % 1000000)) ASC
|
||||
ORDER BY sq.syncId ASC
|
||||
LIMIT @limit
|
||||
`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user