转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 处于工作表
else if (Objects.nonNull(oldParent) && oldParent.getStatus() < EBomStatusEnum.PUBLISHED.getValue()) {
//if (oldParent.getCreatedBy().equals(parentVo.getCreatedBy())) {
if (ConvertToPBomModelEnum.OVERRIDE.equalsValue(convertMode.getValue())) {
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()));
oldParent.setSourceRowId(parentVo.getBomRowId());
oldParent.setCreatedTime(LocalDateTime.now());
oldParent.setCreatedBy(SessionUtil.getUserCode());
oldParent.setDeptName(SessionUtil.getDepartName());
oldParent.setDeptRowId(SessionUtil.getDepartRowId());
this.pBomParentResult.add(oldParent);
return oldParent;
}
} else {
// 降parentVo 及其子节点标记为不转换
markNoConvert(parentVo, parentList);
}
// if (ConvertToPBomModelEnum.OVERRIDE.equalsValue(convertMode.getValue())) {
// 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()));
// oldParent.setSourceRowId(parentVo.getBomRowId());
// oldParent.setCreatedTime(LocalDateTime.now());
// oldParent.setCreatedBy(SessionUtil.getUserCode());
// oldParent.setDeptName(SessionUtil.getDepartName());
// oldParent.setDeptRowId(SessionUtil.getDepartRowId());
// this.pBomParentResult.add(oldParent);
// return oldParent;
// }
//
// } else {
// // 降parentVo 及其子节点标记为不转换
// markNoConvert(parentVo, parentList);
// }
return null;
} else { //pbom-处于正式表(全部生成小版本)
@ -264,7 +264,9 @@ public abstract class FormalEBomToPbomBase {
buildPBomAddChild(artParent, facCode, oldArtChild);
}
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())
&& u.getProjectType().equals(oldPBomUpdateChild.getOriginalProjectType()) && u.getNum().equals(oldPBomUpdateChild.getOriginalNum())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(upEnts)) {
buildPBomAddChild(parent, facCode, oldPBomUpdateChild);
newBomChildren.remove(upEnts.get(0));
upEnts.get(0).setMaterialNo(oldPBomUpdateChild.getMaterialNo());
upEnts.get(0).setNum(oldPBomUpdateChild.getNum());
upEnts.get(0).setProjectType(oldPBomUpdateChild.getProjectType());
}
}
}