huang
2025-12-02 628aa6a42e587e9f337e213f87f922fc2ab2af02
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());