From 219fcc8c2bfc0974450fdc89bce8f27f21d7a8f6 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期三, 28 一月 2026 18:04:25 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/StationController.java  |   15 +++++++++++++++
 src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java |    5 +++++
 src/main/webapp/components/DevpCard.js                       |   27 +++++++++++++++++++++++++++
 src/main/java/com/zy/core/enums/RedisKeyType.java            |    1 +
 4 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/StationController.java b/src/main/java/com/zy/asrs/controller/StationController.java
index c90f325..d232d99 100644
--- a/src/main/java/com/zy/asrs/controller/StationController.java
+++ b/src/main/java/com/zy/asrs/controller/StationController.java
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.service.BasDevpService;
+import com.zy.common.utils.RedisUtil;
+import com.zy.core.enums.RedisKeyType;
 import com.zy.core.enums.StationCommandType;
 import com.zy.core.model.StationObjModel;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,6 +31,8 @@
 
     @Autowired
     private BasDevpService basDevpService;
+    @Autowired
+    private RedisUtil redisUtil;
 
     @PostMapping("/command/move")
     public R commandMove(@RequestBody StationCommandMoveParam param) {
@@ -72,4 +76,15 @@
         return R.ok();
     }
 
+    @PostMapping("/command/reset")
+    public R commandReset(@RequestBody StationCommandMoveParam param) {
+        if (Cools.isEmpty(param)) {
+            return R.error("缂哄皯鍙傛暟");
+        }
+
+        Integer taskNo = param.getTaskNo();
+        redisUtil.set(RedisKeyType.DEVICE_STATION_MOVE_RESET.key + taskNo, "cancel", 3);
+        return R.ok();
+    }
+
 }
diff --git a/src/main/java/com/zy/core/enums/RedisKeyType.java b/src/main/java/com/zy/core/enums/RedisKeyType.java
index 566de01..4cd56ad 100644
--- a/src/main/java/com/zy/core/enums/RedisKeyType.java
+++ b/src/main/java/com/zy/core/enums/RedisKeyType.java
@@ -28,6 +28,7 @@
     DEVICE_ERR_ACTIVE_RGV("device_err_active_rgv_"),
     DEVICE_ERR_ACTIVE_CRN("device_err_active_crn_"),
     DEVICE_ERR_ACTIVE_DUAL_CRN("device_err_active_dual_crn_"),
+    DEVICE_STATION_MOVE_RESET("device_station_move_reset_"),
 
     GENERATE_IN_TASK_LIMIT("generate_in_task_limit_"),
 
diff --git a/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java b/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java
index 792bc65..55db83b 100644
--- a/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZyStationV3Thread.java
@@ -339,6 +339,11 @@
             boolean firstRun = true;
             while (true) {
                 try {
+                    Object cancel = redisUtil.get(RedisKeyType.DEVICE_STATION_MOVE_RESET.key + original.getTaskNo());
+                    if (cancel != null) {
+                        break;//鏀跺埌涓柇淇″彿
+                    }
+
                     StationProtocol currentStation = findCurrentStationByTask(original.getTaskNo());
                     if (currentStation == null) {
                         if(System.currentTimeMillis() - runTime > 1000 * 60){
diff --git a/src/main/webapp/components/DevpCard.js b/src/main/webapp/components/DevpCard.js
index 24308c3..5312cd4 100644
--- a/src/main/webapp/components/DevpCard.js
+++ b/src/main/webapp/components/DevpCard.js
@@ -15,6 +15,7 @@
                 <div style="margin-bottom: 10px;width: 33%;"><el-input size="mini" v-model="controlParam.taskNo" placeholder="宸ヤ綔鍙�"></el-input></div>
                 <div style="margin-bottom: 10px;width: 33%;"><el-input size="mini" v-model="controlParam.targetStationId" placeholder="鐩爣绔�"></el-input></div>
                 <div style="margin-bottom: 10px;"><el-button @click="controlCommand()" size="mini">涓嬪彂</el-button></div>
+                <div style="margin-bottom: 10px;"><el-button @click="resetCommand()" size="mini">澶嶄綅</el-button></div>
             </div>
         </div>
         <div style="max-height: 55vh; overflow:auto;">
@@ -199,5 +200,31 @@
         },
       });
     },
+    resetCommand() {
+      let that = this;
+      //涓嬪彂鍛戒护
+      $.ajax({
+        url: baseUrl + "/station/command/move",
+        headers: {
+          token: localStorage.getItem("token"),
+        },
+        contentType: "application/json",
+        method: "post",
+        data: JSON.stringify(that.controlParam),
+        success: (res) => {
+          if (res.code == 200) {
+            that.$message({
+              message: res.msg,
+              type: "success",
+            });
+          } else {
+            that.$message({
+              message: res.msg,
+              type: "warning",
+            });
+          }
+        },
+      });
+    },
   },
 });

--
Gitblit v1.9.1