新增webcad生产单导入:加工组生成规则修改

This commit is contained in:
gaoqr
2025-03-11 19:30:45 +08:00
parent 38a41b1248
commit 8b1d81eefc
2 changed files with 14 additions and 11 deletions
@@ -65,6 +65,7 @@ public class WebCadDataBlockReqVO {
@NoArgsConstructor @NoArgsConstructor
@Data @Data
public static class GroupInfo { public static class GroupInfo {
private Integer groupId;
private String groupTypeName; private String groupTypeName;
private String groupName; private String groupName;
private Double width; private Double width;
@@ -137,8 +137,8 @@ public class WebCadOrderImportFactory {
// 柜体缓存 // 柜体缓存
private Map<String, OrderBodyDO> bodyMap = new HashMap<>(); private Map<String, OrderBodyDO> bodyMap = new HashMap<>();
// 房间名+柜体名+加工组名 // 加工组map
private Map<String, OrderGroupDO> orderGroupMap = new HashMap<>(); private Map<Integer, OrderGroupDO> groupMap = new HashMap<>();
private List<PlateDO> plateDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); private List<PlateDO> plateDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER);
private List<OrderItemDO> orderItemDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER); private List<OrderItemDO> orderItemDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER);
@@ -353,6 +353,7 @@ public class WebCadOrderImportFactory {
// brId 板件序号获取板件 // brId 板件序号获取板件
WebCadDataBlockReqVO webCadDataBlockReqVO = blockReqVOS.get(brId - 1); WebCadDataBlockReqVO webCadDataBlockReqVO = blockReqVOS.get(brId - 1);
WebCadDataBlockReqVO.GroupInfo groupInfo = new WebCadDataBlockReqVO.GroupInfo(); WebCadDataBlockReqVO.GroupInfo groupInfo = new WebCadDataBlockReqVO.GroupInfo();
groupInfo.setGroupId(project.getGroupID());
groupInfo.setGroupTypeName(groupTypeName); groupInfo.setGroupTypeName(groupTypeName);
groupInfo.setGroupName(project.getProjName()); groupInfo.setGroupName(project.getProjName());
groupInfo.setWidth(project.getBoxSize().getWidth()); groupInfo.setWidth(project.getBoxSize().getWidth());
@@ -377,6 +378,7 @@ public class WebCadOrderImportFactory {
// objId 配件序号获取配件 // objId 配件序号获取配件
WebCadDataPartsReqVO.BlockObjectListDTO part = partsReqVO.getBlockObjectList().get(objId - 1); WebCadDataPartsReqVO.BlockObjectListDTO part = partsReqVO.getBlockObjectList().get(objId - 1);
WebCadDataBlockReqVO.GroupInfo groupInfo = new WebCadDataBlockReqVO.GroupInfo(); WebCadDataBlockReqVO.GroupInfo groupInfo = new WebCadDataBlockReqVO.GroupInfo();
groupInfo.setGroupId(project.getGroupID());
groupInfo.setGroupTypeName(groupTypeName); groupInfo.setGroupTypeName(groupTypeName);
groupInfo.setGroupName(project.getProjName()); groupInfo.setGroupName(project.getProjName());
groupInfo.setWidth(project.getBoxSize().getWidth()); groupInfo.setWidth(project.getBoxSize().getWidth());
@@ -626,9 +628,9 @@ public class WebCadOrderImportFactory {
if (CollUtil.isNotEmpty(groupInfos)) { if (CollUtil.isNotEmpty(groupInfos)) {
// 加工组缓存存在,一个加工组一个orderGroup+orderItem // 加工组缓存存在,一个加工组一个orderGroup+orderItem
for (WebCadDataBlockReqVO.GroupInfo groupInfo : groupInfos) { for (WebCadDataBlockReqVO.GroupInfo groupInfo : groupInfos) {
String groupMapKey = roomName + bodyName + groupInfo.getGroupName(); Integer cadGroupId = groupInfo.getGroupId();
OrderGroupDO orderGroupDO = orderGroupMap.get(groupMapKey); OrderGroupDO orderGroupDO = groupMap.get(cadGroupId);
// 房间+柜体+加工组名称存在累加板件和异形数量,不存在新增groupDO和orderGroupMap缓存 // cadGroupId存在累加板件和异形数量,不存在新增groupDO和orderGroupMap缓存
if (ObjectUtil.isNull(orderGroupDO)) { if (ObjectUtil.isNull(orderGroupDO)) {
orderGroupDO = OrderGroupDO orderGroupDO = OrderGroupDO
.builder() .builder()
@@ -654,7 +656,7 @@ public class WebCadOrderImportFactory {
orderGroupDO.setCreateTime(now); orderGroupDO.setCreateTime(now);
orderGroupDO.setUpdateTime(now); orderGroupDO.setUpdateTime(now);
orderGroupMap.put(groupMapKey, orderGroupDO); groupMap.put(cadGroupId, orderGroupDO);
orderGroupDOS.add(orderGroupDO); orderGroupDOS.add(orderGroupDO);
} else { } else {
orderGroupDO.setPlateNum(orderGroupDO.getPlateNum() + 1); orderGroupDO.setPlateNum(orderGroupDO.getPlateNum() + 1);
@@ -788,9 +790,9 @@ public class WebCadOrderImportFactory {
// 带加工组的配件增加item只记录配件id和数量 // 带加工组的配件增加item只记录配件id和数量
partNum += part.getNum(); partNum += part.getNum();
for (WebCadDataBlockReqVO.GroupInfo groupInfo : groupInfos) { for (WebCadDataBlockReqVO.GroupInfo groupInfo : groupInfos) {
String groupMapKey = roomName + bodyName + groupInfo.getGroupName(); Integer cadGroupId = groupInfo.getGroupId();
OrderGroupDO orderGroupDO = orderGroupMap.get(groupMapKey); OrderGroupDO orderGroupDO = groupMap.get(cadGroupId);
// // cadGroupId存在累加板件和异形数量,不存在新增groupDO和orderGroupMap缓存
if (ObjectUtil.isNull(orderGroupDO)) { if (ObjectUtil.isNull(orderGroupDO)) {
orderGroupDO = OrderGroupDO orderGroupDO = OrderGroupDO
.builder() .builder()
@@ -816,7 +818,7 @@ public class WebCadOrderImportFactory {
orderGroupDO.setCreateTime(now); orderGroupDO.setCreateTime(now);
orderGroupDO.setUpdateTime(now); orderGroupDO.setUpdateTime(now);
orderGroupMap.put(groupMapKey, orderGroupDO); groupMap.put(cadGroupId, orderGroupDO);
orderGroupDOS.add(orderGroupDO); orderGroupDOS.add(orderGroupDO);
} }
@@ -1179,7 +1181,7 @@ public class WebCadOrderImportFactory {
private void clearAll() { private void clearAll() {
orderPartsDOS.clear(); orderPartsDOS.clear();
orderGroupDOS.clear(); orderGroupDOS.clear();
orderGroupMap.clear(); groupMap.clear();
plateDOS.clear(); plateDOS.clear();
orderItemDOS.clear(); orderItemDOS.clear();
orderModelDOS.clear(); orderModelDOS.clear();