zhuo
2025-05-20 112d964cbc94154dd4ca75851231d0c477ebc571
cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonBasicInfoServiceImpl.java
@@ -70,6 +70,7 @@
    @Autowired
    private DepartmentLimsMapper departmentMapper;
    @Value("${file.path}")
    private String imgUrl;
    @Value("${wordUrl}")
@@ -245,6 +246,7 @@
            template.write(os);
            os.flush();
            os.close();
            inputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("导出失败");
@@ -301,6 +303,47 @@
    }
    /**
     * 新增组织树
     * @param department
     * @return
     */
    @Override
    public int addDepartment(DepartmentLims department) {
        departmentMapper.insert(department);
        return department.getId();
    }
    /**
     * 删除组织树
     * @param id
     * @return
     */
    @Override
    public boolean delDepartment(Integer id) {
        //判断是否有子类,直到没有为止
        List<DepartmentLims> department = getDepartment(id);
        List<Integer> ids = department.stream().map(DepartmentLims::getId).collect(Collectors.toList());
        departmentMapper.delete(Wrappers.<DepartmentLims>lambdaQuery()
                .in(DepartmentLims::getId, ids));
        return true;
    }
    //判断是否有子类,直到没有为止
    public List<DepartmentLims> getDepartment(Integer id) {
        List<DepartmentLims> list = new ArrayList<>();
        DepartmentLims depart = departmentMapper.selectById(id);
        list.add(depart);
        List<DepartmentLims> departments = departmentMapper.selectList(Wrappers.<DepartmentLims>lambdaQuery().eq(DepartmentLims::getFatherId, id));
        if (ObjectUtils.isNotEmpty(departments)) {
            list.addAll(departments);
            for (DepartmentLims department : departments) {
                list.addAll(getDepartment(department.getId()));
            }
        }
        return list;
    }
    /**
     * 递归查询子节点
     * @param root  根节点
     * @param all   所有节点