This commit is contained in:
seb
2026-10-15 22:49:14 +02:00
parent 2179b2e241
commit 0d726c76f8
6 changed files with 28 additions and 2 deletions

View File

@@ -34,6 +34,7 @@ export default function create(provider) {
* @param {object} input - The shipment input.
* @param {number} input.orderId - The parent order manifest id.
* @param {string|Date} [input.date] - Optional shipment date (defaults to current date).
* @param {'new'|'delivered'|'returned'} [input.state='new'] - Optional delivery state (defaults to 'new').
* @param {string} [input.externalNumber] - Optional external delivery note number (defaults to order.externalNumber or order.number).
* @param {Array<{sku: string, amount?: number, name?: string, pu?: number, net?: number, rebate?: number, taxrate?: number, comment?: string}>} [input.lines] - The shipment positions (optional).
* @param {object} [tx] - Optional transaction.
@@ -232,12 +233,16 @@ export default function create(provider) {
// 9. Synchronize order summary row and shipment summary row
await syncOrderSummary(runner, { companyId, manifestId: orderId });
const validState = input.state && ['new', 'delivered', 'returned'].includes(String(input.state).trim().toLowerCase())
? String(input.state).trim().toLowerCase()
: 'new';
await syncShipmentSummary(runner, {
companyId,
manifestId,
orderId,
orderNumber: order.number,
state: 'new',
state: validState,
});
return loadShipment(runner, q, companyId, manifestId);