From c154180eef28b1502424a328e945887b2de1732a Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期四, 05 二月 2026 13:14:12 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OpenController.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index abc031f..3325ec3 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -36,6 +36,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @RestController
@@ -150,7 +151,7 @@
         return R.error("浠诲姟鍙栨秷澶辫触");
     }
 
-    @RequestMapping("/deviceStatus")
+    @PostMapping("/deviceStatus")
     // @OpenApiLog(memo = "鑾峰彇璁惧鐘舵��")
     public R getDeviceStatus() {
         HashMap<String, Object> map = new HashMap<>();
@@ -229,6 +230,38 @@
         return R.ok().add(map);
     }
 
+    @PostMapping("/stationStatus")
+    public R getStationStatus(@RequestBody GetStationStatusParam param) {
+        // 鑾峰彇杈撻�佺珯鐐规暟鎹�
+        List<StationProtocol> stationProtocols = new ArrayList<>();
+        List<DeviceConfig> devpList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+                .eq("device_type", String.valueOf(SlaveType.Devp))
+        );
+        for (DeviceConfig device : devpList) {
+            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, device.getDeviceNo());
+            if (stationThread == null) {
+                continue;
+            }
+
+            List<StationProtocol> tmp = new ArrayList<>();
+            if(param.getStationIds() == null || param.getStationIds().isEmpty()) {
+                tmp.addAll(stationThread.getStatus());
+            }else {
+                Map<Integer, StationProtocol> statusMap = stationThread.getStatusMap();
+                for (Integer stationId : param.getStationIds()) {
+                    StationProtocol stationProtocol = statusMap.get(stationId);
+                    if (stationProtocol == null) {
+                        continue;
+                    }
+                    tmp.add(stationProtocol);
+                }
+            }
+            stationProtocols.addAll(tmp);
+        }
+
+        return R.ok().add(stationProtocols);
+    }
+
     @PostMapping("/getLocInformation")
     @OpenApiLog(memo = "鑾峰彇鎸囧畾搴撲綅淇℃伅")
     public R getLocInformation(@RequestBody GetLocInformationParam param) {

--
Gitblit v1.9.1