From b5dad5bca39b68fdaaaf844e38fcc55e94bb34f1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 四月 2023 15:23:50 +0800
Subject: [PATCH] 地图处于其他楼层时无法显示提升机口站点问题

---
 src/main/java/com/zy/core/thread/LiftThread.java |   72 +++++++++++++++++++++---------------
 1 files changed, 42 insertions(+), 30 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/LiftThread.java b/src/main/java/com/zy/core/thread/LiftThread.java
index 34ea0c1..0e31dee 100644
--- a/src/main/java/com/zy/core/thread/LiftThread.java
+++ b/src/main/java/com/zy/core/thread/LiftThread.java
@@ -293,32 +293,6 @@
         //灏嗘map瀛樺叆redis涓�
         HashMap<String, Object> map = new HashMap<>();
 
-        //鎻愬崌鏈哄彿
-        map.put("lift_no", assignCommand.getLiftNo());
-        //宸ヤ綔鍙�
-        map.put("wrk_no", assignCommand.getTaskNo());
-        //鍛戒护鎵ц姝ュ簭
-        map.put("commandStep", 0);
-        //鍛戒护
-        map.put("assignCommand", assignCommand);
-        //浠诲姟鏁版嵁淇濆瓨鍒皉edis
-        redisUtil.set("lift_wrk_no_" + assignCommand.getTaskNo(), JSON.toJSONString(map));
-        liftProtocol.setAssignCommand(assignCommand);
-        liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);
-        //鎵ц涓嬪彂浠诲姟
-        executeWork(assignCommand);
-    }
-
-    //鎵ц浠诲姟
-    private boolean executeWork(LiftAssignCommand assignCommand) {
-        //璇诲彇redis鏁版嵁
-        if (assignCommand == null) {
-            return false;
-        }
-
-        //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂)
-        liftProtocol.setPakMk(false);
-
         //鎵嬪姩妯″紡鎸囦护
         if (!assignCommand.getAuto()) {
             LiftCommand command = new LiftCommand();
@@ -347,16 +321,38 @@
                 case 5://澶嶄綅
                     command.setRun((short) 0);
                     command.setLiftLock(false);
-                    liftProtocol.setTaskNo((short) 0);
-                    liftProtocol.setShuttleNo((short) 0);
-                    liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE);
-                    liftProtocol.setPakMk(true);
                     break;
                 default:
             }
             commands.add(command);
             assignCommand.setCommands(commands);
         }
+
+        //鎻愬崌鏈哄彿
+        map.put("lift_no", assignCommand.getLiftNo());
+        //宸ヤ綔鍙�
+        map.put("wrk_no", assignCommand.getTaskNo());
+        //鍛戒护鎵ц姝ュ簭
+        map.put("commandStep", 0);
+        //鍛戒护
+        map.put("assignCommand", assignCommand);
+        //浠诲姟鏁版嵁淇濆瓨鍒皉edis
+        redisUtil.set("lift_wrk_no_" + assignCommand.getTaskNo(), JSON.toJSONString(map));
+        liftProtocol.setAssignCommand(assignCommand);
+        liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);
+        //鎵ц涓嬪彂浠诲姟
+        executeWork(assignCommand);
+    }
+
+    //鎵ц浠诲姟
+    private boolean executeWork(LiftAssignCommand assignCommand) {
+        //璇诲彇redis鏁版嵁
+        if (assignCommand == null) {
+            return false;
+        }
+
+        //灏嗘爣璁扮疆涓篺alse(闃叉閲嶅彂)
+        liftProtocol.setPakMk(false);
 
         Object o = redisUtil.get("lift_wrk_no_" + assignCommand.getTaskNo());
         if (o == null) {
@@ -411,9 +407,25 @@
                     News.info("鎻愬崌鏈轰换鍔℃墽琛屽畬鎴愮瓑寰呯‘璁や腑锛屾彁鍗囨満鍙�={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
                 }else {
                     //鎵嬪姩妯″紡涓嶆姏鍑虹瓑寰呯姸鎬�
+                    if (assignCommand.getTaskMode() == 5) {
+                        liftProtocol.setTaskNo((short) 0);
+                        liftProtocol.setShuttleNo((short) 0);
+                        liftProtocol.setProtocolStatus(LiftProtocolStatusType.IDLE);
+                        liftProtocol.setPakMk(true);
+                        liftProtocol.setSecurityMk(false);
+                    }
                     News.info("鎻愬崌鏈烘墜鍔ㄤ换鍔℃墽琛屽畬鎴愶紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
                 }
 
+                //涓嬪彂涓�鏉℃彁鍗囨満瑙i攣鍛戒护
+                LiftCommand liftCommand = new LiftCommand();
+                liftCommand.setRun((short) 0);
+                liftCommand.setLiftNo(command.getLiftNo());
+                liftCommand.setLiftLock(false);
+                if (write(liftCommand)) {
+                    News.info("鎻愬崌鏈虹姸鎬佸凡瑙i攣锛屾彁鍗囨満鍙�={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command));
+                }
+
             }
         }
 

--
Gitblit v1.9.1