From 026822ce89c1099202c32d33fd0730bbab4f0627 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期三, 21 一月 2026 10:42:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OpenController.java          |   35 ++++++++++++++++++++++++++++++++++-
 src/main/java/com/zy/asrs/domain/param/GetStationStatusParam.java |   12 ++++++++++++
 src/main/resources/application.yml                                |    2 +-
 src/main/resources/docs/WCS外部HTTP API接口V1.6.docx                  |    0 
 4 files changed, 47 insertions(+), 2 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) {
diff --git a/src/main/java/com/zy/asrs/domain/param/GetStationStatusParam.java b/src/main/java/com/zy/asrs/domain/param/GetStationStatusParam.java
new file mode 100644
index 0000000..02c0c41
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/GetStationStatusParam.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class GetStationStatusParam {
+
+    private List<Integer> stationIds;
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1b47c53..279ab78 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 # 绯荤粺鐗堟湰淇℃伅
 app:
-  version: 1.0.2.1
+  version: 1.0.2.2
   version-type: dev  # prd 鎴� dev
 
 server:
diff --git "a/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.6.docx" "b/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.6.docx"
index fbce3ea..c6aa49d 100644
--- "a/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.6.docx"
+++ "b/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.6.docx"
Binary files differ

--
Gitblit v1.9.1