lwhhszx 2 年之前
父节点
当前提交
cecd35ff4c

+ 7 - 1
PCS/src/main/java/cn/cslg/permission/controller/SystemController.java

@@ -89,7 +89,6 @@ public class SystemController {
     public void SendEmail(@RequestBody String str) {
     public void SendEmail(@RequestBody String str) {
         rabbitTemplate.convertAndSend(MailConstants.MAIL_EXCHANGE_NAME, MailConstants.MAIL_ROUTING_KEY_NAME, str, new CorrelationData("1"));
         rabbitTemplate.convertAndSend(MailConstants.MAIL_EXCHANGE_NAME, MailConstants.MAIL_ROUTING_KEY_NAME, str, new CorrelationData("1"));
     }
     }
-
     @GetMapping("/getAllDepartment")
     @GetMapping("/getAllDepartment")
     @Operation(summary = "获取所有部门")
     @Operation(summary = "获取所有部门")
     public String getAllDepartment() {
     public String getAllDepartment() {
@@ -129,4 +128,11 @@ public class SystemController {
     public List<Map<String,Object>> getDeparts(@RequestBody List<Integer> departIds) {
     public List<Map<String,Object>> getDeparts(@RequestBody List<Integer> departIds) {
         return systemService.getDeparts(departIds);
         return systemService.getDeparts(departIds);
     }
     }
+
+    @GetMapping("/getDutyDeparts")
+    @Operation(summary = "根据人员Id获得负责部门Id")
+    public List<Integer> getDutyDeparts(Integer personId) {
+        return systemService.getDutyDeparts(personId);
+    }
+
 }
 }

+ 1 - 0
PCS/src/main/java/cn/cslg/permission/mapper/DepartmentMapper.java

@@ -19,4 +19,5 @@ import java.util.List;
 public interface DepartmentMapper extends BaseMapper<Department> {
 public interface DepartmentMapper extends BaseMapper<Department> {
     @Select("SELECT * FROM DEPARTMENT WHERE IS_DELETE = 0 AND FIND_IN_SET(#{param},PATH)")
     @Select("SELECT * FROM DEPARTMENT WHERE IS_DELETE = 0 AND FIND_IN_SET(#{param},PATH)")
     List<Department> getDepartInPathById(@Param("param") Object param);
     List<Department> getDepartInPathById(@Param("param") Object param);
+   List<Integer>  getChildIds(@Param("ids") List<Integer> ids);
 }
 }

+ 22 - 0
PCS/src/main/java/cn/cslg/permission/service/SystemService.java

@@ -222,6 +222,28 @@ public class SystemService {
      * @title 根据id查询部门
      * @title 根据id查询部门
      * @description 获取所有的部门
      * @description 获取所有的部门
      */
      */
+    public List<Integer> getDutyDeparts(Integer personId) {
+        List<Integer> ids =new ArrayList<>();
+        LambdaQueryWrapper<Department> queryWrapper1 =new LambdaQueryWrapper<>();
+        queryWrapper1.select(Department::getId);
+        queryWrapper1.in(Department::getCreateUser,personId);
+        List<Map<String,Object>> mapList =new ArrayList<>();
+        java.util.function.Function <Object,Integer> f = (o -> Integer.parseInt(o.toString())) ;
+        List<Integer> departIds =   departmentService.listObjs(queryWrapper1,f);
+        if(departIds.size()==0){
+            return  ids;
+        }
+        List<Integer> childIds =departmentService.getBaseMapper().getChildIds(departIds);
+        ids.addAll(departIds);
+        ids.addAll(childIds);
+        return ids;
+    }
+
+    /**
+     * @author 李仁杰
+     * @title 根据id查询部门
+     * @description 获取所有的部门
+     */
     public List<Map<String,Object>> getDeparts(List<Integer> departIds) {
     public List<Map<String,Object>> getDeparts(List<Integer> departIds) {
         LambdaQueryWrapper<Department> queryWrapper1 =new LambdaQueryWrapper<>();
         LambdaQueryWrapper<Department> queryWrapper1 =new LambdaQueryWrapper<>();
         queryWrapper1.in(Department::getId,departIds);
         queryWrapper1.in(Department::getId,departIds);

+ 13 - 0
PCS/src/main/resources/mapper/DepartmentMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.cslg.permission.mapper.DepartmentMapper">
+  <select id="getChildIds" resultType="java.lang.Integer">
+ select Id from DEPARTMENT
+<where>
+  <foreach collection="ids" item="item" separator=" or " open="(" close=")">
+   FIND_IN_SET(#{item},PATH)
+  </foreach>
+</where>
+  </select>
+
+</mapper>