xiangpei
2025-03-05 0dc45111f75bf924d65cec00019f70c405e05225
主公司可以查看、办理子公司的任务
7个文件已修改
52 ■■■■■ 已修改文件
flowable/src/main/java/com/ycl/service/common/TaskCommonService.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
start/src/main/java/com/ycl/web/controller/system/SysDeptController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
start/src/main/java/com/ycl/web/controller/system/SysLoginController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system/src/main/java/com/ycl/system/service/ISysDeptService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
system/src/main/resources/mapper/system/SysDeptMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flowable/src/main/java/com/ycl/service/common/TaskCommonService.java
@@ -11,6 +11,7 @@
import com.ycl.domain.vo.FormDetailVO;
import com.ycl.flow.FindNextNodeUtil;
import com.ycl.service.ISysFormService;
import com.ycl.system.service.ISysDeptService;
import com.ycl.system.service.ISysDictDataService;
import com.ycl.system.service.ISysDictTypeService;
import com.ycl.system.service.ISysUserService;
@@ -47,6 +48,7 @@
    private final TaskService taskService;
    private final HistoryService historyService;
    private final ISysUserService sysUserService;
    private final ISysDeptService deptService;
    private final ISysDictTypeService sysDictDService;
    /**
@@ -321,14 +323,17 @@
     * @return
     */
    public List<String> getCurrentUserGroups() {
        String deptId = "dept:" + SecurityUtils.getLoginUser().getDeptId();
        List<String> roleIds;
        if (CollectionUtils.isEmpty(SecurityUtils.getLoginUser().getUser().getRoles())) {
            roleIds = new ArrayList<>(1);
        } else {
            roleIds = SecurityUtils.getLoginUser().getUser().getRoles().stream().map(role -> role.getRoleId() + "").collect(Collectors.toList());
        }
        roleIds.add(deptId);
        if (Objects.nonNull(SecurityUtils.getLoginUser().getDeptId())) {
            List<Long> deptIds = deptService.getChildIds(SecurityUtils.getLoginUser().getDeptId());
            List<String> deptIdList = deptIds.stream().map(id -> "dept:" + id).collect(Collectors.toList());
            roleIds.addAll(deptIdList);
        }
        return roleIds;
    }
start/src/main/java/com/ycl/web/controller/system/SysDeptController.java
@@ -154,4 +154,5 @@
        dept.setParentId(approvalPortId);
        return Result.ok().data(deptService.selectDeptListNoAuth(dept));
    }
}
start/src/main/java/com/ycl/web/controller/system/SysLoginController.java
@@ -1,8 +1,10 @@
package com.ycl.web.controller.system;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import com.ycl.system.service.ISysDeptService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -33,6 +35,8 @@
    private final ISysMenuService menuService;
    private final SysPermissionService permissionService;
    private final ISysDeptService deptService;
    /**
     * 登录方法
@@ -66,6 +70,11 @@
        ajax.put("user", user);
        ajax.put("roles", roles);
        ajax.put("permissions", permissions);
        // 获取当前登陆人的当前部门及下级所有部门
        if (Objects.nonNull(user.getDept())) {
            List<Long> deptIds = deptService.getChildIds(user.getDept().getDeptId());
            ajax.put("childDeptList", deptIds);
        }
        return ajax;
    }
system/src/main/java/com/ycl/system/mapper/SysDeptMapper.java
@@ -124,4 +124,11 @@
    Long selectByName(@Param("name") String projectOwnerUnit);
    /**
     * 获取某部门的子部门
     * @param deptId
     * @return
     */
    List<Long> getChildIds(@Param("deptId") Long deptId);
}
system/src/main/java/com/ycl/system/service/ISysDeptService.java
@@ -160,4 +160,12 @@
     * @return
     */
    List<StringTreeSelect> flowableAll();
    /**
     * 获取某部门的下级部门
     *
     * @param deptId
     * @return
     */
    List<Long> getChildIds(Long deptId);
}
system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
@@ -427,4 +427,8 @@
    }
    @Override
    public List<Long> getChildIds(Long deptId) {
        return deptMapper.getChildIds(deptId);
    }
}
system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -116,6 +116,20 @@
        SELECT dept_id FROM sys_dept WHERE dept_name = #{name} and del_flag = '0' limit 1
    </select>
    <select id="getChildIds" parameterType="long" resultType="long">
        WITH RECURSIVE temp_table AS (
            SELECT
                dept_id FROM sys_dept WHERE dept_id = #{deptId} AND del_flag = '0'
            UNION ALL
            SELECT
                so.dept_id FROM sys_dept so INNER JOIN temp_table tb ON so.parent_id = tb.dept_id AND so.del_flag = '0'
        )
        SELECT
            dept_id
        FROM
            temp_table
    </select>
    <insert id="insertDept" parameterType="SysDept">
         insert into sys_dept(
             <if test="deptId != null and deptId != 0">dept_id,</if>