From 63d25b144530630b74e89c16e46a7c4efc982e96 Mon Sep 17 00:00:00 2001 From: jing's Date: Tue, 23 Jul 2024 11:40:58 +0800 Subject: [PATCH] =?UTF-8?q?ebom=20pbom=20=E6=97=A0=E5=AD=90=E7=BA=A7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/EBom/EBomFormalTreeTask.java | 12 +++-- .../domain/EBom/EBomForwardReport.java | 46 +++++++++---------- .../domain/PBom/PBomForwardReport.java | 41 +++++++++-------- 3 files changed, 52 insertions(+), 47 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomFormalTreeTask.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomFormalTreeTask.java index 8ae65298..20df8c4d 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomFormalTreeTask.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EBomFormalTreeTask.java @@ -37,11 +37,15 @@ public class EBomFormalTreeTask extends RecursiveTask> @Getter @Setter private int levelNum=2; - AtomicInteger orderNum = new AtomicInteger(2); + AtomicInteger orderNum; List result = new ArrayList<>(); - public EBomFormalTreeTask(List inBomDetail) { + public EBomFormalTreeTask(List inBomDetail, + int inCountLevel , + AtomicInteger inCountNum) { bomDetail = inBomDetail; + this.levelNum=inCountLevel; + this.orderNum=inCountNum; } /** @@ -149,8 +153,8 @@ public class EBomFormalTreeTask extends RecursiveTask> if(CollUtil.isNotEmpty(childBowIds)) { List bom = SpringUtil.getBean(BomNewEbomParentService.class).getBaseMapper().getParentChildBatch(childBowIds); - EBomFormalTreeTask task = new EBomFormalTreeTask(bom); - task.setLevelNum(levelNum); + EBomFormalTreeTask task = new EBomFormalTreeTask(bom,levelNum,orderNum); + // task.setLevelNum(levelNum); task.fork(); bomDetail.addAll(task.join()); return bomDetail; 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 210ea85c..fd1b5616 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 @@ -291,28 +291,23 @@ public class EBomForwardReport extends BaseForwardReport { for (BomNewEbomParentVO parentFormal : listParent) { List parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId())); + List nodeList=new ArrayList<>(); + AtomicInteger orderNum = new AtomicInteger(1); + parentFormal.setLevelNum(1); + parentFormal.setOrderNumber(orderNum.getAndIncrement() + ""); + nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal)); - initMaterialInfo(parentChildList); - initMaterialInfo(ImmutableList.of(parentFormal)); if (CollectionUtil.isNotEmpty(parentChildList)) { - AtomicInteger orderNum = new AtomicInteger(1); - parentFormal.setLevelNum(1); - parentFormal.setOrderNumber(orderNum.getAndIncrement() + ""); - - List nodeList=new ArrayList<>(); - nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal)); bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum); nodeList.addAll( Convert.convert(new TypeReference>() { }, parentChildList)); - nodeList.forEach(item->{ - item.setBomVersion(parentFormal.getCurrentVersion()); - }); - - - nodesList.addAll(nodeList); } - + initMaterialInfo(nodeList); + nodeList.forEach(item->{ + item.setBomVersion(parentFormal.getCurrentVersion()); + }); + nodesList.addAll(nodeList); } @@ -365,7 +360,9 @@ public class EBomForwardReport extends BaseForwardReport { List bomDetailList(Long bomRowId) { List childList = SpringUtil.getBean(BomNewEbomParentService.class).getParentChild(bomRowId); 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(); ForkJoinTask> submit = pool.submit(task); List bomList = submit.join(); @@ -379,13 +376,15 @@ public class EBomForwardReport extends BaseForwardReport { List bomDetailAndParent(BomNewEbomParentVO parentBomRow) { if (isNewVersion()) { - List bomDetails = bomDetailList(parentBomRow.getRowId()); - if (CollUtil.isNotEmpty(bomDetails)) { + List bomDetails =new ArrayList<>(); + parentBomRow.setLevelNum(1); parentBomRow.setOrderNumber("1"); - bomDetails.add(0, parentBomRow); + bomDetails.add( parentBomRow); + List childs= bomDetailList(parentBomRow.getRowId()); + if(CollUtil.isNotEmpty(childs)){ + bomDetails.addAll(childs); } - initMaterialInfo(bomDetails); return bomDetails; } else { return bomDetailFormalList(parentBomRow); @@ -436,7 +435,7 @@ public class EBomForwardReport extends BaseForwardReport { } } - initMaterialInfo(voList); + return voList; } @@ -467,6 +466,7 @@ public class EBomForwardReport extends BaseForwardReport { if (CollUtil.isEmpty(bomList)) { continue; } + initMaterialInfo(bomList); List convertBomList = Convert.convert(new TypeReference>() { }, bomList); @@ -474,14 +474,14 @@ public class EBomForwardReport extends BaseForwardReport { //转化为树结构 List nodeList = showDataStyle(convertBomList, parentFormal.getRowId()); - nodesList.addAll(nodeList); + for (ForwardReportVO vo : nodeList) { vo.setBomVersion(parentFormal.getCurrentVersion()); // vo.setDeviseName(parentFormal.getDeviseName()); vo.setExpireEndTime(parentFormal.getConvertToEbomTime()); } - + nodesList.addAll(nodeList); } return buildReportBomVo(forwardReportVO, nodesList, query.getDataType()); 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 86e1d4aa..4bc082f3 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 @@ -218,13 +218,19 @@ public class PBomForwardReport extends BaseForwardReport { List bomDetailAndParent(BomNewPbomParentVO parentBomRow) { if (isNewVersion()) { - List bomDetails = bomDetailList(parentBomRow.getRowId(),parentBomRow.getFacCode()); - if (CollUtil.isNotEmpty(bomDetails)) { + + List bomDetails =new ArrayList<>(); + + + List childs = bomDetailList(parentBomRow.getRowId(),parentBomRow.getFacCode()); + parentBomRow.setLevelNum(1); parentBomRow.setOrderNumber("1"); - bomDetails.add(0, parentBomRow); + bomDetails.add( parentBomRow); + if(CollUtil.isNotEmpty(childs)){ + bomDetails.addAll(childs); } - initMaterialInfo(bomDetails); + return bomDetails; } else { return bomDetailFormalList(parentBomRow); @@ -271,7 +277,7 @@ public class PBomForwardReport extends BaseForwardReport { } } - initMaterialInfo(voList); + return voList; } @@ -296,36 +302,30 @@ public class PBomForwardReport extends BaseForwardReport { ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0); List nodesList=new ArrayList<>(); + for (BomNewPbomParentVO parentFormal: listParent ) { - + + List nodeList=new ArrayList<>(); List parentChildList = getParentChildList(ImmutableList.of(parentFormal.getRowId())); - - initMaterialInfo(parentChildList); - initMaterialInfo(ImmutableList.of(parentFormal)); - if (CollectionUtil.isNotEmpty(parentChildList)) { - AtomicInteger orderNum = new AtomicInteger(1); parentFormal.setLevelNum(1); parentFormal.setOrderNumber(orderNum.getAndIncrement() + ""); - - List nodeList=new ArrayList<>(); nodeList.add(Convert.convert(ForwardReportVO.class, parentFormal)); + + if (CollectionUtil.isNotEmpty(parentChildList)) { bomUpAndLowLevel(ImmutableList.of(parentFormal), parentChildList, null, 2, orderNum); nodeList.addAll( Convert.convert(new TypeReference>() { }, parentChildList)); + } + initMaterialInfo(nodeList); nodeList.forEach(item->{ item.setBomVersion(parentFormal.getCurrentVersion()); }); nodesList.addAll(nodeList); - } - - - - } return buildReportBomVo(forwardReportVO,nodesList); @@ -494,6 +494,7 @@ public class PBomForwardReport extends BaseForwardReport { if(CollUtil.isEmpty(bomList)){ continue; } + initMaterialInfo(bomList); List convertBomList = Convert.convert(new TypeReference>() { }, bomList); @@ -501,7 +502,7 @@ public class PBomForwardReport extends BaseForwardReport { sumLevel(convertBomList); //转化为树结构 List nodeList = showDataStyle(convertBomList, parentFormal.getRowId()); - nodesList.addAll(nodeList); + for (ForwardReportVO vo : nodeList) { @@ -511,7 +512,7 @@ public class PBomForwardReport extends BaseForwardReport { vo.setExpireEndTime(parentFormal.getReleaseTime()); } - + nodesList.addAll(nodeList); } return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());