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) {