mes-processes/mes-plcSend/src/main/java/com/mes/task/service/impl/MultiDeviceTaskServiceImpl.java
@@ -197,9 +197,14 @@ if (task == null) { return false; } if (!MultiDeviceTask.Status.RUNNING.name().equals(task.getStatus())) { // 允许在 RUNNING 或 FAILED 状态下执行取消操作 String status = task.getStatus(); boolean cancellable = MultiDeviceTask.Status.RUNNING.name().equals(status) || MultiDeviceTask.Status.FAILED.name().equals(status); if (!cancellable) { return false; } // 标记任务取消并停止所有定时器 taskExecutionEngine.requestTaskCancellation(taskId); task.setStatus(MultiDeviceTask.Status.CANCELLED.name()); task.setEndTime(new Date());