From a42ae1ffc20459dc46a88590bc4a94f9280f2d3d Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 10 五月 2024 15:31:28 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java |   48 ++++++++++++++++++++++--------------------------
 1 files changed, 22 insertions(+), 26 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..56a8231 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,11 +179,11 @@
 
                 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));
@@ -291,15 +292,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 +308,10 @@
             }
 
             if (!shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.IDLE)) {
+                continue;
+            }
+
+            if (!shuttleThread.isRequireCharge()) {
                 continue;
             }
 
@@ -438,15 +436,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 +446,11 @@
                 continue;
             }
 
+            ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
+            if (shuttleProtocol == null) {
+                continue;
+            }
+
             if (!shuttleThread.isCharging()) {
                 continue;
             }

--
Gitblit v1.9.1