feat(inventory): 實作盤點、盤調與調撥操作紀錄,並支援前端本地化顯示

This commit is contained in:
2026-02-04 13:24:33 +08:00
parent 95fdec8a06
commit a8b88b3375
4 changed files with 122 additions and 12 deletions

View File

@@ -81,6 +81,21 @@ class TransferOrderController extends Controller
$remarks,
auth()->id()
);
// 記錄活動
activity()
->performedOn($order)
->causedBy(auth()->user())
->event('created')
->withProperties([
'attributes' => $order->toArray(),
'snapshot' => [
'doc_no' => $order->doc_no,
'from_warehouse_name' => $order->fromWarehouse?->name,
'to_warehouse_name' => $order->toWarehouse?->name,
]
])
->log('created');
// 如果請求包含單筆商品資訊
if ($request->has('product_id')) {
@@ -95,6 +110,23 @@ class TransferOrderController extends Controller
if ($request->input('instant_post') === true) {
try {
$this->transferService->post($order, auth()->id());
// 記錄過帳活動
activity()
->performedOn($order)
->causedBy(auth()->user())
->event('posted')
->withProperties([
'attributes' => ['status' => 'posted'],
'old' => ['status' => 'draft'],
'snapshot' => [
'doc_no' => $order->doc_no,
'from_warehouse_name' => $order->fromWarehouse?->name,
'to_warehouse_name' => $order->toWarehouse?->name,
]
])
->log('posted');
return redirect()->back()->with('success', '撥補成功,庫存已更新');
} catch (\Exception $e) {
// 如果過帳失敗,雖然單據已建立,但應回報錯誤
@@ -156,6 +188,23 @@ class TransferOrderController extends Controller
if ($request->input('action') === 'post') {
try {
$this->transferService->post($order, auth()->id());
// 記錄活動
activity()
->performedOn($order)
->causedBy(auth()->user())
->event('posted')
->withProperties([
'attributes' => ['status' => 'posted'],
'old' => ['status' => 'draft'],
'snapshot' => [
'doc_no' => $order->doc_no,
'from_warehouse_name' => $order->fromWarehouse?->name,
'to_warehouse_name' => $order->toWarehouse?->name,
]
])
->log('posted');
return redirect()->route('inventory.transfer.index')
->with('success', '調撥單已過帳完成');
} catch (\Exception $e) {