From f34a7bf9bc6e81628e247870acfe06a5c5560268 Mon Sep 17 00:00:00 2001 From: sky121113 Date: Tue, 9 Jun 2026 11:11:09 +0800 Subject: [PATCH] =?UTF-8?q?[FIX]=20=E8=A3=9C=E8=B2=A8=E5=96=AE=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E9=82=8F=E8=BC=AF=E8=88=87=E6=A9=9F=E5=8F=B0=E5=BA=AB?= =?UTF-8?q?=E5=AD=98=E5=8E=BB=E8=80=A6=EF=BC=8C=E9=98=B2=E7=AF=84=E9=87=8D?= =?UTF-8?q?=E8=A4=87=E7=B4=AF=E5=8A=A0=20Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 移除補貨單狀態進入已完成 (STATUS_COMPLETED) 時自動對機台貨道庫存進行累加的舊邏輯。 2. 移除伴隨上述更新所產生的機台補貨流水帳紀錄 (MachineStockMovement)。 3. 使機台實體庫存回歸以機台端上報 (B009/B018) 及手動貨道校正為唯一事實來源,防範因先上報後結案產生的重複累加及時間差空轉售罄客訴風險。 --- .../Controllers/Admin/WarehouseController.php | 30 +------------------ 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/app/Http/Controllers/Admin/WarehouseController.php b/app/Http/Controllers/Admin/WarehouseController.php index ccbe366..6b603f7 100644 --- a/app/Http/Controllers/Admin/WarehouseController.php +++ b/app/Http/Controllers/Admin/WarehouseController.php @@ -1126,36 +1126,8 @@ class WarehouseController extends Controller } } - // delivering → completed:增加機台貨道庫存並記錄異動 + // delivering → completed:更新完成時間(去耦機台庫存累加,由機台端上報決定) if ($newStatus === ReplenishmentOrder::STATUS_COMPLETED) { - foreach ($replenishmentOrder->items as $item) { - $slot = MachineSlot::where('machine_id', $replenishmentOrder->machine_id) - ->where('slot_no', $item->slot_no) - ->lockForUpdate() - ->first(); - - if ($slot) { - $beforeQty = $slot->stock; - $slot->increment('stock', $item->quantity); - $slot->refresh(); - - MachineStockMovement::create([ - 'company_id' => $replenishmentOrder->company_id, - 'machine_id' => $replenishmentOrder->machine_id, - 'product_id' => $item->product_id, - 'slot_no' => $item->slot_no, - 'type' => MachineStockMovement::TYPE_REPLENISHMENT, - 'quantity' => $item->quantity, - 'before_qty' => $beforeQty, - 'after_qty' => $slot->stock, - 'reference_type' => ReplenishmentOrder::class, - 'reference_id' => $replenishmentOrder->id, - 'note' => '補貨單完成入庫 #' . $replenishmentOrder->order_no, - 'created_by' => Auth::id(), - ]); - } - } - $replenishmentOrder->completed_at = now(); }