From 928bc386bea03b9d3157e6d66dcb7afc843e9964 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 17 六月 2023 15:55:50 +0800
Subject: [PATCH] 小车从提升机移动出去增强管控

---
 src/main/java/com/zy/asrs/controller/ConsoleController.java |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 6379d35..b2acdf6 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -10,11 +10,16 @@
 import com.zy.asrs.domain.param.SystemSwitchParam;
 import com.zy.asrs.domain.vo.*;
 import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasMap;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasMapService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.CodeRes;
+import com.zy.common.model.MapNode;
+import com.zy.common.utils.NavigateMapData;
+import com.zy.common.utils.RedisUtil;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
 import com.zy.core.Slave;
@@ -29,14 +34,11 @@
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.properties.SystemProperties;
 import com.zy.core.thread.BarcodeThread;
-import com.zy.core.thread.MelsecCrnThread;
 import com.zy.core.thread.ScaleThread;
+import com.zy.core.thread.SiemensCrnThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
 
@@ -56,7 +58,11 @@
     @Autowired
     private BasDevpService basDevpService;
     @Autowired
+    private BasMapService basMapService;
+    @Autowired
     private LocMastMapper locMastMapper;
+    @Autowired
+    private RedisUtil redisUtil;
 
     @PostMapping("/system/running/status")
     @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -245,7 +251,7 @@
         CrnDetailVo vo = new CrnDetailVo();
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             if (crnSlave.getId().equals(crnNo)) {
-                MelsecCrnThread crnThread = (MelsecCrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
+                SiemensCrnThread crnThread = (SiemensCrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
                 CrnProtocol crnProtocol = crnThread.getCrnProtocol();
                 vo.setCrnNo(crnNo);
                 vo.setWorkNo(crnProtocol.getTaskNo());
@@ -282,7 +288,7 @@
         return R.ok();
     }
 
-    @PostMapping("/barcode/output/site")
+    @GetMapping("/barcode/output/site")
     public R crnOutput(){
 //        StringBuilder str = new StringBuilder();
 //        String s;
@@ -295,4 +301,41 @@
         return R.ok().add(JSON.toJSONString(new ArrayList<>(OutputQueue.BARCODE)));
     }
 
+    /**
+     * 鑾峰彇鍦板浘鏁版嵁
+     */
+    @GetMapping("/map/{lev}/auth")
+    @ManagerAuth
+    public R getMapFromRedis(@PathVariable Integer lev) {
+        Object data = redisUtil.get("realtimeBasMap_" + lev);
+        if (data == null) {
+            return R.error();
+        }
+
+        BasMap basMap = JSON.parseObject(data.toString(), BasMap.class);
+        //瑙f瀽json鍦板浘鏁版嵁
+        ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class);
+        NavigateMapData navigateMapData = new NavigateMapData(lev);
+        List<List<MapNode>> lists = navigateMapData.filterMap(-1, arrayList);//杩囨护鍦板浘鏁版嵁
+        return R.ok().add(lists);
+    }
+
+    /**
+     * 閲嶇疆redis涓殑鍦板浘锛屽皢鍗犵敤鐨勫簱浣嶅叏閮ㄨВ闄�
+     */
+    @GetMapping("/map/resetMap/auth")
+    @ManagerAuth
+    public R resetMapToRedis() {
+        for (int i = 1; i <= 4; i++) {
+            Object data = redisUtil.get("realtimeBasMap_" + i);
+            if (data == null) {
+                continue;
+            }
+
+            redisUtil.del("realtimeBasMap_" + i);
+            basMapService.deleteByLev(i);
+        }
+        return R.ok();
+    }
+
 }

--
Gitblit v1.9.1