转PBOM-虚拟包处理

This commit is contained in:
大米 2024-09-10 15:36:06 +08:00
parent 2b4db51c18
commit 6d2abfa7a8
1 changed files with 22 additions and 19 deletions

View File

@ -192,22 +192,22 @@ public abstract class FormalEBomToPbomBase {
//pbom 处于工作表 //pbom 处于工作表
else if (Objects.nonNull(oldParent) && oldParent.getStatus() < EBomStatusEnum.PUBLISHED.getValue()) { else if (Objects.nonNull(oldParent) && oldParent.getStatus() < EBomStatusEnum.PUBLISHED.getValue()) {
//if (oldParent.getCreatedBy().equals(parentVo.getCreatedBy())) { //if (oldParent.getCreatedBy().equals(parentVo.getCreatedBy())) {
if (ConvertToPBomModelEnum.OVERRIDE.equalsValue(convertMode.getValue())) { // if (ConvertToPBomModelEnum.OVERRIDE.equalsValue(convertMode.getValue())) {
if (oldParent.getCreatedBy().equals(parentVo.getCreatedBy()) || VersionUtil.compare(parentVo.getCurrentVersion(),oldParent.getCurrentVersion())>0) { // if (oldParent.getCreatedBy().equals(parentVo.getCreatedBy()) || VersionUtil.compare(parentVo.getCurrentVersion(),oldParent.getCurrentVersion())>0) {
SpringUtil.getBean(BomNewPbomChildService.class).getBaseMapper().deleteByMap(ImmutableMap.of("parent_row_id", oldParent.getRowId())); // SpringUtil.getBean(BomNewPbomChildService.class).getBaseMapper().deleteByMap(ImmutableMap.of("parent_row_id", oldParent.getRowId()));
oldParent.setSourceRowId(parentVo.getBomRowId()); // oldParent.setSourceRowId(parentVo.getBomRowId());
oldParent.setCreatedTime(LocalDateTime.now()); // oldParent.setCreatedTime(LocalDateTime.now());
oldParent.setCreatedBy(SessionUtil.getUserCode()); // oldParent.setCreatedBy(SessionUtil.getUserCode());
oldParent.setDeptName(SessionUtil.getDepartName()); // oldParent.setDeptName(SessionUtil.getDepartName());
oldParent.setDeptRowId(SessionUtil.getDepartRowId()); // oldParent.setDeptRowId(SessionUtil.getDepartRowId());
this.pBomParentResult.add(oldParent); // this.pBomParentResult.add(oldParent);
return oldParent; // return oldParent;
} // }
//
} else { // } else {
// 降parentVo 及其子节点标记为不转换 // // 降parentVo 及其子节点标记为不转换
markNoConvert(parentVo, parentList); // markNoConvert(parentVo, parentList);
} // }
return null; return null;
} else { //pbom-处于正式表(全部生成小版本) } else { //pbom-处于正式表(全部生成小版本)
@ -264,7 +264,9 @@ public abstract class FormalEBomToPbomBase {
buildPBomAddChild(artParent, facCode, oldArtChild); buildPBomAddChild(artParent, facCode, oldArtChild);
} }
if(StrUtil.isNotBlank(oldArtChild.getOriginalMaterialNo()) && newBomChildrenMap.containsKey(oldArtChild.getOriginalMaterialNo())){ if(StrUtil.isNotBlank(oldArtChild.getOriginalMaterialNo()) && newBomChildrenMap.containsKey(oldArtChild.getOriginalMaterialNo())){
newBomChildrenMap.get(oldArtChild.getOriginalMaterialNo()).setParentRowId(artParent.getRowId()); // newBomChildrenMap.get(oldArtChild.getOriginalMaterialNo()).setParentRowId(artParent.getRowId());
buildPBomAddChild(artParent, facCode, Convert.convert(BomNewPbomParentVO.class,newBomChildrenMap.get(oldArtChild.getOriginalMaterialNo()) ));
delResult.add(oldArtChild.getOriginalMaterialNo());
} }
} }
} }
@ -276,8 +278,9 @@ public abstract class FormalEBomToPbomBase {
List<BomNewEbomParentVO> upEnts = newBomChildren.stream().filter(u -> u.getMaterialNo().equals(oldPBomUpdateChild.getOriginalMaterialNo()) List<BomNewEbomParentVO> upEnts = newBomChildren.stream().filter(u -> u.getMaterialNo().equals(oldPBomUpdateChild.getOriginalMaterialNo())
&& u.getProjectType().equals(oldPBomUpdateChild.getOriginalProjectType()) && u.getNum().equals(oldPBomUpdateChild.getOriginalNum())).collect(Collectors.toList()); && u.getProjectType().equals(oldPBomUpdateChild.getOriginalProjectType()) && u.getNum().equals(oldPBomUpdateChild.getOriginalNum())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(upEnts)) { if (CollUtil.isNotEmpty(upEnts)) {
buildPBomAddChild(parent, facCode, oldPBomUpdateChild); upEnts.get(0).setMaterialNo(oldPBomUpdateChild.getMaterialNo());
newBomChildren.remove(upEnts.get(0)); upEnts.get(0).setNum(oldPBomUpdateChild.getNum());
upEnts.get(0).setProjectType(oldPBomUpdateChild.getProjectType());
} }
} }
} }