From 38d723b6de39a6882a537a691159e40bd4c0e837 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 12 五月 2026 09:25:27 +0800
Subject: [PATCH] 合格入库扫码发货
---
src/pages/inventoryManagement/scanOut/scanOut.logic.ts | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/src/pages/inventoryManagement/scanOut/scanOut.logic.ts b/src/pages/inventoryManagement/scanOut/scanOut.logic.ts
index bd30c63..bf65c46 100644
--- a/src/pages/inventoryManagement/scanOut/scanOut.logic.ts
+++ b/src/pages/inventoryManagement/scanOut/scanOut.logic.ts
@@ -79,6 +79,32 @@
});
}
+/**
+ * 鎵爜鏁村崟鍙戣揣锛氭瘡琛屽緟鍙戞暟閲忕敱鍙拌处瀛楁绠楀嚭锛屼笌鐢ㄦ埛杈撳叆鏃犲叧锛堜笌 defaultStockedQuantityFromRow 鍑哄簱鍙e緞涓�鑷达級銆�
+ */
+export function resolveScanShipLineQuantity(row: AnyRow): number {
+ const rem =
+ parseRemainingShippedQuantity(row) ?? parseRemainingQuantity(row);
+ if (rem !== null) return Math.max(0, rem);
+
+ const avail = parseOptionalNumber(row?.availableQuality ?? row?.availableQuantity);
+ if (avail !== null) return Math.max(0, avail);
+
+ const qty = parseOptionalNumber(row?.quantity);
+ const shipped = parseOptionalNumber(row?.shippedQuantity) ?? 0;
+ if (qty !== null) return Math.max(0, qty - shipped);
+
+ return 0;
+}
+
+export function buildScanShipProductList(recordList: AnyRow[]): AnyRow[] {
+ return recordList.map((item: AnyRow) => {
+ const qty = resolveScanShipLineQuantity(item);
+ const { operateQuantity: _oq, ...rest } = item;
+ return { ...rest, stockedQuantity: qty };
+ });
+}
+
export function hasAnyPositiveStockedQty(salesLedgerProductList: AnyRow[]): boolean {
return salesLedgerProductList.some((p: AnyRow) => Number(p.stockedQuantity) > 0);
}
--
Gitblit v1.9.3