1、pbom升级

This commit is contained in:
大米 2024-06-26 15:02:03 +08:00
parent 12bedbf9a2
commit ccee79d329
3 changed files with 17 additions and 11 deletions

View File

@ -368,7 +368,7 @@ public abstract class EBomToPbomBase {
packageCompositionEntity.setFromLiftingLayerState(1);
}
packageCompositionEntity.setCurrentVersion(lastVirtualPackage.getCurrentVersion());
List<BomNewEbomParentVO> vParentM = allBomDetail.stream().filter(u -> lastVirtualPackage.getBomRowId().equals(u.getParentRowId())).collect(Collectors.toList());
List<BomNewEbomParentVO> vParentM = allBomDetail.stream().filter(u -> lastVirtualPackage.getParentRowId().equals(u.getBomRowId())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(vParentM)) {
packageCompositionEntity.setVirtualMaterialParentMaterialNo(vParentM.get(0).getMaterialNo());
}
@ -380,7 +380,7 @@ public abstract class EBomToPbomBase {
*/
protected void changeImpact() {
// Set<String> vmaterialNo = allBomDetail.stream().filter(u -> VirtualPackageTypeEnum.DIRECT_DELIVERY_PACKAGE.equalsValue(u.getVirtualPartType()) || VirtualPackageTypeEnum.PRE_ASSEMBLY_PACKAGE.equalsValue(u.getVirtualPartType())).map(u -> u.getMaterialNo()).collect(Collectors.toSet());
List<BomNewEbomParentVO> firstParent = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parent.getRowId())).collect(Collectors.toList());
List<BomNewEbomParentVO> firstParent = allBomDetail.stream().filter(u -> u.getParentRowId().equals(parent.getBomRowId())).collect(Collectors.toList());
for (BomNewEbomParentVO vo : firstParent) {
changeImpactDo(vo);
}
@ -390,8 +390,7 @@ public abstract class EBomToPbomBase {
private void changeImpactDo(BomNewEbomParentVO parentVO) {
List<BomNewEbomParentVO> subVos = getAllSubInListIncludeSelf(parentVO,allBomDetail);
// allBomDetail.stream().filter(u -> u.getLevelNumber().compareTo(parentVO.getLevelNumber()) >= 0 && u.getLevelNumber().compareTo(NumberUtil.add(parentVO.getLevelNumber(), BigDecimal.valueOf(0.01))) < 0)
// .sorted(Comparator.comparing(BomNewEbomParentVO::getLevelNumber)).collect(Collectors.toList());
List<BomNewEbomParentVO> subVosParent = subVos.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList());
for (BomNewEbomParentVO vo : subVosParent) {
if (compareVirtualPackage(vo)) {

View File

@ -12,9 +12,7 @@ import com.nflg.product.bomnew.service.BomNewPbomParentService;
import com.nflg.product.bomnew.util.ListCommonUtil;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.concurrent.RecursiveTask;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
@ -59,9 +57,17 @@ public class PBomDetailTask extends RecursiveTask<List<BomNewPbomParentVO>> {
List<BomNewPbomParentEntity> childBomlist = SpringUtil.getBean(BomNewPbomParentService.class).lambdaQuery()
.in(BomNewPbomParentEntity::getMaterialNo, materialNos)
.eq(BomNewPbomParentEntity::getLastVersionIs, 1)
.eq(BomNewPbomParentEntity::getFacCode,facCode).list();
Map<String, BomNewPbomParentEntity> parentMap = ListCommonUtil.listToMap(childBomlist, BomNewPbomParentEntity::getMaterialNo);
// Map<String, BomNewPbomParentEntity> parentMap = ListCommonUtil.listToMap(childBomlist, BomNewPbomParentEntity::getMaterialNo);
Map<String, BomNewPbomParentEntity> parentMap = childBomlist.stream()
.collect(Collectors.groupingBy(
BomNewPbomParentEntity::getMaterialNo,
Collectors.collectingAndThen(
Collectors.maxBy(Comparator.comparing(BomNewPbomParentEntity::getCurrentVersion)),
Optional::get
)
));
for (BomNewPbomParentVO detailVO : bomDetail) {
if (parentMap.containsKey(detailVO.getMaterialNo())) {
BomNewPbomParentEntity ebomParentEntity = parentMap.get(detailVO.getMaterialNo());
@ -76,7 +82,7 @@ public class PBomDetailTask extends RecursiveTask<List<BomNewPbomParentVO>> {
detailVO.setDeviseUserCode(ebomParentEntity.getDeviseUserCode());
detailVO.setCreatedTime(ebomParentEntity.getCreatedTime());
detailVO.setCreatedBy(ebomParentEntity.getCreatedBy());
detailVO.setLevelNum(ebomParentEntity.getLevelNum());
detailVO.setDeptName(ebomParentEntity.getDeptName());
detailVO.setChangeDesc(ebomParentEntity.getChangeDesc());

View File

@ -76,7 +76,8 @@ public class PBomUpgrade {
private void buildParent(BomNewPbomParentVO parentVO, boolean rootIs) {
//判断有无未发布版本-有则直接跳过
List<BomNewPbomParentEntity> waitPublishBomList = SpringUtil.getBean(BomNewPbomParentService.class).lambdaQuery().eq(BomNewPbomParentEntity::getMaterialNo, parentVO.getMaterialNo())
.eq(BomNewPbomParentEntity::getStatus, PBomStatusEnum.WAIT_PUBLISH.getValue()).list();
.eq(BomNewPbomParentEntity::getFacCode, parentVO.getFacCode())
.lt(BomNewPbomParentEntity::getStatus, PBomStatusEnum.WAIT_PUBLISH.getValue()).list();
if(CollUtil.isNotEmpty(waitPublishBomList)){
return;
}