From 7109f668b71c21810cb8257e4dd34584b3a1844e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 11 四月 2024 23:12:51 +0800
Subject: [PATCH] #

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java                 |   33 ++++++++++++++++++++++-----------
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java |    5 ++---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java         |    1 -
 3 files changed, 24 insertions(+), 15 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 4eabc58..3807225 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
@@ -104,31 +104,32 @@
             }
         }
         // loc
-        List<String> newMapLocList = new ArrayList<>();
+        List<String> newLocList = new ArrayList<>();
         for (MapItem item : param.getItemList()) {
             int row = Integer.parseInt(String.valueOf(item.getProperty().get("row")));
             int bay = Integer.parseInt(String.valueOf(item.getProperty().get("bay")));
             String locNo = Utils.getLocNo(row, bay, param.getFloor());
-            newMapLocList.add(locNo);
+            newLocList.add(locNo);
         }
 
         List<String> existLocList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getLev, param.getFloor()))
                 .stream().map(Loc::getLocNo).collect(Collectors.toList());
 
-        // todo
 
-        locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev, param.getFloor()));
-        for (MapItem item : param.getItemList()) {
+        List<String> locListToSave = newLocList.stream().filter(locNo -> !existLocList.contains(locNo)).collect(Collectors.toList());
+
+        List<String> locListToRemove = existLocList.stream().filter(locNo -> !newLocList.contains(locNo)).collect(Collectors.toList());
+
+        List<String> locListInBoth = newLocList.stream().filter(existLocList::contains).collect(Collectors.toList());
+
+        for (String locNo : locListToSave) {
             Loc loc = new Loc();
-            loc.setRow(Integer.parseInt(String.valueOf(item.getProperty().get("row"))));
-            loc.setBay(Integer.parseInt(String.valueOf(item.getProperty().get("bay"))));
-            loc.setLev(param.getFloor());
-            String locNo = Utils.getLocNo(loc.getRow(), loc.getBay(), loc.getLev());
             loc.setLocNo(locNo);
             loc.setName(locNo);
-
+            loc.setRow(Utils.getRow(locNo));
+            loc.setBay(Utils.getBay(locNo));
+            loc.setLev(Utils.getLev(locNo));
             loc.setLocSts(LocStsType.O.val());
-
             loc.setCreateBy(userId);
             loc.setCreateTime(now);
             loc.setUpdateBy(userId);
@@ -137,6 +138,16 @@
                 throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
             }
         }
+
+        for (String locNo : locListToRemove) {
+            if (!locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, locNo))) {
+                throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+            }
+        }
+
+        for (String locNo : locListInBoth) {
+
+        }
     }
 
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java
index f9092d6..a63e648 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapRealTimeDataScheduler.java
@@ -12,7 +12,6 @@
 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.service.ShuttleService;
 import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -47,7 +46,7 @@
 
         List<Device> deviceList = deviceService.list(new LambdaQueryWrapper<Device>().eq(Device::getDeviceType, DeviceCtgType.SHUTTLE.val()));
         for (Device device : deviceList) {
-            basShuttleService.
+//            basShuttleService.
             ShuttleThread thread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getId().intValue());
             if (null == thread) {
                 continue;
@@ -58,7 +57,7 @@
             }
 
             MapWsShuttleVo shuttleVo = new MapWsShuttleVo();
-            shuttleVo.setShuttleNo();
+//            shuttleVo.setShuttleNo();
 
 
             shuttleVos.add(shuttleVo);
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java
index b0641c8..5fe2572 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/service/impl/LocStsServiceImpl.java
@@ -1,7 +1,6 @@
 package com.zy.asrs.wcs.core.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zy.asrs.wcs.core.entity.DeviceCtg;
 import com.zy.asrs.wcs.core.mapper.LocStsMapper;
 import com.zy.asrs.wcs.core.entity.LocSts;
 import com.zy.asrs.wcs.core.service.LocStsService;

--
Gitblit v1.9.1