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