From de76e1a8fc2576ecd1177074f5805577205e1006 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 26 Jan 2024 15:39:15 +0800
Subject: [PATCH] bug 修复

---
 src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml             |   29 ++++++++++++--
 src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java                    |    7 +++
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml                                  |   14 ++++--
 src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java                |   25 ------------
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java                      |    9 +---
 src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java |    4 +-
 src/main/java/org/springblade/modules/system/service/IUserService.java                              |    4 +
 7 files changed, 48 insertions(+), 44 deletions(-)

diff --git a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java b/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
index e2ab801..7ba011d 100644
--- a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
+++ b/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));
diff --git a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml b/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
index 1daddef..d1ed391 100644
--- a/src/main/java/org/springblade/modules/property/mapper/PropertyCompanyDistrictMapper.xml
+++ b/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>
diff --git a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java b/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
index 07f3fad..78fe815 100644
--- a/src/main/java/org/springblade/modules/property/service/impl/PropertyCompanyDistrictServiceImpl.java
+++ b/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);
 	}
 
 	/**
diff --git a/src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java b/src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java
index 2942aff..6fd0fbe 100644
--- a/src/main/java/org/springblade/modules/property/vo/PropertyCompanyDistrictVO.java
+++ b/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;
+
+
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index daa5053..64aca67 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/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>
 
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index 6c39253..40eee93 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/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();
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index c049953..379fdf6 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/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) {

--
Gitblit v1.9.3