From fe783a3ae2295dba85fd9775b610eb13e4e41f00 Mon Sep 17 00:00:00 2001
From: cpT <1@123>
Date: 星期二, 24 六月 2025 22:36:37 +0800
Subject: [PATCH] #改造

---
 src/main/java/com/zy/core/cache/TaskProtocolCache.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/cache/TaskProtocolCache.java b/src/main/java/com/zy/core/cache/TaskProtocolCache.java
index 6e9c11f..f2f01c6 100644
--- a/src/main/java/com/zy/core/cache/TaskProtocolCache.java
+++ b/src/main/java/com/zy/core/cache/TaskProtocolCache.java
@@ -117,4 +117,70 @@
         }
     }
 
+
+
+    /**
+     * 鏌ヨ鏄惁鏈夊彲鎵ц浠诲姟
+     */
+    public boolean isNowPosRun(Long targetPosition) {
+//        lock.readLock().lock(); // 鍔犺閿�
+        try {
+            List<TaskProtocol> allWalkTaskProtocol = new ArrayList<>();
+            for (TaskProtocol task : cache.values()) {
+                long runPos = Math.abs(task.getTargetPosition() - targetPosition);
+                if (runPos<50) {
+                    return true;
+                }
+            }
+            return false; // 杩斿洖鍓湰
+        } finally {
+//            lock.readLock().unlock(); // 閲婃斁璇婚攣
+        }
+    }
+    /**
+     * 鏌ヨ鏄惁鏈夊彲鎵ц浠诲姟
+     */
+    public TaskProtocol getNowPosRunTask(Long targetPosition) {
+//        lock.readLock().lock(); // 鍔犺閿�
+        try {
+            for (TaskProtocol task : cache.values()) {
+                long runPos = Math.abs(task.getTargetPosition() - targetPosition);
+                if (runPos<50) {
+                    return task;
+                }
+            }
+            return null; // 杩斿洖鍓湰
+        } finally {
+//            lock.readLock().unlock(); // 閲婃斁璇婚攣
+        }
+    }
+
+
+    /**
+     * 鏌ヨ鏄惁鏈夊彲鎵ц浠诲姟
+     */
+    public TaskProtocol getNowPosRunTask2() {
+//        lock.readLock().lock(); // 鍔犺閿�
+        try {
+            for (TaskProtocol task : cache.values()) {
+                if (task.getTaskStatus()==1) {
+                    return task;
+                }
+            }
+            for (TaskProtocol task : cache.values()) {
+                if (task.getTaskStatus()==2) {
+                    return task;
+                }
+            }
+            for (TaskProtocol task : cache.values()) {
+                if (task.getTaskStatus()==3) {
+                    return task;
+                }
+            }
+            return null; // 杩斿洖鍓湰
+        } finally {
+//            lock.readLock().unlock(); // 閲婃斁璇婚攣
+        }
+    }
+
 }

--
Gitblit v1.9.1