From 2d3a2c12af6d07bc7ae13f5569e01e6062425150 Mon Sep 17 00:00:00 2001 From: "15989082884@163.com" <15989082884@163.com> Date: Thu, 29 Jun 2023 21:59:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=91=E7=9B=AE=E6=A0=91=EF=BC=8C=E4=BC=A0?= =?UTF-8?q?=E5=85=A5=E8=BF=9B=E5=9C=BA=E6=97=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bms/controller/BmsSubjectController.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java index 9c3bd0d6..69a78933 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java @@ -54,7 +54,7 @@ public class BmsSubjectController { */ @GetMapping("/tree") @PreAuthorize("hasRole('bms:subject:query')") - public R> getPage(String supplierId){ + public R> getPage(String supplierId,Integer slottingFlag){ List subjectList = bmsSubjectService.list(new LambdaQueryWrapper().orderByAsc(BmsSubject::getSubjectCode)); List treeVoList = subjectList.stream().map(subject->{ BmsSubjectTreeVo treeNode = CopierUtil.copy(subject,new BmsSubjectTreeVo()); @@ -64,6 +64,15 @@ public class BmsSubjectController { treeNode.setSort(0); return treeNode; }).collect(Collectors.toList()); + if(1==slottingFlag){ + List slottingList = treeVoList.stream().filter(a->a.getSlottingFlag().equals(1)).collect(Collectors.toList()); + List newTreeVoList = new ArrayList<>(); + newTreeVoList.addAll(slottingList); + for(BmsSubjectTreeVo vo : slottingList) { + findParentVoAndAddToList(treeVoList, newTreeVoList,vo); + } + treeVoList = newTreeVoList.stream().distinct().collect(Collectors.toList()); + } treeVoList = TreeUtil.buildByRecursive(treeVoList,TreeUtil.DEFAULT_PID_STRING); if(StringUtils.hasText(supplierId)&&!supplierId.equals("0")){ BmsSupplier bmsSupplier = bmsSupplierService.getById(supplierId); @@ -82,9 +91,20 @@ public class BmsSubjectController { recursionToSetSelectAble(treeVoList, subjectIds); } } + return R.ok(treeVoList); } + private void findParentVoAndAddToList(List treeVoList, List newTreeVoList,BmsSubjectTreeVo vo){ + List pVos = treeVoList.stream().filter(a->a.getId().equals(vo.getParentId())).collect(Collectors.toList()); + if(pVos.size()==0){ + return; + }else{ + BmsSubjectTreeVo pVo = pVos.get(0); + newTreeVoList.add(pVo); + findParentVoAndAddToList(treeVoList,newTreeVoList,pVo); + } + } /** * 递归设置可选 * @param treeVoList