This commit is contained in:
seb
2026-10-12 19:48:07 +02:00
parent 64d1772842
commit 28e62093b3
25 changed files with 979 additions and 125 deletions

View File

@@ -57,13 +57,13 @@ WHERE id = @id
`;
export const SHIPPING_CREATE = `
INSERT INTO shipping (manifest_id, [number], [type], [state])
OUTPUT INSERTED.id, INSERTED.manifest_id, INSERTED.[number], INSERTED.[type], INSERTED.[state]
VALUES (@manifestId, @number, @type, @state)
INSERT INTO shipping (manifest_id, [number], tracking_code, carrier, [type], [state])
OUTPUT INSERTED.id, INSERTED.manifest_id, INSERTED.[number], INSERTED.tracking_code, INSERTED.carrier, INSERTED.[type], INSERTED.[state]
VALUES (@manifestId, @number, @trackingCode, @carrier, @type, @state)
`;
export const SHIPPING_LIST_BY_MANIFEST = `
SELECT id, manifest_id, [number], [type], [state]
SELECT id, manifest_id, [number], tracking_code, carrier, [type], [state]
FROM shipping
WHERE manifest_id = @manifestId
ORDER BY id ASC
@@ -76,7 +76,7 @@ WHERE id = @id
`;
export const GET_SHIPPING_BY_ID = `
SELECT s.id, s.manifest_id AS manifestId, s.[number], s.[type], s.[state]
SELECT s.id, s.manifest_id AS manifestId, s.[number], s.tracking_code, s.carrier, s.[type], s.[state]
FROM shipping s
INNER JOIN manifest m ON m.id = s.manifest_id
WHERE s.id = @id AND m.company_id = @companyId;
@@ -84,8 +84,8 @@ WHERE s.id = @id AND m.company_id = @companyId;
export const SHIPPING_UPDATE = `
UPDATE shipping
SET [type] = @type, [state] = @state
OUTPUT INSERTED.id, INSERTED.manifest_id, INSERTED.[number], INSERTED.[type], INSERTED.[state]
SET [type] = @type, [state] = @state, tracking_code = @trackingCode, carrier = @carrier
OUTPUT INSERTED.id, INSERTED.manifest_id, INSERTED.[number], INSERTED.tracking_code, INSERTED.carrier, INSERTED.[type], INSERTED.[state]
WHERE id = @id;
`;

View File

@@ -5,8 +5,8 @@ IF NOT EXISTS (
WHERE company_id = @companyId AND [type] = @type
)
BEGIN
INSERT INTO numbers (company_id, [type])
VALUES (@companyId, @type);
INSERT INTO numbers (company_id, [type], prefix)
VALUES (@companyId, @type, ISNULL(@prefix, ''));
END
`;

View File

@@ -0,0 +1,57 @@
export const SHIPMENT_TYPE = 'shipment';
export const GET_ORDER_HEADER = `
SELECT id, company_id AS companyId, [number], [type], entity_id AS entityId, external_number AS externalNumber, [date]
FROM manifest
WHERE id = @orderId AND company_id = @companyId AND [type] = 'order';
`;
export const GET_ORDER_LINES = `
SELECT id, sku, name, pu, amount, net, rebate, taxrate, comment
FROM manifestarticle
WHERE manifest_id = @orderId
ORDER BY id ASC;
`;
export const GET_SHIPMENT_PREFIX = `
SELECT prefix
FROM numbers
WHERE company_id = @companyId AND [type] = 'shipment';
`;
export const LIST_SHIPMENTS_BY_ORDER_NUMBER_PATTERN = `
SELECT m.id, m.[number], m.[type], m.entity_id AS entityId, m.external_number AS externalNumber, m.[date], m.created_at AS createdAt
FROM manifest m
WHERE m.company_id = @companyId
AND m.[type] = 'shipment'
AND m.[number] LIKE @pattern
ORDER BY m.id ASC;
`;
export const GET_SHIPPED_AMOUNTS_BY_ORDER_PATTERN = `
SELECT ma.sku, SUM(ma.amount) AS shippedAmount
FROM manifest m
INNER JOIN manifestarticle ma ON ma.manifest_id = m.id
WHERE m.company_id = @companyId
AND m.[type] = 'shipment'
AND m.[number] LIKE @pattern
AND (@excludeShipmentId IS NULL OR m.id != @excludeShipmentId)
GROUP BY ma.sku;
`;
export const GET_SHIPMENT_HEADER = `
SELECT m.id, m.[number], m.[type], m.entity_id AS entityId, m.external_number AS externalNumber, m.[date], m.created_at AS createdAt
FROM manifest m
WHERE m.id = @id AND m.company_id = @companyId AND m.[type] = 'shipment';
`;
export const CHECK_SHIPMENT_PACKAGES_SHIPPED = `
SELECT TOP 1 id
FROM shipping
WHERE manifest_id = @id AND LOWER([state]) = 'shipped';
`;
export const DELETE_SHIPMENT = `
DELETE FROM manifest
WHERE id = @id AND company_id = @companyId AND [type] = 'shipment';
`;