[PROMOTE] 晉升 demo 變更至 main 生產環境
1. [FIX] 補全下位機 Command(0x02) 狀態代碼與對齊三語系資源檔。 2. [FEAT] 新增溫控感測器離散事件接收處理機制與文件同步。 3. [FIX] 修正商品管理分頁排序不唯一導致的重複商品問題。
This commit is contained in:
commit
de8477bc7e
@ -9,6 +9,7 @@ use App\Jobs\Machine\ProcessHeartbeat;
|
||||
use App\Jobs\Machine\ProcessMachineError;
|
||||
use App\Jobs\Machine\ProcessTransaction;
|
||||
use App\Jobs\Machine\ProcessStatus;
|
||||
use App\Jobs\Machine\ProcessMachineEvent;
|
||||
use App\Jobs\Transaction\ProcessInvoice;
|
||||
use App\Jobs\Transaction\ProcessDispenseRecord;
|
||||
use App\Jobs\Machine\ProcessCommandAck;
|
||||
@ -97,6 +98,9 @@ class ListenMqttQueue extends Command
|
||||
case 'status':
|
||||
ProcessStatus::dispatch($serialNo, $payload);
|
||||
break;
|
||||
case 'event':
|
||||
ProcessMachineEvent::dispatch($serialNo, $payload);
|
||||
break;
|
||||
case 'error':
|
||||
ProcessMachineError::dispatch($serialNo, $payload);
|
||||
break;
|
||||
|
||||
@ -54,7 +54,7 @@ class ProductController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
$products = $productQuery->latest()->paginate($per_page, ['*'], 'product_page')->withQueryString();
|
||||
$products = $productQuery->orderBy('created_at', 'desc')->orderBy('id', 'desc')->paginate($per_page, ['*'], 'product_page')->withQueryString();
|
||||
|
||||
// Categories Query
|
||||
$categoryQuery = ProductCategory::with(['translations', 'company']);
|
||||
@ -70,7 +70,7 @@ class ProductController extends Controller
|
||||
});
|
||||
}
|
||||
|
||||
$categories = $categoryQuery->latest()->paginate($per_page, ['*'], 'category_page')->withQueryString();
|
||||
$categories = $categoryQuery->orderBy('created_at', 'desc')->orderBy('id', 'desc')->paginate($per_page, ['*'], 'category_page')->withQueryString();
|
||||
$companies = $user->isSystemAdmin() ? Company::all() : collect();
|
||||
|
||||
// Settings for Modal (use current user company or fallback)
|
||||
@ -140,7 +140,7 @@ class ProductController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
$logs = $logQuery->latest()->paginate($per_page, ['*'], 'log_page')->withQueryString();
|
||||
$logs = $logQuery->orderBy('created_at', 'desc')->orderBy('id', 'desc')->paginate($per_page, ['*'], 'log_page')->withQueryString();
|
||||
|
||||
return response()->json([
|
||||
'success' => true,
|
||||
|
||||
59
app/Jobs/Machine/ProcessMachineEvent.php
Normal file
59
app/Jobs/Machine/ProcessMachineEvent.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs\Machine;
|
||||
|
||||
use App\Models\Machine\Machine;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class ProcessMachineEvent implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||
|
||||
protected $serialNo;
|
||||
protected $payload;
|
||||
|
||||
/**
|
||||
* Create a new job instance.
|
||||
*/
|
||||
public function __construct($serialNo, $payload)
|
||||
{
|
||||
$this->serialNo = $serialNo;
|
||||
$this->payload = $payload;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the job.
|
||||
*/
|
||||
public function handle(): void
|
||||
{
|
||||
$machine = Machine::withoutGlobalScopes()->where('serial_no', $this->serialNo)->first();
|
||||
|
||||
if (!$machine) {
|
||||
Log::warning("ProcessMachineEvent: Machine not found [{$this->serialNo}]");
|
||||
return;
|
||||
}
|
||||
|
||||
$event = $this->payload['event'] ?? null;
|
||||
|
||||
if (!$event) {
|
||||
Log::warning("ProcessMachineEvent: Missing event in payload", ['payload' => $this->payload]);
|
||||
return;
|
||||
}
|
||||
|
||||
// 寫入機台狀態日誌,type 為 'status' 以便正確歸類顯示於「機台狀態」日誌中
|
||||
$machine->logs()->create([
|
||||
'company_id' => $machine->company_id,
|
||||
'type' => 'status', // 忠實呈現於機台狀態中
|
||||
'level' => 'info',
|
||||
'message' => $event, // 例如 "fanon" 或 "fanoff"
|
||||
'context' => $this->payload,
|
||||
]);
|
||||
|
||||
Log::info("ProcessMachineEvent: Machine [{$machine->serial_no}] recorded event [{$event}] to status logs");
|
||||
}
|
||||
}
|
||||
@ -92,15 +92,34 @@ class MachineService
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
// 貨道與馬達狀態類 (Prefix: 02 - SLOT_STATUS)
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
'0201' => ['label' => 'Slot normal', 'level' => 'info'],
|
||||
'0202' => ['label' => 'Product empty', 'level' => 'warning'],
|
||||
'0203' => ['label' => 'Slot empty', 'level' => 'warning'],
|
||||
'0205' => ['label' => 'Slot sensor blocked', 'level' => 'warning'],
|
||||
'0206' => ['label' => 'Slot not closed', 'level' => 'warning'],
|
||||
'0207' => ['label' => 'Slot motor error (0207)', 'level' => 'error'],
|
||||
'0208' => ['label' => 'Slot motor error (0208)', 'level' => 'error'],
|
||||
'0209' => ['label' => 'Slot motor error (0209)', 'level' => 'error'],
|
||||
'0212' => ['label' => 'Hopper empty (0212)', 'level' => 'warning'],
|
||||
'0201' => ['label' => 'Slot normal', 'level' => 'info'], // 貨道正常
|
||||
'0202' => ['label' => 'Slot out of stock', 'level' => 'warning'], // 貨道缺貨
|
||||
'0203' => ['label' => 'Slot does not exist', 'level' => 'warning'], // 貨道不存在
|
||||
'0204' => ['label' => 'Slot suspended', 'level' => 'warning'], // 貨道暫停使用
|
||||
'0205' => ['label' => 'Elevator contains items', 'level' => 'warning'], // 升降台裡面有物品
|
||||
'0206' => ['label' => 'Pickup door not closed', 'level' => 'warning'], // 取貨口門沒關上
|
||||
'0207' => ['label' => 'Elevator failure (0207)', 'level' => 'error'], // 升降機故障
|
||||
'0208' => ['label' => 'Elevator self-check error', 'level' => 'error'], // 升降機自檢錯誤
|
||||
'0209' => ['label' => 'Microwave pickup door close error (0209)', 'level' => 'error'], // 微波爐取貨口門關閉錯誤
|
||||
'020B' => ['label' => 'Machine temperature exceeds limit', 'level' => 'warning'], // 機器超過設定溫度,暫停購買
|
||||
'020C' => ['label' => 'Bento machine cooling water tank empty', 'level' => 'error'], // 盒飯機冷卻水箱缺水
|
||||
'020D' => ['label' => 'Age verification required', 'level' => 'warning'], // 貨道需要年齡驗證
|
||||
'020E' => ['label' => 'Water level too low', 'level' => 'warning'], // 水量過低
|
||||
'020F' => ['label' => 'Weight sensor communication error', 'level' => 'error'], // 重量傳感器通訊錯誤
|
||||
'0210' => ['label' => 'Microwave delivery door open error (0210)', 'level' => 'error'],// 微波爐進貨口門打開錯誤
|
||||
'0211' => ['label' => 'Microwave delivery door close error (0211)', 'level' => 'error'],// 微波爐進貨口門關閉錯誤
|
||||
'0212' => ['label' => 'Bento not detected', 'level' => 'warning'], // 沒檢測到盒飯
|
||||
'0213' => ['label' => 'Bento heating', 'level' => 'info'], // 盒飯正在加熱
|
||||
'0214' => ['label' => 'Microwave pickup door open error (0214)', 'level' => 'error'], // 微波爐取貨口門打開錯誤
|
||||
'0215' => ['label' => 'Please remove bento from microwave', 'level' => 'warning'], // 請取出微波爐內盒飯
|
||||
'0216' => ['label' => 'Support rod return error', 'level' => 'error'], // 撐桿回位錯誤
|
||||
'0217' => ['label' => 'Main motor failure', 'level' => 'error'], // 主電機故障
|
||||
'0218' => ['label' => 'Translation motor failure', 'level' => 'error'], // 平移電機故障
|
||||
'0219' => ['label' => 'Support rod push error', 'level' => 'error'], // 撐桿推出錯誤
|
||||
'0220' => ['label' => 'Elevator enter microwave error (0220)', 'level' => 'error'], // 升降台進去微波爐錯誤
|
||||
'0221' => ['label' => 'Elevator exit microwave error (0221)', 'level' => 'error'], // 升降台出去微波爐錯誤
|
||||
'0222' => ['label' => 'Microwave push rod push error (0222)', 'level' => 'error'], // 微波爐內推桿推出錯誤
|
||||
'0223' => ['label' => 'Microwave push rod retract error (0223)', 'level' => 'error'], // 微波爐內推桿收回錯誤
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
// 機台整體狀態類 (Prefix: 54 - MACHINE_STATUS)
|
||||
|
||||
@ -534,12 +534,26 @@ return [
|
||||
'qos' => 0,
|
||||
'description' => '用於機台連線與斷線的即時狀態同步。通常用於 MQTT 的遺囑訊息 (LWT) 設定,或由 Broker 連線事件觸發。',
|
||||
'payload_parameters' => [
|
||||
'status' => ['type' => 'string', 'description' => '連線狀態。接受值:online, offline'],
|
||||
'status' => ['type' => 'string', 'description' => '連線狀態。接受值:online, offline, restarting'],
|
||||
],
|
||||
'payload_example' => [
|
||||
'status' => 'online'
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => '機台硬體事件上報 (Event)',
|
||||
'slug' => 'mqtt-event',
|
||||
'action' => 'PUB',
|
||||
'topic' => 'machine/{serial_no}/event',
|
||||
'qos' => 1,
|
||||
'description' => '用於機台上報各種獨立的硬體運行與物理事件。後台收到後會直接寫入機台狀態日誌中並進行多語系翻譯。',
|
||||
'payload_parameters' => [
|
||||
'event' => ['type' => 'string', 'description' => '事件識別碼。例如:fanon (風扇開), fanoff (風扇關) 等。'],
|
||||
],
|
||||
'payload_example' => [
|
||||
'event' => 'fanon'
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => '機台異常上報 (Error)',
|
||||
'slug' => 'mqtt-error',
|
||||
|
||||
28
lang/en.json
28
lang/en.json
@ -91,6 +91,7 @@
|
||||
"Affiliated Unit": "Affiliated Unit",
|
||||
"Affiliation": "Affiliation",
|
||||
"After Qty": "After Qty",
|
||||
"Age verification required": "Age verification required",
|
||||
"Alert Severity Levels": "Alert Severity Levels",
|
||||
"Alert Summary": "Alert Summary",
|
||||
"Alert Switch": "Alert Switch",
|
||||
@ -220,6 +221,9 @@
|
||||
"Before Qty": "Before Qty",
|
||||
"Belongs To": "Belongs To",
|
||||
"Belongs To Company": "Belongs To Company",
|
||||
"Bento heating": "Bento heating",
|
||||
"Bento machine cooling water tank empty": "Bento machine cooling water tank low water",
|
||||
"Bento not detected": "Bento not detected",
|
||||
"Bill Acceptor": "Bill Acceptor",
|
||||
"Bracelet drop not detected": "Bracelet drop not detected",
|
||||
"Bracelet scan failed": "Bracelet scan failed",
|
||||
@ -590,13 +594,18 @@
|
||||
"Electronic Invoice": "Electronic Invoice",
|
||||
"Electronic Invoices": "Electronic Invoices",
|
||||
"Elevator belt self-check error": "Elevator belt self-check error",
|
||||
"Elevator contains items": "Elevator contains items",
|
||||
"Elevator descending": "Elevator descending",
|
||||
"Elevator descent error": "Elevator descent error",
|
||||
"Elevator enter microwave error": "Elevator enter microwave error",
|
||||
"Elevator enter microwave error (0220)": "Elevator enter microwave error (0220)",
|
||||
"Elevator exit microwave error": "Elevator exit microwave error",
|
||||
"Elevator exit microwave error (0221)": "Elevator exit microwave error (0221)",
|
||||
"Elevator failure": "Elevator failure",
|
||||
"Elevator failure (0207)": "Elevator failure (0207)",
|
||||
"Elevator rise error": "Elevator rise error",
|
||||
"Elevator rising": "Elevator rising",
|
||||
"Elevator self-check error": "Elevator self-check error",
|
||||
"Elevator sensor error": "Elevator sensor error",
|
||||
"Elevator support rod push error": "Elevator support rod push error",
|
||||
"Elevator support rod return error": "Elevator support rod return error",
|
||||
@ -1014,6 +1023,7 @@
|
||||
"Machine not found": "Machine not found",
|
||||
"Machine permissions updated successfully.": "Machine permissions updated successfully.",
|
||||
"Machine settings updated successfully.": "Machine settings updated successfully.",
|
||||
"Machine temperature exceeds limit": "Machine temperature exceeds limit, purchase suspended",
|
||||
"Machine to Warehouse": "Machine to Warehouse",
|
||||
"Machine to Warehouse Return": "Machine to Warehouse Return",
|
||||
"Machine to warehouse returns": "Machine to warehouse returns",
|
||||
@ -1023,6 +1033,7 @@
|
||||
"Machines Online": "Machines Online",
|
||||
"Main": "Main",
|
||||
"Main Warehouses": "Main Warehouses",
|
||||
"Main motor failure": "Main motor failure",
|
||||
"Maintenance": "Maintenance",
|
||||
"Maintenance Content": "Maintenance Content",
|
||||
"Maintenance Date": "Maintenance Date",
|
||||
@ -1102,17 +1113,23 @@
|
||||
"Message Content": "Message Content",
|
||||
"Message Display": "Message Display",
|
||||
"Microwave delivery door close error": "Microwave delivery door close error",
|
||||
"Microwave delivery door close error (0211)": "Microwave delivery door close error (0211)",
|
||||
"Microwave delivery door closing": "Microwave delivery door closing",
|
||||
"Microwave delivery door open error": "Microwave delivery door open error",
|
||||
"Microwave delivery door open error (0210)": "Microwave delivery door open error (0210)",
|
||||
"Microwave delivery door opening": "Microwave delivery door opening",
|
||||
"Microwave door error": "Microwave door error",
|
||||
"Microwave door opened": "Microwave door opened",
|
||||
"Microwave pickup door close error": "Microwave pickup door close error",
|
||||
"Microwave pickup door close error (0209)": "Microwave pickup door close error (0209)",
|
||||
"Microwave pickup door closing": "Microwave pickup door closing",
|
||||
"Microwave pickup door open error": "Microwave pickup door open error",
|
||||
"Microwave pickup door open error (0214)": "Microwave pickup door open error (0214)",
|
||||
"Microwave pickup door opening": "Microwave pickup door opening",
|
||||
"Microwave push rod push error": "Microwave push rod push error",
|
||||
"Microwave push rod push error (0222)": "Microwave push rod push error (0222)",
|
||||
"Microwave push rod retract error": "Microwave push rod retract error",
|
||||
"Microwave push rod retract error (0223)": "Microwave push rod retract error (0223)",
|
||||
"Milk dispense timeout": "Milk dispense timeout",
|
||||
"Min 8 characters": "Min 8 characters",
|
||||
"Model": "Model",
|
||||
@ -1427,6 +1444,7 @@
|
||||
"Please enter version name": "Please enter version name",
|
||||
"Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.",
|
||||
"Please provide a download URL": "Please provide a download URL",
|
||||
"Please remove bento from microwave": "Please remove bento from microwave",
|
||||
"Please select a company": "Please select a company",
|
||||
"Please select a company.": "Please select a company.",
|
||||
"Please select a machine": "Please select a machine",
|
||||
@ -1773,6 +1791,7 @@
|
||||
"Slot No": "Slot No",
|
||||
"Slot Status": "Slot Status",
|
||||
"Slot Test": "Slot Test",
|
||||
"Slot does not exist": "Slot does not exist",
|
||||
"Slot empty": "Slot empty",
|
||||
"Slot jammed": "Slot jammed",
|
||||
"Slot motor error (0207)": "Slot motor error (0207)",
|
||||
@ -1781,8 +1800,10 @@
|
||||
"Slot normal": "Slot normal",
|
||||
"Slot not closed": "Slot not closed",
|
||||
"Slot not found": "Slot not found",
|
||||
"Slot out of stock": "Slot out of stock",
|
||||
"Slot report synchronized success": "Slot report synchronized success",
|
||||
"Slot sensor blocked": "Slot sensor blocked",
|
||||
"Slot suspended": "Slot suspended",
|
||||
"Slot updated successfully.": "Slot updated successfully.",
|
||||
"Slots": "Slots",
|
||||
"Slots need replenishment": "Slots need replenishment",
|
||||
@ -1881,6 +1902,8 @@
|
||||
"Superseded by new adjustment": "Superseded by new adjustment",
|
||||
"Superseded by new command": "Superseded by new command",
|
||||
"Superseded by new command (Timeout)": "Superseded by new command (Timeout)",
|
||||
"Support rod push error": "Support rod push error",
|
||||
"Support rod return error": "Support rod return error",
|
||||
"Supports JPEG, PNG, SVG (Max 2MB). Ideal proportion: Horizontal or Square.": "Supports JPEG, PNG, SVG (Max 2MB). Ideal proportion: Horizontal or Square.",
|
||||
"Survey Analysis": "Survey Analysis",
|
||||
"Sync Ads": "Sync Ads",
|
||||
@ -2020,6 +2043,7 @@
|
||||
"Transfer order status tracking": "Transfer order status tracking",
|
||||
"Transfer out": "Transfer out",
|
||||
"Transfers": "Transfers",
|
||||
"Translation motor failure": "Translation motor failure",
|
||||
"Trigger": "Trigger",
|
||||
"Trigger Dispense": "Trigger Dispense",
|
||||
"Trigger Remote Dispense": "Trigger Remote Dispense",
|
||||
@ -2161,8 +2185,10 @@
|
||||
"Warranty End": "Warranty End",
|
||||
"Warranty Service": "Warranty Service",
|
||||
"Warranty Start": "Warranty Start",
|
||||
"Water level too low": "Water level too low",
|
||||
"Webhook Status": "Webhook Status",
|
||||
"Webhook URL": "Webhook URL",
|
||||
"Weight sensor communication error": "Weight sensor communication error",
|
||||
"Welcome Gift": "Welcome Gift",
|
||||
"Welcome Gift Code": "Welcome Gift Code",
|
||||
"Welcome Gift Code (8 Digits)": "Welcome Gift Code (8 Digits)",
|
||||
@ -2250,6 +2276,8 @@
|
||||
"enabled": "enabled",
|
||||
"error": "error",
|
||||
"failed": "failed",
|
||||
"fanoff": "Fan turned off",
|
||||
"fanon": "Fan turned on",
|
||||
"files selected": "files selected",
|
||||
"hours ago": "hours ago",
|
||||
"image": "image",
|
||||
|
||||
30
lang/ja.json
30
lang/ja.json
@ -91,6 +91,7 @@
|
||||
"Affiliated Unit": "所属ユニット",
|
||||
"Affiliation": "所属",
|
||||
"After Qty": "変動後数量",
|
||||
"Age verification required": "年齢認証が必要です",
|
||||
"Alert Severity Levels": "アラート深刻度",
|
||||
"Alert Summary": "アラート概要",
|
||||
"Alert Switch": "アラートスイッチ",
|
||||
@ -220,6 +221,9 @@
|
||||
"Before Qty": "変動前数量",
|
||||
"Belongs To": "会社名",
|
||||
"Belongs To Company": "所属会社",
|
||||
"Bento heating": "弁当加熱中",
|
||||
"Bento machine cooling water tank empty": "弁当機冷却水タンク空",
|
||||
"Bento not detected": "弁当が検出されません",
|
||||
"Bill Acceptor": "紙幣識別機",
|
||||
"Bracelet drop not detected": "ブレスレット落下未検出",
|
||||
"Bracelet scan failed": "ブレスレットスキャン失敗",
|
||||
@ -590,13 +594,18 @@
|
||||
"Electronic Invoice": "電子領収書",
|
||||
"Electronic Invoices": "電子領収書",
|
||||
"Elevator belt self-check error": "エレベーターベルト自己診断エラー",
|
||||
"Elevator contains items": "リフト内に商品あり",
|
||||
"Elevator descending": "エレベーター下降中",
|
||||
"Elevator descent error": "エレベーター下降エラー",
|
||||
"Elevator enter microwave error": "エレベーター電子レンジ進入エラー",
|
||||
"Elevator enter microwave error (0220)": "リフト電子レンジ進入エラー (0220)",
|
||||
"Elevator exit microwave error": "エレベーター電子レンジ退出エラー",
|
||||
"Elevator exit microwave error (0221)": "リフト電子レンジ退出エラー (0221)",
|
||||
"Elevator failure": "エレベーター故障",
|
||||
"Elevator failure (0207)": "リフト故障 (0207)",
|
||||
"Elevator rise error": "エレベーター上昇エラー",
|
||||
"Elevator rising": "エレベーター上昇中",
|
||||
"Elevator self-check error": "リフト自己診断エラー",
|
||||
"Elevator sensor error": "エレベーターセンサーエラー",
|
||||
"Elevator support rod push error": "エレベーター支柱押し出しエラー",
|
||||
"Elevator support rod return error": "エレベーター支柱復帰エラー",
|
||||
@ -1014,6 +1023,7 @@
|
||||
"Machine not found": "機器が見つかりません",
|
||||
"Machine permissions updated successfully.": "機器権限が正常に更新されました。",
|
||||
"Machine settings updated successfully.": "機器設定が正常に更新されました。",
|
||||
"Machine temperature exceeds limit": "設定温度超過のため購入一時停止",
|
||||
"Machine to Warehouse": "機器から倉庫",
|
||||
"Machine to Warehouse Return": "自販機から倉庫への返品",
|
||||
"Machine to warehouse returns": "機器から倉庫への返却",
|
||||
@ -1023,6 +1033,7 @@
|
||||
"Machines Online": "オンライン機器",
|
||||
"Main": "本庫",
|
||||
"Main Warehouses": "本庫数",
|
||||
"Main motor failure": "メインモーター故障",
|
||||
"Maintenance": "メンテナンス",
|
||||
"Maintenance Content": "メンテナンス内容",
|
||||
"Maintenance Date": "メンテナンス日",
|
||||
@ -1102,17 +1113,23 @@
|
||||
"Message Content": "メッセージ内容",
|
||||
"Message Display": "メッセージ表示",
|
||||
"Microwave delivery door close error": "電子レンジ搬入口扉閉鎖エラー",
|
||||
"Microwave delivery door close error (0211)": "電子レンジ搬入口扉閉エラー (0211)",
|
||||
"Microwave delivery door closing": "電子レンジ搬入口扉閉鎖中",
|
||||
"Microwave delivery door open error": "電子レンジ搬入口扉開放エラー",
|
||||
"Microwave delivery door open error (0210)": "電子レンジ搬入口扉開エラー (0210)",
|
||||
"Microwave delivery door opening": "電子レンジ搬入口扉開放中",
|
||||
"Microwave door error": "電子レンジ扉エラー",
|
||||
"Microwave door opened": "電子レンジ扉開放",
|
||||
"Microwave pickup door close error": "電子レンジ取り出し口扉閉鎖エラー",
|
||||
"Microwave pickup door close error (0209)": "電子レンジ取出扉閉エラー (0209)",
|
||||
"Microwave pickup door closing": "電子レンジ取り出し口扉閉鎖中",
|
||||
"Microwave pickup door open error": "電子レンジ取り出し口扉開放エラー",
|
||||
"Microwave pickup door open error (0214)": "電子レンジ取出扉開エラー (0214)",
|
||||
"Microwave pickup door opening": "電子レンジ取り出し口扉開放中",
|
||||
"Microwave push rod push error": "電子レンジ内プッシャー押し出しエラー",
|
||||
"Microwave push rod push error (0222)": "電子レンジプッシュロッド押し出しエラー (0222)",
|
||||
"Microwave push rod retract error": "電子レンジ内プッシャー回収エラー",
|
||||
"Microwave push rod retract error (0223)": "電子レンジプッシュロッド引き込みエラー (0223)",
|
||||
"Milk dispense timeout": "牛乳抽出タイムアウト",
|
||||
"Min 8 characters": "最低 8文字",
|
||||
"Model": "機器モデル",
|
||||
@ -1412,7 +1429,7 @@
|
||||
"Pickup door closed": "受取扉が閉まりました",
|
||||
"Pickup door closed (cart mode)": "取り出し口扉閉鎖成功",
|
||||
"Pickup door error": "受取扉エラー",
|
||||
"Pickup door not closed": "取り出し口扉未閉鎖",
|
||||
"Pickup door not closed": "取出扉が閉まっていません",
|
||||
"Pickup door opened (cart mode)": "取り出し口扉開放成功",
|
||||
"Pickup door unlocked": "取り出し口扉開錠",
|
||||
"Platform Operator": "プラットフォーム事業者",
|
||||
@ -1427,6 +1444,7 @@
|
||||
"Please enter version name": "Please enter version name",
|
||||
"Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "商品の画像やスタイル付きコンポーネントを正しく印刷するために、ブラウザの印刷設定で『背景のグラフィック』を有効にしてください。",
|
||||
"Please provide a download URL": "Please provide a download URL",
|
||||
"Please remove bento from microwave": "電子レンジ内の弁当を取り出してください",
|
||||
"Please select a company": "会社を選択してください",
|
||||
"Please select a company.": "会社を選択してください。",
|
||||
"Please select a machine": "機器を選択してください",
|
||||
@ -1773,6 +1791,7 @@
|
||||
"Slot No": "スロット番号",
|
||||
"Slot Status": "スロット期限ステータス",
|
||||
"Slot Test": "スロットテスト",
|
||||
"Slot does not exist": "チャンネルが存在しません",
|
||||
"Slot empty": "チャンネル在庫切れ",
|
||||
"Slot jammed": "商品詰まり",
|
||||
"Slot motor error (0207)": "チャンネルモーターエラー (0207)",
|
||||
@ -1781,8 +1800,10 @@
|
||||
"Slot normal": "チャンネル正常",
|
||||
"Slot not closed": "チャンネル未閉鎖",
|
||||
"Slot not found": "指定されたスロットが見つかりません",
|
||||
"Slot out of stock": "チャンネル在庫切れ",
|
||||
"Slot report synchronized success": "スロットレポートの同期に成功しました",
|
||||
"Slot sensor blocked": "チャンネルセンサー遮蔽",
|
||||
"Slot suspended": "チャンネル一時停止",
|
||||
"Slot updated successfully.": "スロットが正常に更新されました。",
|
||||
"Slots": "スロット数",
|
||||
"Slots need replenishment": "補充が必要なスロット",
|
||||
@ -1881,6 +1902,8 @@
|
||||
"Superseded by new adjustment": "新しい調整により上書きされました",
|
||||
"Superseded by new command": "新しいコマンドにより上書きされました",
|
||||
"Superseded by new command (Timeout)": "新しいコマンドにより上書きされました (タイムアウト)",
|
||||
"Support rod push error": "サポートロッド押し出しエラー",
|
||||
"Support rod return error": "サポートロッド復帰エラー",
|
||||
"Supports JPEG, PNG, SVG (Max 2MB). Ideal proportion: Horizontal or Square.": "JPEG、PNG、SVGをサポート(最大2MB)。推奨比率:横長または正方形。",
|
||||
"Survey Analysis": "アンケート分析",
|
||||
"Sync Ads": "広告を同期",
|
||||
@ -2020,6 +2043,7 @@
|
||||
"Transfer order status tracking": "移動伝票ステータス追跡",
|
||||
"Transfer out": "移動(出)",
|
||||
"Transfers": "移動伝票",
|
||||
"Translation motor failure": "平行移動モーター故障",
|
||||
"Trigger": "実行",
|
||||
"Trigger Dispense": "出庫トリガー",
|
||||
"Trigger Remote Dispense": "遠隔出庫をトリガー",
|
||||
@ -2161,8 +2185,10 @@
|
||||
"Warranty End": "保証終了",
|
||||
"Warranty Service": "保証サービス",
|
||||
"Warranty Start": "保証開始",
|
||||
"Water level too low": "水量低下",
|
||||
"Webhook Status": "Webhook ステータス",
|
||||
"Webhook URL": "Webhook URL",
|
||||
"Weight sensor communication error": "重量センサー通信エラー",
|
||||
"Welcome Gift": "来店プレゼント",
|
||||
"Welcome Gift Code": "来店プレゼントコード",
|
||||
"Welcome Gift Code (8 Digits)": "ウェルカムギフトコード (8桁)",
|
||||
@ -2250,6 +2276,8 @@
|
||||
"enabled": "有効",
|
||||
"error": "異常",
|
||||
"failed": "失敗",
|
||||
"fanoff": "ファン停止",
|
||||
"fanon": "ファン起動",
|
||||
"files selected": "個のファイルを選択しました",
|
||||
"hours ago": "時間前",
|
||||
"image": "画像",
|
||||
|
||||
@ -91,6 +91,7 @@
|
||||
"Affiliated Unit": "公司名稱",
|
||||
"Affiliation": "所屬單位",
|
||||
"After Qty": "異動後數量",
|
||||
"Age verification required": "貨道需要年齡驗證",
|
||||
"Alert Severity Levels": "告警重要級別",
|
||||
"Alert Summary": "告警摘要",
|
||||
"Alert Switch": "告警開關",
|
||||
@ -220,6 +221,9 @@
|
||||
"Before Qty": "異動前數量",
|
||||
"Belongs To": "公司名稱",
|
||||
"Belongs To Company": "公司名稱",
|
||||
"Bento heating": "盒飯正在加熱",
|
||||
"Bento machine cooling water tank empty": "盒飯機冷卻水箱缺水",
|
||||
"Bento not detected": "沒檢測到盒飯",
|
||||
"Bill Acceptor": "紙鈔機",
|
||||
"Bracelet drop not detected": "沒檢測到手環掉入取貨斗",
|
||||
"Bracelet scan failed": "沒掃碼到手環",
|
||||
@ -590,13 +594,18 @@
|
||||
"Electronic Invoice": "電子發票",
|
||||
"Electronic Invoices": "電子發票",
|
||||
"Elevator belt self-check error": "昇降機皮帶自檢錯誤",
|
||||
"Elevator contains items": "升降台裡面有物品",
|
||||
"Elevator descending": "昇降機正在下降",
|
||||
"Elevator descent error": "昇降機下降錯誤",
|
||||
"Elevator enter microwave error": "昇降台進微波爐錯誤",
|
||||
"Elevator enter microwave error (0220)": "升降台進去微波爐錯誤",
|
||||
"Elevator exit microwave error": "昇降台出微波爐錯誤",
|
||||
"Elevator exit microwave error (0221)": "升降台出去微波爐錯誤",
|
||||
"Elevator failure": "昇降機故障",
|
||||
"Elevator failure (0207)": "升降機故障",
|
||||
"Elevator rise error": "昇降機上升錯誤",
|
||||
"Elevator rising": "昇降機正在上升",
|
||||
"Elevator self-check error": "升降機自檢錯誤",
|
||||
"Elevator sensor error": "昇降機感測器錯誤",
|
||||
"Elevator support rod push error": "昇降台撐桿推出錯誤",
|
||||
"Elevator support rod return error": "昇降台撐桿回位錯誤",
|
||||
@ -1014,6 +1023,7 @@
|
||||
"Machine not found": "找不到機台",
|
||||
"Machine permissions updated successfully.": "機台權限已成功更新。",
|
||||
"Machine settings updated successfully.": "機台設定已成功更新。",
|
||||
"Machine temperature exceeds limit": "機器超過設定溫度,暫停購買",
|
||||
"Machine to Warehouse": "機台對倉庫",
|
||||
"Machine to Warehouse Return": "機台退庫至倉庫",
|
||||
"Machine to warehouse returns": "機台退回倉庫",
|
||||
@ -1023,6 +1033,7 @@
|
||||
"Machines Online": "在線機台數",
|
||||
"Main": "總倉",
|
||||
"Main Warehouses": "總倉數量",
|
||||
"Main motor failure": "主電機故障",
|
||||
"Maintenance": "保養",
|
||||
"Maintenance Content": "維修內容",
|
||||
"Maintenance Date": "維修日期",
|
||||
@ -1102,17 +1113,23 @@
|
||||
"Message Content": "日誌內容",
|
||||
"Message Display": "訊息顯示",
|
||||
"Microwave delivery door close error": "微波爐進貨口門關閉錯誤",
|
||||
"Microwave delivery door close error (0211)": "微波爐進貨口門關閉錯誤",
|
||||
"Microwave delivery door closing": "正在關閉微波爐進貨口門",
|
||||
"Microwave delivery door open error": "微波爐進貨口門打開錯誤",
|
||||
"Microwave delivery door open error (0210)": "微波爐進貨口門打開錯誤",
|
||||
"Microwave delivery door opening": "正在打開微波爐進貨口門",
|
||||
"Microwave door error": "微波爐門異常",
|
||||
"Microwave door opened": "微波爐門開啟",
|
||||
"Microwave pickup door close error": "微波爐取貨口門關閉錯誤",
|
||||
"Microwave pickup door close error (0209)": "微波爐取貨口門關閉錯誤",
|
||||
"Microwave pickup door closing": "正在關閉微波爐取貨口門",
|
||||
"Microwave pickup door open error": "微波爐取貨口門打開錯誤",
|
||||
"Microwave pickup door open error (0214)": "微波爐取貨口門打開錯誤",
|
||||
"Microwave pickup door opening": "正在打開微波爐取貨口門",
|
||||
"Microwave push rod push error": "微波爐內推桿推出錯誤",
|
||||
"Microwave push rod push error (0222)": "微波爐內推桿推出錯誤",
|
||||
"Microwave push rod retract error": "微波爐內推桿收回錯誤",
|
||||
"Microwave push rod retract error (0223)": "微波爐內推桿收回錯誤",
|
||||
"Milk dispense timeout": "按鍵出奶超時",
|
||||
"Min 8 characters": "至少 8 個字元",
|
||||
"Model": "機台型號",
|
||||
@ -1427,6 +1444,7 @@
|
||||
"Please enter version name": "請輸入版本名稱",
|
||||
"Please make sure to enable \"Background graphics\" in your browser print settings to print product images and styled components correctly.": "請確保在瀏覽器列印設定中啟用「背景圖形」,以便正確列印商品圖片和樣式元件。",
|
||||
"Please provide a download URL": "請提供下載連結",
|
||||
"Please remove bento from microwave": "請取出微波爐內盒飯",
|
||||
"Please select a company": "請選擇公司",
|
||||
"Please select a company.": "請選擇公司",
|
||||
"Please select a machine": "請選擇機台",
|
||||
@ -1773,6 +1791,7 @@
|
||||
"Slot No": "貨道編號",
|
||||
"Slot Status": "貨道效期",
|
||||
"Slot Test": "貨道測試",
|
||||
"Slot does not exist": "貨道不存在",
|
||||
"Slot empty": "貨道缺貨",
|
||||
"Slot jammed": "貨道卡貨",
|
||||
"Slot motor error (0207)": "貨道馬達錯誤 (0207)",
|
||||
@ -1781,8 +1800,10 @@
|
||||
"Slot normal": "貨道正常",
|
||||
"Slot not closed": "貨道未關閉",
|
||||
"Slot not found": "找不到指定貨道",
|
||||
"Slot out of stock": "貨道缺貨",
|
||||
"Slot report synchronized success": "貨道狀態同步成功",
|
||||
"Slot sensor blocked": "貨道感測器受阻",
|
||||
"Slot suspended": "貨道暫停使用",
|
||||
"Slot updated successfully.": "貨道更新成功。",
|
||||
"Slots": "貨道數",
|
||||
"Slots need replenishment": "需要補貨的貨道",
|
||||
@ -1881,6 +1902,8 @@
|
||||
"Superseded by new adjustment": "此指令已由後面最新的調整所取代",
|
||||
"Superseded by new command": "此指令已由後面最新的指令所取代",
|
||||
"Superseded by new command (Timeout)": "指令逾時 (1 分鐘未回報),已被新指令覆蓋。",
|
||||
"Support rod push error": "撐桿推出錯誤",
|
||||
"Support rod return error": "撐桿回位錯誤",
|
||||
"Supports JPEG, PNG, SVG (Max 2MB). Ideal proportion: Horizontal or Square.": "支援 JPEG, PNG, SVG (最大 2MB)。建議比例:橫式或正方形。",
|
||||
"Survey Analysis": "問卷分析",
|
||||
"Sync Ads": "同步廣告",
|
||||
@ -2020,6 +2043,7 @@
|
||||
"Transfer order status tracking": "調撥單狀態追蹤",
|
||||
"Transfer out": "調撥調出",
|
||||
"Transfers": "調撥單",
|
||||
"Translation motor failure": "平移電機故障",
|
||||
"Trigger": "執行",
|
||||
"Trigger Dispense": "觸發出貨",
|
||||
"Trigger Remote Dispense": "觸發遠端出貨",
|
||||
@ -2161,8 +2185,10 @@
|
||||
"Warranty End": "保固結束",
|
||||
"Warranty Service": "保固服務",
|
||||
"Warranty Start": "保固起始",
|
||||
"Water level too low": "水量過低",
|
||||
"Webhook Status": "Webhook 狀態",
|
||||
"Webhook URL": "Webhook 網址",
|
||||
"Weight sensor communication error": "重量傳感器通訊錯誤",
|
||||
"Welcome Gift": "來店禮",
|
||||
"Welcome Gift Code": "來店禮代碼",
|
||||
"Welcome Gift Code (8 Digits)": "來店禮代碼 (8位數)",
|
||||
@ -2250,6 +2276,8 @@
|
||||
"enabled": "啟用",
|
||||
"error": "異常",
|
||||
"failed": "失敗",
|
||||
"fanoff": "風扇關",
|
||||
"fanon": "風扇開",
|
||||
"files selected": "個檔案已選擇",
|
||||
"hours ago": "小時前",
|
||||
"image": "圖片",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user