From d35386e9b1a5d87aa32b4367a745ba550b06ba12 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Sat, 02 Mar 2024 11:52:40 +0800
Subject: [PATCH] 房屋查询过滤
---
src/main/java/org/springblade/common/param/CommonParamSet.java | 11 +++
src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java | 12 +++-
src/test/java/org/springblade/test/BladeTest.java | 39 +++++++------
src/main/java/org/springblade/modules/house/entity/HouseEntity.java | 6 ++
src/main/java/org/springblade/modules/house/mapper/HouseMapper.java | 1
src/main/java/org/springblade/modules/house/vo/HouseVO.java | 9 +++
src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml | 55 ++++++++++++++++-
7 files changed, 105 insertions(+), 28 deletions(-)
diff --git a/src/main/java/org/springblade/common/param/CommonParamSet.java b/src/main/java/org/springblade/common/param/CommonParamSet.java
index ebdf008..917d8f9 100644
--- a/src/main/java/org/springblade/common/param/CommonParamSet.java
+++ b/src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -1,5 +1,6 @@
package org.springblade.common.param;
+import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
import org.springblade.common.utils.AuthUtils;
@@ -62,8 +63,14 @@
}
}
// 超级管理员、系统管理员、公安管理员不过滤数据
- isAdministrator = AuthUtils.isAdmin(roleName) || AuthUtils.isAdmin() ||
- AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
+// isAdministrator = AuthUtils.isAdmin(roleName) || AuthUtils.isAdmin() ||
+// AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
+ if (StringUtils.isNotBlank(roleName)) {
+ isAdministrator = AuthUtils.isAdmin(roleName) ? 1 : 2;
+ } else {
+ isAdministrator = AuthUtils.isAdmin() ||
+ AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
+ }
if (isAdministrator == 2) {
// 获取当前用户的所属行政区划编号()
diff --git a/src/main/java/org/springblade/modules/house/entity/HouseEntity.java b/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
index 869f2b6..02bd8b5 100644
--- a/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
+++ b/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
@@ -152,6 +152,12 @@
private String gridCode;
/**
+ * 警务网格编号
+ */
+ @ApiModelProperty(value = "警务网格编号")
+ private String jwGridCode;
+
+ /**
* 来源 1:地址总表 2:国控采集
*/
@ApiModelProperty(value = "来源 1:地址总表 2:国控采集")
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
index 6356f13..2809c93 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.java
@@ -48,6 +48,7 @@
List<HouseVO> selectHousePage(IPage page,
@Param("house") HouseVO house,
@Param("regionChildCodesList") List<String> regionChildCodesList,
+ @Param("gridCodeList") List<String> gridCodeList,
@Param("isAdministrator") Integer isAdministrator);
/**
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index b33fe92..07e5f12 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -140,6 +140,7 @@
from jczz_house jh
left join jczz_grid jg on jg.grid_code = jh.grid_code and jg.is_deleted = 0
left join blade_region br on br.code = jg.community_code
+ LEFT JOIN jczz_police_affairs_grid jpag on jh.jw_grid_code= jpag.jw_grid_code and jpag.is_deleted = 0
<where>
<if test="house.id != null ">and jh.id = #{house.id}</if>
<if test="house.streetCode != null and house.streetCode != ''">
@@ -175,12 +176,56 @@
<if test="house.buildingNo != null ">and jh.building_no = #{house.buildingNo}</if>
<if test="isAdministrator==2">
<choose>
- <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
- and jg.community_code in
- <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
- #{code}
- </foreach>
+ <when test="house.roleName != null and house.roleName != ''">
+ <if test="house.roleName=='wgy'">
+ <choose>
+ <when test="gridCodeList !=null and gridCodeList.size()>0">
+ and jh.grid_code in
+ <foreach collection="gridCodeList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jh.grid_code in ('')
+ </otherwise>
+ </choose>
+ </if>
+ <if test="house.roleName=='mj'">
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")"
+ separator=",">
+ #{code}
+ </foreach>
+ </when>
+ <otherwise>
+ and jpag.community_code in ('')
+ </otherwise>
+ </choose>
+ </if>
</when>
+ <otherwise>
+ <choose>
+ <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
+ and
+ (
+ jg.grid_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ or
+ jpag.community_code in
+ <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
+ #{code}
+ </foreach>
+ )
+ </when>
+ <otherwise>
+
+ </otherwise>
+ </choose>
+ </otherwise>
</choose>
</if>
<if test="house.parentId != null ">
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
index 6399f23..08c67f9 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseServiceImpl.java
@@ -23,6 +23,7 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.SysCache;
+import org.springblade.common.param.CommonParamSet;
import org.springblade.common.utils.IdUtils;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.common.utils.SpringUtils;
@@ -51,6 +52,7 @@
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.taskPlaceSelfCheck.vo.TaskPlaceSelfCheckVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -87,9 +89,13 @@
@Override
public IPage<HouseVO> selectHousePage(IPage<HouseVO> page, HouseVO house) {
- List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
- Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
- List<HouseVO> houseVOS = baseMapper.selectHousePage(page, house, regionChildCodesList, isAdministrator);
+// List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+// Integer isAdministrator = AuthUtil.isAdministrator() == true ? 1 : 2;
+ CommonParamSet commonParamSet = new CommonParamSet().invoke(HouseVO.class,house);
+
+ List<HouseVO> houseVOS = baseMapper.selectHousePage(page, house,
+ commonParamSet.getRegionChildCodesList(),commonParamSet.getGridCodeList(), commonParamSet.getIsAdministrator()
+ );
return page.setRecords(houseVOS);
}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseVO.java b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
index 21c54a5..8a9cd0a 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
@@ -16,6 +16,7 @@
*/
package org.springblade.modules.house.vo;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.modules.house.entity.HouseEntity;
@@ -73,5 +74,13 @@
// 标签父级id
private Integer parentId;
+ // 角色名称
+ @ApiModelProperty(value = "角色名称", example = "")
+ private String roleName;
+
+ // 社区编号
+ @ApiModelProperty(value = "社区编号", example = "")
+ private String communityCode;
+
private List<UserHouseLabelVO> userHouseLabelVOList = new ArrayList<>();
}
diff --git a/src/test/java/org/springblade/test/BladeTest.java b/src/test/java/org/springblade/test/BladeTest.java
index cb60248..0098ce5 100644
--- a/src/test/java/org/springblade/test/BladeTest.java
+++ b/src/test/java/org/springblade/test/BladeTest.java
@@ -1,11 +1,13 @@
package org.springblade.test;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.apache.logging.log4j.util.Strings;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.test.BladeBootTest;
import org.springblade.core.test.BladeSpringExtension;
+import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.flow.engine.entity.FlowModel;
import org.springblade.flow.engine.service.FlowEngineService;
@@ -15,6 +17,8 @@
import org.springblade.modules.house.service.IHouseService;
import org.springblade.modules.place.entity.PlaceEntity;
import org.springblade.modules.place.service.IPlaceService;
+import org.springblade.modules.police.entity.PoliceAffairsGridEntity;
+import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.task.entity.TaskReportForRepairsEntity;
import org.springblade.modules.task.service.ITaskReportForRepairsService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,7 +44,7 @@
private IDoorplateAddressService iDoorplateAddressService;
@Autowired
- private ITaskReportForRepairsService iTaskReportForRepairsService;
+ private IHouseService iHouseService;
// @Test
public void test() {
@@ -59,25 +63,24 @@
// @Test
public void test2() {
- List<TaskReportForRepairsEntity> list = iTaskReportForRepairsService.list();
- IHouseService bean = SpringUtils.getBean(IHouseService.class);
- IPlaceService bean2 = SpringUtils.getBean(IPlaceService.class);
-
- for (TaskReportForRepairsEntity taskReportForRepairsEntity : list) {
- HouseEntity houseEntity = bean.getOne(Wrappers.<HouseEntity>lambdaQuery()
- .eq(HouseEntity::getHouseCode, taskReportForRepairsEntity.getAddressCode()));
- if (houseEntity != null) {
-// taskReportForRepairsEntity.setGridCode(houseEntity.getGridCode());
- iTaskReportForRepairsService.updateById(taskReportForRepairsEntity);
- }else {
- PlaceEntity placeEntity = bean2.getOne(Wrappers.<PlaceEntity>lambdaQuery()
- .eq(PlaceEntity::getHouseCode, taskReportForRepairsEntity.getAddressCode()).last("limit 1"));
-// taskReportForRepairsEntity.setGridCode(placeEntity.getGridCode());
- iTaskReportForRepairsService.updateById(taskReportForRepairsEntity);
+ // 查询 警务网格为空的数据
+ List<HouseEntity> list = iHouseService.list(Wrappers.<HouseEntity>lambdaQuery().eq(HouseEntity::getIsDeleted,0));
+ // 遍历
+ for (HouseEntity houseEntity : list) {
+ if (!Strings.isBlank(houseEntity.getLng())) {
+ // 空间分析
+ //点坐标解析
+ String point = "'POINT(" + houseEntity.getLng() + " " + houseEntity.getLat() + ")'";
+ List<PoliceAffairsGridEntity> policeAffairsGridEntities
+ = SpringUtil.getBean(IPoliceAffairsGridService.class).spatialAnalysis(point);
+ if (policeAffairsGridEntities.size() > 0) {
+ PoliceAffairsGridEntity policeAffairsGridEntity = policeAffairsGridEntities.get(0);
+ houseEntity.setJwGridCode(policeAffairsGridEntity.getJwGridCode());
+ // 更新
+ iHouseService.updateById(houseEntity);
+ }
}
}
-
-
}
@Test
--
Gitblit v1.9.3