From 12bea86c9cb51f98fd5f2de904bb6a8d30e9e0e8 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 11 四月 2024 14:37:06 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java |   48 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
index 309c69e..9d95cc3 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java
@@ -11,8 +11,15 @@
 import com.zy.asrs.wcs.core.map.controller.result.LocVo;
 import com.zy.asrs.wcs.core.map.controller.result.ShuttleVo;
 import com.zy.asrs.wcs.core.utils.Utils;
+import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
+import com.zy.asrs.wcs.rcs.entity.Device;
+import com.zy.asrs.wcs.rcs.entity.DeviceType;
+import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
 import com.zy.asrs.wcs.rcs.model.protocol.LiftProtocol;
 import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
+import com.zy.asrs.wcs.rcs.service.DeviceService;
+import com.zy.asrs.wcs.rcs.service.DeviceTypeService;
+import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
 import com.zy.asrs.wcs.system.entity.Dict;
 import com.zy.asrs.wcs.system.service.DictService;
 import com.zy.asrs.wcs.system.service.UserService;
@@ -31,6 +38,10 @@
     private UserService userService;
     @Autowired
     private DictService dictService;
+    @Autowired
+    private DeviceTypeService deviceTypeService;
+    @Autowired
+    private DeviceService deviceService;
 
     public String getMapFloorList(Long userId) {
         String floorKey = "floor-list";
@@ -95,24 +106,29 @@
         return locVos;
     }
 
-    public ShuttleVo getShuttleInfo(String shuttleNo) {
+    public ShuttleVo getShuttleInfo(String shuttleNo, Long hostId) {
         ShuttleVo vo = new ShuttleVo();
         vo.setShuttleNo(shuttleNo);
-        ShuttleProtocol protocol = new ShuttleProtocol();
-        // todo checkout protocol
-//        vo.setTaskNo(String.valueOf(protocol.getTaskNo()));
-//        vo.setStatus(protocol.getProtocolStatusType().desc);
-//        vo.setOriginLocNo(protocol.getSourceLocNo());
-//        vo.setDestLocNo(protocol.getLocNo());
-//        vo.setCurrentCode(protocol.getCurrentCode());
-//        vo.setBatteryPower(protocol.getBatteryPower());
-//        vo.setErrorCode(protocol.getErrorCode());
-//        vo.setBatteryTemp(protocol.getBatteryTemp());
-//        vo.setHasLift(protocol.getHasLift());
-//        vo.setHasPallet(protocol.getHasPallet());
-//        vo.setHasCharge(protocol.getHasCharge());
-//        vo.setBatteryVoltage(String.valueOf(protocol.getBatteryVoltage()));
-//        vo.setPakMk(protocol.getPakMk());
+        DeviceType deviceType = deviceTypeService.getOne(new LambdaQueryWrapper<DeviceType>().eq(DeviceType::getFlag, SlaveType.Shuttle.toString()));
+        Device device = deviceService.getOne(new LambdaQueryWrapper<Device>().eq(Device::getDeviceType, deviceType.getId()).eq(Device::getDeviceNo, shuttleNo));
+        if (null == device) {
+            return vo;
+        }
+        ShuttleThread thread = (ShuttleThread)SlaveConnection.get(SlaveType.Shuttle, device.getId().intValue());
+        ShuttleProtocol protocol = thread.getStatus();
+        vo.setTaskNo(String.valueOf(protocol.getTaskNo()));
+        vo.setStatus(protocol.getProtocolStatusType().desc);
+        vo.setOriginLocNo(protocol.getSourceLocNo());
+        vo.setDestLocNo(protocol.getLocNo());
+        vo.setCurrentCode(protocol.getCurrentCode());
+        vo.setBatteryPower(protocol.getBatteryPower());
+        vo.setErrorCode(protocol.getErrorCode());
+        vo.setBatteryTemp(protocol.getBatteryTemp());
+        vo.setHasLift(protocol.getHasLift());
+        vo.setHasPallet(protocol.getHasPallet());
+        vo.setHasCharge(protocol.getHasCharge());
+        vo.setBatteryVoltage(String.valueOf(protocol.getBatteryVoltage()));
+        vo.setPakMk(protocol.getPakMk());
         return vo;
     }
 

--
Gitblit v1.9.1