From d8dfba7b01fc1862c1ced514755e729bf65fec7e Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 06 六月 2024 08:14:41 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java |   55 +++++++++++++++++++++++++++----------------------------
 1 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
index fde0c89..f0fbe84 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zy.asrs.framework.common.Cools;
 import com.zy.asrs.framework.common.SnowflakeIdWorker;
+import com.zy.asrs.wcs.core.domain.dto.RedisMapDto;
 import com.zy.asrs.wcs.core.entity.*;
 import com.zy.asrs.wcs.core.kernel.AnalyzeService;
 import com.zy.asrs.wcs.core.model.MapNode;
@@ -20,13 +21,11 @@
 import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
 import com.zy.asrs.wcs.rcs.constant.DeviceRedisConstant;
 import com.zy.asrs.wcs.rcs.entity.Device;
-import com.zy.asrs.wcs.rcs.entity.DeviceType;
 import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
 import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
 import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
 import com.zy.asrs.wcs.rcs.model.protocol.StaProtocol;
 import com.zy.asrs.wcs.rcs.service.DeviceService;
-import com.zy.asrs.wcs.rcs.service.DeviceTypeService;
 import com.zy.asrs.wcs.rcs.thread.DevpThread;
 import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
 import com.zy.asrs.wcs.system.entity.Dict;
@@ -56,8 +55,6 @@
     @Autowired
     private DeviceService deviceService;
     @Autowired
-    private DeviceTypeService deviceTypeService;
-    @Autowired
     private LocCtgService locCtgService;
     @Autowired
     private LocService locService;
@@ -86,7 +83,7 @@
     public synchronized void initRealtimeBasMap() {
         try {
             List<Dict> dicts = dictService.list(new LambdaQueryWrapper<Dict>()
-                    .like(Dict::getFlag, "map")
+                    .like(Dict::getFlag, "map-")
                     .eq(Dict::getStatus, 1));
 
             TreeMap<Integer, ArrayList<ArrayList<MapNode>>> levData = new TreeMap<>();
@@ -125,6 +122,8 @@
                         mapNode.setRow(object.getInteger("row"));
                         mapNode.setBay(object.getInteger("bay"));
                         mapNode.setNo(object.getString("row") + "-" + object.getString("bay"));
+                        mapNode.setXBase(object.getInteger("refx"));
+                        mapNode.setYBase(object.getInteger("refy"));
                         nodes.add(mapNode);
                     }
 
@@ -153,6 +152,8 @@
                 mapNode.setRow(0);
                 mapNode.setBay(0);
                 mapNode.setNo("0-0");
+                mapNode.setXBase(0);
+                mapNode.setYBase(0);
 
                 //鑾峰彇鏈�闀縭ow
                 int row = 0;
@@ -178,14 +179,17 @@
 
                 Integer lev = entry.getKey();
                 Date now = new Date();
-                HashMap<String, Object> map = new HashMap<>();
-                map.put("data", JSON.toJSONString(lists));
-                map.put("create_time", now);
-                map.put("update_time", now);
-                map.put("lev", lev);
+                RedisMapDto map = new RedisMapDto();
+                map.setData(JSON.toJSONString(lists));
+                map.setCreateTime(now);
+                map.setUpdateTime(now);
+                map.setLev(lev);
 
-                //灏嗗湴鍥炬暟鎹瓨鍏edis
-                redisUtil.set(DeviceRedisConstant.MAP + lev, JSON.toJSONString(map));
+                Object data = redisUtil.get(DeviceRedisConstant.MAP + lev);
+                if (data != null) {
+                    //灏嗗湴鍥炬暟鎹瓨鍏edis
+                    redisUtil.set(DeviceRedisConstant.MAP + lev, JSON.toJSONString(map));
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -291,15 +295,8 @@
             return;
         }
 
-        DeviceType deviceType = deviceTypeService.getOne(new LambdaQueryWrapper<DeviceType>()
-                .eq(DeviceType::getFlag, String.valueOf(SlaveType.Shuttle))
-                .eq(DeviceType::getStatus, 1));
-        if (deviceType == null) {
-            return;
-        }
-
         List<Device> list = deviceService.list(new LambdaQueryWrapper<Device>()
-                .eq(Device::getDeviceType, deviceType.getId())
+                .eq(Device::getDeviceType, DeviceCtgType.SHUTTLE.val())
                 .eq(Device::getStatus, 1));
         for (Device device : list) {
             //鑾峰彇鍥涘悜绌挎杞︾嚎绋�
@@ -314,6 +311,10 @@
             }
 
             if (!shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.IDLE)) {
+                continue;
+            }
+
+            if (!shuttleThread.isRequireCharge()) {
                 continue;
             }
 
@@ -438,15 +439,8 @@
             return;
         }
 
-        DeviceType deviceType = deviceTypeService.getOne(new LambdaQueryWrapper<DeviceType>()
-                .eq(DeviceType::getFlag, String.valueOf(SlaveType.Shuttle))
-                .eq(DeviceType::getStatus, 1));
-        if (deviceType == null) {
-            return;
-        }
-
         List<Device> list = deviceService.list(new LambdaQueryWrapper<Device>()
-                .eq(Device::getDeviceType, deviceType.getId())
+                .eq(Device::getDeviceType, DeviceCtgType.SHUTTLE.val())
                 .eq(Device::getStatus, 1));
         for (Device device : list) {
             //鑾峰彇鍥涘悜绌挎杞︾嚎绋�
@@ -455,6 +449,11 @@
                 continue;
             }
 
+            ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
+            if (shuttleProtocol == null) {
+                continue;
+            }
+
             if (!shuttleThread.isCharging()) {
                 continue;
             }

--
Gitblit v1.9.1