[REFACTOR] 實作側邊欄與儀表板多語系化,修復 UI 位移與樣式優化
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 52s
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 52s
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
|
||||
### 1.1 觸發流程
|
||||
1. **管理行為**:管理員在後台管理介面手動修改特定機台的貨道庫存數量。
|
||||
2. **指令預備**:後端系統記錄異動請求,並在該機台的 B010 (心跳) 回應中,將 `status` 設為 `49` (reload B017)。
|
||||
2. **指令預備**:後端系統將異動請求寫入 `remote_commands` 表 (type: `stock_update`, payload 含貨道編號與數量),並在該機台的 B010 (心跳) 回應中將 `status` 設為 `49` (reload B017)。
|
||||
3. **機台拉取**:機台收到心跳回應中的 `49` 代碼後,主動呼叫 B017 API (`/api/app/machine/reload_msg/{workid}`)。
|
||||
4. **數據同步**:機台獲取最新庫存數據並更新本地狀態。
|
||||
|
||||
@@ -43,11 +43,10 @@
|
||||
|
||||
## 4. 欄位定義與對照
|
||||
|
||||
| 欄位名稱 | 資料庫對應 | 說明 |
|
||||
| B017 欄位 | 資料庫對應 | 說明 |
|
||||
|----------|------------|------|
|
||||
| `workid` | `machines.serial_no` | 機台識別序號 |
|
||||
| `channelid` | `machine_slots.slot_no` | 貨道編號 |
|
||||
| `stock` | `machine_slots.stock` | 該貨道的當前可用庫存 |
|
||||
| `stock` | `machine_slots.stock` | 該貨道的最新庫存數量 |
|
||||
|
||||
---
|
||||
|
||||
@@ -57,9 +56,16 @@
|
||||
|
||||
---
|
||||
|
||||
## 6. 待確認事項 (To-be-confirmed)
|
||||
## 6. 庫存衝突處理原則
|
||||
|
||||
1. **庫存衝突優先權**:當「雲端改庫存」與「現場實體銷售」同時發生時,最終庫存應以何者為準?(待主管確認)。
|
||||
2. **API 欄位對照**:
|
||||
* `workid` 是否嚴格對應 `serial_no`?
|
||||
* `channelid` 是否對標 `slot_no`?
|
||||
**以機台實際出貨為最終依據(最終一致性策略)**。
|
||||
|
||||
* **情境**:雲端下發庫存更新(如設為 50),同時機台現場發生實體銷售(賣出 2 個)。
|
||||
* **處理原則**:機台在本地執行 `50 - 已出貨量 = 48`,並透過後續的 B602 出貨紀錄上報給雲端,雲端以此為最終庫存數字。
|
||||
* **理由**:機台掌握實際出貨資訊,強制以雲端覆蓋將導致帳面庫存與實際庫存不符,引發空貨道但系統顯示有庫存的嚴重問題。
|
||||
|
||||
---
|
||||
|
||||
## 7. 待確認事項 (已結案)
|
||||
|
||||
所有關鍵決策已於 2026-03-12 完成確認。
|
||||
|
||||
Reference in New Issue
Block a user