From 684484fb93775edcfa19cfc7a43d0a748c8362be Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期五, 12 四月 2024 10:59:30 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/service/MapService.java | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 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) { + + } } -- Gitblit v1.9.1