fix查看多层子级无数据异常

This commit is contained in:
jing's 2024-06-23 22:51:24 +08:00
parent c04fa487d8
commit 3151af0fe0
3 changed files with 44 additions and 12 deletions

View File

@ -1,8 +1,10 @@
package com.nflg.product.bomnew.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nflg.product.bomnew.constant.EBomConstant;
@ -146,6 +148,8 @@ public class ForwardReportService {
}
public void exportExcel( List<ForwardReportVO> list,OutputStream outputStream) throws IOException {
VUtils.isTure(Objects.isNull(list)||CollUtil.isEmpty(list)).throwMessage("无数据可导出");
List<ForwardReportExcelVO> exportList= Convert.convert( new TypeReference<List<ForwardReportExcelVO>>() {
}, list);
ListSheet<ForwardReportExcelVO> listSheet=new ListSheet<>(exportList);
@ -161,6 +165,10 @@ public class ForwardReportService {
BomNewEbomParentFormalEntity parentEntity=SpringUtil.getBean(BomNewEbomParentFormalService .class).getById(query.getBomRowId());
List<BomNewEbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewEbomParentFormalService.class). getParentChild(query.getBomRowId());
if(CollUtil.isEmpty(parentChildList)){
return new ArrayList<>();
}
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(parentChildList, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
List<Long> bomRowIds=parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId()>0 ).map(BomNewEbomParentFormalVO::getBomRowId).collect(Collectors.toList());
@ -204,6 +212,11 @@ public class ForwardReportService {
BomNewPbomParentFormalEntity parentEntity= SpringUtil.getBean(BomNewPbomParentFormalService .class).getById(query.getBomRowId());
List<BomNewPbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewPbomParentFormalService .class).getParentChild(query.getBomRowId());
if(CollUtil.isEmpty(parentChildList)){
return new ArrayList<>();
}
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(parentChildList, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
List<Long> bomRowIds=parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId()>0 ).map(BomNewPbomParentFormalVO::getBomRowId).collect(Collectors.toList());

View File

@ -220,13 +220,16 @@ public class EBomForwardReport extends BaseForwardReport {
*/
synchronized List<BomNewEbomParentFormalVO> bomDetailList(Long bomRowId) {
List<BomNewEbomParentFormalVO> childList = SpringUtil.getBean(BomNewEbomParentFormalService.class).getParentChild(bomRowId);
EBomFormalTreeTask task = new EBomFormalTreeTask(childList);
ForkJoinPool pool = new ForkJoinPool();
ForkJoinTask<List<BomNewEbomParentFormalVO>> submit = pool.submit(task);
if(CollUtil.isNotEmpty(childList)) {
EBomFormalTreeTask task = new EBomFormalTreeTask(childList);
ForkJoinPool pool = new ForkJoinPool();
ForkJoinTask<List<BomNewEbomParentFormalVO>> submit = pool.submit(task);
List<BomNewEbomParentFormalVO> bomList = submit.join();
initMaterialInfo(bomList);
return bomList;
List<BomNewEbomParentFormalVO> bomList = submit.join();
initMaterialInfo(bomList);
return bomList;
}
return null;
}
void initMaterialInfo(List<BomNewEbomParentFormalVO> list) {
@ -251,6 +254,9 @@ public class EBomForwardReport extends BaseForwardReport {
List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
if(CollUtil.isEmpty(bomList)){
continue;
}
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
@ -289,6 +295,9 @@ public class EBomForwardReport extends BaseForwardReport {
for (BomNewEbomParentFormalEntity parentFormal : listParent) {
List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
if(CollUtil.isEmpty(bomList)){
continue;
}
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);

View File

@ -224,13 +224,16 @@ public class PBomForwardReport extends BaseForwardReport {
*/
List<BomNewPbomParentFormalVO> bomDetailList(Long bomRowId) {
List<BomNewPbomParentFormalVO> childList = SpringUtil.getBean(BomNewPbomParentFormalService.class).getParentChild(bomRowId);
PBomFormalTreeTask task = new PBomFormalTreeTask(childList);
ForkJoinPool pool = new ForkJoinPool();
ForkJoinTask<List<BomNewPbomParentFormalVO>> submit = pool.submit(task);
if(CollUtil.isNotEmpty(childList)) {
PBomFormalTreeTask task = new PBomFormalTreeTask(childList);
ForkJoinPool pool = new ForkJoinPool();
ForkJoinTask<List<BomNewPbomParentFormalVO>> submit = pool.submit(task);
List<BomNewPbomParentFormalVO> bomList = submit.join();
initMaterialInfo(bomList);
return bomList;
List<BomNewPbomParentFormalVO> bomList = submit.join();
initMaterialInfo(bomList);
return bomList;
}
return null;
}
@ -254,6 +257,9 @@ public class PBomForwardReport extends BaseForwardReport {
List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
if(CollUtil.isEmpty(bomList)){
continue;
}
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
@ -297,6 +303,10 @@ public class PBomForwardReport extends BaseForwardReport {
List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
if(CollUtil.isEmpty(bomList)){
continue;
}
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);