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