fix查看多层子级无数据异常
This commit is contained in:
parent
c04fa487d8
commit
3151af0fe0
|
|
@ -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());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -220,13 +220,16 @@ 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);
|
||||||
EBomFormalTreeTask task = new EBomFormalTreeTask(childList);
|
if(CollUtil.isNotEmpty(childList)) {
|
||||||
ForkJoinPool pool = new ForkJoinPool();
|
EBomFormalTreeTask task = new EBomFormalTreeTask(childList);
|
||||||
ForkJoinTask<List<BomNewEbomParentFormalVO>> submit = pool.submit(task);
|
ForkJoinPool pool = new ForkJoinPool();
|
||||||
|
ForkJoinTask<List<BomNewEbomParentFormalVO>> submit = pool.submit(task);
|
||||||
|
|
||||||
List<BomNewEbomParentFormalVO> bomList = submit.join();
|
List<BomNewEbomParentFormalVO> bomList = submit.join();
|
||||||
initMaterialInfo(bomList);
|
initMaterialInfo(bomList);
|
||||||
return bomList;
|
return bomList;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
void initMaterialInfo(List<BomNewEbomParentFormalVO> list) {
|
void initMaterialInfo(List<BomNewEbomParentFormalVO> list) {
|
||||||
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -224,13 +224,16 @@ 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);
|
||||||
PBomFormalTreeTask task = new PBomFormalTreeTask(childList);
|
if(CollUtil.isNotEmpty(childList)) {
|
||||||
ForkJoinPool pool = new ForkJoinPool();
|
PBomFormalTreeTask task = new PBomFormalTreeTask(childList);
|
||||||
ForkJoinTask<List<BomNewPbomParentFormalVO>> submit = pool.submit(task);
|
ForkJoinPool pool = new ForkJoinPool();
|
||||||
|
ForkJoinTask<List<BomNewPbomParentFormalVO>> submit = pool.submit(task);
|
||||||
|
|
||||||
List<BomNewPbomParentFormalVO> bomList = submit.join();
|
List<BomNewPbomParentFormalVO> bomList = submit.join();
|
||||||
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);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue