From 7222254629129493fa0635ad2861b81663ebdf49 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 13 二月 2025 18:30:50 +0800
Subject: [PATCH] #

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

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index f79b1d1..97a2e4f 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -6,11 +6,22 @@
 import com.zy.asrs.domain.param.*;
 import com.zy.asrs.utils.NotifyUtils;
 import com.zy.common.service.CommonService;
+import com.zy.core.cache.SlaveConnection;
 import com.zy.core.dispatcher.ShuttleDispatchUtils;
 import com.zy.core.enums.SlaveType;
+import com.zy.core.model.ForkLiftSlave;
+import com.zy.core.model.ShuttleSlave;
+import com.zy.core.model.protocol.ForkLiftProtocol;
+import com.zy.core.model.protocol.ShuttleProtocol;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.ForkLiftThread;
+import com.zy.core.thread.ShuttleThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
 
 @Slf4j
 @RestController
@@ -23,6 +34,8 @@
     private ShuttleDispatchUtils shuttleDispatchUtils;
     @Autowired
     private NotifyUtils notifyUtils;
+    @Autowired
+    private SlaveProperties slaveProperties;
 
     @PostMapping("/createMoveTask")
     public R createMoveTask(@RequestBody CreateMoveTaskParam param) {
@@ -99,6 +112,44 @@
         return R.error("浠诲姟鍙栨秷澶辫触");
     }
 
+    @PostMapping("/deviceStatus")
+    public R getDeviceStatus() {
+        HashMap<String, Object> map = new HashMap<>();
+        //鑾峰彇灏忚溅鏁版嵁
+        ArrayList<ShuttleProtocol> shuttleProtocols = new ArrayList<>();
+        for (ShuttleSlave slave : slaveProperties.getShuttle()) {
+            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
+            if (shuttleThread == null) {
+                continue;
+            }
+
+            ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
+            if (shuttleProtocol == null) {
+                continue;
+            }
+            shuttleProtocols.add(shuttleProtocol);
+        }
+
+        //鑾峰彇璐у弶鎻愬崌鏈烘暟鎹�
+        ArrayList<ForkLiftProtocol> forkLiftProtocols = new ArrayList<>();
+        for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
+            ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId());
+            if (forkLiftThread == null) {
+                continue;
+            }
+
+            ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+            if (forkLiftProtocol == null) {
+                continue;
+            }
+            forkLiftProtocols.add(forkLiftProtocol);
+        }
+
+        map.put("shuttle", shuttleProtocols);
+        map.put("forkLift", forkLiftProtocols);
+        return R.ok().add(map);
+    }
+
     @GetMapping("/test")
     public R test() {
         notifyUtils.notify("task", 1, "9999", NotifyMsgType.SHUTTLE_MOVING, "data");

--
Gitblit v1.9.1