ebom pbom 无子级数据
This commit is contained in:
parent
4f02752c5b
commit
63d25b1445
|
|
@ -37,11 +37,15 @@ public class EBomFormalTreeTask extends RecursiveTask<List<BomNewEbomParentVO>>
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
private int levelNum=2;
|
private int levelNum=2;
|
||||||
AtomicInteger orderNum = new AtomicInteger(2);
|
AtomicInteger orderNum;
|
||||||
List<BomNewEbomParentVO> result = new ArrayList<>();
|
List<BomNewEbomParentVO> result = new ArrayList<>();
|
||||||
|
|
||||||
public EBomFormalTreeTask(List<BomNewEbomParentVO> inBomDetail) {
|
public EBomFormalTreeTask(List<BomNewEbomParentVO> inBomDetail,
|
||||||
|
int inCountLevel ,
|
||||||
|
AtomicInteger inCountNum) {
|
||||||
bomDetail = inBomDetail;
|
bomDetail = inBomDetail;
|
||||||
|
this.levelNum=inCountLevel;
|
||||||
|
this.orderNum=inCountNum;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -149,8 +153,8 @@ public class EBomFormalTreeTask extends RecursiveTask<List<BomNewEbomParentVO>>
|
||||||
if(CollUtil.isNotEmpty(childBowIds)) {
|
if(CollUtil.isNotEmpty(childBowIds)) {
|
||||||
List<BomNewEbomParentVO> bom = SpringUtil.getBean(BomNewEbomParentService.class).getBaseMapper().getParentChildBatch(childBowIds);
|
List<BomNewEbomParentVO> bom = SpringUtil.getBean(BomNewEbomParentService.class).getBaseMapper().getParentChildBatch(childBowIds);
|
||||||
|
|
||||||
EBomFormalTreeTask task = new EBomFormalTreeTask(bom);
|
EBomFormalTreeTask task = new EBomFormalTreeTask(bom,levelNum,orderNum);
|
||||||
task.setLevelNum(levelNum);
|
// task.setLevelNum(levelNum);
|
||||||
task.fork();
|
task.fork();
|
||||||
bomDetail.addAll(task.join());
|
bomDetail.addAll(task.join());
|
||||||
return bomDetail;
|
return bomDetail;
|
||||||
|
|
|
||||||
|
|
@ -291,28 +291,23 @@ public class EBomForwardReport extends BaseForwardReport {
|
||||||
for (BomNewEbomParentVO parentFormal : listParent) {
|
for (BomNewEbomParentVO parentFormal : listParent) {
|
||||||
|
|
||||||
List<BomNewEbomParentVO> parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId()));
|
List<BomNewEbomParentVO> parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId()));
|
||||||
|
List<ForwardReportVO> nodeList=new ArrayList<>();
|
||||||
initMaterialInfo(parentChildList);
|
|
||||||
initMaterialInfo(ImmutableList.of(parentFormal));
|
|
||||||
if (CollectionUtil.isNotEmpty(parentChildList)) {
|
|
||||||
AtomicInteger orderNum = new AtomicInteger(1);
|
AtomicInteger orderNum = new AtomicInteger(1);
|
||||||
parentFormal.setLevelNum(1);
|
parentFormal.setLevelNum(1);
|
||||||
parentFormal.setOrderNumber(orderNum.getAndIncrement() + "");
|
parentFormal.setOrderNumber(orderNum.getAndIncrement() + "");
|
||||||
|
|
||||||
List<ForwardReportVO> nodeList=new ArrayList<>();
|
|
||||||
nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal));
|
nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal));
|
||||||
|
|
||||||
|
if (CollectionUtil.isNotEmpty(parentChildList)) {
|
||||||
bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum);
|
bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum);
|
||||||
nodeList.addAll( Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
nodeList.addAll( Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
||||||
}, parentChildList));
|
}, parentChildList));
|
||||||
|
|
||||||
|
}
|
||||||
|
initMaterialInfo(nodeList);
|
||||||
nodeList.forEach(item->{
|
nodeList.forEach(item->{
|
||||||
item.setBomVersion(parentFormal.getCurrentVersion());
|
item.setBomVersion(parentFormal.getCurrentVersion());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
nodesList.addAll(nodeList);
|
nodesList.addAll(nodeList);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -365,7 +360,9 @@ public class EBomForwardReport extends BaseForwardReport {
|
||||||
List<BomNewEbomParentVO> bomDetailList(Long bomRowId) {
|
List<BomNewEbomParentVO> bomDetailList(Long bomRowId) {
|
||||||
List<BomNewEbomParentVO> childList = SpringUtil.getBean(BomNewEbomParentService.class).getParentChild(bomRowId);
|
List<BomNewEbomParentVO> childList = SpringUtil.getBean(BomNewEbomParentService.class).getParentChild(bomRowId);
|
||||||
if (CollUtil.isNotEmpty(childList)) {
|
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();
|
ForkJoinPool pool = new ForkJoinPool();
|
||||||
ForkJoinTask<List<BomNewEbomParentVO>> submit = pool.submit(task);
|
ForkJoinTask<List<BomNewEbomParentVO>> submit = pool.submit(task);
|
||||||
List<BomNewEbomParentVO> bomList = submit.join();
|
List<BomNewEbomParentVO> bomList = submit.join();
|
||||||
|
|
@ -379,13 +376,15 @@ public class EBomForwardReport extends BaseForwardReport {
|
||||||
List<BomNewEbomParentVO> bomDetailAndParent(BomNewEbomParentVO parentBomRow) {
|
List<BomNewEbomParentVO> bomDetailAndParent(BomNewEbomParentVO parentBomRow) {
|
||||||
|
|
||||||
if (isNewVersion()) {
|
if (isNewVersion()) {
|
||||||
List<BomNewEbomParentVO> bomDetails = bomDetailList(parentBomRow.getRowId());
|
List<BomNewEbomParentVO> bomDetails =new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(bomDetails)) {
|
|
||||||
parentBomRow.setLevelNum(1);
|
parentBomRow.setLevelNum(1);
|
||||||
parentBomRow.setOrderNumber("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;
|
return bomDetails;
|
||||||
} else {
|
} else {
|
||||||
return bomDetailFormalList(parentBomRow);
|
return bomDetailFormalList(parentBomRow);
|
||||||
|
|
@ -436,7 +435,7 @@ public class EBomForwardReport extends BaseForwardReport {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
initMaterialInfo(voList);
|
|
||||||
return voList;
|
return voList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -467,6 +466,7 @@ public class EBomForwardReport extends BaseForwardReport {
|
||||||
if (CollUtil.isEmpty(bomList)) {
|
if (CollUtil.isEmpty(bomList)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
initMaterialInfo(bomList);
|
||||||
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
||||||
}, bomList);
|
}, bomList);
|
||||||
|
|
||||||
|
|
@ -474,14 +474,14 @@ public class EBomForwardReport extends BaseForwardReport {
|
||||||
|
|
||||||
//转化为树结构
|
//转化为树结构
|
||||||
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
|
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
|
||||||
nodesList.addAll(nodeList);
|
|
||||||
for (ForwardReportVO vo :
|
for (ForwardReportVO vo :
|
||||||
nodeList) {
|
nodeList) {
|
||||||
vo.setBomVersion(parentFormal.getCurrentVersion());
|
vo.setBomVersion(parentFormal.getCurrentVersion());
|
||||||
// vo.setDeviseName(parentFormal.getDeviseName());
|
// vo.setDeviseName(parentFormal.getDeviseName());
|
||||||
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
|
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
|
||||||
}
|
}
|
||||||
|
nodesList.addAll(nodeList);
|
||||||
|
|
||||||
}
|
}
|
||||||
return buildReportBomVo(forwardReportVO, nodesList, query.getDataType());
|
return buildReportBomVo(forwardReportVO, nodesList, query.getDataType());
|
||||||
|
|
|
||||||
|
|
@ -218,13 +218,19 @@ public class PBomForwardReport extends BaseForwardReport {
|
||||||
List<BomNewPbomParentVO> bomDetailAndParent(BomNewPbomParentVO parentBomRow) {
|
List<BomNewPbomParentVO> bomDetailAndParent(BomNewPbomParentVO parentBomRow) {
|
||||||
|
|
||||||
if (isNewVersion()) {
|
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.setLevelNum(1);
|
||||||
parentBomRow.setOrderNumber("1");
|
parentBomRow.setOrderNumber("1");
|
||||||
bomDetails.add(0, parentBomRow);
|
bomDetails.add( parentBomRow);
|
||||||
|
if(CollUtil.isNotEmpty(childs)){
|
||||||
|
bomDetails.addAll(childs);
|
||||||
}
|
}
|
||||||
initMaterialInfo(bomDetails);
|
|
||||||
return bomDetails;
|
return bomDetails;
|
||||||
} else {
|
} else {
|
||||||
return bomDetailFormalList(parentBomRow);
|
return bomDetailFormalList(parentBomRow);
|
||||||
|
|
@ -271,7 +277,7 @@ public class PBomForwardReport extends BaseForwardReport {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
initMaterialInfo(voList);
|
|
||||||
return voList;
|
return voList;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -296,36 +302,30 @@ public class PBomForwardReport extends BaseForwardReport {
|
||||||
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
|
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
|
||||||
|
|
||||||
List<ForwardReportVO> nodesList=new ArrayList<>();
|
List<ForwardReportVO> nodesList=new ArrayList<>();
|
||||||
|
|
||||||
for (BomNewPbomParentVO parentFormal:
|
for (BomNewPbomParentVO parentFormal:
|
||||||
listParent ) {
|
listParent ) {
|
||||||
|
|
||||||
|
List<ForwardReportVO> nodeList=new ArrayList<>();
|
||||||
|
|
||||||
List<BomNewPbomParentVO> parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId()));
|
List<BomNewPbomParentVO> parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId()));
|
||||||
|
|
||||||
initMaterialInfo(parentChildList);
|
|
||||||
initMaterialInfo(ImmutableList.of(parentFormal));
|
|
||||||
if (CollectionUtil.isNotEmpty(parentChildList)) {
|
|
||||||
|
|
||||||
AtomicInteger orderNum = new AtomicInteger(1);
|
AtomicInteger orderNum = new AtomicInteger(1);
|
||||||
parentFormal.setLevelNum(1);
|
parentFormal.setLevelNum(1);
|
||||||
parentFormal.setOrderNumber(orderNum.getAndIncrement() + "");
|
parentFormal.setOrderNumber(orderNum.getAndIncrement() + "");
|
||||||
|
|
||||||
List<ForwardReportVO> nodeList=new ArrayList<>();
|
|
||||||
nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal));
|
nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal));
|
||||||
|
|
||||||
|
if (CollectionUtil.isNotEmpty(parentChildList)) {
|
||||||
bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum);
|
bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum);
|
||||||
nodeList.addAll( Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
nodeList.addAll( Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
||||||
}, parentChildList));
|
}, parentChildList));
|
||||||
|
}
|
||||||
|
|
||||||
|
initMaterialInfo(nodeList);
|
||||||
nodeList.forEach(item->{
|
nodeList.forEach(item->{
|
||||||
item.setBomVersion(parentFormal.getCurrentVersion());
|
item.setBomVersion(parentFormal.getCurrentVersion());
|
||||||
});
|
});
|
||||||
|
|
||||||
nodesList.addAll(nodeList);
|
nodesList.addAll(nodeList);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return buildReportBomVo(forwardReportVO,nodesList);
|
return buildReportBomVo(forwardReportVO,nodesList);
|
||||||
|
|
@ -494,6 +494,7 @@ public class PBomForwardReport extends BaseForwardReport {
|
||||||
if(CollUtil.isEmpty(bomList)){
|
if(CollUtil.isEmpty(bomList)){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
initMaterialInfo(bomList);
|
||||||
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
|
||||||
}, bomList);
|
}, bomList);
|
||||||
|
|
||||||
|
|
@ -501,7 +502,7 @@ public class PBomForwardReport extends BaseForwardReport {
|
||||||
sumLevel(convertBomList);
|
sumLevel(convertBomList);
|
||||||
//转化为树结构
|
//转化为树结构
|
||||||
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
|
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
|
||||||
nodesList.addAll(nodeList);
|
|
||||||
|
|
||||||
for (ForwardReportVO vo :
|
for (ForwardReportVO vo :
|
||||||
nodeList) {
|
nodeList) {
|
||||||
|
|
@ -511,7 +512,7 @@ public class PBomForwardReport extends BaseForwardReport {
|
||||||
vo.setExpireEndTime(parentFormal.getReleaseTime());
|
vo.setExpireEndTime(parentFormal.getReleaseTime());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
nodesList.addAll(nodeList);
|
||||||
}
|
}
|
||||||
|
|
||||||
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());
|
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue