diff --git a/app/Http/Controllers/Admin/RemoteController.php b/app/Http/Controllers/Admin/RemoteController.php index 6c155a2..6930ab3 100644 --- a/app/Http/Controllers/Admin/RemoteController.php +++ b/app/Http/Controllers/Admin/RemoteController.php @@ -142,7 +142,7 @@ class RemoteController extends Controller { $validated = $request->validate([ 'machine_id' => 'required|exists:machines,id', - 'command_type' => 'required|string|in:reboot,reboot_force,reboot_card,checkout,lock,unlock,change,dispense,fanon,fanoff,fanauto', + 'command_type' => 'required|string|in:reboot,reboot_force,reboot_card,checkout,lock,unlock,change,dispense,fanon,fanoff,fanauto,query_jam,clear_jam', 'amount' => 'nullable|integer|min:0', 'slot_no' => 'nullable|string', 'note' => 'nullable|string|max:255', diff --git a/lang/en.json b/lang/en.json index 03a8b22..b75afcb 100644 --- a/lang/en.json +++ b/lang/en.json @@ -2748,5 +2748,10 @@ "video": "Video", "visit_gift": "Visit Gift", "vs Yesterday": "vs Yesterday", - "warning": "warning" + "warning": "warning", + "Query Jammed Slots": "Query Jammed Slots", + "Clear Jammed Slots": "Clear Jammed Slots", + "No jammed slots": "No jammed slots", + "Jammed slots:": "Jammed slots:", + "Belt self-test failed:": "Belt self-test failed:" } diff --git a/lang/ja.json b/lang/ja.json index 96221a7..3ef49ec 100644 --- a/lang/ja.json +++ b/lang/ja.json @@ -2709,5 +2709,10 @@ "video": "動画", "visit_gift": "来店ギフト", "vs Yesterday": "昨日比", - "warning": "警告" + "warning": "警告", + "Query Jammed Slots": "詰まりレーン照会", + "Clear Jammed Slots": "詰まりレーン解除", + "No jammed slots": "詰まりレーンなし", + "Jammed slots:": "詰まりレーン:", + "Belt self-test failed:": "ベルト自己診断failed:" } diff --git a/lang/zh_TW.json b/lang/zh_TW.json index 75c9985..93b3e07 100644 --- a/lang/zh_TW.json +++ b/lang/zh_TW.json @@ -2749,5 +2749,10 @@ "video": "影片", "visit_gift": "來店禮", "vs Yesterday": "較昨日", - "warning": "警告" + "warning": "警告", + "Query Jammed Slots": "查詢卡貨貨道", + "Clear Jammed Slots": "清除卡貨貨道", + "No jammed slots": "無卡貨貨道", + "Jammed slots:": "卡貨貨道:", + "Belt self-test failed:": "皮帶自檢失敗貨道:" } diff --git a/resources/views/admin/remote/index.blade.php b/resources/views/admin/remote/index.blade.php index 7d72714..a8b24be 100644 --- a/resources/views/admin/remote/index.blade.php +++ b/resources/views/admin/remote/index.blade.php @@ -46,6 +46,11 @@ 'Ambient Temperature Upper Limit' => __('Ambient Temperature Upper Limit'), 'Remote Change' => __('Remote Change'), 'Remote Dispense' => __('Remote Dispense'), + 'Query Jammed Slots' => __('Query Jammed Slots'), + 'Clear Jammed Slots' => __('Clear Jammed Slots'), + 'No jammed slots' => __('No jammed slots'), + 'Jammed slots:' => __('Jammed slots:'), + 'Belt self-test failed:' => __('Belt self-test failed:'), 'Adjust Stock & Expiry' => __('Adjust Stock & Expiry'), 'Sync Ads' => __('Sync Ads'), 'Sync Products' => __('Sync Products'), @@ -456,6 +461,8 @@ 'ambient_temp_limit': this.translations['Ambient Temperature Upper Limit'], 'change': this.translations['Remote Change'], 'dispense': this.translations['Remote Dispense'], + 'query_jam': this.translations['Query Jammed Slots'], + 'clear_jam': this.translations['Clear Jammed Slots'], 'reload_stock': this.translations['Adjust Stock & Expiry'], 'update_ads': this.translations['Sync Ads'], 'update_products': this.translations['Sync Products'], @@ -483,6 +490,21 @@ translateNote(note) { if (!note) return ''; + // query_jam 的 ACK message 是 JSON:{"jam":[2,5],"belt":[]}(機台 JamSlotManager.toJson) + // 這裡渲染成可讀文字;非此格式則走原本的字典/原樣顯示。 + if (note.startsWith('{') && note.includes('"jam"')) { + try { + const d = JSON.parse(note); + const parts = []; + parts.push(d.jam && d.jam.length + ? this.translations['Jammed slots:'] + ' ' + d.jam.join('、') + : this.translations['No jammed slots']); + if (d.belt && d.belt.length) { + parts.push(this.translations['Belt self-test failed:'] + ' ' + d.belt.join('、')); + } + return parts.join(' / '); + } catch (e) { /* 解析失敗就原樣顯示 */ } + } const translations = { 'Superseded by new adjustment': this.translations['Superseded by new adjustment'], 'Superseded by new command': this.translations['Superseded by new command'], @@ -703,6 +725,44 @@ + + + + + + + + + + {{ __('Query Jammed Slots') }} + + + + + + + + + + + + + {{ __('Clear Jammed Slots') }} + + +