diff --git a/app/Jobs/Machine/ProcessCommandAck.php b/app/Jobs/Machine/ProcessCommandAck.php index a985b2a..59d4201 100644 --- a/app/Jobs/Machine/ProcessCommandAck.php +++ b/app/Jobs/Machine/ProcessCommandAck.php @@ -140,9 +140,16 @@ class ProcessCommandAck implements ShouldQueue } } + // 機台回報的 message 一律寫入 note: + // - 失敗時是原因(Machine busy / 下位機無回應 / Unknown command…),沒存就無從診斷。 + // - query_jam 的 message 是查詢結果 JSON {"jam":[2,5],"belt":[]},指令中心據此渲染。 + // 機台沒回 message 時保留既有 note(如 Superseded 提示),不覆蓋。 + $ackMessage = $this->payload['message'] ?? null; + $command->update([ 'status' => $status, 'executed_at' => now(), + 'note' => ($ackMessage !== null && $ackMessage !== '') ? $ackMessage : $command->note, 'payload' => array_merge($command->payload, $payloadUpdates), ]);