u
This commit is contained in:
@@ -59,6 +59,45 @@ INNER JOIN categoryarticle ca ON ca.article_id = a.id
|
||||
WHERE a.sku = @sku
|
||||
`;
|
||||
|
||||
/** SKU → article/category + company auth in one round-trip. */
|
||||
export const RESOLVE_ARTICLE_ACCESS_BY_SKU = `
|
||||
WITH article_cat AS (
|
||||
SELECT TOP 1 a.id AS articleId, ca.category_id AS categoryId
|
||||
FROM article a
|
||||
INNER JOIN categoryarticle ca ON ca.article_id = a.id
|
||||
WHERE a.sku = @sku
|
||||
),
|
||||
ancestors AS (
|
||||
SELECT c.id, c.parent_id
|
||||
FROM category c
|
||||
INNER JOIN article_cat ac ON c.id = ac.categoryId
|
||||
|
||||
UNION ALL
|
||||
|
||||
SELECT c.id, c.parent_id
|
||||
FROM category c
|
||||
INNER JOIN ancestors a ON c.id = a.parent_id
|
||||
),
|
||||
root AS (
|
||||
SELECT TOP 1 id AS rootCategoryId
|
||||
FROM ancestors
|
||||
WHERE parent_id IS NULL
|
||||
)
|
||||
SELECT
|
||||
ac.articleId,
|
||||
ac.categoryId,
|
||||
r.rootCategoryId,
|
||||
co.id AS companyId,
|
||||
co.default_language_id AS languageId,
|
||||
co.poscustomergroup_id AS posCustomerGroupId,
|
||||
cu.id AS companyuserId
|
||||
FROM article_cat ac
|
||||
LEFT JOIN root r ON 1 = 1
|
||||
LEFT JOIN company co ON co.root_category_id = r.rootCategoryId
|
||||
LEFT JOIN companyuser cu
|
||||
ON cu.company_id = co.id AND cu.google_auth_id = @googleAuthId
|
||||
`;
|
||||
|
||||
export const CREATE = `
|
||||
INSERT INTO article (sku, unit_id, unitamount, weight)
|
||||
OUTPUT INSERTED.id
|
||||
|
||||
@@ -54,6 +54,25 @@ LEFT JOIN article father ON father.id = a.fatherarticle_id
|
||||
WHERE a.sku = @sku
|
||||
`;
|
||||
|
||||
export const GET_DETAIL_BY_ARTICLE_ID = `
|
||||
SELECT
|
||||
${ARTICLE_DETAIL_COLUMNS}
|
||||
FROM article a
|
||||
LEFT JOIN articletext at
|
||||
ON at.article_id = a.id AND at.language_id = @languageId
|
||||
LEFT JOIN unit u ON u.id = a.unit_id
|
||||
LEFT JOIN brand b ON b.id = a.brand_id
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 bp.pic_id
|
||||
FROM brandpic bp
|
||||
WHERE bp.brand_id = b.id
|
||||
ORDER BY bp.sort ASC, bp.id ASC
|
||||
) first_brand_pic
|
||||
LEFT JOIN pic brand_pic ON brand_pic.id = first_brand_pic.pic_id
|
||||
LEFT JOIN article father ON father.id = a.fatherarticle_id
|
||||
WHERE a.id = @articleId
|
||||
`;
|
||||
|
||||
export const GET_CATEGORY_IDS_BY_ARTICLE_ID = `
|
||||
SELECT ca.category_id AS categoryId
|
||||
FROM categoryarticle ca
|
||||
|
||||
@@ -17,7 +17,8 @@ INSERT INTO company (
|
||||
default_language_id,
|
||||
taxrate,
|
||||
reducedtaxrate,
|
||||
taxfreerate
|
||||
taxfreerate,
|
||||
poscustomergroup_id
|
||||
)
|
||||
OUTPUT INSERTED.id
|
||||
VALUES (
|
||||
@@ -26,7 +27,8 @@ VALUES (
|
||||
@languageId,
|
||||
@taxrate,
|
||||
@reducedtaxrate,
|
||||
@taxfreerate
|
||||
@taxfreerate,
|
||||
@posCustomerGroupId
|
||||
)
|
||||
`;
|
||||
|
||||
|
||||
17
src/sql/customergroup.js
Normal file
17
src/sql/customergroup.js
Normal file
@@ -0,0 +1,17 @@
|
||||
export const CREATE = `
|
||||
INSERT INTO customergroup (name, company_id)
|
||||
OUTPUT INSERTED.id
|
||||
VALUES (@name, @companyId)
|
||||
`;
|
||||
|
||||
export const CREATE_WITHOUT_COMPANY = `
|
||||
INSERT INTO customergroup (name)
|
||||
OUTPUT INSERTED.id
|
||||
VALUES (@name)
|
||||
`;
|
||||
|
||||
export const SET_COMPANY = `
|
||||
UPDATE customergroup
|
||||
SET company_id = @companyId
|
||||
WHERE id = @id
|
||||
`;
|
||||
Reference in New Issue
Block a user