From d73a62a441c2b713ff2694d05ffbaf80e431d91a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 12 四月 2024 12:29:24 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java | 39 ++++++++++++++++++++++++++++++++-------
1 files changed, 32 insertions(+), 7 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 29197d3..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
@@ -33,6 +33,7 @@
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
+import java.util.stream.Collectors;
/**
* Created by vincent on 3/15/2024
@@ -103,18 +104,32 @@
}
}
// loc
- locService.remove(new LambdaQueryWrapper<Loc>().eq(Loc::getLev, param.getFloor()));
+ 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());
+ newLocList.add(locNo);
+ }
+
+ List<String> existLocList = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getLev, param.getFloor()))
+ .stream().map(Loc::getLocNo).collect(Collectors.toList());
+
+
+ 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);
@@ -123,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) {
+
+ }
}
--
Gitblit v1.9.1