From 7fc1daa8a0de3395ad4486d598ee1993fa0ac68d Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期三, 23 十一月 2022 10:56:59 +0800
Subject: [PATCH] 三说会堂修改社区范围,筛选
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java | 244 +++++++++++++++++++++++++++++++++++-------------
1 files changed, 179 insertions(+), 65 deletions(-)
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java
index 61d8044..24d319a 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVillageServiceImpl.java
@@ -1,5 +1,16 @@
package com.panzhihua.service_community.service.impl;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.model.dos.*;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -9,38 +20,23 @@
import com.google.common.collect.Lists;
import com.panzhihua.common.model.dtos.community.PageComMngVillageDTO;
import com.panzhihua.common.model.dtos.grid.ComMngVillageListAppDTO;
-import com.panzhihua.common.model.dtos.grid.PageComMngVillageBuildHouseAppDTO;
-import com.panzhihua.common.model.dtos.grid.admin.ComMngPopulationListDTO;
+import com.panzhihua.common.model.dtos.grid.admin.ComMngVillageListExportAdminDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.ComMngVillageServeExcelVO;
import com.panzhihua.common.model.vos.community.ComMngVillageVO;
-import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingHouseVO;
import com.panzhihua.common.model.vos.grid.ComMngVillageBuildingVO;
import com.panzhihua.common.utlis.Snowflake;
import com.panzhihua.common.utlis.StringUtils;
-import com.panzhihua.service_community.dao.ComActDAO;
-import com.panzhihua.service_community.dao.ComActVillageDAO;
-import com.panzhihua.service_community.dao.ComMngPopulationDAO;
-import com.panzhihua.service_community.dao.ComMngPopulationHouseDAO;
-import com.panzhihua.service_community.model.dos.ComActDO;
-import com.panzhihua.service_community.model.dos.ComMngPopulationDO;
-import com.panzhihua.service_community.model.dos.ComMngPopulationHouseDO;
-import com.panzhihua.service_community.model.dos.ComMngVillageDO;
import com.panzhihua.service_community.service.ComMngVillageService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import org.springframework.util.CollectionUtils;
/**
* @author: llming
* @description: 实有房屋
**/
@Service
-public class ComMngVillageServiceImpl extends ServiceImpl<ComActVillageDAO, ComMngVillageDO> implements ComMngVillageService {
+public class ComMngVillageServiceImpl extends ServiceImpl<ComActVillageDAO, ComMngVillageDO>
+ implements ComMngVillageService {
@Resource
ComActVillageDAO comActVillageDAO;
@Resource
@@ -49,6 +45,8 @@
ComMngPopulationDAO populationDAO;
@Resource
private ComMngPopulationHouseDAO comMngPopulationHouseDAO;
+ @Resource
+ private ComMngBuildingDAO comMngBuildingDAO;
@Override
public R addComActVillage(ComMngVillageVO comMngVillageVO) {
@@ -71,9 +69,9 @@
comMngVillageDO.setUpdateAt(new Date());
int insert = comActVillageDAO.insert(comMngVillageDO);
if (insert > 0) {
-// param.eq(ComMngVillageDO::getAlley, comMngVillageVO.getAlley());
-// param.eq(ComMngVillageDO::getHouseNum, comMngVillageVO.getHouseNum());
-// ComMngVillageDO comMngVillageDO1 = comActVillageDAO.selectOne(param);
+ // param.eq(ComMngVillageDO::getAlley, comMngVillageVO.getAlley());
+ // param.eq(ComMngVillageDO::getHouseNum, comMngVillageVO.getHouseNum());
+ // ComMngVillageDO comMngVillageDO1 = comActVillageDAO.selectOne(param);
BeanUtils.copyProperties(comMngVillageDO, comMngVillageVO);
return R.ok(comMngVillageVO);
}
@@ -83,20 +81,49 @@
@Override
public R listComActVillage(ComMngVillageVO comMngVillageVO) {
List<ComMngVillageDO> vos = Lists.newArrayList();
- LambdaQueryWrapper<ComMngVillageDO> param = new QueryWrapper<ComMngVillageDO>().lambda();
- param.eq(ComMngVillageDO::getAlley, comMngVillageVO.getAlley());
- param.eq(ComMngVillageDO::getCommunityId, comMngVillageVO.getCommunityId());
- List<ComMngVillageDO> comMngVillageDOS = comActVillageDAO.selectList(param);
- BeanUtils.copyProperties(vos, comMngVillageDOS);
+ if(comMngVillageVO.getCommunityId()!=null){
+ LambdaQueryWrapper<ComMngVillageDO> param = new QueryWrapper<ComMngVillageDO>().lambda();
+ if(StringUtils.isNotEmpty(comMngVillageVO.getName())){
+ param.like(ComMngVillageDO::getName, comMngVillageVO.getName());
+ }
+ if(comMngVillageVO.getCommunityId()!=0){
+ param.eq(ComMngVillageDO::getCommunityId, comMngVillageVO.getCommunityId());
+ }
+ List<ComMngVillageDO> comMngVillageDOS = comActVillageDAO.selectList(param);
+ BeanUtils.copyProperties(comMngVillageDOS, vos);
+ if(CollectionUtils.isEmpty(comMngVillageDOS)){
+ //默认添加小区
+ ComMngVillageDO comMngVillageDO=new ComMngVillageDO();
+ comMngVillageDO.setVillageId(1540264792718184449L);
+ comMngVillageDO.setType(1);
+ comMngVillageDO.setName("该社区/村暂未添加小区(院落),请先选择本项");
+ comMngVillageDOS.add(comMngVillageDO);
+ }
+ return R.ok(comMngVillageDOS);
+ }
+ if(CollectionUtils.isEmpty(vos)){
+ //默认添加小区
+ ComMngVillageDO comMngVillageDO=new ComMngVillageDO();
+ comMngVillageDO.setVillageId(1540264792718184449L);
+ comMngVillageDO.setType(1);
+ comMngVillageDO.setName("该社区/村暂未添加小区(院落),请先选择本项");
+ vos.add(comMngVillageDO);
+ }
return R.ok(vos);
}
+ @Override
+ public ComMngVillageDO getVillageById(Long villageId) {
+ ComMngVillageDO comMngVillageDO = new ComMngVillageDO();
+ comMngVillageDO = comActVillageDAO.selectById(villageId);
+ return comMngVillageDO;
+ }
@Override
public R pageComActVillage(PageComMngVillageDTO pageComMngVillageDTO) {
LambdaQueryWrapper<ComMngVillageDO> userLambdaQueryWrapper = Wrappers.lambdaQuery();
- if(pageComMngVillageDTO.getCommunityId() != null){
- userLambdaQueryWrapper.eq(ComMngVillageDO::getCommunityId,pageComMngVillageDTO.getCommunityId());
+ if (pageComMngVillageDTO.getCommunityId() != null) {
+ userLambdaQueryWrapper.eq(ComMngVillageDO::getCommunityId, pageComMngVillageDTO.getCommunityId());
}
if (pageComMngVillageDTO.getAlley() != null) {
userLambdaQueryWrapper.like(ComMngVillageDO::getAlley, pageComMngVillageDTO.getAlley());
@@ -107,33 +134,33 @@
if (StringUtils.isNotEmpty(pageComMngVillageDTO.getGroupAt())) {
userLambdaQueryWrapper.eq(ComMngVillageDO::getGroupAt, pageComMngVillageDTO.getGroupAt());
}
- if(pageComMngVillageDTO.getType() != null){
+ if (pageComMngVillageDTO.getType() != null) {
userLambdaQueryWrapper.eq(ComMngVillageDO::getType, pageComMngVillageDTO.getType());
}
Page userPage = new Page(pageComMngVillageDTO.getPageNum(), pageComMngVillageDTO.getPageSize());
- IPage<ComMngVillageDO> doPager = comActVillageDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComMngVillageDO::getCreateAt));
+ IPage<ComMngVillageDO> doPager =
+ comActVillageDAO.selectPage(userPage, userLambdaQueryWrapper.orderByDesc(ComMngVillageDO::getName));
IPage<ComMngVillageVO> villageVOIPage = new Page<>();
villageVOIPage.setCurrent(doPager.getCurrent());
villageVOIPage.setPages(doPager.getPages());
villageVOIPage.setSize(doPager.getSize());
villageVOIPage.setTotal(doPager.getTotal());
- if(!doPager.getRecords().isEmpty()){
+ if (!doPager.getRecords().isEmpty()) {
List<ComMngVillageVO> villageVOList = new ArrayList<>();
- //统计小区下的数据
+ // 统计小区下的数据
doPager.getRecords().forEach(village -> {
ComMngVillageVO villageVO = new ComMngVillageVO();
- BeanUtils.copyProperties(village,villageVO);
- //查询小区统计数据
+ BeanUtils.copyProperties(village, villageVO);
+ // 查询小区统计数据
ComMngVillageVO villageTotal = comActVillageDAO.getStatisticsCount(village.getVillageId());
- if(villageTotal != null){
+ if (villageTotal != null) {
villageVO.setFloorTotal(villageTotal.getFloorTotal());
villageVO.setCarTotal(villageTotal.getCarTotal());
villageVO.setHouseTotal(villageTotal.getHouseTotal());
villageVO.setPopulationTotal(villageTotal.getPopulationTotal());
}
villageVOList.add(villageVO);
-
});
villageVOIPage.setRecords(villageVOList);
}
@@ -143,7 +170,7 @@
@Override
public R delecComActVillage(List<Long> Ids) {
LambdaQueryWrapper<ComMngPopulationHouseDO> paramHouseWrapper = Wrappers.lambdaQuery();
- paramHouseWrapper.in(ComMngPopulationHouseDO::getVillageId,Ids);
+ paramHouseWrapper.in(ComMngPopulationHouseDO::getVillageId, Ids);
List<ComMngPopulationHouseDO> populationHouseDOList = comMngPopulationHouseDAO.selectList(paramHouseWrapper);
if (!populationHouseDOList.isEmpty()) {
return R.fail("无法删除,已绑定实有房屋!");
@@ -164,11 +191,12 @@
@Override
public R listSaveVillage(List<ComMngVillageServeExcelVO> list, Long communityId) {
- //思路:获取社区下所有的实有房屋(小区),打印已经存在的重复数据
+ // 思路:获取社区下所有的实有房屋(小区),打印已经存在的重复数据
if (list.size() == 0) {
return R.fail("数据为空!");
}
- List<ComMngVillageDO> comMngVillageDOs = comActVillageDAO.selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId));
+ List<ComMngVillageDO> comMngVillageDOs = comActVillageDAO
+ .selectList(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getCommunityId, communityId));
int index = 2;
for (ComMngVillageServeExcelVO vo : list) {
if (vo.getHouseNum() == null) {
@@ -177,31 +205,44 @@
if (vo.getAlley() == null) {
return R.fail("街路巷第" + index + "行为空!");
}
- //判断DB和exel数据重复判断
- boolean result = comMngVillageDOs.stream().anyMatch(village -> village.getAlley().equals(vo.getAlley()) && village.getHouseNum().equals(vo.getHouseNum()));
+ // 判断DB和exel数据重复判断
+ boolean result = comMngVillageDOs.stream().anyMatch(
+ village -> village.getAlley().equals(vo.getAlley()) && village.getHouseNum().equals(vo.getHouseNum()));
if (result) {
- return R.fail("导入街路巷已存在(" + vo.getAlley() + ")");
+ return R.fail("导入街路巷重复(" + vo.getAlley() + ")");
}
+ ComMngVillageDO comMngVillageDO=new ComMngVillageDO();
+ BeanUtils.copyProperties(vo,comMngVillageDO);
+ comMngVillageDOs.add(comMngVillageDO);
index++;
}
ComActDO comActDO = comActDAO.selectById(communityId);
- if(comActDO.getStreetId()==null||comActDO.getStreetId().toString().equals("")){
+ if (comActDO.getStreetId() == null || comActDO.getStreetId().toString().equals("")) {
return R.fail("请绑定街道,再操作!");
}
ArrayList<ComMngVillageDO> comMngVillageDOS = Lists.newArrayList();
list.forEach(vo -> {
ComMngVillageDO comMngVillageDO = new ComMngVillageDO();
BeanUtils.copyProperties(vo, comMngVillageDO);
+ if(StringUtils.isNotEmpty(vo.getType())){
+ if("城镇".equals(vo.getType())){
+ comMngVillageDO.setType(1);
+ }
+ else {
+ comMngVillageDO.setType(2);
+ }
+ }
comMngVillageDO.setCommunityId(comActDO.getCommunityId());
comMngVillageDO.setStreetId(comActDO.getStreetId());
StringBuilder path = new StringBuilder();
path.append(vo.getAlley()).append(">").append(vo.getHouseNum()).append(">").append(vo.getGroupAt());
comMngVillageDO.setPath(path.toString());
comMngVillageDO.setUpdateAt(new Date());
+ comMngVillageDO.setName(comMngVillageDO.getGroupAt());
comMngVillageDOS.add(comMngVillageDO);
});
this.saveBatch(comMngVillageDOS);
- return R.ok("共计导入实有房屋数量:" + comMngVillageDOS.size());
+ return R.ok("共计导入实有小区数量:" + comMngVillageDOS.size());
}
@Override
@@ -210,15 +251,42 @@
if (comMngVillageDO == null) {
return R.fail("id有误!");
}
- BeanUtils.copyProperties(comMngVillageVO, comMngVillageDO);
+ if(!comMngVillageVO.getAlley().equals(comMngVillageDO.getAlley())&&!comMngVillageVO.getHouseNum().equals(comMngVillageDO.getHouseNum())){
+ Integer count= this.baseMapper.selectCount(new QueryWrapper<ComMngVillageDO>().lambda().eq(ComMngVillageDO::getAlley,comMngVillageVO.getAlley()).eq(ComMngVillageDO::getHouseNum,comMngVillageVO.getHouseNum()));
+ if(count>0){
+ return R.fail("街路巷已存在");
+ }
+ //历史人口数据处理
+ List<ComMngPopulationDO> populationDOS=this.populationDAO.selectList(new QueryWrapper<ComMngPopulationDO>().lambda().eq(ComMngPopulationDO::getVillageId,villageId));
+ if(!populationDOS.isEmpty()){
+ populationDOS.forEach(comMngPopulationDO -> {
+ comMngPopulationDO.setRoad(comMngVillageVO.getAlley());
+ comMngPopulationDO.setDoorNo(comMngVillageVO.getHouseNum());
+ comMngPopulationDO.setAddress(comMngPopulationDO.getAddress().replace(comMngVillageDO.getAlley()+comMngVillageDO.getHouseNum(),comMngVillageVO.getAlley()+comMngVillageVO.getHouseNum()));
+ this.populationDAO.updateById(comMngPopulationDO);
+ });
+ }
+ //历史房屋数据处理
+ List<ComMngPopulationHouseDO> comMngPopulationHouseDOS=this.comMngPopulationHouseDAO.selectList(new QueryWrapper<ComMngPopulationHouseDO>().lambda().eq(ComMngPopulationHouseDO::getVillageId,comMngVillageVO.getVillageId()));
+ if(!comMngPopulationHouseDOS.isEmpty()){
+ comMngPopulationHouseDOS.forEach(comMngPopulationHouseDO -> {
+ comMngPopulationHouseDO.setAlley(comMngVillageVO.getAlley());
+ comMngPopulationHouseDO.setHouseNum(comMngVillageVO.getHouseNum());
+ comMngPopulationHouseDO.setAddress(comMngPopulationHouseDO.getAddress().replace(comMngVillageDO.getAlley()+comMngVillageDO.getHouseNum(),comMngVillageVO.getAlley()+comMngVillageVO.getHouseNum()));
+ this.comMngPopulationHouseDAO.updateById(comMngPopulationHouseDO);
+ });
+ }
+ }
ComActDO comActDO = comActDAO.selectById(comMngVillageDO.getCommunityId());
if (comActDO == null || comActDO.getStreetId() == null) {
return R.fail("社区没有绑定街道,请绑定后操作!");
}
+ BeanUtils.copyProperties(comMngVillageVO, comMngVillageDO);
+ comMngVillageDO.setName(comMngVillageVO.getGroupAt());
comMngVillageDO.setStreetId(comActDO.getStreetId());
- int update = this.baseMapper.update(comMngVillageDO, new LambdaQueryWrapper<ComMngVillageDO>()
- .eq(ComMngVillageDO::getVillageId, villageId));
- if(update>0){
+ int update = this.baseMapper.update(comMngVillageDO,
+ new LambdaQueryWrapper<ComMngVillageDO>().eq(ComMngVillageDO::getVillageId, villageId));
+ if (update > 0) {
return R.ok(comMngVillageVO);
}
return R.fail();
@@ -226,54 +294,100 @@
/**
* 统计社区内小区数量
- * @param communityId 社区id
- * @return 统计小区数量
+ *
+ * @param communityId
+ * 社区id
+ * @return 统计小区数量
*/
@Override
- public R villageStatistics(Long communityId){
+ public R villageStatistics(Long communityId) {
return R.ok(this.baseMapper.getVillageStatisticsCount(communityId));
}
/**
* 小区详情
- * @param villageId 小区id
- * @return 小区详情
+ *
+ * @param villageId
+ * 小区id
+ * @return 小区详情
*/
@Override
- public R getVillage(Long villageId){
+ public R getVillage(Long villageId) {
return R.ok(this.baseMapper.getVillageById(villageId));
}
/**
* 综治app-小区列表
- * @param villageListAppDTO 请求参数
- * @return 小区列表
+ *
+ * @param villageListAppDTO
+ * 请求参数
+ * @return 小区列表
*/
@Override
- public R getGridVillageList(ComMngVillageListAppDTO villageListAppDTO){
- return R.ok(this.baseMapper.getGridVillageList(new Page(villageListAppDTO.getPageNum(),villageListAppDTO.getPageSize()),villageListAppDTO));
+ public R getGridVillageList(ComMngVillageListAppDTO villageListAppDTO) {
+ return R.ok(this.baseMapper.getGridVillageList(
+ new Page(villageListAppDTO.getPageNum(), villageListAppDTO.getPageSize()), villageListAppDTO));
+ }
+
+ @Override
+ public R getGridVillageListApp(ComMngVillageListAppDTO villageListAppDTO) {
+ return R.ok(this.baseMapper.getGridVillageList(
+ new Page(villageListAppDTO.getPageNum(), villageListAppDTO.getPageSize()), villageListAppDTO));
}
/**
* 综治app-根据小区id查询小区下楼栋列表
- * @param villageId 小区id
- * @return 楼栋列表
+ *
+ * @param villageId
+ * 小区id
+ * @return 楼栋列表
*/
@Override
- public R getGridVillageBuildingList(Long villageId){
+ public R getGridVillageBuildingList(Long villageId) {
List<ComMngVillageBuildingVO> villageBuildingList = this.baseMapper.getGridVillageBuildingList(villageId);
- if(!villageBuildingList.isEmpty()){
+ if (!villageBuildingList.isEmpty()) {
villageBuildingList.forEach(villageBuilding -> {
- if(!villageBuilding.getFloor().contains("栋")){
+ if (!villageBuilding.getFloor().contains("栋")) {
villageBuilding.setFloorString(villageBuilding.getFloor() + "栋");
+ } else {
+ villageBuilding.setFloorString(villageBuilding.getFloor());
}
- if(!villageBuilding.getUnitNo().contains("单元")){
+ if (!villageBuilding.getUnitNo().contains("单元")) {
villageBuilding.setUnitNoString(villageBuilding.getUnitNo() + "单元");
+ } else {
+ villageBuilding.setUnitNoString(villageBuilding.getUnitNo());
}
});
}
return R.ok(villageBuildingList);
}
+ @Override
+ public R delGridVillage(List<Long> villageIds) {
+
+ if (villageIds.isEmpty()) {
+ return R.fail("请选择需要删除的小区");
+ }
+ // 查询需要删除的小区下面是否绑定的有房屋
+ Integer count = this.baseMapper.getVillageHouseCount(villageIds);
+ if (count > 0) {
+ return R.fail("您选择的小区已被引用,无法删除");
+ }
+ if (this.baseMapper.deleteBatchIds(villageIds) > 0) {
+ return R.ok();
+ }
+ return R.fail("删除失败");
+ }
+
+ @Override
+ public R getGridVillageStatistics() {
+ return R.ok(this.baseMapper.getGridVillageStatistics());
+ }
+
+ @Override
+ public R getGridVillageListExport(ComMngVillageListExportAdminDTO villageListAppDTO) {
+ return R.ok(this.baseMapper.getGridVillageLists(villageListAppDTO));
+ }
+
}
--
Gitblit v1.7.1