Browse Source

科目树,传入进场时,增加过滤

contract
15989082884@163.com 2 years ago
parent
commit
2d3a2c12af
  1. 22
      src/main/java/com/qs/serve/modules/bms/controller/BmsSubjectController.java

22
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<List<BmsSubjectTreeVo>> getPage(String supplierId){
public R<List<BmsSubjectTreeVo>> getPage(String supplierId,Integer slottingFlag){
List<BmsSubject> subjectList = bmsSubjectService.list(new LambdaQueryWrapper<BmsSubject>().orderByAsc(BmsSubject::getSubjectCode));
List<BmsSubjectTreeVo> 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<BmsSubjectTreeVo> slottingList = treeVoList.stream().filter(a->a.getSlottingFlag().equals(1)).collect(Collectors.toList());
List<BmsSubjectTreeVo> 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<BmsSubjectTreeVo> treeVoList, List<BmsSubjectTreeVo> newTreeVoList,BmsSubjectTreeVo vo){
List<BmsSubjectTreeVo> 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

Loading…
Cancel
Save