Files
dashlibstorage/src/sql/manifestDoc.js

109 lines
1.9 KiB
JavaScript

/**
* Shared SQL for typed manifest documents (quote / order).
* Delivery keeps its own SQL with supplierId naming.
*/
export const QUOTE_TYPE = 'quote';
export const ORDER_TYPE = 'order';
export const LIST_MANIFESTS = `
SELECT
m.id,
m.[number],
m.[type],
m.entity_id AS entityId,
m.external_number AS externalNumber,
m.[date]
FROM manifest m
WHERE m.company_id = @companyId
AND m.[type] = @type
ORDER BY m.[date] DESC, m.id DESC
`;
export const GET_MANIFEST_HEADER = `
SELECT
m.id,
m.[number],
m.[type],
m.entity_id AS entityId,
m.external_number AS externalNumber,
m.[date]
FROM manifest m
WHERE m.id = @id
AND m.company_id = @companyId
AND m.[type] = @type
`;
export const GET_MANIFEST_LINES = `
SELECT
ma.id,
ma.sku,
ma.name,
ma.pu,
ma.amount,
ma.net,
ma.rebate,
ma.taxrate AS tax,
ma.taxrate,
ma.comment
FROM manifestarticle ma
WHERE ma.manifest_id = @manifestId
ORDER BY ma.id
`;
export const CREATE_MANIFEST = `
INSERT INTO manifest (company_id, [number], [type], entity_id, external_number, [date])
OUTPUT INSERTED.id
VALUES (@companyId, @number, @type, @entityId, @externalNumber, @date)
`;
export const UPDATE_MANIFEST = `
UPDATE manifest
SET
[number] = @number,
entity_id = @entityId,
external_number = @externalNumber,
[date] = @date
WHERE id = @id
AND company_id = @companyId
AND [type] = @type
`;
export const DELETE_MANIFEST = `
DELETE FROM manifest
WHERE id = @id
AND company_id = @companyId
AND [type] = @type
`;
export const DELETE_LINES_BY_MANIFEST = `
DELETE FROM manifestarticle
WHERE manifest_id = @manifestId
`;
export const CREATE_LINE = `
INSERT INTO manifestarticle (
manifest_id,
sku,
name,
pu,
amount,
net,
comment,
rebate,
taxrate
)
OUTPUT INSERTED.id
VALUES (
@manifestId,
@sku,
@name,
@pu,
@amount,
@net,
@comment,
@rebate,
@taxrate
)
`;