From 4272e9171b9153bc744203a4177ffefb8b8662f4 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 28 Feb 2024 16:58:45 +0800
Subject: [PATCH] 场所采集去除角色判断,场所详情查询优化调整
---
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 142 +++++++++++++++++++++++------------------------
1 files changed, 70 insertions(+), 72 deletions(-)
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