From e597bd9ea3fb7b51e6abacd02b2ccbf409503d7b Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期六, 13 七月 2024 08:54:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/utils/RgvUtils.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/common/utils/RgvUtils.java b/src/main/java/com/zy/common/utils/RgvUtils.java
index 37766e6..972607b 100644
--- a/src/main/java/com/zy/common/utils/RgvUtils.java
+++ b/src/main/java/com/zy/common/utils/RgvUtils.java
@@ -39,13 +39,13 @@
     }
 
     //閿佸畾/瑙i攣璺緞
-    public static void lockPath(Integer startPath, Integer endPath, Integer rgvNo, boolean lock) {
+    public static void lockPath(Integer startPath, Integer endPath, Integer rgvNo, Integer wrkNo, boolean lock) {
         List<RgvNode> pathList = getPathList(startPath, endPath);//閫氳繃璧风偣鍜岀洰鏍囩偣鑾峰彇琛岃蛋璺緞
-        lockPath(pathList, rgvNo, lock);
+        lockPath(pathList, rgvNo, wrkNo, lock);
     }
 
     //閿佸畾/瑙i攣璺緞
-    public static void lockPath(List<RgvNode> pathList, Integer rgvNo, boolean lock) {
+    public static void lockPath(List<RgvNode> pathList, Integer rgvNo, Integer wrkNo, boolean lock) {
         RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
         Object data = redisUtil.get("rgv_map");
         List<RgvNode> rgvNodes = JSON.parseArray(data.toString(), RgvNode.class);//瀹炴椂鍦板浘
@@ -59,15 +59,31 @@
                 //璺緞鐩稿悓
                 if (lock) {
                     rgvNode.setLock(true);//閿佸畾
-                    rgvNode.setRgvNo(rgvNo);
+                    rgvNode.setRgvNo(rgvNo);//RGV鍙�
+                    rgvNode.setWrkNo(wrkNo);//宸ヤ綔鍙�
                 } else {
                     rgvNode.setLock(false);//瑙i攣
                     rgvNode.setRgvNo(0);
+                    rgvNode.setRgvNo(0);
                 }
             }
         }
     }
 
+    //瑙i攣璺緞锛岄�氳繃RGV鍙疯繘琛岃В閿併�傛敞鎰忥細璋冪敤姝ゆ柟娉曚細瑙i攣RGV鍙峰搴旇溅杈嗗叏閮ㄨ矾寰�
+    public static void unLockPath(Integer rgvNo) {
+        RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
+        Object data = redisUtil.get("rgv_map");
+        List<RgvNode> rgvNodes = JSON.parseArray(data.toString(), RgvNode.class);//瀹炴椂鍦板浘
+        for (RgvNode rgvNode : rgvNodes) {//閬嶅巻瀹炴椂鍦板浘
+            if (rgvNode.getRgvNo().equals(rgvNo)) {
+                //RGV鍙风浉鍚�
+                rgvNode.setLock(false);//瑙i攣
+                rgvNode.setRgvNo(0);
+            }
+        }
+    }
+
     //閫氳繃璧风偣鍜岀洰鏍囩偣鑾峰彇琛岃蛋璺緞
     public static List<RgvNode> getPathList(Integer startPath, Integer endPath) {
         int result = startPath - endPath;

--
Gitblit v1.9.1