From d4acff72f3584fea27a9a3d8bd151187393fe9c0 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 27 十一月 2025 11:38:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/ConsoleController.java |  101 ++++++++++++++++++++++++++------------------------
 1 files changed, 53 insertions(+), 48 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index b45fedb..5953427 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
@@ -10,27 +12,27 @@
 import com.zy.asrs.domain.vo.CrnDetailVo;
 import com.zy.asrs.domain.vo.CrnLatestDataVo;
 import com.zy.asrs.domain.vo.StationLatestDataVo;
-import com.zy.asrs.entity.BasCrnpErr;
-import com.zy.asrs.entity.BasMap;
-import com.zy.asrs.entity.DeviceConfig;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.BasCrnpErrService;
-import com.zy.asrs.service.BasMapService;
-import com.zy.asrs.service.DeviceConfigService;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.domain.vo.RgvLatestDataVo;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
 import com.zy.common.CodeRes;
 import com.zy.common.model.MapNode;
-import com.zy.common.model.enums.NavigationMapType;
 import com.zy.common.utils.RedisUtil;
+import com.zy.core.News;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.CrnModeType;
+import com.zy.core.enums.MapNodeType;
 import com.zy.core.enums.RedisKeyType;
+import com.zy.core.enums.RgvStatusType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.protocol.CrnProtocol;
 import com.zy.core.model.protocol.StationProtocol;
 import com.zy.core.properties.SystemProperties;
 import com.zy.core.thread.CrnThread;
 import com.zy.core.thread.StationThread;
+import com.zy.core.thread.RgvThread;
+import com.zy.core.model.protocol.RgvProtocol;
 
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,6 +58,8 @@
     private BasMapService basMapService;
     @Autowired
     private RedisUtil redisUtil;
+    @Autowired
+    private LocMastService locMastService;
 
     @PostMapping("/system/running/status")
     @ManagerAuth(memo = "绯荤粺杩愯鐘舵��")
@@ -144,8 +148,10 @@
             CrnLatestDataVo vo = new CrnLatestDataVo();
             vo.setCrnId(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
 
-            vo.setOffset((double) new Random().nextInt(560)); // 鍫嗗灈鏈哄亸绉婚噺
+            // 浣跨敤瀹為檯鍒楀�间綔涓哄亸绉诲弬鑰冿紝閬垮厤闅忔満鍧愭爣瀵艰嚧鐣岄潰婕傜Щ
+            vo.setOffset(Double.valueOf(crnProtocol.getBay()));
             vo.setBay(crnProtocol.getBay()); // 褰撳墠鍒�
+            vo.setTaskNo(crnProtocol.getTaskNo());
             /**
              * 鍫嗗灈鏈虹姸鎬佸垽鏂�
              */
@@ -170,32 +176,29 @@
         return R.ok().add(vos);
     }
 
-    // @PostMapping("/latest/data/rgv")
-    // @ManagerAuth(memo = "RGV瀹炴椂鏁版嵁")
-    // public R rgvLatestData(){
-    // List<RgvLatestDataVo> vos = new ArrayList<>();
-    // for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
-    // // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-    // RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv,
-    // rgvSlave.getId());
-    // if (rgvThread == null) {
-    // continue;
-    // }
-    // RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-    // if (rgvProtocol == null) {
-    // continue;
-    // }
-    // RgvLatestDataVo vo = new RgvLatestDataVo();
-    // vo.setRgvId(rgvProtocol.getRgvNo()); // RGV缂栧彿
-    // vo.setTrackSiteNo(String.valueOf(rgvProtocol.getRgvPos()));
-    // vo.setRgvStatus(rgvProtocol.getStatusType());
-    // vos.add(vo);
-    //
-    // }
-    // Object object = redisUtil.get("rgvLatestData");
-    // List<Object> siteLatestDataVos = JSON.parseArray(object.toString());
-    // return R.ok().add(siteLatestDataVos);
-    // }
+    @PostMapping("/latest/data/rgv")
+    @ManagerAuth(memo = "RGV瀹炴椂鏁版嵁")
+    public R rgvLatestData(){
+        List<RgvLatestDataVo> vos = new ArrayList<>();
+        List<DeviceConfig> rgvList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+                .eq("device_type", String.valueOf(SlaveType.Rgv)));
+        for (DeviceConfig deviceConfig : rgvList) {
+            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, deviceConfig.getDeviceNo());
+            if (rgvThread == null) {
+                continue;
+            }
+            RgvProtocol rgvProtocol = rgvThread.getStatus();
+            if (rgvProtocol == null) {
+                continue;
+            }
+            RgvLatestDataVo vo = new RgvLatestDataVo();
+            vo.setRgvNo(rgvProtocol.getRgvNo());
+            vo.setTrackSiteNo(String.valueOf(rgvProtocol.getRgvPos()));
+            vo.setRgvStatus(RgvStatusType.get(rgvProtocol.getStatus()));
+            vos.add(vo);
+        }
+        return R.ok().add(vos);
+    }
 
     // @PostMapping("/latest/data/barcode")
     // @ManagerAuth(memo = "鏉$爜鎵弿浠疄鏃舵暟鎹�")
@@ -264,11 +267,7 @@
     @GetMapping("/map/lev/list")
     @ManagerAuth
     public R getMapLevList() {
-        List<BasMap> basMaps = basMapService.selectList(new EntityWrapper<BasMap>().orderBy("lev", true));
-        ArrayList<Integer> levList = new ArrayList<>();
-        for (BasMap basMap : basMaps) {
-            levList.add(basMap.getLev());
-        }
+        List<Integer> levList = locMastService.getLevList();
         return R.ok().add(levList);
     }
 
@@ -276,14 +275,20 @@
      * 鑾峰彇鍦板浘鏁版嵁
      */
     @GetMapping("/map/{lev}/auth")
-    @ManagerAuth
-    public R getMapFromRedis(@PathVariable Integer lev) {
-        Object data = redisUtil.get(RedisKeyType.MAP.key + lev);
-        if (data == null) {
-            return R.error();
+    public R getLocMap(@PathVariable Integer lev) {
+        Object object = redisUtil.get(RedisKeyType.LOC_MAP_BASE.key);
+        if (object == null) {
+            return R.error("鍦板浘鏈垵濮嬪寲");
         }
-
-        return R.ok();
+        List<List<HashMap<String, Object>>> mapNodeList = (List<List<HashMap<String, Object>>>) object;
+        List<LocMast> locMastList = locMastService.selectLocByLev(lev);
+        for (LocMast locMast : locMastList) {
+            String[] locType = locMast.getLocType().split("-");
+            HashMap<String, Object> mapNode = mapNodeList.get(Integer.parseInt(locType[0])).get(Integer.parseInt(locType[1]));
+            mapNode.put("locSts", locMast.getLocSts());
+            mapNode.put("locNo", locMast.getLocNo());
+        }
+        return R.ok().add(mapNodeList);
     }
 
 }

--
Gitblit v1.9.1