This commit is contained in:
seb
2026-10-26 19:22:04 +01:00
parent 563945394b
commit bab5c151d0
33 changed files with 2660 additions and 7 deletions

View File

@@ -5,6 +5,8 @@
export const QUOTE_TYPE = 'quote';
export const ORDER_TYPE = 'order';
export const RETOURE_TYPE = 'retoure';
export const RETURN_TYPE = 'return';
export const LIST_MANIFESTS = `
SELECT

View File

@@ -0,0 +1,25 @@
export const RETOURE_TYPE = 'retoure';
export const GET_RETOURE_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,
rs.positions,
rs.gross_total AS grossTotal,
rs.paid_total AS paidTotal,
rs.ordered_quantity AS orderedQuantity,
rs.shipped_quantity AS shippedQuantity,
rs.is_paid AS isPaid,
rs.is_shipped AS isShipped,
rs.customer_name AS customerName
FROM manifest m
LEFT JOIN retouresummary rs ON rs.manifest_id = m.id
WHERE m.id = @id
AND m.company_id = @companyId
AND m.[type] = @type
`;

View File

@@ -0,0 +1,79 @@
export const RETURN_TYPE = 'return';
export const GET_RETURN_HEADER = `
SELECT
m.id,
m.[number],
m.[type],
m.entity_id AS supplierId,
m.external_number AS externalNumber,
m.[date],
m.created_at AS createdAt,
rs.positions,
rs.gross_total AS grossTotal,
rs.net_total AS netTotal,
rs.total_quantity AS totalQuantity,
rs.stock_positions AS stockPositions,
rs.booked_positions AS bookedPositions,
rs.unbooked_positions AS unbookedPositions,
rs.stock_quantity AS stockQuantity,
rs.booked_quantity AS bookedQuantity,
rs.unbooked_quantity AS unbookedQuantity,
rs.is_booked AS isBooked,
rs.supplier_name AS supplierName
FROM manifest m
LEFT JOIN returnsummary rs ON rs.manifest_id = m.id
WHERE m.id = @id
AND m.company_id = @companyId
AND m.[type] = @type
`;
export const GET_RETURN_LINES = `
SELECT
ma.id,
ma.sku,
ma.name,
ma.pu,
ma.amount,
ma.net,
ma.rebate,
ma.taxrate,
ma.comment
FROM manifestarticle ma
WHERE ma.manifest_id = @manifestId
ORDER BY ma.id
`;
export const LIST_RETURNS = `
SELECT
m.id,
m.[number],
m.[type],
m.entity_id AS supplierId,
m.external_number AS externalNumber,
m.[date],
m.created_at AS createdAt,
COUNT(ma.id) AS totalPositions,
COUNT(CASE WHEN ma.id IS NOT NULL AND (
(ma.amount > 0 AND COALESCE(ma_ledger.booked_amount, 0) >= ma.amount) OR
(ma.amount <= 0 AND COALESCE(ma_ledger.booked_amount, 0) > 0)
) THEN 1 END) AS completelyOnLedgerPositions
FROM manifest m
LEFT JOIN manifestarticle ma ON ma.manifest_id = m.id
LEFT JOIN (
SELECT manifestarticle_id, SUM(amount) AS booked_amount
FROM ledger
GROUP BY manifestarticle_id
) ma_ledger ON ma_ledger.manifestarticle_id = ma.id
WHERE m.company_id = @companyId
AND m.[type] = @type
GROUP BY
m.id,
m.[number],
m.[type],
m.entity_id,
m.external_number,
m.[date],
m.created_at
ORDER BY m.[date] DESC, m.id DESC
`;

View File

@@ -3,7 +3,7 @@ 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';
WHERE id = @orderId AND company_id = @companyId AND [type] IN ('order', 'retoure');
`;
export const GET_ORDER_LINES = `