diff --git a/src/components/manifest/ManifestForm.jsx b/src/components/manifest/ManifestForm.jsx index 60890a0..1952b72 100644 --- a/src/components/manifest/ManifestForm.jsx +++ b/src/components/manifest/ManifestForm.jsx @@ -1259,6 +1259,7 @@ class ManifestForm extends PureComponent { Number(ord.orderId) !== currentDocId) + : undeliveredOrders; + const reservedInOtherOrders = otherOrders.reduce( + (sum, ord) => sum + (Number(ord.amount) || 0), + 0, + ); + const reservedTitle = isTracked !== false && reservedInOtherOrders > 0 + ? `Bereits in anderen Aufträgen reserviert:\n${otherOrders + .map((ord) => `• ${ord.orderNumber || (ord.orderId ? `Auftrag #${ord.orderId}` : 'Auftrag')}: ${formatStock(ord.amount)}${ord.customerName ? ` (${ord.customerName})` : ''}`) + .join('\n')}` + : undefined; + return ( stockVal + : lineAmount > (stockVal - reservedInOtherOrders) ? 'warning.main' : 'text.secondary', fontSize: '0.72rem', }} > Bestand: {isTracked === false ? '∞' : formatStock(stockVal)} + {isTracked !== false && reservedInOtherOrders > 0 + ? ` (${formatStock(reservedInOtherOrders)} reserviert)` + : ''} {/* Marge */} @@ -933,6 +956,19 @@ class ManifestFormLine extends PureComponent { ? rawWarehouses.reduce((sum, wh) => sum + (Number(wh.stock) || 0), 0) : null)); + const deliveryUndelivered = Array.isArray(fullArticle.undeliveredOrders) + ? fullArticle.undeliveredOrders + : []; + const reservedInOtherOrdersDelivery = deliveryUndelivered.reduce( + (sum, ord) => sum + (Number(ord.amount) || 0), + 0, + ); + const reservedTitleDelivery = isDeliveryTracked !== false && reservedInOtherOrdersDelivery > 0 + ? `In Kundenaufträgen reserviert:\n${deliveryUndelivered + .map((ord) => `• ${ord.orderNumber || (ord.orderId ? `Auftrag #${ord.orderId}` : 'Auftrag')}: ${formatStock(ord.amount)}${ord.customerName ? ` (${ord.customerName})` : ''}`) + .join('\n')}` + : undefined; + return ( Bestand: {isDeliveryTracked === false ? '∞' : formatStock(deliveryStockVal)} + {isDeliveryTracked !== false && reservedInOtherOrdersDelivery > 0 + ? ` (${formatStock(reservedInOtherOrdersDelivery)} reserviert)` + : ''} {/* Marge */} diff --git a/src/components/manifest/ManifestLines.jsx b/src/components/manifest/ManifestLines.jsx index 1fcdcc9..f172eae 100644 --- a/src/components/manifest/ManifestLines.jsx +++ b/src/components/manifest/ManifestLines.jsx @@ -24,6 +24,7 @@ class ManifestLines extends PureComponent { lines, saving, partyId, + docId, linesColor, dirtyLineFields = {}, shipments, @@ -145,6 +146,7 @@ class ManifestLines extends PureComponent { index={index} positionIndex={index + 1} kind={kind} + docId={docId} line={line.key != null ? line : { ...line, key: index }} columns={columns} saving={saving}