ebom pbom 无子级数据

This commit is contained in:
jing's 2024-07-23 11:40:58 +08:00
parent 4f02752c5b
commit 63d25b1445
3 changed files with 52 additions and 47 deletions

View File

@ -37,11 +37,15 @@ public class EBomFormalTreeTask extends RecursiveTask<List<BomNewEbomParentVO>>
@Getter
@Setter
private int levelNum=2;
AtomicInteger orderNum = new AtomicInteger(2);
AtomicInteger orderNum;
List<BomNewEbomParentVO> result = new ArrayList<>();
public EBomFormalTreeTask(List<BomNewEbomParentVO> inBomDetail) {
public EBomFormalTreeTask(List<BomNewEbomParentVO> inBomDetail,
int inCountLevel ,
AtomicInteger inCountNum) {
bomDetail = inBomDetail;
this.levelNum=inCountLevel;
this.orderNum=inCountNum;
}
/**
@ -149,8 +153,8 @@ public class EBomFormalTreeTask extends RecursiveTask<List<BomNewEbomParentVO>>
if(CollUtil.isNotEmpty(childBowIds)) {
List<BomNewEbomParentVO> bom = SpringUtil.getBean(BomNewEbomParentService.class).getBaseMapper().getParentChildBatch(childBowIds);
EBomFormalTreeTask task = new EBomFormalTreeTask(bom);
task.setLevelNum(levelNum);
EBomFormalTreeTask task = new EBomFormalTreeTask(bom,levelNum,orderNum);
// task.setLevelNum(levelNum);
task.fork();
bomDetail.addAll(task.join());
return bomDetail;

View File

@ -291,28 +291,23 @@ public class EBomForwardReport extends BaseForwardReport {
for (BomNewEbomParentVO parentFormal : listParent) {
List<BomNewEbomParentVO> parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId()));
List<ForwardReportVO> nodeList=new ArrayList<>();
AtomicInteger orderNum = new AtomicInteger(1);
parentFormal.setLevelNum(1);
parentFormal.setOrderNumber(orderNum.getAndIncrement() + "");
nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal));
initMaterialInfo(parentChildList);
initMaterialInfo(ImmutableList.of(parentFormal));
if (CollectionUtil.isNotEmpty(parentChildList)) {
AtomicInteger orderNum = new AtomicInteger(1);
parentFormal.setLevelNum(1);
parentFormal.setOrderNumber(orderNum.getAndIncrement() + "");
List<ForwardReportVO> nodeList=new ArrayList<>();
nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal));
bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum);
nodeList.addAll( Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, parentChildList));
nodeList.forEach(item->{
item.setBomVersion(parentFormal.getCurrentVersion());
});
nodesList.addAll(nodeList);
}
initMaterialInfo(nodeList);
nodeList.forEach(item->{
item.setBomVersion(parentFormal.getCurrentVersion());
});
nodesList.addAll(nodeList);
}
@ -365,7 +360,9 @@ public class EBomForwardReport extends BaseForwardReport {
List<BomNewEbomParentVO> bomDetailList(Long bomRowId) {
List<BomNewEbomParentVO> childList = SpringUtil.getBean(BomNewEbomParentService.class).getParentChild(bomRowId);
if (CollUtil.isNotEmpty(childList)) {
EBomFormalTreeTask task = new EBomFormalTreeTask(childList);
int inCountLevel=2;
AtomicInteger inCountNum=new AtomicInteger(2);
EBomFormalTreeTask task = new EBomFormalTreeTask(childList,inCountLevel,inCountNum);
ForkJoinPool pool = new ForkJoinPool();
ForkJoinTask<List<BomNewEbomParentVO>> submit = pool.submit(task);
List<BomNewEbomParentVO> bomList = submit.join();
@ -379,13 +376,15 @@ public class EBomForwardReport extends BaseForwardReport {
List<BomNewEbomParentVO> bomDetailAndParent(BomNewEbomParentVO parentBomRow) {
if (isNewVersion()) {
List<BomNewEbomParentVO> bomDetails = bomDetailList(parentBomRow.getRowId());
if (CollUtil.isNotEmpty(bomDetails)) {
List<BomNewEbomParentVO> bomDetails =new ArrayList<>();
parentBomRow.setLevelNum(1);
parentBomRow.setOrderNumber("1");
bomDetails.add(0, parentBomRow);
bomDetails.add( parentBomRow);
List<BomNewEbomParentVO> childs= bomDetailList(parentBomRow.getRowId());
if(CollUtil.isNotEmpty(childs)){
bomDetails.addAll(childs);
}
initMaterialInfo(bomDetails);
return bomDetails;
} else {
return bomDetailFormalList(parentBomRow);
@ -436,7 +435,7 @@ public class EBomForwardReport extends BaseForwardReport {
}
}
initMaterialInfo(voList);
return voList;
}
@ -467,6 +466,7 @@ public class EBomForwardReport extends BaseForwardReport {
if (CollUtil.isEmpty(bomList)) {
continue;
}
initMaterialInfo(bomList);
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
@ -474,14 +474,14 @@ public class EBomForwardReport extends BaseForwardReport {
//转化为树结构
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
nodesList.addAll(nodeList);
for (ForwardReportVO vo :
nodeList) {
vo.setBomVersion(parentFormal.getCurrentVersion());
// vo.setDeviseName(parentFormal.getDeviseName());
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
}
nodesList.addAll(nodeList);
}
return buildReportBomVo(forwardReportVO, nodesList, query.getDataType());

View File

@ -218,13 +218,19 @@ public class PBomForwardReport extends BaseForwardReport {
List<BomNewPbomParentVO> bomDetailAndParent(BomNewPbomParentVO parentBomRow) {
if (isNewVersion()) {
List<BomNewPbomParentVO> bomDetails = bomDetailList(parentBomRow.getRowId(),parentBomRow.getFacCode());
if (CollUtil.isNotEmpty(bomDetails)) {
List<BomNewPbomParentVO> bomDetails =new ArrayList<>();
List<BomNewPbomParentVO> childs = bomDetailList(parentBomRow.getRowId(),parentBomRow.getFacCode());
parentBomRow.setLevelNum(1);
parentBomRow.setOrderNumber("1");
bomDetails.add(0, parentBomRow);
bomDetails.add( parentBomRow);
if(CollUtil.isNotEmpty(childs)){
bomDetails.addAll(childs);
}
initMaterialInfo(bomDetails);
return bomDetails;
} else {
return bomDetailFormalList(parentBomRow);
@ -271,7 +277,7 @@ public class PBomForwardReport extends BaseForwardReport {
}
}
initMaterialInfo(voList);
return voList;
}
@ -296,36 +302,30 @@ public class PBomForwardReport extends BaseForwardReport {
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<ForwardReportVO> nodesList=new ArrayList<>();
for (BomNewPbomParentVO parentFormal:
listParent ) {
List<ForwardReportVO> nodeList=new ArrayList<>();
List<BomNewPbomParentVO> parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId()));
initMaterialInfo(parentChildList);
initMaterialInfo(ImmutableList.of(parentFormal));
if (CollectionUtil.isNotEmpty(parentChildList)) {
AtomicInteger orderNum = new AtomicInteger(1);
parentFormal.setLevelNum(1);
parentFormal.setOrderNumber(orderNum.getAndIncrement() + "");
List<ForwardReportVO> nodeList=new ArrayList<>();
nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal));
if (CollectionUtil.isNotEmpty(parentChildList)) {
bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum);
nodeList.addAll( Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, parentChildList));
}
initMaterialInfo(nodeList);
nodeList.forEach(item->{
item.setBomVersion(parentFormal.getCurrentVersion());
});
nodesList.addAll(nodeList);
}
}
return buildReportBomVo(forwardReportVO,nodesList);
@ -494,6 +494,7 @@ public class PBomForwardReport extends BaseForwardReport {
if(CollUtil.isEmpty(bomList)){
continue;
}
initMaterialInfo(bomList);
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
@ -501,7 +502,7 @@ public class PBomForwardReport extends BaseForwardReport {
sumLevel(convertBomList);
//转化为树结构
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
nodesList.addAll(nodeList);
for (ForwardReportVO vo :
nodeList) {
@ -511,7 +512,7 @@ public class PBomForwardReport extends BaseForwardReport {
vo.setExpireEndTime(parentFormal.getReleaseTime());
}
nodesList.addAll(nodeList);
}
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());