新增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
@Data
public static class GroupInfo {
private Integer groupId;
private String groupTypeName;
private String groupName;
private Double width;
@@ -137,8 +137,8 @@ public class WebCadOrderImportFactory {
// 柜体缓存
private Map<String, OrderBodyDO> bodyMap = new HashMap<>();
// 房间名+柜体名+加工组名
private Map<String, OrderGroupDO> orderGroupMap = new HashMap<>();
// 加工组map
private Map<Integer, OrderGroupDO> groupMap = new HashMap<>();
private List<PlateDO> plateDOS = ListUtils.newArrayListWithExpectedSize(BATCH_THRESHOLD_NUMBER);
private List<OrderItemDO> 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();