From 54cfc5505931c5e7d8892222d2095a45b8eac8ed Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 06 Dec 2023 18:07:04 +0800
Subject: [PATCH] 房屋数据处理修改,场所新增,修改调整,详情查询修改
---
src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml | 1
src/main/java/org/springblade/common/utils/IdUtils.java | 21 +++++
src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml | 12 +-
src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java | 4
src/main/java/org/springblade/modules/place/service/IPlaceService.java | 11 ++
src/main/java/org/springblade/modules/place/service/impl/PlaceServiceImpl.java | 107 +++++++++++++++++++++-----
src/main/java/org/springblade/modules/house/entity/HouseEntity.java | 6 +
src/main/java/org/springblade/modules/place/controller/PlaceController.java | 18 ++++
src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java | 10 +-
src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java | 6
src/main/java/org/springblade/modules/category/controller/CategoryLabelController.java | 8 ++
src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml | 6 +
12 files changed, 169 insertions(+), 41 deletions(-)
diff --git a/src/main/java/org/springblade/common/utils/IdUtils.java b/src/main/java/org/springblade/common/utils/IdUtils.java
new file mode 100644
index 0000000..4494c96
--- /dev/null
+++ b/src/main/java/org/springblade/common/utils/IdUtils.java
@@ -0,0 +1,21 @@
+package org.springblade.common.utils;
+
+import java.util.UUID;
+
+public class IdUtils {
+
+ /**
+ * 随机生成36位id
+ * @return
+ */
+ public static String getIdBy36(){
+ //生成uuid
+ String randomId = UUID.randomUUID().toString();
+ String trim = randomId.replaceAll("-", "");
+ //再拼接4位
+ long l = System.currentTimeMillis();
+ String time = String.valueOf(l);
+ String subTime = time.substring(time.length() - 4);
+ return trim + subTime;
+ }
+}
diff --git a/src/main/java/org/springblade/modules/category/controller/CategoryLabelController.java b/src/main/java/org/springblade/modules/category/controller/CategoryLabelController.java
index 828df66..974c0b3 100644
--- a/src/main/java/org/springblade/modules/category/controller/CategoryLabelController.java
+++ b/src/main/java/org/springblade/modules/category/controller/CategoryLabelController.java
@@ -122,5 +122,13 @@
return R.status(categoryLabelService.removeByIds(Func.toLongList(ids)));
}
+ /**
+ * 场所标签临时表 分页
+ */
+ @GetMapping("/getAllList")
+ public R getAllList(CategoryLabelVO categoryLabel) {
+ return R.data(categoryLabelService.list());
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
index 78092f9..737af5f 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/controller/DoorplateAddressController.java
@@ -200,12 +200,12 @@
}
/**
- * 数据处理
+ * 房屋数据处理
* @return
*/
- @GetMapping("/dataHandle")
+ @GetMapping("/houseDataHandle")
public R dataHandle(){
- return R.data(doorplateAddressService.dataHandle());
+ return R.data(doorplateAddressService.houseDataHandle());
}
/**
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 9328afa..e3e4eb5 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
+++ b/src/main/java/org/springblade/modules/doorplateAddress/mapper/DoorplateAddressMapper.xml
@@ -346,11 +346,11 @@
<!--查询所有户室数据-->
<select id="getHouseList" resultType="org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity">
- select * from jczz_doorplate_address
- where 1=1 and doorplate_type = '户室牌'
- and address_code not in (
- select house_code from jczz_house
- )
+ select jda.* from jczz_doorplate_address jda
+ left join jczz_house jh on jh.house_code = jda.address_code
+ where 1=1
+ and jh.house_code is null
+ and doorplate_type = '户室牌'
</select>
<!--查询商超-->
@@ -427,7 +427,7 @@
where 1=1
and jp.house_code is null
and (doorplate_type = '小门牌' or (doorplate_type = '中门牌' and address_level = 1))
- union all
+ union
(
select jda.* from jczz_doorplate_address jda
left join jczz_place jp on jp.house_code = jda.address_code and jp.is_deleted =0
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
index 8a7ad97..07577f6 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/IDoorplateAddressService.java
@@ -94,10 +94,10 @@
List<DoorplateAddressVOTree> getHouseTree(HouseParam houseParam);
/**
- * 数据处理
+ * 房屋数据处理
* @return
*/
- Object dataHandle();
+ Object houseDataHandle();
/**
* 小区数据处理
diff --git a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
index fe626fd..798ed95 100644
--- a/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
+++ b/src/main/java/org/springblade/modules/doorplateAddress/service/impl/DoorplateAddressServiceImpl.java
@@ -586,12 +586,12 @@
}
/**
- * 数据处理
+ * 房屋数据处理
* @return
*/
@Override
- public Object dataHandle() {
- // 处理户室数据
+ public Object houseDataHandle() {
+ // 处理房屋数据
handleHouseData();
return null;
@@ -601,7 +601,7 @@
* 处理房屋数据
*/
private void handleHouseData() {
- // 查询所有户室数据
+ // 查询所有户室数据(未入库的)
List<DoorplateAddressEntity> list = baseMapper.getHouseList();
// 需要新增的房屋 list
List<HouseEntity> houseList = new ArrayList<>();
@@ -627,6 +627,8 @@
houseEntity.setCreateTime(new Date());
houseEntity.setUpdateUser(AuthUtil.getUserId().toString());
houseEntity.setUpdateTime(new Date());
+ // 设置来源 1:地址总表 2:国控采集
+ houseEntity.setSource(1);
// 加入集合
houseList.add(houseEntity);
}
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 25986b1..00dd5ab 100644
--- a/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
+++ b/src/main/java/org/springblade/modules/house/entity/HouseEntity.java
@@ -132,6 +132,12 @@
private Integer gridId;
/**
+ * 来源 1:地址总表 2:国控采集
+ */
+ @ApiModelProperty(value = "来源 1:地址总表 2:国控采集")
+ private Integer source;
+
+ /**
* 创建人
*/
@JsonSerialize(using = ToStringSerializer.class)
diff --git a/src/main/java/org/springblade/modules/place/controller/PlaceController.java b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
index 62e8767..65b69d1 100644
--- a/src/main/java/org/springblade/modules/place/controller/PlaceController.java
+++ b/src/main/java/org/springblade/modules/place/controller/PlaceController.java
@@ -100,9 +100,14 @@
return R.status(placeService.save(place));
}
+ /**
+ * 自定义新增/修改
+ * @param placeVO
+ * @return
+ */
@PostMapping("/add")
public R add(@RequestBody PlaceVO placeVO){
- return R.status(placeService.addVO(placeVO));
+ return R.status(placeService.addOrUpdate(placeVO));
}
/**
@@ -115,6 +120,17 @@
return R.status(placeService.updateById(place));
}
+
+ /**
+ * 自定义修改
+ * @param placeVO
+ * @return
+ */
+ @PostMapping("/updatePlace")
+ public R updatePlace(@RequestBody PlaceVO placeVO){
+ return R.status(placeService.updatePlace(placeVO));
+ }
+
/**
* 场所表 新增或修改
*/
diff --git a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
index 930585f..9b1b450 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceExtMapper.xml
@@ -43,6 +43,7 @@
</otherwise>
</choose>
</if>
+ order by jpe.create_time desc,jpe.id desc
</select>
<!--自定义详情查询-->
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 cd9886b..0e4fdea 100644
--- a/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
+++ b/src/main/java/org/springblade/modules/place/mapper/PlaceMapper.xml
@@ -49,6 +49,12 @@
<if test="place.placeName!=null and place.placeName!=''">
and jp.place_name like concat('%',#{place.placeName},'%')
</if>
+ <if test="place.principal!=null and place.principal!=''">
+ and jp.principal like concat('%',#{place.principal},'%')
+ </if>
+ <if test="place.principalPhone!=null and place.principalPhone!=''">
+ and jp.principal_phone like concat('%',#{place.principalPhone},'%')
+ </if>
<if test="place.isPerfect==1">
and
(
diff --git a/src/main/java/org/springblade/modules/place/service/IPlaceService.java b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
index 290b66c..faac1e2 100644
--- a/src/main/java/org/springblade/modules/place/service/IPlaceService.java
+++ b/src/main/java/org/springblade/modules/place/service/IPlaceService.java
@@ -51,11 +51,11 @@
List<TreeStringNode> selectPlaceNodeList(Long userId);
/**
- * 场所信息自定义新增
+ * 场所信息自定义新增/修改
* @param placeVO
* @return
*/
- Boolean addVO(PlaceVO placeVO);
+ Boolean addOrUpdate(PlaceVO placeVO);
/**
* 历史场所挂接处理-临时
@@ -96,4 +96,11 @@
* 场所数据处理-用户信息(场所负责人信息写入到场所表)
*/
Object placeUserHandle();
+
+ /**
+ * 自定义修改
+ * @param placeVO
+ * @return
+ */
+ boolean updatePlace(PlaceVO placeVO);
}
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 50f0d49..004b686 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
@@ -17,18 +17,17 @@
package org.springblade.modules.place.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.node.TreeStringNode;
+import org.springblade.common.utils.IdUtils;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity;
import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService;
import org.springblade.modules.grid.service.IGridService;
-import org.springblade.modules.place.entity.PlaceEntity;
-import org.springblade.modules.place.entity.PlaceExtEntity;
-import org.springblade.modules.place.entity.PlacePoiLabel;
-import org.springblade.modules.place.entity.PlaceRelEntity;
+import org.springblade.modules.place.entity.*;
import org.springblade.modules.place.excel.PlaceAndRelExcel;
import org.springblade.modules.place.excel.PlaceExcel;
import org.springblade.modules.place.service.IPlaceExtService;
@@ -44,10 +43,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* 场所表 服务实现类
@@ -105,28 +101,51 @@
}
/**
- * 场所信息自定义新增
+ * 场所信息自定义新增/修改
* @param placeVO
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
- public Boolean addVO(PlaceVO placeVO) {
- // 设置基础数据
- placeVO.setCreateUser(AuthUtil.getUserId());
- placeVO.setCreateTime(new Date());
+ public Boolean addOrUpdate(PlaceVO placeVO) {
+ boolean flag = false;
placeVO.setUpdateUser(AuthUtil.getUserId());
placeVO.setUpdateTime(new Date());
- // 绑定用户信息
- bindUserHandle(placeVO);
- // 新增场所信息
- boolean save = save(placeVO);
- // 保存场所详情及任务信息
- savePlaceExtAndTaskInfo(placeVO);
- // 场所标签信息绑定
- placeLabelBind(placeVO);
+ // 查看是否包含houseCode,如果有,则更新
+ if (!Strings.isBlank(placeVO.getHouseCode())){
+ // 更新,先查询场所信息
+ QueryWrapper<PlaceEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("is_deleted",0).eq("house_code",placeVO.getHouseCode());
+ PlaceEntity one = getOne(wrapper);
+ placeVO.setId(one.getId());
+ // 绑定用户信息
+ bindUserHandle(placeVO);
+ // 更新场所信息
+ flag = updateById(placeVO);
+ // 保存场所详情及任务信息
+ savePlaceExtAndTaskInfo(placeVO);
+ // 场所标签信息绑定(更新,调整)
+ placeLabelBind(placeVO);
+ }else {
+ // 设置基础数据
+ placeVO.setCreateUser(AuthUtil.getUserId());
+ placeVO.setCreateTime(new Date());
+ // 设置来源( 1:地址总表 2:国控采集)
+ placeVO.setSource(2);
+ // 并生成36位的houseCode
+ placeVO.setHouseCode(IdUtils.getIdBy36());
+ // 绑定用户信息
+ bindUserHandle(placeVO);
+ // 新增场所信息
+ flag = save(placeVO);
+ // 保存场所详情及任务信息
+ savePlaceExtAndTaskInfo(placeVO);
+ // 场所标签信息绑定
+ placeLabelBind(placeVO);
+ }
+ // 位置绑定,通过定位去匹配所在网格
// 返回结果
- return save;
+ return flag;
}
/**
@@ -135,9 +154,34 @@
*/
@Transactional(rollbackFor = Exception.class)
public void placeLabelBind(PlaceVO placeVO) {
+ // 先查询对于的场所是否已有标签信息
+ // 查询对应已存在的从业人员
+ QueryWrapper<PlacePoiLabel> wrapper = new QueryWrapper<>();
+ wrapper.eq("place_id",placeVO.getId());
+ List<PlacePoiLabel> oldList = placePoiLabelService.list(wrapper);
+ if (oldList.size()>0){
+ // 先将老的全部删除,然后批量插入
+ QueryWrapper<PlacePoiLabel> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("place_id",placeVO.getId());
+ boolean remove = placePoiLabelService.remove(queryWrapper);
+ if (remove){
+ // 批量新增
+ savePlaceLabel(placeVO);
+ }
+ }else {
+ savePlaceLabel(placeVO);
+ }
+ }
+
+ /**
+ * 插入场所标签信息
+ * @param placeVO
+ */
+ public void savePlaceLabel(PlaceVO placeVO) {
+ // 批量新增
List<String> labelList = Arrays.asList(placeVO.getLabel().split(","));
// 遍历
- labelList.forEach(labelId->{
+ labelList.forEach(labelId -> {
PlacePoiLabel placePoiLabel = new PlacePoiLabel();
placePoiLabel.setPlaceId(placeVO.getId());
placePoiLabel.setPoiCode(Integer.parseInt(labelId));
@@ -473,4 +517,21 @@
}
return null;
}
+
+ /**
+ * 自定义修改
+ * @param placeVO
+ * @return
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean updatePlace(PlaceVO placeVO) {
+ boolean flag = false;
+ // 修改场所信息
+ flag = updateById(placeVO);
+ // 修改标签绑定信息
+
+ // 返回
+ return flag;
+ }
}
--
Gitblit v1.9.3