u
This commit is contained in:
@@ -462,12 +462,12 @@ export const GET_ARTICLE_BY_SKU_FULL = `
|
||||
co.default_language_id AS languageId,
|
||||
co.poscustomergroup_id AS posCustomerGroupId,
|
||||
cu.id AS companyuserId
|
||||
FROM article a
|
||||
INNER JOIN company co ON co.id = a.company_id
|
||||
INNER JOIN google_auth ga ON ga.id = @googleAuthId
|
||||
INNER JOIN companyuser cu
|
||||
FROM article a WITH (NOLOCK)
|
||||
INNER JOIN company co WITH (NOLOCK) ON co.id = a.company_id
|
||||
INNER JOIN google_auth ga WITH (NOLOCK) ON ga.id = @googleAuthId
|
||||
INNER JOIN companyuser cu WITH (NOLOCK)
|
||||
ON cu.company_id = a.company_id AND cu.google_auth_id = @googleAuthId
|
||||
LEFT JOIN categoryarticle ca ON ca.article_id = a.id
|
||||
LEFT JOIN categoryarticle ca WITH (NOLOCK) ON ca.article_id = a.id
|
||||
WHERE a.sku = @sku
|
||||
AND (ga.selected_company IS NULL OR a.company_id = ga.selected_company)
|
||||
)
|
||||
@@ -503,7 +503,7 @@ SELECT
|
||||
bp.thumbhash AS brandThumbHash,
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM optionslistarticle ola
|
||||
FROM optionslistarticle ola WITH (NOLOCK)
|
||||
WHERE ola.optionslist_id = a.optionslist_id
|
||||
) AS optionsCount,
|
||||
a.optionslist_id AS optionslistId,
|
||||
@@ -516,16 +516,16 @@ SELECT
|
||||
ola.count,
|
||||
ola.sort,
|
||||
ola.mandated
|
||||
FROM optionslistarticle ola
|
||||
INNER JOIN article a_opt ON a_opt.id = ola.article_id
|
||||
LEFT JOIN articletext at_opt ON at_opt.article_id = a_opt.id AND at_opt.language_id = auth.languageId
|
||||
FROM optionslistarticle ola WITH (NOLOCK)
|
||||
INNER JOIN article a_opt WITH (NOLOCK) ON a_opt.id = ola.article_id
|
||||
LEFT JOIN articletext at_opt WITH (NOLOCK) ON at_opt.article_id = a_opt.id AND at_opt.language_id = auth.languageId
|
||||
WHERE ola.optionslist_id = a.optionslist_id
|
||||
ORDER BY ola.sort ASC, ola.id ASC
|
||||
FOR JSON PATH
|
||||
) AS optionslistItemsJson,
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM articlelistarticle ala
|
||||
FROM articlelistarticle ala WITH (NOLOCK)
|
||||
WHERE ala.articlelist_id = a.articlelist_id
|
||||
) AS articleListCount,
|
||||
a.articlelist_id AS articlelistId,
|
||||
@@ -537,16 +537,16 @@ SELECT
|
||||
at_item.name,
|
||||
ala.count,
|
||||
ala.sort
|
||||
FROM articlelistarticle ala
|
||||
INNER JOIN article a_item ON a_item.id = ala.article_id
|
||||
LEFT JOIN articletext at_item ON at_item.article_id = a_item.id AND at_item.language_id = auth.languageId
|
||||
FROM articlelistarticle ala WITH (NOLOCK)
|
||||
INNER JOIN article a_item WITH (NOLOCK) ON a_item.id = ala.article_id
|
||||
LEFT JOIN articletext at_item WITH (NOLOCK) ON at_item.article_id = a_item.id AND at_item.language_id = auth.languageId
|
||||
WHERE ala.articlelist_id = a.articlelist_id
|
||||
ORDER BY ala.sort ASC, ala.id ASC
|
||||
FOR JSON PATH
|
||||
) AS articlelistItemsJson,
|
||||
(
|
||||
SELECT COUNT(*)
|
||||
FROM article child
|
||||
FROM article child WITH (NOLOCK)
|
||||
WHERE child.parentarticle_id = a.id
|
||||
) AS childCount,
|
||||
a.is_parent AS isParent,
|
||||
@@ -563,11 +563,11 @@ SELECT
|
||||
at_child.name,
|
||||
av.id AS attributeValueId,
|
||||
av.value AS attributeValue
|
||||
FROM article child
|
||||
LEFT JOIN articletext at_child ON at_child.article_id = child.id AND at_child.language_id = auth.languageId
|
||||
FROM article child WITH (NOLOCK)
|
||||
LEFT JOIN articletext at_child WITH (NOLOCK) ON at_child.article_id = child.id AND at_child.language_id = auth.languageId
|
||||
LEFT JOIN (
|
||||
articleattributevalue aav
|
||||
INNER JOIN attributevalue av ON av.id = aav.attributevalue_id AND av.attribute_id = a.parentattributename_id
|
||||
articleattributevalue aav WITH (NOLOCK)
|
||||
INNER JOIN attributevalue av WITH (NOLOCK) ON av.id = aav.attributevalue_id AND av.attribute_id = a.parentattributename_id
|
||||
) ON aav.article_id = child.id
|
||||
WHERE child.parentarticle_id = a.id
|
||||
ORDER BY child.parentsort ASC, child.id ASC
|
||||
@@ -575,7 +575,7 @@ SELECT
|
||||
) AS childrenJson,
|
||||
(
|
||||
SELECT ca2.category_id
|
||||
FROM categoryarticle ca2
|
||||
FROM categoryarticle ca2 WITH (NOLOCK)
|
||||
WHERE ca2.article_id = a.id
|
||||
ORDER BY ca2.category_id
|
||||
FOR JSON PATH
|
||||
@@ -590,15 +590,15 @@ SELECT
|
||||
p.thumbw AS thumbW,
|
||||
p.thumbh AS thumbH,
|
||||
p.thumbhash AS thumbHash
|
||||
FROM articlepic ap
|
||||
INNER JOIN pic p ON p.id = ap.pic_id
|
||||
FROM articlepic ap WITH (NOLOCK)
|
||||
INNER JOIN pic p WITH (NOLOCK) ON p.id = ap.pic_id
|
||||
WHERE ap.article_id = a.id
|
||||
ORDER BY ap.sort ASC, ap.id ASC
|
||||
FOR JSON PATH
|
||||
) AS photosJson,
|
||||
(
|
||||
SELECT ae.ean
|
||||
FROM articleean ae
|
||||
FROM articleean ae WITH (NOLOCK)
|
||||
WHERE ae.article_id = a.id
|
||||
ORDER BY ae.ean
|
||||
FOR JSON PATH
|
||||
@@ -609,8 +609,8 @@ SELECT
|
||||
pr.net,
|
||||
t.rate AS taxRate,
|
||||
pr.customergroup_id AS customergroupId
|
||||
FROM price pr
|
||||
INNER JOIN tax t ON t.id = pr.tax_id
|
||||
FROM price pr WITH (NOLOCK)
|
||||
INNER JOIN tax t WITH (NOLOCK) ON t.id = pr.tax_id
|
||||
WHERE pr.article_id = a.id
|
||||
ORDER BY pr.customergroup_id, pr.minmultiplier
|
||||
FOR JSON PATH
|
||||
@@ -632,11 +632,11 @@ SELECT
|
||||
SELECT
|
||||
m.[date] AS [date],
|
||||
SUM(ma.amount - COALESCE(ma_ledger.booked_amount, 0)) AS amount
|
||||
FROM manifest m
|
||||
INNER JOIN manifestarticle ma ON ma.manifest_id = m.id
|
||||
FROM manifest m WITH (NOLOCK)
|
||||
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.manifest_id = m.id
|
||||
LEFT JOIN (
|
||||
SELECT manifestarticle_id, SUM(amount) AS booked_amount
|
||||
FROM ledger
|
||||
FROM ledger WITH (NOLOCK)
|
||||
WHERE warehouse_id IS NULL
|
||||
GROUP BY manifestarticle_id
|
||||
) ma_ledger ON ma_ledger.manifestarticle_id = ma.id
|
||||
@@ -651,9 +651,9 @@ SELECT
|
||||
ORDER BY m.[date] ASC, m.id ASC
|
||||
FOR JSON PATH
|
||||
) AS incomingJson
|
||||
FROM articlesupplier asup
|
||||
INNER JOIN entity e ON e.id = asup.entity_id
|
||||
LEFT JOIN tax t ON t.id = asup.tax_id
|
||||
FROM articlesupplier asup WITH (NOLOCK)
|
||||
INNER JOIN entity e WITH (NOLOCK) ON e.id = asup.entity_id
|
||||
LEFT JOIN tax t WITH (NOLOCK) ON t.id = asup.tax_id
|
||||
WHERE asup.article_id = a.id
|
||||
ORDER BY asup.sort ASC, asup.id ASC
|
||||
FOR JSON PATH
|
||||
@@ -665,21 +665,21 @@ SELECT
|
||||
w.sort,
|
||||
CASE
|
||||
WHEN a.articlelist_id IS NOT NULL AND EXISTS (
|
||||
SELECT 1 FROM articlelistarticle ala WHERE ala.articlelist_id = a.articlelist_id
|
||||
SELECT 1 FROM articlelistarticle ala WITH (NOLOCK) WHERE ala.articlelist_id = a.articlelist_id
|
||||
) THEN COALESCE((
|
||||
SELECT CASE
|
||||
WHEN MIN(COALESCE(comp_stock.stock, 0) / ala.count) < 0 THEN 0
|
||||
ELSE FLOOR(MIN(COALESCE(comp_stock.stock, 0) / ala.count))
|
||||
END
|
||||
FROM articlelistarticle ala
|
||||
FROM articlelistarticle ala WITH (NOLOCK)
|
||||
LEFT JOIN (
|
||||
SELECT ca.id AS comp_id, SUM(l.amount) AS stock
|
||||
FROM ledger l
|
||||
INNER JOIN manifestarticle ma ON ma.id = l.manifestarticle_id
|
||||
INNER JOIN manifest m ON m.id = ma.manifest_id
|
||||
INNER JOIN article ca ON (
|
||||
FROM ledger l WITH (NOLOCK)
|
||||
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.id = l.manifestarticle_id
|
||||
INNER JOIN manifest m WITH (NOLOCK) ON m.id = ma.manifest_id
|
||||
INNER JOIN article ca WITH (NOLOCK) ON (
|
||||
ma.sku = ca.sku
|
||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WHERE asup.article_id = ca.id)
|
||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WITH (NOLOCK) WHERE asup.article_id = ca.id)
|
||||
)
|
||||
WHERE m.company_id = a.company_id
|
||||
AND l.warehouse_id = w.id
|
||||
@@ -690,16 +690,16 @@ SELECT
|
||||
WHEN a.articlelist_id IS NOT NULL THEN 0
|
||||
ELSE COALESCE(stock_calc.stock, 0)
|
||||
END AS stock
|
||||
FROM warehouse w
|
||||
FROM warehouse w WITH (NOLOCK)
|
||||
LEFT JOIN (
|
||||
SELECT l.warehouse_id, SUM(l.amount) AS stock
|
||||
FROM ledger l
|
||||
INNER JOIN manifestarticle ma ON ma.id = l.manifestarticle_id
|
||||
INNER JOIN manifest m ON m.id = ma.manifest_id
|
||||
FROM ledger l WITH (NOLOCK)
|
||||
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.id = l.manifestarticle_id
|
||||
INNER JOIN manifest m WITH (NOLOCK) ON m.id = ma.manifest_id
|
||||
WHERE m.company_id = a.company_id
|
||||
AND (
|
||||
ma.sku = a.sku
|
||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WHERE asup.article_id = a.id)
|
||||
OR ma.sku IN (SELECT asup.sku FROM articlesupplier asup WITH (NOLOCK) WHERE asup.article_id = a.id)
|
||||
)
|
||||
GROUP BY l.warehouse_id
|
||||
) stock_calc ON stock_calc.warehouse_id = w.id
|
||||
@@ -715,20 +715,20 @@ SELECT
|
||||
COALESCE(os.customer_name, LTRIM(RTRIM(ISNULL(e.first_name + ' ', '') + ISNULL(e.name, '')))) AS customerName,
|
||||
ROUND(SUM(ma.amount) - COALESCE((
|
||||
SELECT SUM(ma_s.amount)
|
||||
FROM manifest m_s
|
||||
INNER JOIN manifestarticle ma_s ON ma_s.manifest_id = m_s.id
|
||||
LEFT JOIN shipmentsummary ss ON ss.manifest_id = m_s.id
|
||||
FROM manifest m_s WITH (NOLOCK)
|
||||
INNER JOIN manifestarticle ma_s WITH (NOLOCK) ON ma_s.manifest_id = m_s.id
|
||||
LEFT JOIN shipmentsummary ss WITH (NOLOCK) ON ss.manifest_id = m_s.id
|
||||
WHERE m_s.company_id = m.company_id
|
||||
AND m_s.[type] = 'shipment'
|
||||
AND ISNULL(ss.state, 'new') != 'cancelled'
|
||||
AND m_s.[number] NOT LIKE '%#cancelled#%'
|
||||
AND ma_s.sku = a.sku
|
||||
AND m_s.[number] LIKE m.[number] + COALESCE((SELECT prefix FROM numbers WHERE company_id = m.company_id AND [type] = 'shipment'), '-L-') + '%'
|
||||
AND m_s.[number] LIKE m.[number] + COALESCE((SELECT prefix FROM numbers WITH (NOLOCK) WHERE company_id = m.company_id AND [type] = 'shipment'), '-L-') + '%'
|
||||
), 0), 3) AS amount
|
||||
FROM manifest m
|
||||
INNER JOIN manifestarticle ma ON ma.manifest_id = m.id
|
||||
LEFT JOIN ordersummary os ON os.manifest_id = m.id
|
||||
LEFT JOIN entity e ON e.id = m.entity_id
|
||||
FROM manifest m WITH (NOLOCK)
|
||||
INNER JOIN manifestarticle ma WITH (NOLOCK) ON ma.manifest_id = m.id
|
||||
LEFT JOIN ordersummary os WITH (NOLOCK) ON os.manifest_id = m.id
|
||||
LEFT JOIN entity e WITH (NOLOCK) ON e.id = m.entity_id
|
||||
WHERE m.company_id = a.company_id
|
||||
AND m.[type] = 'order'
|
||||
AND ma.sku = a.sku
|
||||
@@ -736,35 +736,35 @@ SELECT
|
||||
GROUP BY m.id, m.[number], m.[date], m.company_id, os.customer_name, e.first_name, e.name
|
||||
HAVING (SUM(ma.amount) - COALESCE((
|
||||
SELECT SUM(ma_s.amount)
|
||||
FROM manifest m_s
|
||||
INNER JOIN manifestarticle ma_s ON ma_s.manifest_id = m_s.id
|
||||
LEFT JOIN shipmentsummary ss ON ss.manifest_id = m_s.id
|
||||
FROM manifest m_s WITH (NOLOCK)
|
||||
INNER JOIN manifestarticle ma_s WITH (NOLOCK) ON ma_s.manifest_id = m_s.id
|
||||
LEFT JOIN shipmentsummary ss WITH (NOLOCK) ON ss.manifest_id = m_s.id
|
||||
WHERE m_s.company_id = m.company_id
|
||||
AND m_s.[type] = 'shipment'
|
||||
AND ISNULL(ss.state, 'new') != 'cancelled'
|
||||
AND m_s.[number] NOT LIKE '%#cancelled#%'
|
||||
AND ma_s.sku = a.sku
|
||||
AND m_s.[number] LIKE m.[number] + COALESCE((SELECT prefix FROM numbers WHERE company_id = m.company_id AND [type] = 'shipment'), '-L-') + '%'
|
||||
AND m_s.[number] LIKE m.[number] + COALESCE((SELECT prefix FROM numbers WITH (NOLOCK) WHERE company_id = m.company_id AND [type] = 'shipment'), '-L-') + '%'
|
||||
), 0)) > 0
|
||||
ORDER BY m.[date] ASC, m.id ASC
|
||||
FOR JSON PATH
|
||||
) AS undeliveredOrdersJson
|
||||
FROM article a
|
||||
LEFT JOIN articletext at
|
||||
FROM article a WITH (NOLOCK)
|
||||
LEFT JOIN articletext at WITH (NOLOCK)
|
||||
ON at.article_id = a.id AND at.language_id = auth.languageId
|
||||
LEFT JOIN unit u ON u.id = a.unit_id
|
||||
LEFT JOIN unittext ut
|
||||
LEFT JOIN unit u WITH (NOLOCK) ON u.id = a.unit_id
|
||||
LEFT JOIN unittext ut WITH (NOLOCK)
|
||||
ON ut.unit_id = u.id AND ut.language_id = auth.languageId
|
||||
LEFT JOIN brand b ON b.id = a.brand_id
|
||||
LEFT JOIN brand b WITH (NOLOCK) ON b.id = a.brand_id
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 bp2.pic_id
|
||||
FROM brandpic bp2
|
||||
FROM brandpic bp2 WITH (NOLOCK)
|
||||
WHERE bp2.brand_id = b.id
|
||||
ORDER BY bp2.sort ASC, bp2.id ASC
|
||||
) first_brand_pic
|
||||
LEFT JOIN pic bp ON bp.id = first_brand_pic.pic_id
|
||||
LEFT JOIN article fa ON fa.id = a.parentarticle_id
|
||||
LEFT JOIN attributename fan ON fan.id = a.parentattributename_id
|
||||
LEFT JOIN pic bp WITH (NOLOCK) ON bp.id = first_brand_pic.pic_id
|
||||
LEFT JOIN article fa WITH (NOLOCK) ON fa.id = a.parentarticle_id
|
||||
LEFT JOIN attributename fan WITH (NOLOCK) ON fan.id = a.parentattributename_id
|
||||
WHERE a.id = auth.articleId
|
||||
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
|
||||
) AS articleJson
|
||||
|
||||
@@ -3,6 +3,7 @@ SELECT
|
||||
ma.id,
|
||||
ma.sku,
|
||||
ma.amount AS lineAmount,
|
||||
ma.pu AS linePu,
|
||||
ma.net,
|
||||
ma.rebate,
|
||||
ma.taxrate,
|
||||
@@ -67,7 +68,7 @@ SELECT TOP 1
|
||||
hash_version,
|
||||
prev_hash,
|
||||
created_at
|
||||
FROM ledger WITH (UPDLOCK, HOLDLOCK)
|
||||
FROM ledger WITH (UPDLOCK, ROWLOCK)
|
||||
ORDER BY id DESC;
|
||||
`;
|
||||
|
||||
|
||||
@@ -158,22 +158,61 @@ SELECT
|
||||
a.id,
|
||||
a.is_parent AS isParent,
|
||||
COALESCE(
|
||||
(SELECT at.name FROM articletext at WHERE at.article_id = a.id AND at.language_id = co.default_language_id),
|
||||
(SELECT MIN(at2.name) FROM articletext at2 WHERE at2.article_id = a.id),
|
||||
(SELECT at.name FROM articletext at WITH (NOLOCK) WHERE at.article_id = a.id AND at.language_id = co.default_language_id),
|
||||
(SELECT MIN(at2.name) FROM articletext at2 WITH (NOLOCK) WHERE at2.article_id = a.id),
|
||||
a.sku
|
||||
) AS articleName,
|
||||
COALESCE(
|
||||
(SELECT MIN(asup.pu) FROM articlesupplier asup WHERE asup.article_id = a.id AND asup.sku = @sku),
|
||||
(SELECT MIN(asup2.pu) FROM articlesupplier asup2 WHERE asup2.article_id = a.id),
|
||||
(SELECT MIN(asup.pu) FROM articlesupplier asup WITH (NOLOCK) WHERE asup.article_id = a.id AND asup.sku = @sku),
|
||||
(SELECT MIN(asup2.pu) FROM articlesupplier asup2 WITH (NOLOCK) WHERE asup2.article_id = a.id),
|
||||
a.unitamount,
|
||||
1
|
||||
) AS pu
|
||||
FROM article a
|
||||
INNER JOIN manifest m ON m.company_id = a.company_id
|
||||
INNER JOIN company co ON co.id = m.company_id
|
||||
FROM article a WITH (NOLOCK)
|
||||
INNER JOIN manifest m WITH (NOLOCK) ON m.company_id = a.company_id
|
||||
INNER JOIN company co WITH (NOLOCK) ON co.id = m.company_id
|
||||
WHERE m.id = @manifestId
|
||||
AND (a.sku = @sku OR EXISTS (
|
||||
SELECT 1 FROM articlesupplier asup WHERE asup.article_id = a.id AND asup.sku = @sku
|
||||
SELECT 1 FROM articlesupplier asup WITH (NOLOCK) WHERE asup.article_id = a.id AND asup.sku = @sku
|
||||
))
|
||||
`;
|
||||
|
||||
export const GET_MANIFEST_CONTEXT = `
|
||||
SELECT
|
||||
m.id,
|
||||
m.company_id AS companyId,
|
||||
m.[type] AS [type],
|
||||
m.entity_id AS entityId,
|
||||
e.name AS entityName
|
||||
FROM manifest m
|
||||
LEFT JOIN entity e ON e.id = m.entity_id
|
||||
WHERE m.id = @manifestId
|
||||
`;
|
||||
|
||||
export const GET_ARTICLE_SUPPLIER_LINK = `
|
||||
SELECT
|
||||
asup.id,
|
||||
asup.article_id AS articleId,
|
||||
asup.entity_id AS entityId,
|
||||
asup.sku,
|
||||
asup.pu,
|
||||
asup.net,
|
||||
asup.tax_id AS taxId,
|
||||
t.rate AS taxRate,
|
||||
e.name AS supplierName
|
||||
FROM articlesupplier asup
|
||||
LEFT JOIN entity e ON e.id = asup.entity_id
|
||||
LEFT JOIN tax t ON t.id = asup.tax_id
|
||||
WHERE asup.article_id = @articleId
|
||||
AND asup.entity_id = @entityId
|
||||
`;
|
||||
|
||||
export const UPDATE_ARTICLE_SUPPLIER_LINK = `
|
||||
UPDATE articlesupplier
|
||||
SET
|
||||
pu = @pu,
|
||||
net = @net,
|
||||
tax_id = @taxId
|
||||
WHERE id = @id
|
||||
`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user