diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java index 868de453..f781d599 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/BackApplyMapper.java @@ -172,4 +172,10 @@ public interface BackApplyMapper { List getLeaseApplyDetailsTypeCount(BackApplyInfo bean); String getTypeName(String typeId); + + List getUseTypeTreeL4(BackApplyInfo bean); + + List getUseTypeTreeL3(List list4ParentIds); + + List getUseTypeTreeL21(List list3ParentIds); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java index 565d55fb..1e0130ca 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/BackApplyServiceImpl.java @@ -350,8 +350,24 @@ public class BackApplyServiceImpl implements BackApplyService { public AjaxResult getUseTypeTree(BackApplyInfo bean) { List groupList = new ArrayList<>(); List list = new ArrayList<>(); + List listL4 = new ArrayList<>(); + List listL3 = new ArrayList<>(); + List listL21 = new ArrayList<>(); + List infoList = new ArrayList<>(); try { - list = backApplyMapper.getUseTypeTree(bean); + // 先查第四层类型 + listL4 = backApplyMapper.getUseTypeTreeL4(bean); + if (CollectionUtils.isNotEmpty(listL4)) { + List list4ParentIds = listL4.stream().map(o -> o.getParentId()).collect(Collectors.toList()); + // 根据第四层parentId 查第三层类型 + listL3 = backApplyMapper.getUseTypeTreeL3(list4ParentIds); + List list3ParentIds = listL3.stream().map(o -> o.getParentId()).collect(Collectors.toList()); + // 根据第三层parentId 查第1.2层类型 + listL21 = backApplyMapper.getUseTypeTreeL21(list3ParentIds); + list.addAll(listL4); + list.addAll(listL3); + list.addAll(listL21); + } if (CollectionUtils.isNotEmpty(list)) { // 创建树形结构(数据集合作为参数) TypeTreeBuild treeBuild = new TypeTreeBuild(list); diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml index f8d333d1..4f1b4ae1 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/BackApplyMapper.xml @@ -1095,4 +1095,81 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join ma_type mt2 on mt2.type_id = mt.parent_id where mt.type_id = #{typeId} + + + + + + \ No newline at end of file