소스 검색

2023-3-29 添加一个组织结构和实验室混合的树状查询接口。

chaiyunlong 2 년 전
부모
커밋
f99036ac40

+ 9 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/controller/SysDeptController.java

@@ -148,6 +148,15 @@ public class SysDeptController extends BaseController {
 
 
     /**
+     * 获取部门和实验室下拉树列表
+     */
+    @GetMapping("/treeDeptSubSel")
+    public AjaxResult treeDeptSubSel(SysDept dept) {
+        List<SysDept> depts = deptService.treeDeptSubSel(dept);
+        return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
+    }
+
+    /**
      * 获取部门下拉树列表(获取登录人的部门父级部门)
      */
     @GetMapping("/treeselectByUser")

+ 8 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/mapper/SysDeptMapper.java

@@ -21,6 +21,14 @@ public interface SysDeptMapper {
     public List<SysDept> selectDeptList(SysDept dept);
 
     /**
+     *  获取部门和实验室下拉树列表
+     *
+     * @param dept 部门信息
+     * @return 部门信息集合
+     */
+    public List<SysDept> treeDeptSubSel(SysDept dept);
+
+    /**
      * 获取部门下拉树列表(获取登录人的部门父级部门)
      *
      * @param dept 部门信息

+ 8 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/service/ISysDeptService.java

@@ -23,6 +23,14 @@ public interface ISysDeptService {
     public List<SysDept> selectDeptList(SysDept dept);
 
     /**
+     *  获取部门和实验室下拉树列表
+     *
+     * @param dept 部门信息
+     * @return 部门信息集合
+     */
+    public List<SysDept> treeDeptSubSel(SysDept dept);
+
+    /**
      * 获取部门下拉树列表(获取登录人的部门父级部门)
      *
      * @param dept 部门信息

+ 7 - 0
zd-modules/zd-modules-system/src/main/java/com/zd/system/service/impl/SysDeptServiceImpl.java

@@ -53,6 +53,13 @@ public class SysDeptServiceImpl implements ISysDeptService {
         return depts;
     }
 
+    @Override
+    @DataScope(deptAlias = "d", permi = PerPrefix.SYSTEM_DEPT)
+    public List <SysDept> treeDeptSubSel(SysDept dept) {
+        List<SysDept> depts = deptMapper.treeDeptSubSel(dept);
+        return depts;
+    }
+
     /**
      * 获取部门下拉树列表(获取登录人的部门父级部门)
      *

+ 21 - 0
zd-modules/zd-modules-system/src/main/resources/mapper/system/SysDeptMapper.xml

@@ -213,6 +213,27 @@
         ${params.dataScope}
         order by d.parent_id, d.order_num
     </select>
+    <select id="treeDeptSubSel" resultType="com.zd.model.entity.SysDept">
+        select d.* from (
+            select d.dept_id,d.parent_id,d.ancestors,d.dept_name,d.del_flag
+            from sys_dept d
+
+            union all
+
+            select s.build_id dept_id,s.dept_id parent_id,(select dt.ancestors
+            from sys_dept dt where dt.dept_id = s.build_id) ancestors,s.name dept_name,s.is_del del_flag  from lab_subject s
+        )d
+        where d.del_flag = '0'
+        <if test="parentId != null and parentId != 0">
+            AND d.parent_id = #{parentId}
+        </if>
+        <if test="deptName != null and deptName != ''">
+            AND d.dept_name like concat('%', #{deptName}, '%')
+        </if>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        order by d.parent_id
+    </select>
 
     <insert id="insertDept" parameterType="com.zd.model.entity.SysDept">
         insert into sys_dept(