diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java index 4207175c..9c9212cd 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java @@ -84,4 +84,11 @@ public class OriginalBomApi extends BaseApi { } + @GetMapping("computeTreeHeight") + @ApiOperation("计算树的高度(测试用)") + public ResultVO computeTreeHeight() throws ExecutionException, InterruptedException { + return ResultVO.success(originalParentService.compucteLevelNum()); + } + + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java index 08f750d2..68af8088 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java @@ -157,6 +157,28 @@ public class BomNewOriginalParentService extends ServiceImpl list = this.lambdaQuery().le(BomNewOriginalParentEntity::getLevelNum, 0).list(); + if(CollUtil.isNotEmpty(list)) { + for (BomNewOriginalParentEntity bom : list) { + List bomDetail = this.getBaseMapper().getParentChild(bom.getRowId()); + OriginalBomDetailTask detailTask = new OriginalBomDetailTask(bomDetail); + detailTask.setLevelNum(1); + ForkJoinTask> submit = bomDetailPool.submit(detailTask); + submit.get(); + bom.setLevelNum(detailTask.getLevelNum()); + + } + this.saveOrUpdateBatch(list); + } + return true; + + } + /** * 从plm 转原始BOM * @param diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java index cd309091..31ed9839 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java @@ -8,6 +8,7 @@ import com.nflg.product.bomnew.pojo.vo.BomOriginalListVO; import com.nflg.product.bomnew.service.BomNewOriginalParentService; import com.nflg.product.bomnew.util.ListCommonUtil; import lombok.Getter; +import lombok.Setter; import java.util.ArrayList; import java.util.List; @@ -26,6 +27,7 @@ public class OriginalBomDetailTask extends RecursiveTask @Getter + @Setter public static int levelNum=1; List result = new ArrayList<>();