diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/ChildBomReportQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/ChildBomReportQuery.java index 6b224a1e..e6d9aef6 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/ChildBomReportQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/ChildBomReportQuery.java @@ -27,4 +27,5 @@ public class ChildBomReportQuery { + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/ForwardReportService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/ForwardReportService.java index 094e4ff7..3c6e741c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/ForwardReportService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/ForwardReportService.java @@ -5,10 +5,7 @@ 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.nflg.product.bomnew.constant.EBomConstant; -import com.nflg.product.bomnew.constant.EBomStatusEnum; -import com.nflg.product.bomnew.constant.OriginalConstant; -import com.nflg.product.bomnew.constant.ReportConstant; +import com.nflg.product.bomnew.constant.*; import com.nflg.product.bomnew.mapper.master.BomNewPbomParentMapper; import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.query.ChildBomReportQuery; @@ -167,17 +164,14 @@ public class ForwardReportService { - - List chilidEBomList(ChildBomReportQuery query) { - - BomNewEbomParentVO parentEntity=null; - List parentChildList=null; - - + boolean isNewVersion=false; if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) { + isNewVersion=true; + } + if (isNewVersion) { parentEntity= Convert.convert(BomNewEbomParentVO.class,SpringUtil.getBean(BomNewEbomParentService .class).getById(query.getBomRowId())); parentChildList = Convert.toList(BomNewEbomParentVO.class,SpringUtil.getBean(BomNewEbomParentService.class). getParentChild(query.getBomRowId())); @@ -187,51 +181,41 @@ public class ForwardReportService { = Convert.toList(BomNewEbomParentVO.class,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); - - Map parentEntityMap=null; - if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) { + Map parentEntityMap=null; + if (isNewVersion) { List materialNos = parentChildList.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo()) ) .map(BomNewEbomParentVO::getMaterialNo).collect(Collectors.toList()); List childBomlist = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery() .in(BomNewEbomParentEntity::getMaterialNo, materialNos) .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()).list(); + List covertList=Convert.toList(BomNewEbomParentVO.class,childBomlist); - - parentEntityMap = covertList.parallelStream() .collect(Collectors.toMap( - BomNewEbomParentVO::getRowId, + BomNewEbomParentVO::getMaterialNo, Function.identity(), BinaryOperator.maxBy(Comparator.comparing(BomNewEbomParentVO::getCurrentVersion)) )); - - }else { List bomRowIds=parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId()>0 ) .map(BomNewEbomParentVO::getBomRowId).collect(Collectors.toList()); - if(CollUtil.isNotEmpty(bomRowIds)) { List bomlist = SpringUtil.getBean(BomNewEbomParentFormalService.class).lambdaQuery() .in(BomNewEbomParentFormalEntity::getRowId, bomRowIds).list(); - parentEntityMap = ListCommonUtil.listToMap(Convert.toList(BomNewEbomParentVO.class,bomlist), BomNewEbomParentVO::getRowId); - + parentEntityMap = ListCommonUtil.listToMap(Convert.toList(BomNewEbomParentVO.class,bomlist), BomNewEbomParentVO::getMaterialNo); } - } for (BomNewEbomParentVO vo : parentChildList) { - - if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getParentRowId())) { - BomNewEbomParentVO ebomParentEntity = parentEntityMap.get(vo.getParentRowId()); + if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getMaterialNo())) { + BomNewEbomParentVO ebomParentEntity = parentEntityMap.get(vo.getMaterialNo()); vo.setDeviseName(ebomParentEntity.getDeviseName()); vo.setDeviseUserCode(ebomParentEntity.getDeviseUserCode()); vo.setCurrentVersion(ebomParentEntity.getCurrentVersion()); @@ -248,21 +232,19 @@ public class ForwardReportService { // } } } - List childBomLit = Convert.convert(new TypeReference>() {}, parentChildList); - - return childBomLit; } List chilidPBomList(ChildBomReportQuery query) { - BomNewPbomParentVO parentEntity=null; - List parentChildList=null; - - + boolean isNewVersion=false; if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) { + isNewVersion=true; + } + + if (isNewVersion) { parentEntity= Convert.convert(BomNewPbomParentVO.class,SpringUtil.getBean(BomNewPbomParentService .class).getById(query.getBomRowId())); parentChildList = Convert.toList(BomNewPbomParentVO.class,SpringUtil.getBean(BomNewPbomParentMapper.class). getParentChild(query.getBomRowId())); @@ -272,28 +254,24 @@ public class ForwardReportService { = Convert.toList(BomNewPbomParentVO.class,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); - - - Map parentEntityMap=null; - if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) { + Map parentEntityMap=null; + if (isNewVersion) { List materialNos = parentChildList.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo()) ) .map(BomNewPbomParentVO::getMaterialNo).collect(Collectors.toList()); List childBomlist = SpringUtil.getBean(BomNewPbomParentService.class).lambdaQuery() .in(BomNewPbomParentEntity::getMaterialNo, materialNos) + .ge( BomNewPbomParentEntity::getStatus, PBomStatusEnum.PUBLISH.getValue()) .eq(BomNewPbomParentEntity::getFacCode, parentEntity.getFacCode()).list(); List covertList=Convert.toList(BomNewPbomParentVO.class,childBomlist); - parentEntityMap = covertList.stream() .collect(Collectors.groupingBy( - BomNewPbomParentVO::getRowId, + BomNewPbomParentVO::getMaterialNo, Collectors.collectingAndThen( Collectors.maxBy(Comparator.comparing(BomNewPbomParentVO::getCurrentVersion)), Optional::get @@ -309,20 +287,17 @@ public class ForwardReportService { List bomlist = SpringUtil.getBean(BomNewPbomParentFormalService.class).lambdaQuery() .in(BomNewPbomParentFormalEntity::getRowId, bomRowIds).list(); - parentEntityMap = ListCommonUtil.listToMap(Convert.toList(BomNewPbomParentVO.class,bomlist), BomNewPbomParentVO::getRowId); + parentEntityMap = ListCommonUtil.listToMap(Convert.toList(BomNewPbomParentVO.class,bomlist), BomNewPbomParentVO::getMaterialNo); } } - for (BomNewPbomParentVO vo: parentChildList) { - - if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getParentRowId())) { - BomNewPbomParentVO pbomParentEntity = parentEntityMap.get(vo.getBomRowId()); - + if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getMaterialNo())) { + BomNewPbomParentVO pbomParentEntity = parentEntityMap.get(vo.getMaterialNo()); vo.setDeviseName(pbomParentEntity.getDeviseName()); vo.setCurrentVersion(pbomParentEntity.getCurrentVersion()); vo.setExpireEndTime(pbomParentEntity.getReleaseTime()); @@ -339,8 +314,6 @@ public class ForwardReportService { // } } } - - List childBomLit = Convert.convert( new TypeReference>() { @@ -363,8 +336,6 @@ public class ForwardReportService { if (item.getParentRowId().longValue() == 0l) { item.setParentRowId(bomRowId); } - - } List childBomLit = Convert.convert( diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomForwardReport.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomForwardReport.java index 6cba29ac..b1da4109 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomForwardReport.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomForwardReport.java @@ -172,7 +172,9 @@ public class EBomForwardReport extends BaseForwardReport { if (CollectionUtil.isNotEmpty(parentChildList)) { - List bomRowIds = parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId() > 0).map(BomNewEbomParentVO::getBomRowId).collect(Collectors.toList()); + List bomRowIds = parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId() > 0) + .map(BomNewEbomParentVO::getBomRowId) + .collect(Collectors.toList()); Map parentEntityMap = null; if (CollUtil.isNotEmpty(bomRowIds)) { List bomlist = getParentList(bomRowIds); @@ -185,7 +187,6 @@ public class EBomForwardReport extends BaseForwardReport { Map noBomParentEntityMap = ListCommonUtil.listToMap(parent, BomNewEbomParentVO::getRowId); - for (BomNewEbomParentVO vo : parentChildList) { @@ -203,15 +204,12 @@ public class EBomForwardReport extends BaseForwardReport { } else { vo.setLevelNum(levelNum); vo.setOrderNumber(orderNum.getAndIncrement() + ""); - if (Objects.nonNull(noBomParentEntityMap) && noBomParentEntityMap.containsKey(vo.getParentRowId())) { BomNewEbomParentVO parentVO = noBomParentEntityMap.get(vo.getParentRowId()); vo.setDeviseName(parentVO.getDeviseName()); vo.setDeviseUserCode(parentVO.getDeviseUserCode()); - } - // if (MaterialshouldBomExistUtil.checkShouldBomExist(vo)) { // vo.setCurrentVersion(OriginalConstant.NO_BOM_VERSION); // } else { @@ -278,6 +276,7 @@ public class EBomForwardReport extends BaseForwardReport { List parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId())); initMaterialInfo(parentChildList); + initMaterialInfo(ImmutableList.of(parentFormal)); AtomicInteger orderNum = new AtomicInteger(1); parentFormal.setLevelNum(1); parentFormal.setOrderNumber(orderNum.getAndIncrement() + ""); @@ -345,7 +344,7 @@ public class EBomForwardReport extends BaseForwardReport { ForkJoinPool pool = new ForkJoinPool(); ForkJoinTask> submit = pool.submit(task); List bomList = submit.join(); - initMaterialInfo(bomList); + return bomList; } return null; @@ -361,7 +360,7 @@ public class EBomForwardReport extends BaseForwardReport { parentBomRow.setOrderNumber("1"); bomDetails.add(0, parentBomRow); } - + initMaterialInfo(bomDetails); return bomDetails; } else { return bomDetailFormalList(parentBomRow); @@ -409,10 +408,10 @@ public class EBomForwardReport extends BaseForwardReport { if (CollUtil.isNotEmpty(nextBomId)) { rowIdList.addAll(nextBomId); } - } - } + + initMaterialInfo(voList); return voList; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomForwardReport.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomForwardReport.java index 636da046..95734c0f 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomForwardReport.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomForwardReport.java @@ -224,7 +224,7 @@ public class PBomForwardReport extends BaseForwardReport { parentBomRow.setOrderNumber("1"); bomDetails.add(0, parentBomRow); } - + initMaterialInfo(bomDetails); return bomDetails; } else { return bomDetailFormalList(parentBomRow); @@ -271,6 +271,7 @@ public class PBomForwardReport extends BaseForwardReport { } } + initMaterialInfo(voList); return voList; } @@ -300,11 +301,11 @@ public class PBomForwardReport extends BaseForwardReport { List parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId())); - initMaterialInfo(parentChildList); + initMaterialInfo(parentChildList); + initMaterialInfo(ImmutableList.of(parentFormal)); if (CollectionUtil.isNotEmpty(parentChildList)) { - AtomicInteger orderNum = new AtomicInteger(1); parentFormal.setLevelNum(1); parentFormal.setOrderNumber(orderNum.getAndIncrement() + ""); @@ -312,6 +313,9 @@ public class PBomForwardReport extends BaseForwardReport { bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum); } + + + List nodeList = Convert.convert(new TypeReference>() { }, parentChildList); nodesList.addAll(nodeList); @@ -450,7 +454,7 @@ public class PBomForwardReport extends BaseForwardReport { ForkJoinTask> submit = pool.submit(task); List bomList = submit.join(); - initMaterialInfo(bomList); + return bomList; } return null;