EBOM草稿发布时-ebom升级处理

This commit is contained in:
大米 2024-08-29 08:36:15 +08:00
parent 72941481fa
commit 897e779f24
1 changed files with 31 additions and 31 deletions

View File

@ -737,37 +737,37 @@ public abstract class EBomToPbomBase {
List<BomNewEbomParentVO> parentBoms = allBomDetail.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList());
for (BomNewEbomParentVO parentBom : parentBoms) {
List<BomNewEbomParentVO> newParentChild = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parentBom.getBomRowId())).collect(Collectors.toList());
// if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) {
// //获取正式版
// BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo())
// .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue())
// .last(" order by current_version desc limit 1").one();
// if (Objects.nonNull(oldEBom)) {
// List<BomNewEbomChildEntity> oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list();
//
//
// //一样则无需转换
// if (isSameEBomV2(oldParentChild, newParentChild)) {
// parentBom.setNoConvertToPBomIs(1);
// parentBom.setHasChangeState(1);
// //只变化项目类别-则使用小版本
// } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) {
// parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion()));
// parentBom.setHasChangeState(2);
// delOldEBom.add(oldEBom.getRowId());
// addEBomNew.add(parentBom.getBomRowId());
// } else {
// parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion()));
// parentBom.setHasChangeState(2);
// delOldEBom.add(oldEBom.getRowId());
// addEBomNew.add(parentBom.getBomRowId());
// }
//
// }
// else {
// addEBomNew.add(parentBom.getBomRowId());
// }
// }
if (!EBomStatusEnum.PUBLISHED.equalsValue(parentBom.getStatus())) {
//获取正式版
BomNewEbomParentEntity oldEBom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentBom.getMaterialNo())
.eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue())
.last(" order by current_version desc limit 1").one();
if (Objects.nonNull(oldEBom)) {
List<BomNewEbomChildEntity> oldParentChild = SpringUtil.getBean(BomNewEbomChildService.class).lambdaQuery().eq(BomNewEbomChildEntity::getParentRowId, oldEBom.getRowId()).list();
//一样则无需转换
if (isSameEBomV2(oldParentChild, newParentChild)) {
// parentBom.setNoConvertToPBomIs(1);
parentBom.setHasChangeState(1);
//只变化项目类别-则使用小版本
} else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) {
parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion()));
parentBom.setHasChangeState(2);
delOldEBom.add(oldEBom.getRowId());
addEBomNew.add(parentBom.getBomRowId());
} else {
parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion()));
parentBom.setHasChangeState(2);
delOldEBom.add(oldEBom.getRowId());
addEBomNew.add(parentBom.getBomRowId());
}
}
else {
addEBomNew.add(parentBom.getBomRowId());
}
}
//如子级都为F 项父级也不转
Set<String> projectSet = newParentChild.stream().map(u -> u.getProjectType().toUpperCase()).collect(Collectors.toSet());
if (CollUtil.isNotEmpty(projectSet)) {