forked from kidgrow-microservices-platform

zhaoxiaohao
2020-08-08 a1bb62e3ea757c41ad11be1d13a6fc63cf79fbd1
修改  组织树的bug
1 files modified
17 ■■■■ changed files
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java 17 ●●●● patch | view | raw | blame | history
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysOrganizationServiceImpl.java
@@ -38,6 +38,7 @@
    RedisUtils redisUtils;
    @Autowired
    SysUserOrgMapper sysUserOrgMapper;
    /**
     * 列表
     *
@@ -137,6 +138,12 @@
    @Override
    public ResultBody getTree(Map<String, Object> params) {
        List<SysOrganization> sysOrganizations = baseMapper.selectByMap(params);
        //查询 ,父类为-1的;即顶级父类
//        params.put("org_parent_id",Long.valueOf("-1"));
//        List<SysOrganization> sysOrgs=baseMapper.selectByMap(params);
//        if (sysOrgs.isEmpty()) {
//            return ResultBody.ok().data(null);
//        }
        List<Map<String, Object>> treeData = getTreeData(Long.valueOf("-1"), sysOrganizations);
        return ResultBody.ok().data(treeData);
    }
@@ -158,7 +165,7 @@
    public List<Map<String, Object>> getTreeData(Long MyId, List<SysOrganization> sysOrganizations) {
        List<Map<String, Object>> listMap = new ArrayList<>();
        Map<Long, SysOrganization> collect = sysOrganizations.stream().collect(Collectors.toMap(SysOrganization::getId, SysOrganization -> SysOrganization));
        List<Long> idList = sysOrganizations.stream().filter(e -> e.getOrgParentId() == MyId).map(e -> e.getId()).collect(Collectors.toList());
        List<Long> idList = sysOrganizations.stream().filter(e -> MyId.equals(e.getOrgParentId())).map(e -> e.getId()).collect(Collectors.toList());
        for (Long id : idList
        ) {
            Map<String, Object> map = new HashMap<>();
@@ -166,7 +173,9 @@
            map.put("name", collect.get(id).getOrgName());
            map.put("level", collect.get(id).getOrgLevel());
            map.put("parentId", collect.get(id).getOrgParentId());
            List<Long> childs = sysOrganizations.stream().filter(e -> e.getOrgParentId() == id).map(e -> e.getId()).collect(Collectors.toList());
            List<Long> childs = sysOrganizations.stream().filter(e ->
                    id.equals(e.getOrgParentId())
            ).map(e -> e.getId()).collect(Collectors.toList());
            if (childs.size() > 0) {
                List<Map<String, Object>> treeData = getTreeData(id, sysOrganizations);
                map.put("children", treeData);
@@ -230,7 +239,7 @@
            List<SysOrganization> list = baseMapper.selectList(queryWrapper);
            if (list.size() > 0) {
                SysOrganization sysOrganizationLast = list.get(list.size() - 1);
                if(sysOrganizationLast.getOrgLevel()>=2){
                if (sysOrganizationLast.getOrgLevel() >= 2) {
                    String orgCodeLast = sysOrganizationLast.getOrgCode();
                    //取前部分
                    String orgCodeLastQianZhui = orgCodeLast.substring(0, orgCodeLast.length() - 3);
@@ -240,7 +249,7 @@
                    str += (codenum + 1);
                    String substring = str.substring(str.length() - 3);
                    return orgCodeLastQianZhui + substring;
                }else {
                } else {
                    String orgCodeLast = sysOrganizationLast.getOrgCode();
                    //取前部分
                    String orgCodeLastQianZhui = orgCodeLast.substring(0, orgCodeLast.length() - 7);