Quellcode durchsuchen

feat: 添加机型机号树查询

wanggaokun vor 1 Jahr
Ursprung
Commit
80fdb01cde

+ 8 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/controller/AircraftController.java

@@ -1,6 +1,7 @@
 package org.eco.als.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.lang.tree.Tree;
 import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
@@ -54,6 +55,13 @@ public class AircraftController extends BaseController {
         return CommonResult.success(list);
     }
 
+    @SaCheckPermission("als:aircraft:list")
+    @GetMapping("/tree")
+    public CommonResult<List<Tree<Long>>> tree(AircraftBo aircraftBo) {
+        List<Tree<Long>> list = aircraftService.selectTree(aircraftBo);
+        return CommonResult.success(list);
+    }
+
     /**
      * 导出机型机号列表
      */

+ 17 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/IAircraftService.java

@@ -1,5 +1,6 @@
 package org.eco.als.service;
 
+import cn.hutool.core.lang.tree.Tree;
 import org.eco.als.domain.Aircraft;
 import org.eco.als.domain.bo.AircraftBo;
 import org.eco.als.domain.vo.AircraftVo;
@@ -41,6 +42,22 @@ public interface IAircraftService extends IBaseService<Aircraft> {
      */
     List<AircraftVo> selectList(AircraftBo aircraftBo);
 
+    /**
+     * 查询机型机号树表
+     *
+     * @param aircraftBo 机型机号Bo
+     * @return 机型机号集合
+     */
+    List<Tree<Long>> selectTree(AircraftBo aircraftBo);
+
+    /**
+     * 构建前端所需要下拉树结构
+     *
+     * @param list 机型机号列表
+     * @return 机型机号集合
+     */
+    List<Tree<Long>> buildTree(List<AircraftVo> list);
+
 
     /**
      * 新增机型机号

+ 22 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/AircraftServiceImpl.java

@@ -1,5 +1,7 @@
 package org.eco.als.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.tree.Tree;
 import cn.hutool.core.util.ObjectUtil;
 import com.mybatisflex.core.query.QueryWrapper;
 import jakarta.annotation.Resource;
@@ -13,6 +15,8 @@ import org.eco.als.mapper.AircraftMapper;
 import org.eco.als.service.IAircraftService;
 import org.eco.common.core.core.domain.model.LoginUser;
 import org.eco.common.core.utils.MapstructUtils;
+import org.eco.common.core.utils.SpringUtils;
+import org.eco.common.core.utils.TreeBuildUtils;
 import org.eco.common.excel.entity.ExcelResultRes;
 import org.eco.common.excel.service.IExcelService;
 import org.eco.common.orm.core.service.impl.BaseServiceImpl;
@@ -94,6 +98,24 @@ public class AircraftServiceImpl extends BaseServiceImpl<AircraftMapper, Aircraf
         return this.listAs(queryWrapper, AircraftVo.class);
     }
 
+    @Override
+    public List<Tree<Long>> selectTree(AircraftBo aircraftBo) {
+        List<AircraftVo> list = SpringUtils.getAopProxy(this).selectList(aircraftBo);
+        return buildTree(list);
+    }
+
+    @Override
+    public List<Tree<Long>> buildTree(List<AircraftVo> aircraftVoList) {
+        if (CollUtil.isEmpty(aircraftVoList)) {
+            return CollUtil.newArrayList();
+        }
+        return TreeBuildUtils.build(aircraftVoList, (dept, tree) ->
+            tree.setId(dept.getId())
+                .setParentId(dept.getParentId())
+                .setName(dept.getName())
+                .setWeight(dept.getOrderNum()));
+    }
+
 
     /**
      * 新增机型机号