From 74be59f7ae8fe0a4435dc0b532e9a5ba32ab56de Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 11 四月 2024 22:13:04 +0800
Subject: [PATCH] Merge branch 'Four-Way-Rack' of http://47.97.1.152:5880/r/zy-asrs-master into Four-Way-Rack

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/MainServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 39 insertions(+), 21 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 6901e42..74784be 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
@@ -20,13 +20,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;
@@ -55,8 +53,6 @@
     private MotionService motionService;
     @Autowired
     private DeviceService deviceService;
-    @Autowired
-    private DeviceTypeService deviceTypeService;
     @Autowired
     private LocCtgService locCtgService;
     @Autowired
@@ -117,7 +113,7 @@
                     ArrayList<MapNode> nodes = new ArrayList<>();
                     for (JSONObject object : entry.getValue()) {
                         MapNode mapNode = new MapNode();
-                        mapNode.setValue(object.getInteger("value"));
+                        mapNode.setValue(object.getInteger("shelfType"));
                         mapNode.setTop(object.getInteger("top"));
                         mapNode.setBottom(object.getInteger("bottom"));
                         mapNode.setLeft(object.getInteger("left"));
@@ -143,6 +139,38 @@
 
             for (Map.Entry<Integer, ArrayList<ArrayList<MapNode>>> entry : levData.entrySet()) {
                 ArrayList<ArrayList<MapNode>> lists = entry.getValue();//鑾峰彇鍦板浘
+
+                MapNode mapNode = new MapNode();
+                mapNode.setValue(-1);
+                mapNode.setTop(1000);
+                mapNode.setBottom(1000);
+                mapNode.setLeft(1000);
+                mapNode.setRight(1000);
+                mapNode.setRow(0);
+                mapNode.setBay(0);
+                mapNode.setNo("0-0");
+
+                //鑾峰彇鏈�闀縭ow
+                int row = 0;
+                //缁欐瘡涓猺ow棣栧熬澧炲姞-1鑺傜偣
+                for (ArrayList<MapNode> list : lists) {
+                    if (list.size() > row) {
+                        row = list.size();
+                    }
+
+                    list.add(0, mapNode.clone());
+                    list.add(mapNode.clone());
+                }
+
+                ArrayList<MapNode> headNodes = new ArrayList<>();
+                ArrayList<MapNode> footerNodes = new ArrayList<>();
+                for (int i = 0; i < row+2; i++) {
+                    headNodes.add(mapNode.clone());
+                    footerNodes.add(mapNode.clone());
+                }
+
+                lists.add(0, headNodes);
+                lists.add(footerNodes);
 
                 Integer lev = entry.getKey();
                 Date now = new Date();
@@ -259,15 +287,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) {
             //鑾峰彇鍥涘悜绌挎杞︾嚎绋�
@@ -282,6 +303,10 @@
             }
 
             if (!shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.IDLE)) {
+                continue;
+            }
+
+            if (!shuttleThread.isRequireCharge()) {
                 continue;
             }
 
@@ -406,15 +431,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) {
             //鑾峰彇鍥涘悜绌挎杞︾嚎绋�

--
Gitblit v1.9.1