[FIX] 領藥單:核銷改由出貨finalize、B660回傳批價單號
- handlePickupVerify:移除掃碼驗證當下核銷領藥碼(usage_count++/used), 改由實際出貨 MQTT finalize 核銷;未取貨(逾時/取消)時領藥碼維持 active 可再掃, 修正「掃了未確定取貨、再掃顯示已領」問題。 - B660 回應新增 pricing_slip_no(批價單號),供機台確認領藥畫面備註欄顯示。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
1a1518c611
commit
9a6036d184
@ -761,16 +761,14 @@ class MachineController extends Controller
|
||||
], 409);
|
||||
}
|
||||
|
||||
// 標記碼已領(usage_count++;達上限轉 used)——僅領藥單,避免動到既有單貨道核銷流程
|
||||
$pickupCode->usage_count = (int) $pickupCode->usage_count + 1;
|
||||
$pickupCode->used_at = $pickupCode->used_at ?? now();
|
||||
if ($pickupCode->usage_count >= (int) $pickupCode->usage_limit) {
|
||||
$pickupCode->status = 'used';
|
||||
}
|
||||
$pickupCode->save();
|
||||
// 不在「驗證/掃碼」當下核銷領藥碼。核銷統一改由機台實際出貨後的
|
||||
// MQTT finalize(TransactionService::finalizePharmacyDispense)標記為 used,
|
||||
// 這樣顧客掃碼後若未按「確定取貨」(逾時/取消、未出貨),領藥碼仍維持 active 可再次掃碼領取。
|
||||
// (原本在此處 usage_count++/轉 used 會在尚未取貨時就把碼鎖死,導致再掃顯示「已領」。)
|
||||
|
||||
$data['order_type'] = \App\Models\Transaction\Order::TYPE_PHARMACY_PICKUP;
|
||||
$data['order_no'] = $order->order_no;
|
||||
$data['pricing_slip_no'] = $order->pricing_slip_no ?? ''; // 批價單號(藥師批價依據);機台「確認領藥」畫面備註欄顯示
|
||||
$data['items'] = $items; // [{slot_no, product_id, product_name, qty}, ...]
|
||||
$data['status'] = $pickupCode->status;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user