diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java index 2c571cfa4..8c422d11c 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/controller/admin/orderImport/webcad/vo/WebCadDataBlockReqVO.java @@ -65,6 +65,7 @@ public class WebCadDataBlockReqVO { @NoArgsConstructor @Data public static class GroupInfo { + private Integer groupId; private String groupTypeName; private String groupName; private Double width; diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java index 7c183d160..ab66c0919 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java @@ -137,8 +137,8 @@ public class WebCadOrderImportFactory { // 柜体缓存 private Map bodyMap = new HashMap<>(); - // 房间名+柜体名+加工组名 - private Map orderGroupMap = new HashMap<>(); + // 加工组map + private Map groupMap = new HashMap<>(); private List plateDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); private List orderItemDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); @@ -353,6 +353,7 @@ public class WebCadOrderImportFactory { // brId 板件序号获取板件 WebCadDataBlockReqVO webCadDataBlockReqVO = blockReqVOS.get(brId - 1); WebCadDataBlockReqVO.GroupInfo groupInfo = new WebCadDataBlockReqVO.GroupInfo(); + groupInfo.setGroupId(project.getGroupID()); groupInfo.setGroupTypeName(groupTypeName); groupInfo.setGroupName(project.getProjName()); groupInfo.setWidth(project.getBoxSize().getWidth()); @@ -377,6 +378,7 @@ public class WebCadOrderImportFactory { // objId 配件序号获取配件 WebCadDataPartsReqVO.BlockObjectListDTO part = partsReqVO.getBlockObjectList().get(objId - 1); WebCadDataBlockReqVO.GroupInfo groupInfo = new WebCadDataBlockReqVO.GroupInfo(); + groupInfo.setGroupId(project.getGroupID()); groupInfo.setGroupTypeName(groupTypeName); groupInfo.setGroupName(project.getProjName()); groupInfo.setWidth(project.getBoxSize().getWidth()); @@ -626,9 +628,9 @@ public class WebCadOrderImportFactory { if (CollUtil.isNotEmpty(groupInfos)) { // 加工组缓存存在,一个加工组一个orderGroup+orderItem for (WebCadDataBlockReqVO.GroupInfo groupInfo : groupInfos) { - String groupMapKey = roomName + bodyName + groupInfo.getGroupName(); - OrderGroupDO orderGroupDO = orderGroupMap.get(groupMapKey); - // 房间+柜体+加工组名称存在累加板件和异形数量,不存在新增groupDO和orderGroupMap缓存 + Integer cadGroupId = groupInfo.getGroupId(); + OrderGroupDO orderGroupDO = groupMap.get(cadGroupId); + // cadGroupId存在累加板件和异形数量,不存在新增groupDO和orderGroupMap缓存 if (ObjectUtil.isNull(orderGroupDO)) { orderGroupDO = OrderGroupDO .builder() @@ -654,7 +656,7 @@ public class WebCadOrderImportFactory { orderGroupDO.setCreateTime(now); orderGroupDO.setUpdateTime(now); - orderGroupMap.put(groupMapKey, orderGroupDO); + groupMap.put(cadGroupId, orderGroupDO); orderGroupDOS.add(orderGroupDO); } else { orderGroupDO.setPlateNum(orderGroupDO.getPlateNum() + 1); @@ -788,9 +790,9 @@ public class WebCadOrderImportFactory { // 带加工组的配件增加item只记录配件id和数量 partNum += part.getNum(); for (WebCadDataBlockReqVO.GroupInfo groupInfo : groupInfos) { - String groupMapKey = roomName + bodyName + groupInfo.getGroupName(); - OrderGroupDO orderGroupDO = orderGroupMap.get(groupMapKey); - // + Integer cadGroupId = groupInfo.getGroupId(); + OrderGroupDO orderGroupDO = groupMap.get(cadGroupId); + // cadGroupId存在累加板件和异形数量,不存在新增groupDO和orderGroupMap缓存 if (ObjectUtil.isNull(orderGroupDO)) { orderGroupDO = OrderGroupDO .builder() @@ -816,7 +818,7 @@ public class WebCadOrderImportFactory { orderGroupDO.setCreateTime(now); orderGroupDO.setUpdateTime(now); - orderGroupMap.put(groupMapKey, orderGroupDO); + groupMap.put(cadGroupId, orderGroupDO); orderGroupDOS.add(orderGroupDO); } @@ -1179,7 +1181,7 @@ public class WebCadOrderImportFactory { private void clearAll() { orderPartsDOS.clear(); orderGroupDOS.clear(); - orderGroupMap.clear(); + groupMap.clear(); plateDOS.clear(); orderItemDOS.clear(); orderModelDOS.clear();