linwei
2024-01-26 de76e1a8fc2576ecd1177074f5805577205e1006
bug 修复
7 files modified
92 ■■■■ changed files
src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml 29 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml 14 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IUserService.java 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
@@ -87,31 +87,6 @@
     */
    @Override
    public Object getDistrictTree(DistrictVO district) {
        // 判断角色,物业角色只能查询当前小区的
        String userRole = AuthUtil.getUserRole();
        if (userRole.contains("wygly")|| userRole.contains("wyxmjl")) {
            // 查询小区id
            IPropertyDistrictUserService propertyDistrictUserService = SpringUtils.getBean(IPropertyDistrictUserService.class);
            List<String> districtIds = propertyDistrictUserService.selectPropertyDistrictByUserId(AuthUtil.getUserId());
            // 通过用户机构查询用户的物业公司
            // 通过用户机构查询用户的物业公司
            IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class);
            PropertyCompanyEntity one = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery().eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId()));
            if (one != null) {
                IPropertyCompanyDistrictService bean2 = SpringUtils.getBean(IPropertyCompanyDistrictService.class);
                // 通过物业公司,查询小区
                List<PropertyCompanyDistrictEntity> list = bean2.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
                    .eq(PropertyCompanyDistrictEntity::getPropertyCompanyId, one.getId()));
                if (list.size() > 0) {
                    List<String> collect = list.stream().map(i -> i.getDistrictId()).collect(Collectors.toList());
                    districtIds.addAll(collect);
                }
            }
            district.setDistrictIdList(districtIds);
            if (districtIds.size() == 0) {
                return new ArrayList<>();
            }
        }
        Map<String, TreeStringNode> districtTree = baseMapper.getDistrictTree(district);
        List<TreeStringNode> stringNodeTree = NodeTreeUtil.getStringNodeTree(districtTree);
        stringNodeTree.forEach(node -> recursion(node));
src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
@@ -30,14 +30,35 @@
        select
        jpcd.*,
        jd.name as districtName,
        jpc.name as propertyCompanyName
        from jczz_property_company_district jpcd
        left join jczz_district jd on jd.id = jpcd.district_id and jd.is_deleted = 0
        left join jczz_property_company jpc on jpc.id = jpcd.property_company_id and jpc.is_deleted = 0
        jpc.name as propertyCompanyName,
        jc.name communityName,
        br.name streetName,
        jg.grid_name
        FROM
        jczz_property_company_district jpcd
        LEFT JOIN jczz_district jd ON jd.id = jpcd.district_id  AND jd.is_deleted = 0
        LEFT JOIN jczz_property_company jpc ON jpc.id = jpcd.property_company_id  AND jpc.is_deleted = 0
        LEFT JOIN jczz_community jc on jc.`code`=jd.community_code
        LEFT JOIN blade_region br on br.code= jd.community_code
        LEFT JOIN jczz_grid_range jgr on jgr.district_code=jd.id
        LEFT JOIN jczz_grid jg on jg.id = jgr.grid_id
        where jpcd.is_deleted = 0
        <if test="propertyCompanyDistrict.communityName!=null and propertyCompanyDistrict.communityName!=''">
            and jc.name like concat('%', #{propertyCompanyDistrict.communityName},'%')
        </if>
        <if test="propertyCompanyDistrict.streetName!=null and propertyCompanyDistrict.streetName!=''">
            and br.name like concat('%', #{propertyCompanyDistrict.streetName},'%')
        </if>
        <if test="propertyCompanyDistrict.gridName!=null and propertyCompanyDistrict.gridName!=''">
            and jg.grid_name like concat('%', #{propertyCompanyDistrict.gridName},'%')
        </if>
        <if test="propertyCompanyDistrict.propertyCompanyId!=null">
            and jpcd.property_company_id = #{propertyCompanyDistrict.propertyCompanyId}
        </if>
        <if test="propertyCompanyDistrict.districtId!=null">
            and jpcd.district_id = #{propertyCompanyDistrict.districtId}
        </if>
src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
@@ -70,8 +70,8 @@
            }
        }
        // 街道
        return page.setRecords(baseMapper.selectPropertyCompanyDistrictPage(page, propertyCompanyDistrict));
        List<PropertyCompanyDistrictVO> propertyCompanyDistrictVOS = baseMapper.selectPropertyCompanyDistrictPage(page, propertyCompanyDistrict);
        return page.setRecords(propertyCompanyDistrictVOS);
    }
    /**
src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java
@@ -48,4 +48,11 @@
    // 物业id
    private List<String> districtIds;
    private String streetName;
    private String communityName;
    private String gridName;
}
src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -111,11 +111,15 @@
        ) AS "has_children"
        FROM
        blade_dept dept
        WHERE
        dept.parent_id = #{param2} AND dept.is_deleted = 0
        <if test="param1!=null and param1!=''">
            and dept.tenant_id = #{param1}
        </if>
        <where>
            <if test="param2!=null and param2!=''">
                and dept.parent_id = #{param2}
            </if>
            AND dept.is_deleted = 0
            <if test="param1!=null and param1!=''">
                and dept.tenant_id = #{param1}
            </if>
        </where>
        ORDER BY dept.sort
    </select>
src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -253,5 +253,7 @@
     */
    Object handleUserDept();
    List<User> getUserInfoByPropertyId(String propertyCompanyId);
    List<User> getUserInfoByPropertyId(String propertyCompanyId,String roleId);
    Object handleUser();
}
src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -99,17 +99,12 @@
    @Override
    public List<DeptVO> tree(String tenantId) {
        Long id = 0L;
        Long id = null;
        // 判断数据权限控制,非超管角色只可看到本级及以下数据
        if (!AuthUtil.isAdmin()) {
            id = Func.firstLong(AuthUtil.getDeptId());
        }
        List<DeptVO> tree = baseMapper.tree(tenantId, id);
        if (AuthUtil.isAdmin()) {
            for (DeptVO deptVO : tree) {
                deptVO.setDisabled(false);
            }
        }
        return ForestNodeMerger.merge(tree);
    }
@@ -126,7 +121,7 @@
//                parentId = dept.getParentId();
//            }
//        }
        if (Func.toLong(parentId) == 0L && !AuthUtil.isAdministrator()) {
        if (Func.toLong(parentId) == 0L && !AuthUtil.isAdmin()) {
            Long deptId = Func.firstLong(AuthUtil.getDeptId());
            Dept dept = SysCache.getDept(deptId);
            if (dept.getParentId() != 0) {