Browse Source

楼栋导入修改

dev
zxc 3 years ago
parent
commit
cf051cbdb1
  1. 1
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java
  2. 8
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java
  3. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java
  4. 9
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java
  5. 13
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java
  6. 25
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java
  7. 5
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml

1
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/ImportErrorMsgConstants.java

@ -8,6 +8,7 @@ package com.epmet.constant;
public interface ImportErrorMsgConstants {
String EXIST_ERROR = "数据已存在";
String UNIT_ERROR = "暂不支持单元数减小";
String DOCUMENT_EXIST_ERROR = "文件中存在重复数据";

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

@ -188,4 +188,12 @@ public interface IcBuildingDao extends BaseDao<IcBuildingEntity> {
*/
void updateBuilding(ImportGeneralDTO info);
/**
* Desc: 查询楼栋下单元数
* @param buildingId
* @author zxc
* @date 2022/4/27 14:41
*/
Integer selectUnitCount(@Param("buildingId")String buildingId);
}

12
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportBuildingInfoListener.java

@ -165,14 +165,16 @@ public class ImportBuildingInfoListener extends AnalysisEventListener<BuildingIn
List<ImportGeneralDTO> importGeneralDTOS = groupByStatus.get(false);
if (!CollectionUtils.isEmpty(importGeneralDTOS)){
List<ImportGeneralDTO> importInfo = neighborHoodService.getImportInfo(formDTO, importGeneralDTOS);
Map<Boolean, List<ImportGeneralDTO>> groupByBuildingExistStatus = importInfo.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getBuildingExistStatus));
List<ImportGeneralDTO> existList = groupByBuildingExistStatus.get(true);
if (!CollectionUtils.isEmpty(existList)){
existList.forEach(e -> {
/*Map<Boolean, List<ImportGeneralDTO>> groupByBuildingExistStatus = importInfo.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getBuildingExistStatus));
List<ImportGeneralDTO> existList = groupByBuildingExistStatus.get(true);*/
Map<Boolean, List<ImportGeneralDTO>> collect = importInfo.stream().collect(Collectors.groupingBy(ImportGeneralDTO::getBuildingUnitNumStatus));
List<ImportGeneralDTO> unitNumList = collect.get(true);
if (!CollectionUtils.isEmpty(unitNumList)){
unitNumList.forEach(e -> {
if (!e.getAddStatus()){
nums.add(e.getNum());
BuildingInfoModel buildingInfoModel = ConvertUtils.sourceToTarget(e, BuildingInfoModel.class);
disposeErrorMsg(buildingInfoModel,ImportErrorMsgConstants.EXIST_ERROR);
disposeErrorMsg(buildingInfoModel,ImportErrorMsgConstants.UNIT_ERROR);
e.setAddStatus(true);
}
});

9
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.dto.result.OptionResultDTO;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.entity.IcBuildingEntity;
import java.util.List;
@ -113,4 +114,12 @@ public interface IcBuildingService extends BaseService<IcBuildingEntity> {
* @Date 2022/2/14 15:19
*/
IcBuildingDTO getBuildingInfo(String neighborHoodId, String buildingName);
/**
* Desc: 更新楼栋信息
* @param info
* @author zxc
* @date 2022/4/27 13:29
*/
void updateBuilding(ImportGeneralDTO info);
}

13
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java

@ -27,6 +27,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.entity.IcBuildingEntity;
import com.epmet.service.IcBuildingService;
import lombok.extern.slf4j.Slf4j;
@ -153,4 +154,16 @@ public class IcBuildingServiceImpl extends BaseServiceImpl<IcBuildingDao, IcBuil
return ConvertUtils.sourceToTarget(entity, IcBuildingDTO.class);
}
/**
* Desc: 更新楼栋信息
* @param info
* @author zxc
* @date 2022/4/27 13:29
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void updateBuilding(ImportGeneralDTO info) {
baseDao.updateBuilding(info);
}
}

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

@ -26,6 +26,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.constant.NumConstant;
@ -523,7 +524,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
String neighborHoodId = getNeighborHoodId(formDTO.getCustomerId(), item);
item.setNeighborHoodId(neighborHoodId);
//2.获取楼栋ID,判断楼栋是否存在,不存在则添加楼栋,存在则直接获取楼栋ID
if (StringUtils.isEmpty(item.getBuildingId()) && StringUtils.isNotEmpty(item.getBuildingName())) {
if (StringUtils.isNotEmpty(item.getBuildingName())) {
String buildingId = getBuildingId(formDTO.getCustomerId(), item);
item.setBuildingId(buildingId);
}
@ -532,7 +533,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
String unitId = getUnitId(formDTO.getCustomerId(), item);
item.setBuildingUnitId(unitId);
}
} else if (StringUtils.isNotEmpty(item.getNeighborHoodId()) && StringUtils.isEmpty(item.getBuildingId())) {
} else if (StringUtils.isNotEmpty(item.getNeighborHoodId())) {
//获取楼栋ID,判断楼栋是否存在,不存在则添加楼栋,存在则直接获取楼栋ID
String buildingId = getBuildingId(formDTO.getCustomerId(), item);
item.setBuildingId(buildingId);
@ -595,7 +596,25 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
if (info.getTotalUnitNum() < building.getTotalUnitNum()){
info.setBuildingUnitNumStatus(true);
}else {
info.setBuildingId(building.getId());
icBuildingService.updateBuilding(info);
//新增单元
List<OptionResultDTO> units = icBuildingUnitService.getUnitOptions(building.getId());
Map<String, String> unitMap = units.stream().collect(Collectors.toMap(OptionResultDTO::getCode, OptionResultDTO::getLabel));
List<IcBuildingUnitEntity> unitList = new ArrayList<>();
for (int i = 1; i <= info.getTotalUnitNum(); i++) {
String unitNum = String.valueOf(i);
if (!unitMap.containsKey(unitNum)) {
IcBuildingUnitEntity icBuildingUnit = new IcBuildingUnitEntity();
icBuildingUnit.setId(IdWorker.getIdStr());
icBuildingUnit.setBuildingId(building.getId());
icBuildingUnit.setCustomerId(customerId);
icBuildingUnit.setUnitName(unitNum + "单元");
icBuildingUnit.setUnitNum(unitNum);
unitList.add(icBuildingUnit);
}
}
icBuildingUnitService.insertBatch(unitList, NumConstant.ONE_HUNDRED);
}
return building.getId();
}

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

@ -379,4 +379,9 @@
BUILDING_ID
</select>
<!-- 查询楼栋下单元数 -->
<select id="selectUnitCount" resultType="java.lang.Integer">
SELECT COUNT(ID) FROM ic_building_unit WHERE BUILDING_ID = #{buildingId} AND DEL_FLAG = '0'
</select>
</mapper>

Loading…
Cancel
Save