From 92a3b953f2da493e68afb9ae73a15b6513a6c18a Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Wed, 28 Feb 2024 17:53:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml | 2
src/main/java/org/springblade/common/param/CommonParamSet.java | 18 +++++
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 142 +++++++++++++++++++++++------------------------
src/main/java/org/springblade/modules/grid/entity/GridRangeEntity.java | 5 +
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml | 8 ++
5 files changed, 100 insertions(+), 75 deletions(-)
diff --git a/src/main/java/org/springblade/common/param/CommonParamSet.java b/src/main/java/org/springblade/common/param/CommonParamSet.java
index e76904b..b8875b6 100644
--- a/src/main/java/org/springblade/common/param/CommonParamSet.java
+++ b/src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -5,6 +5,7 @@
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.core.tool.utils.StringUtil;
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.police.service.IPoliceAffairsGridService;
import org.springblade.modules.system.service.IRegionService;
@@ -12,6 +13,8 @@
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
+
+import static org.springblade.core.secure.utils.AuthUtil.getUserRole;
public class CommonParamSet<T> {
/**
@@ -57,7 +60,12 @@
communityCodeField.set(t,communityCode);
}
}
- isAdministrator = Strings.isBlank(roleName) && (AuthUtil.isAdministrator() == true || AuthUtil.isAdmin() == true) ? 1 : 2;
+ // 超级管理员、系统管理员、公安管理员不过滤数据
+ isAdministrator = Strings.isBlank(roleName) &&
+ (AuthUtil.isAdministrator() == true ||
+ AuthUtil.isAdmin() == true ||
+ isGaAdmin() == true
+ ) ? 1 : 2;
if (isAdministrator==2) {
// 获取当前用户的所属行政区划编号()
regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
@@ -88,4 +96,12 @@
}
return this;
}
+
+ /**
+ * 是否为公安管理员
+ * @return
+ */
+ public boolean isGaAdmin() {
+ return StringUtil.containsAny(getUserRole(), new CharSequence[]{"gagly"});
+ }
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
index 8674027..d7e8e9b 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -568,7 +568,7 @@
from jczz_doorplate_address jda
left join jczz_grid_range jgr on jda.address_code = jgr.house_code
where 1=1
- and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
+-- and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
<if test="doorplateAddress.addressName!=null and doorplateAddress.addressName!=''">
and jda.address_name like concat('%',#{doorplateAddress.addressName},'%')
</if>
diff --git a/src/main/java/org/springblade/modules/grid/entity/GridRangeEntity.java b/src/main/java/org/springblade/modules/grid/entity/GridRangeEntity.java
index ab8260c..127b07a 100644
--- a/src/main/java/org/springblade/modules/grid/entity/GridRangeEntity.java
+++ b/src/main/java/org/springblade/modules/grid/entity/GridRangeEntity.java
@@ -55,6 +55,11 @@
@ApiModelProperty(value = "网格ID")
private Integer gridId;
/**
+ * 网格编号
+ */
+ @ApiModelProperty(value = "网格编号")
+ private String gridCode;
+ /**
* 小区ID
*/
@ApiModelProperty(value = "小区ID")
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
index 2fee25d..31938d0 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -323,6 +323,7 @@
select
jp.id,
jp.house_code,
+ jp.house_code_binds,
jp.building_code,
jp.principal_user_id,
jp.principal,
@@ -361,7 +362,12 @@
left join jczz_doorplate_address jda on jda.address_code = jp.house_code
where jp.is_deleted = 0
<if test="place.houseCode!=null and place.houseCode!=''">
- and jp.house_code like concat('%',#{place.houseCode},'%')
+ and
+ (
+ jp.house_code = #{place.houseCode}
+ or
+ jp.house_code_binds like concat('%',#{place.houseCode},'%')
+ )
</if>
<if test="place.id!=null">
and jp.id = #{place.id}
diff --git a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
index af67476..d98abca 100644
--- a/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
+++ b/src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java
@@ -169,6 +169,8 @@
if (null != one) {
placeVO.setId(one.getId());
} else {
+ // 扫码来的默认绑定本身
+ placeVO.setHouseCodeBinds(placeVO.getHouseCode());
// 新增,地址表中没有或者地址表中有场所表中没有的(是房屋的),扫码进来的
save(placeVO);
}
@@ -177,7 +179,7 @@
// 设置完善状态
setPlaceStatus(placeVO);
// 房屋编号绑定处理
-// houseCodeBindHandle(placeVO);
+ houseCodeBindHandle(placeVO);
// 更新场所信息
flag = updateById(placeVO);
} else {
@@ -197,14 +199,15 @@
// 新增场所信息
flag = save(placeVO);
}
+ // 获取请求头中的角色别名
+ String roleName = SpringUtils.getRequestParam("roleName");
+ placeVO.setRoleName(roleName);
// 保存场所详情及任务信息
savePlaceExtAndTaskInfo(placeVO);
// 场所标签信息绑定(更新,调整)
placeLabelBind(placeVO);
// 网格绑定
gridBind(placeVO);
- // 网格编号绑定场所-新
- gridCodeBind(placeVO);
// 警务网格绑定
jwGridCodeBind(placeVO);
// 返回结果
@@ -289,37 +292,39 @@
* @param placeVO
*/
public void houseCodeBindHandle(PlaceVO placeVO) {
- List<String> list = Arrays.asList(placeVO.getHouseCodeBinds().split(","));
- // 先删除原有的绑定
- QueryWrapper<PlaceDoorEntity> removeQw = new QueryWrapper<>();
- removeQw.eq("place_id",placeVO.getId());
- // 删除
- placeDoorService.remove(removeQw);
- // 遍历更新
- for (String houseCode : list) {
- // 查询是否已存在关联关系
- QueryWrapper<PlaceDoorEntity> wrapper = new QueryWrapper<>();
- wrapper.eq("house_code",houseCode);
- // 查询
- List<PlaceDoorEntity> placeDoorEntityList = placeDoorService.list(wrapper);
- if (placeDoorEntityList.size()>0){
- // 该houseCode 已被绑定
+ if (!Strings.isBlank(placeVO.getHouseCodeBinds())) {
+ List<String> list = Arrays.asList(placeVO.getHouseCodeBinds().split(","));
+ // 先删除原有的绑定
+ QueryWrapper<PlaceDoorEntity> removeQw = new QueryWrapper<>();
+ removeQw.eq("place_id", placeVO.getId());
+ // 删除
+ placeDoorService.remove(removeQw);
+ // 遍历更新
+ for (String houseCode : list) {
+ // 查询是否已存在关联关系
+ QueryWrapper<PlaceDoorEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("house_code", houseCode);
+ // 查询
+ List<PlaceDoorEntity> placeDoorEntityList = placeDoorService.list(wrapper);
+ if (placeDoorEntityList.size() > 0) {
+ // 该houseCode 已被绑定
// errorList.add(houseCode);
- for (PlaceDoorEntity placeDoorEntity : placeDoorEntityList) {
+ for (PlaceDoorEntity placeDoorEntity : placeDoorEntityList) {
+ placeDoorEntity.setPlaceId(placeVO.getId());
+ // 更新
+ placeDoorService.updateById(placeDoorEntity);
+ }
+ } else {
+ PlaceDoorEntity placeDoorEntity = new PlaceDoorEntity();
+ placeDoorEntity.setHouseCode(houseCode);
placeDoorEntity.setPlaceId(placeVO.getId());
- // 更新
- placeDoorService.updateById(placeDoorEntity);
+ // 对应插入到关联关系表中
+ placeDoorService.save(placeDoorEntity);
}
- }else {
- PlaceDoorEntity placeDoorEntity = new PlaceDoorEntity();
- placeDoorEntity.setHouseCode(houseCode);
- placeDoorEntity.setPlaceId(placeVO.getId());
- // 对应插入到关联关系表中
- placeDoorService.save(placeDoorEntity);
}
+ // 处理原场所表houseCode 绑定数据-- 暂不处理原数据的删除
+// handlePlaceOne(list,placeVO);
}
- // 处理原场所表houseCode 绑定数据
- handlePlaceOne(list,placeVO);
}
/**
@@ -380,33 +385,13 @@
* @param placeVO
*/
public void gridBind(PlaceVO placeVO) {
- if (null != placeVO.getGridId()) {
- // 判断关联关系表是否存在
- QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
- wrapper.eq("house_code", placeVO.getHouseCode());
- GridRangeEntity one = gridRangeService.getOne(wrapper);
- if (null == one) {
- // 新增
- GridRangeEntity gridRangeEntity = new GridRangeEntity();
- gridRangeEntity.setHouseCode(placeVO.getHouseCode());
- gridRangeEntity.setGridId(placeVO.getGridId());
- // 插入
- gridRangeService.save(gridRangeEntity);
- } else {
- // 修改绑定
- one.setGridId(placeVO.getGridId());
- // 修改
- gridRangeService.updateById(one);
- }
- } else {
- // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id
- if (!Strings.isBlank(placeVO.getRoleName())) {
- // 网格员角色位置绑定
- gridmanPositionHandle(placeVO);
- // 民警角色位置绑定
- policePositionHandle(placeVO);
- }
- }
+ // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id
+// if (!Strings.isBlank(placeVO.getRoleName()) && placeVO.getRoleName().equals("wgy")) {
+// // 网格员角色位置绑定
+// gridmanPositionHandle(placeVO);
+// }
+ // 都是通过点落面方式,不区分角色
+ policePositionHandle(placeVO);
}
/**
@@ -415,16 +400,13 @@
* @param placeVO
*/
public void gridCodeBind(PlaceVO placeVO) {
- // 无网格编号时
- if (Strings.isBlank(placeVO.getGridCode())) {
- // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id
- if (!Strings.isBlank(placeVO.getRoleName())) {
- // 网格员场所网格编号绑定-新
- gridmanGridCodePositionHandle(placeVO);
- // 民警角色时通过位置绑定网格-新
- policeGridCodePositionHandle(placeVO);
- }
+ // 判断角色,如果是网格员则直接使用网格员的网格id,如果是民警则采用点落面的方式进行获取网格的id
+ if (!Strings.isBlank(placeVO.getRoleName())) {
+ // 网格员场所网格编号绑定-新
+ gridmanGridCodePositionHandle(placeVO);
}
+ // 民警角色时通过位置绑定网格-新
+ policeGridCodePositionHandle(placeVO);
}
/**
@@ -433,10 +415,15 @@
* @param placeVO
*/
public void gridmanPositionHandle(PlaceVO placeVO) {
- if (placeVO.getRoleName().equals("网格员")) {
+ if (!Strings.isBlank(placeVO.getRoleName()) && placeVO.getRoleName().equals("wgy")) {
// 判断网格员,查询对应网格人对应的网格id
- Integer gridId = gridmanService.getGridIdByUserId(AuthUtil.getUserId());
- if (null != gridId) {
+ GridEntity grid = gridService.getGridByUserId(AuthUtil.getUserId());
+ if (null != grid) {
+ // 场所编号绑定
+ placeVO.setGridCode(grid.getGridCode());
+ placeVO.setGridId(grid.getId());
+ // 更新场所网格绑定信息
+ updateById(placeVO);
// 判断关联关系表是否存在
QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
wrapper.eq("house_code", placeVO.getHouseCode());
@@ -445,12 +432,14 @@
// 新增
GridRangeEntity gridRangeEntity = new GridRangeEntity();
gridRangeEntity.setHouseCode(placeVO.getHouseCode());
- gridRangeEntity.setGridId(gridId);
+ gridRangeEntity.setGridId(grid.getId());
+ gridRangeEntity.setGridCode(grid.getGridCode());
// 插入
gridRangeService.save(gridRangeEntity);
} else {
// 修改绑定
- one.setGridId(gridId);
+ one.setGridId(grid.getId());
+ one.setGridCode(grid.getGridCode());
// 修改
gridRangeService.updateById(one);
}
@@ -470,6 +459,7 @@
if (null != grid && !Strings.isBlank(grid.getGridCode())) {
// 场所编号绑定
placeVO.setGridCode(grid.getGridCode());
+ placeVO.setGridId(grid.getId());
// 更新场所信息
updateById(placeVO);
}
@@ -477,19 +467,24 @@
}
/**
- * 民警角色位置绑定
+ * 其他角色时位置绑定
*
* @param placeVO
*/
private void policePositionHandle(PlaceVO placeVO) {
// 是民警且位置信息存在
- if (placeVO.getRoleName().equals("民警") && !Strings.isBlank(placeVO.getLng())) {
+ if (!Strings.isBlank(placeVO.getLng())) {
//点坐标解析
String point = "'POINT(" + placeVO.getLng() + " " + placeVO.getLat() + ")'";
// String point = "'POINT(" + villageInfoExcel.getLatitude() + " " + villageInfoExcel.getLongitude() +")'";
List<GridEntity> gridEntityList = gridMapper.spatialAnalysis(point);
if (gridEntityList.size() > 0) {
GridEntity gridEntity = gridEntityList.get(0);
+ // 场所编号绑定
+ placeVO.setGridCode(gridEntity.getGridCode());
+ placeVO.setGridId(gridEntity.getId());
+ // 更新场所信息
+ updateById(placeVO);
// 判断关联关系表是否存在
QueryWrapper<GridRangeEntity> wrapper = new QueryWrapper<>();
wrapper.eq("house_code", placeVO.getHouseCode());
@@ -499,11 +494,13 @@
GridRangeEntity gridRangeEntity = new GridRangeEntity();
gridRangeEntity.setHouseCode(placeVO.getHouseCode());
gridRangeEntity.setGridId(gridEntity.getId());
+ gridRangeEntity.setGridCode(gridEntity.getGridCode());
// 插入
gridRangeService.save(gridRangeEntity);
} else {
// 修改绑定
one.setGridId(gridEntity.getId());
+ one.setGridCode(gridEntity.getGridCode());
// 修改
gridRangeService.updateById(one);
}
@@ -528,6 +525,7 @@
if (null != gridEntity && !Strings.isBlank(gridEntity.getGridCode())) {
// 场所编号绑定
placeVO.setGridCode(gridEntity.getGridCode());
+ placeVO.setGridId(gridEntity.getId());
// 更新场所信息
updateById(placeVO);
}
--
Gitblit v1.9.3