From 26784989e73fc36c6315e54939d1b13a50eb5020 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 26 三月 2026 21:03:00 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/utils/StationOperateProcessUtils.java |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
index 71153a4..e3ece21 100644
--- a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -382,10 +382,11 @@
 
                 boolean complete = false;
                 Integer targetDeviceNo = null;
+                StationThread stationThread = null;
                 BasStation basStation = basStationService.getOne(new QueryWrapper<BasStation>().eq("station_id", targetStaNo));
                 if (basStation != null) {
                     targetDeviceNo = basStation.getDeviceNo();
-                    StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basStation.getDeviceNo());
+                    stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basStation.getDeviceNo());
                     if (stationThread != null) {
                         Map<Integer, StationProtocol> statusMap = stationThread.getStatusMap();
                         StationProtocol stationProtocol = statusMap.get(basStation.getStationId());
@@ -396,6 +397,7 @@
                 }
 
                 if (complete) {
+                    attemptClearTaskPath(stationThread, wrkNo);
                     completeStationRunTask(wrkMast, targetDeviceNo);
                 }
             }
@@ -404,6 +406,20 @@
         }
     }
 
+    private void attemptClearTaskPath(StationThread stationThread, Integer taskNo) {
+        if (stationThread == null || taskNo == null || taskNo <= 0) {
+            return;
+        }
+        try {
+            boolean cleared = stationThread.clearPath(taskNo);
+            if (cleared) {
+                News.info("杈撻�佺珯鐐逛换鍔¤繍琛屽畬鎴愬悗娓呯悊娈嬬暀璺緞锛屽伐浣滃彿={}", taskNo);
+            }
+        } catch (Exception e) {
+            News.error("杈撻�佺珯鐐逛换鍔¤繍琛屽畬鎴愬悗娓呯悊娈嬬暀璺緞寮傚父锛屽伐浣滃彿={}", taskNo, e);
+        }
+    }
+
     private void completeStationRunTask(WrkMast wrkMast, Integer deviceNo) {
         if (wrkMast == null || wrkMast.getWrkNo() == null) {
             return;

--
Gitblit v1.9.1