Browse Source

gailegeming

dev
zxc 4 years ago
parent
commit
07b6b00603
  1. 12
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java
  2. 14
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  3. 48
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java
  4. 7
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java
  5. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java
  6. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
  7. 12
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

12
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportHouseGeneralDTO.java → epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java

@ -11,7 +11,7 @@ import java.io.Serializable;
* @DESC
*/
@Data
public class ImportHouseGeneralDTO implements Serializable {
public class ImportGeneralDTO implements Serializable {
private static final long serialVersionUID = -345610717773879687L;
@ -122,4 +122,14 @@ public class ImportHouseGeneralDTO implements Serializable {
private String customerId;
private Boolean existStatus = false;
/**
* 楼栋重复状态
*/
private Boolean buildingExistStatus = false;
/**
* 小区重复状态
*/
private Boolean neighborHoodExistStatus = false;
}

14
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java

@ -19,7 +19,7 @@ package com.epmet.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ImportHouseGeneralDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.result.BaseInfoFamilyBuildingResultDTO;
import com.epmet.dto.result.BuildingResultDTO;
import com.epmet.entity.CustomerAgencyEntity;
@ -112,7 +112,7 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
* @author zxc
* @date 2022/2/14 9:48 上午
*/
List<ImportHouseGeneralDTO> selectAllGridByOrgId(@Param("orgId")String orgId);
List<ImportGeneralDTO> selectAllGridByOrgId(@Param("orgId")String orgId);
/**
* @Description 查询网格下所有的小区
@ -120,7 +120,7 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
* @author zxc
* @date 2022/2/14 10:21 上午
*/
List<ImportHouseGeneralDTO> selectAllNeighborHoodByGridIds(@Param("orgIds")List<String> orgId);
List<ImportGeneralDTO> selectAllNeighborHoodByGridIds(@Param("orgIds")List<String> orgId);
/**
* @Description 根据小区ID查询楼栋
@ -128,7 +128,7 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
* @author zxc
* @date 2022/2/14 1:25 下午
*/
List<ImportHouseGeneralDTO> selectAllBuildingByNeighborHoodId(@Param("neighborHoodId")String neighborHoodId);
List<ImportGeneralDTO> selectAllBuildingByNeighborHoodId(@Param("neighborHoodId")String neighborHoodId);
/**
* @Description 根据楼栋ID查询楼栋单元
@ -136,7 +136,7 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
* @author zxc
* @date 2022/2/14 1:58 下午
*/
List<ImportHouseGeneralDTO> selectAllBuildingUnitByBuildingId(@Param("building")String building);
List<ImportGeneralDTO> selectAllBuildingUnitByBuildingId(@Param("building")String building);
/**
* @Description 根据ID查询小区
@ -144,7 +144,7 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
* @author zxc
* @date 2022/2/14 3:16 下午
*/
ImportHouseGeneralDTO selectNeighborHoodById(@Param("id")String id);
ImportGeneralDTO selectNeighborHoodById(@Param("id")String id);
/**
* @Description 根据ID查询楼栋
@ -152,7 +152,7 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
* @author zxc
* @date 2022/2/14 4:26 下午
*/
ImportHouseGeneralDTO selectBuildingById(@Param("id")String id);
ImportGeneralDTO selectBuildingById(@Param("id")String id);
/**
* @Description 查询已存在的房屋

48
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportHouseInfoListener.java

@ -2,26 +2,22 @@ package com.epmet.model;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.redis.common.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.CustomerAgencyConstant;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.ImportHouseGeneralDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.result.ImportResultDTO;
import com.epmet.entity.IcHouseEntity;
import com.epmet.enums.HousePurposeEnums;
import com.epmet.enums.HouseRentFlagEnums;
import com.epmet.enums.HouseTypeEnums;
import com.epmet.excel.IcNeighborHoodExcel;
import com.epmet.redis.IcHouseRedis;
import com.epmet.service.HouseService;
import com.epmet.service.IcHouseService;
import com.epmet.service.IcNeighborHoodService;
import org.apache.commons.lang3.StringUtils;
@ -41,22 +37,22 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
List<Integer> nums = new ArrayList<>();
Integer num = NumConstant.ZERO;
List<ImportHouseGeneralDTO> needDisposeList = new ArrayList<>();
List<ImportHouseGeneralDTO> needInsertList = new ArrayList<>();
List<ImportGeneralDTO> needDisposeList = new ArrayList<>();
List<ImportGeneralDTO> needInsertList = new ArrayList<>();
String gridName = null;
String agencyName = null;
Map<String, Object> gridInfos = null;
List<ImportHouseGeneralDTO> gridInfoDTOs = null;
List<ImportGeneralDTO> gridInfoDTOs = null;
Map<String, Object> neighborHoodInfos = null;
List<ImportHouseGeneralDTO> neighborHoodInfoDTOs = null;
ImportHouseGeneralDTO neighborHoodGeneralDTO = null;
List<ImportGeneralDTO> neighborHoodInfoDTOs = null;
ImportGeneralDTO neighborHoodGeneralDTO = null;
Map<String, Object> buildingInfos = null;
List<ImportHouseGeneralDTO> buildingInfoDTOs = null;
ImportHouseGeneralDTO buildingGeneralDTO = null;
List<ImportGeneralDTO> buildingInfoDTOs = null;
ImportGeneralDTO buildingGeneralDTO = null;
Map<String, Object> buildingUnitInfos = null;
List<ImportHouseGeneralDTO> buildingUnitInfoDTOs = null;
List<ImportGeneralDTO> buildingUnitInfoDTOs = null;
private ImportInfoFormDTO formDTO;
private IcBuildingDao icBuildingDao;
@ -78,7 +74,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
return;
}
num = num + NumConstant.ONE;
ImportHouseGeneralDTO dto = ConvertUtils.sourceToTarget(data, ImportHouseGeneralDTO.class);
ImportGeneralDTO dto = ConvertUtils.sourceToTarget(data, ImportGeneralDTO.class);
dto.setNum(num);
dto.setCustomerId(formDTO.getCustomerId());
dto.setHouseType(HouseTypeEnums.getKeyByValue(dto.getHouseType()));
@ -101,12 +97,12 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
}
public void finalDispose(){
List<ImportHouseGeneralDTO> importInfo = neighborHoodService.getImportInfo(formDTO, needDisposeList);
List<ImportGeneralDTO> importInfo = neighborHoodService.getImportInfo(formDTO, needDisposeList);
needInsertList.addAll(importInfo);
Map<String, Long> collect = needInsertList.stream().collect(Collectors.groupingBy(n -> n.getBuildingUnitId() + "_" + n.getDoorName(), Collectors.counting()));
collect.forEach((k,v) -> {
if (Integer.valueOf(v.toString()).compareTo(1) > 0){
for (ImportHouseGeneralDTO r : needInsertList) {
for (ImportGeneralDTO r : needInsertList) {
if (k.equals(r.getBuildingUnitId()+"_"+r.getDoorName())){
// 集合里重复的
r.setExistStatus(true);
@ -119,7 +115,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
List<String> ids = needInsertList.stream().map(m -> m.getBuildingUnitId() + "_" + m.getDoorName()).distinct().collect(Collectors.toList());
List<String> existHouses = icBuildingDao.selectExistHouse(ids);
existHouses.forEach(e -> {
for (ImportHouseGeneralDTO n : needInsertList) {
for (ImportGeneralDTO n : needInsertList) {
if ((n.getBuildingUnitId()+"_"+n.getDoorName()).equals(e)){
// 库里存在的
n.setExistStatus(true);
@ -128,9 +124,9 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
}
});
// 根据存在状态分组
Map<Boolean, List<ImportHouseGeneralDTO>> groupByExistStatus = needInsertList.stream().collect(Collectors.groupingBy(ImportHouseGeneralDTO::getExistStatus));
List<ImportHouseGeneralDTO> importHouseGeneralDTOS = groupByExistStatus.get(false);
houseInsert(importHouseGeneralDTOS);
Map<Boolean, List<ImportGeneralDTO>> groupByExistStatus = needInsertList.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getExistStatus));
List<ImportGeneralDTO> importGeneralDTOS = groupByExistStatus.get(false);
houseInsert(importGeneralDTOS);
// 清除
needDisposeList = new ArrayList<>();
needInsertList = new ArrayList<>();
@ -154,7 +150,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
* @author zxc
* @date 2022/2/14 3:23 下午
*/
public void disposeBuildingHouse(ImportHouseGeneralDTO dto){
public void disposeBuildingHouse(ImportGeneralDTO dto){
buildingGeneralDTO = null == buildingGeneralDTO ? icBuildingDao.selectBuildingById(formDTO.getOrgId()) : buildingGeneralDTO;
// 排除不是本楼的
if (!dto.getBuildingName().equals(buildingGeneralDTO.getBuildingName())){
@ -204,7 +200,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
* @author zxc
* @date 2022/2/14 3:23 下午
*/
public void disposeNeighborHoodHouse(ImportHouseGeneralDTO dto){
public void disposeNeighborHoodHouse(ImportGeneralDTO dto){
neighborHoodGeneralDTO = null == neighborHoodGeneralDTO ? icBuildingDao.selectNeighborHoodById(formDTO.getOrgId()) : neighborHoodGeneralDTO;
//排除不是本小区的
if (!dto.getNeighborHoodName().equals(neighborHoodGeneralDTO.getNeighborHoodName())){
@ -240,7 +236,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
* @author zxc
* @date 2022/2/14 2:14 下午
*/
public void disposeGridHouse(ImportHouseGeneralDTO dto){
public void disposeGridHouse(ImportGeneralDTO dto){
gridName = null == gridName ? icBuildingDao.selectGridNameById(formDTO.getOrgId()) : gridName;
GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(formDTO.getOrgId());
if (null == gridInfo){
@ -270,7 +266,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
* @author zxc
* @date 2022/2/14 1:35 下午
*/
public void disposeAgencyHouse(ImportHouseGeneralDTO dto){
public void disposeAgencyHouse(ImportGeneralDTO dto){
agencyName = null == agencyName ? icBuildingDao.selectAgencyNameById(formDTO.getOrgId()) : agencyName;
//排除不是本组织的
if (!dto.getAgencyName().equals(agencyName)){
@ -302,7 +298,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
}
}
public void fillData(ImportHouseGeneralDTO dto,String orgType){
public void fillData(ImportGeneralDTO dto, String orgType){
if (orgType.equals(CustomerGridConstant.GRID) || orgType.equals(CustomerGridConstant.AGENCY)){
List<String> gridIds = new ArrayList<>();
if (orgType.equals(CustomerGridConstant.GRID)){
@ -412,7 +408,7 @@ public class ImportHouseInfoListener extends AnalysisEventListener<HouseInfoMode
* @date 2022/2/14 5:21 下午
*/
@Transactional(rollbackFor = Exception.class)
public void houseInsert(List<ImportHouseGeneralDTO> houses){
public void houseInsert(List<ImportGeneralDTO> houses){
if (!CollectionUtils.isEmpty(houses)){
icHouseService.insertBatch(ConvertUtils.sourceToTarget(houses, IcHouseEntity.class));
}

7
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/redis/IcHouseRedis.java

@ -18,24 +18,17 @@
package com.epmet.redis;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.redis.RedisKeys;
import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcHouseDao;
import com.epmet.dto.ImportHouseGeneralDTO;
import com.epmet.dto.result.HouseInfoDTO;
import com.epmet.dto.result.ImportResultDTO;
import com.epmet.model.HouseInfoModel;
import com.epmet.model.HouseInfoModelDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java

@ -22,7 +22,7 @@ import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.ImportHouseGeneralDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.entity.IcNeighborHoodEntity;
import org.springframework.web.multipart.MultipartFile;
@ -132,9 +132,9 @@ public interface IcNeighborHoodService extends BaseService<IcNeighborHoodEntity>
*
* @Param formDTO
* @Param list
* @Return {@link List< ImportHouseGeneralDTO>}
* @Return {@link List< ImportGeneralDTO >}
* @Author zhaoqifeng
* @Date 2022/2/14 9:40
*/
List<ImportHouseGeneralDTO> getImportInfo(ImportInfoFormDTO formDTO, List<ImportHouseGeneralDTO> list);
List<ImportGeneralDTO> getImportInfo(ImportInfoFormDTO formDTO, List<ImportGeneralDTO> list);
}

10
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java

@ -413,12 +413,12 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
* @param list
* @Param formDTO
* @Param list
* @Return {@link List< ImportHouseGeneralDTO >}
* @Return {@link List< ImportGeneralDTO >}
* @Author zhaoqifeng
* @Date 2022/2/14 9:40
*/
@Override
public List<ImportHouseGeneralDTO> getImportInfo(ImportInfoFormDTO formDTO, List<ImportHouseGeneralDTO> list) {
public List<ImportGeneralDTO> getImportInfo(ImportInfoFormDTO formDTO, List<ImportGeneralDTO> list) {
list.forEach(item -> {
if (StringUtils.isEmpty(item.getNeighborHoodId())) {
//1.获取小区ID,判断小区是否存在,不存在则添加小区,存在则直接获取小区ID
@ -457,7 +457,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
* @Author zhaoqifeng
* @Date 2022/2/14 9:50
*/
private String getNeighborHoodId(String customerId, ImportHouseGeneralDTO info) {
private String getNeighborHoodId(String customerId, ImportGeneralDTO info) {
//根据网格ID和小区名获取小区信息
LambdaQueryWrapper<IcNeighborHoodEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcNeighborHoodEntity::getGridId, info.getGridId());
@ -485,7 +485,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
* @Author zhaoqifeng
* @Date 2022/2/14 15:36
*/
private String getBuildingId(String customerId, ImportHouseGeneralDTO info) {
private String getBuildingId(String customerId, ImportGeneralDTO info) {
//根据小区ID和楼栋名获取楼栋信息
IcBuildingDTO building = icBuildingService.getBuildingInfo(info.getNeighborHoodId(), info.getBuildingName());
if (null != building) {
@ -525,7 +525,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
* @Author zhaoqifeng
* @Date 2022/2/14 16:01
*/
private String getUnitId(String customerId, ImportHouseGeneralDTO info) {
private String getUnitId(String customerId, ImportGeneralDTO info) {
//根据楼栋ID和单元名获取单元信息
IcBuildingUnitDTO unit = icBuildingUnitService.getUnitInfo(info.getBuildingId(), String.valueOf(info.getBuildingUnit()));
if (null != unit) {

12
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

@ -242,12 +242,12 @@
</select>
<!-- 查询组织下所有网格信息 -->
<select id="selectAllGridByOrgId" resultType="com.epmet.dto.ImportHouseGeneralDTO">
<select id="selectAllGridByOrgId" resultType="com.epmet.dto.ImportGeneralDTO">
SELECT ID AS gridId,GRID_NAME FROM customer_grid WHERE DEL_FLAG = '0' AND PID = #{orgId}
</select>
<!-- 查询网格下所有的小区 -->
<select id="selectAllNeighborHoodByGridIds" resultType="com.epmet.dto.ImportHouseGeneralDTO">
<select id="selectAllNeighborHoodByGridIds" resultType="com.epmet.dto.ImportGeneralDTO">
SELECT
ID AS neighborHoodId,
NEIGHBOR_HOOD_NAME,
@ -262,7 +262,7 @@
</select>
<!-- 根据小区ID查询楼栋 -->
<select id="selectAllBuildingByNeighborHoodId" resultType="com.epmet.dto.ImportHouseGeneralDTO">
<select id="selectAllBuildingByNeighborHoodId" resultType="com.epmet.dto.ImportGeneralDTO">
SELECT
ID AS buildingId,
NEIGHBOR_HOOD_ID,
@ -273,7 +273,7 @@
</select>
<!-- 根据楼栋ID查询楼栋单元 -->
<select id="selectAllBuildingUnitByBuildingId" resultType="com.epmet.dto.ImportHouseGeneralDTO">
<select id="selectAllBuildingUnitByBuildingId" resultType="com.epmet.dto.ImportGeneralDTO">
SELECT
ID AS buildingUnitId,
UNIT_NUM AS buildingUnit,
@ -284,7 +284,7 @@
</select>
<!-- 根据ID查询小区 -->
<select id="selectNeighborHoodById" resultType="com.epmet.dto.ImportHouseGeneralDTO">
<select id="selectNeighborHoodById" resultType="com.epmet.dto.ImportGeneralDTO">
SELECT
AGENCY_ID,
GRID_ID,
@ -296,7 +296,7 @@
</select>
<!-- 根据ID查询楼栋 -->
<select id="selectBuildingById" resultType="com.epmet.dto.ImportHouseGeneralDTO">
<select id="selectBuildingById" resultType="com.epmet.dto.ImportGeneralDTO">
SELECT
b.ID AS buildingId,
b.BUILDING_NAME,

Loading…
Cancel
Save