u
This commit is contained in:
@@ -446,7 +446,29 @@ SELECT
|
||||
WHERE asup.article_id = a.id
|
||||
ORDER BY asup.sort ASC, asup.id ASC
|
||||
FOR JSON PATH
|
||||
) AS suppliersJson
|
||||
) AS suppliersJson,
|
||||
(
|
||||
SELECT
|
||||
w.id,
|
||||
w.name,
|
||||
COALESCE(stock_calc.stock, 0) AS stock
|
||||
FROM warehouse w
|
||||
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
|
||||
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)
|
||||
)
|
||||
GROUP BY l.warehouse_id
|
||||
) stock_calc ON stock_calc.warehouse_id = w.id
|
||||
WHERE w.company_id = a.company_id
|
||||
ORDER BY w.name ASC
|
||||
FOR JSON PATH
|
||||
) AS warehousesJson
|
||||
FROM article a
|
||||
LEFT JOIN articletext at
|
||||
ON at.article_id = a.id AND at.language_id = auth.languageId
|
||||
|
||||
@@ -17,6 +17,12 @@ LEFT JOIN entity e ON e.id = m.entity_id
|
||||
WHERE ma.id = @manifestarticleId AND m.company_id = @companyId;
|
||||
`;
|
||||
|
||||
export const CHECK_WAREHOUSE_ACCESS = `
|
||||
SELECT id, name
|
||||
FROM warehouse
|
||||
WHERE id = @warehouseId AND company_id = @companyId;
|
||||
`;
|
||||
|
||||
export const FIND_ARTICLES_FOR_HISTORY = `
|
||||
SELECT DISTINCT asup.article_id AS articleId
|
||||
FROM articlesupplier asup
|
||||
@@ -35,6 +41,7 @@ export const GET_LATEST_ROW = `
|
||||
SELECT TOP 1
|
||||
id,
|
||||
manifestarticle_id,
|
||||
warehouse_id,
|
||||
transaction_type,
|
||||
amount,
|
||||
transaction_text,
|
||||
@@ -48,6 +55,7 @@ ORDER BY id DESC;
|
||||
export const INSERT_ROW = `
|
||||
INSERT INTO ledger (
|
||||
manifestarticle_id,
|
||||
warehouse_id,
|
||||
transaction_type,
|
||||
amount,
|
||||
transaction_text,
|
||||
@@ -57,6 +65,7 @@ INSERT INTO ledger (
|
||||
OUTPUT
|
||||
INSERTED.id,
|
||||
INSERTED.manifestarticle_id,
|
||||
INSERTED.warehouse_id,
|
||||
INSERTED.transaction_type,
|
||||
INSERTED.amount,
|
||||
INSERTED.transaction_text,
|
||||
@@ -65,6 +74,7 @@ OUTPUT
|
||||
INSERTED.created_at
|
||||
VALUES (
|
||||
@manifestarticleId,
|
||||
@warehouseId,
|
||||
@transactionType,
|
||||
@amount,
|
||||
@transactionText,
|
||||
@@ -77,6 +87,7 @@ export const LIST_BY_MANIFESTARTICLE = `
|
||||
SELECT
|
||||
l.id,
|
||||
l.manifestarticle_id,
|
||||
l.warehouse_id,
|
||||
ma.sku,
|
||||
l.transaction_type,
|
||||
l.amount,
|
||||
@@ -90,6 +101,7 @@ INNER JOIN manifest m ON ma.manifest_id = m.id
|
||||
WHERE l.manifestarticle_id = @manifestarticleId
|
||||
AND m.company_id = @companyId
|
||||
AND (@transactionType IS NULL OR l.transaction_type = @transactionType)
|
||||
AND (@warehouseId IS NULL OR l.warehouse_id = @warehouseId)
|
||||
ORDER BY l.id ASC;
|
||||
`;
|
||||
|
||||
@@ -97,6 +109,7 @@ export const LIST_BY_SKU = `
|
||||
SELECT
|
||||
l.id,
|
||||
l.manifestarticle_id,
|
||||
l.warehouse_id,
|
||||
ma.sku,
|
||||
l.transaction_type,
|
||||
l.amount,
|
||||
@@ -110,5 +123,6 @@ INNER JOIN manifest m ON ma.manifest_id = m.id
|
||||
WHERE ma.sku = @sku
|
||||
AND m.company_id = @companyId
|
||||
AND (@transactionType IS NULL OR l.transaction_type = @transactionType)
|
||||
AND (@warehouseId IS NULL OR l.warehouse_id = @warehouseId)
|
||||
ORDER BY l.id ASC;
|
||||
`;
|
||||
|
||||
99
src/providers/mssql/queries/printer.js
Normal file
99
src/providers/mssql/queries/printer.js
Normal file
@@ -0,0 +1,99 @@
|
||||
export const PRINTER_COLUMNS = `
|
||||
id,
|
||||
company_id,
|
||||
address,
|
||||
type,
|
||||
model,
|
||||
serial,
|
||||
sort,
|
||||
[desc]
|
||||
`;
|
||||
|
||||
export const LIST_BY_COMPANY = `
|
||||
SELECT
|
||||
${PRINTER_COLUMNS}
|
||||
FROM printer
|
||||
WHERE company_id = @companyId
|
||||
ORDER BY sort ASC, id ASC
|
||||
`;
|
||||
|
||||
export const GET_BY_COMPANY_AND_ID = `
|
||||
SELECT
|
||||
${PRINTER_COLUMNS}
|
||||
FROM printer
|
||||
WHERE id = @id AND company_id = @companyId
|
||||
`;
|
||||
|
||||
export const GET_NEXT_SORT = `
|
||||
SELECT ISNULL(MAX(sort), -1) + 1 AS sort
|
||||
FROM printer
|
||||
WHERE company_id = @companyId
|
||||
`;
|
||||
|
||||
export const LIST_IDS_BY_COMPANY = `
|
||||
SELECT id
|
||||
FROM printer
|
||||
WHERE company_id = @companyId
|
||||
`;
|
||||
|
||||
export const CREATE = `
|
||||
INSERT INTO printer (
|
||||
company_id,
|
||||
address,
|
||||
type,
|
||||
model,
|
||||
serial,
|
||||
sort,
|
||||
[desc]
|
||||
)
|
||||
OUTPUT
|
||||
INSERTED.id,
|
||||
INSERTED.company_id,
|
||||
INSERTED.address,
|
||||
INSERTED.type,
|
||||
INSERTED.model,
|
||||
INSERTED.serial,
|
||||
INSERTED.sort,
|
||||
INSERTED.[desc]
|
||||
VALUES (
|
||||
@companyId,
|
||||
@address,
|
||||
@type,
|
||||
@model,
|
||||
@serial,
|
||||
@sort,
|
||||
@desc
|
||||
)
|
||||
`;
|
||||
|
||||
export const UPDATE = `
|
||||
UPDATE printer
|
||||
SET
|
||||
address = @address,
|
||||
type = @type,
|
||||
model = @model,
|
||||
serial = @serial,
|
||||
sort = @sort,
|
||||
[desc] = @desc
|
||||
OUTPUT
|
||||
INSERTED.id,
|
||||
INSERTED.company_id,
|
||||
INSERTED.address,
|
||||
INSERTED.type,
|
||||
INSERTED.model,
|
||||
INSERTED.serial,
|
||||
INSERTED.sort,
|
||||
INSERTED.[desc]
|
||||
WHERE id = @id AND company_id = @companyId
|
||||
`;
|
||||
|
||||
export const UPDATE_SORT = `
|
||||
UPDATE printer
|
||||
SET sort = @sort
|
||||
WHERE id = @id AND company_id = @companyId
|
||||
`;
|
||||
|
||||
export const DELETE_BY_COMPANY_AND_ID = `
|
||||
DELETE FROM printer
|
||||
WHERE id = @id AND company_id = @companyId
|
||||
`;
|
||||
48
src/providers/mssql/queries/warehouse.js
Normal file
48
src/providers/mssql/queries/warehouse.js
Normal file
@@ -0,0 +1,48 @@
|
||||
export const LIST_BY_COMPANY = `
|
||||
SELECT
|
||||
id,
|
||||
company_id,
|
||||
name
|
||||
FROM warehouse
|
||||
WHERE company_id = @companyId
|
||||
ORDER BY name ASC;
|
||||
`;
|
||||
|
||||
export const GET_BY_COMPANY_AND_ID = `
|
||||
SELECT
|
||||
id,
|
||||
company_id,
|
||||
name
|
||||
FROM warehouse
|
||||
WHERE id = @id AND company_id = @companyId;
|
||||
`;
|
||||
|
||||
export const GET_BY_COMPANY_AND_NAME = `
|
||||
SELECT
|
||||
id,
|
||||
company_id,
|
||||
name
|
||||
FROM warehouse
|
||||
WHERE company_id = @companyId AND name = @name;
|
||||
`;
|
||||
|
||||
export const CREATE = `
|
||||
INSERT INTO warehouse (company_id, name)
|
||||
OUTPUT INSERTED.id, INSERTED.company_id, INSERTED.name
|
||||
VALUES (@companyId, @name);
|
||||
`;
|
||||
|
||||
export const UPDATE_BY_ID = `
|
||||
UPDATE warehouse
|
||||
SET name = @name
|
||||
WHERE id = @id AND company_id = @companyId;
|
||||
`;
|
||||
|
||||
export const DELETE_BY_COMPANY_AND_ID = `
|
||||
DELETE FROM warehouse
|
||||
WHERE id = @id AND company_id = @companyId;
|
||||
`;
|
||||
|
||||
export const CHECK_LEDGER_USAGE = `
|
||||
SELECT TOP 1 id FROM ledger WHERE warehouse_id = @warehouseId;
|
||||
`;
|
||||
Reference in New Issue
Block a user