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; package com.nflg.product.bomnew.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.EBomConstant;
@ -146,6 +148,8 @@ public class ForwardReportService {
} }
public void exportExcel( List<ForwardReportVO> list,OutputStream outputStream) throws IOException { 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<ForwardReportExcelVO> exportList= Convert.convert( new TypeReference<List<ForwardReportExcelVO>>() {
}, list); }, list);
ListSheet<ForwardReportExcelVO> listSheet=new ListSheet<>(exportList); ListSheet<ForwardReportExcelVO> listSheet=new ListSheet<>(exportList);
@ -161,6 +165,10 @@ public class ForwardReportService {
BomNewEbomParentFormalEntity parentEntity=SpringUtil.getBean(BomNewEbomParentFormalService .class).getById(query.getBomRowId()); BomNewEbomParentFormalEntity parentEntity=SpringUtil.getBean(BomNewEbomParentFormalService .class).getById(query.getBomRowId());
List<BomNewEbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewEbomParentFormalService.class). getParentChild(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); 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()); 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()); BomNewPbomParentFormalEntity parentEntity= SpringUtil.getBean(BomNewPbomParentFormalService .class).getById(query.getBomRowId());
List<BomNewPbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewPbomParentFormalService .class).getParentChild(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); 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()); List<Long> bomRowIds=parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId()>0 ).map(BomNewPbomParentFormalVO::getBomRowId).collect(Collectors.toList());

View File

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

View File

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