Browse Source

获取小区,楼栋,单元ID

dev
zhaoqifeng 4 years ago
parent
commit
85eed0ca99
  1. 11
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java
  2. 10
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingUnitService.java
  3. 12
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcNeighborHoodService.java
  4. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java
  5. 20
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java
  6. 151
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java

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

@ -102,4 +102,15 @@ public interface IcBuildingService extends BaseService<IcBuildingEntity> {
* @Date 2021/10/26 14:43
*/
List<OptionResultDTO> getBuildingOptions(String neighborHoodId);
/**
* 根据楼栋名获取楼栋信息
*
* @Param neighborHoodId
* @Param buildingName
* @Return {@link IcBuildingDTO}
* @Author zhaoqifeng
* @Date 2022/2/14 15:19
*/
IcBuildingDTO getBuildingInfo(String neighborHoodId, String buildingName);
}

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

@ -102,4 +102,14 @@ public interface IcBuildingUnitService extends BaseService<IcBuildingUnitEntity>
* @Date 2021/10/26 14:49
*/
List<OptionResultDTO> getUnitOptions(String buildingId);
/**
* 根据单元名获取单元信息
* @Param buildingId
* @Param unitName
* @Return {@link IcBuildingUnitDTO}
* @Author zhaoqifeng
* @Date 2022/2/14 15:42
*/
IcBuildingUnitDTO getUnitInfo(String buildingId, String unitName);
}

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

@ -22,6 +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.form.ImportInfoFormDTO;
import com.epmet.entity.IcNeighborHoodEntity;
import org.springframework.web.multipart.MultipartFile;
@ -125,4 +126,15 @@ public interface IcNeighborHoodService extends BaseService<IcNeighborHoodEntity>
* @date 2022/2/12 11:11 上午
*/
Result neighborhoodImport(ImportInfoFormDTO formDTO, MultipartFile file) throws IOException;
/**
* 获取导入小区楼栋单元ID
*
* @Param formDTO
* @Param list
* @Return {@link List< ImportHouseGeneralDTO>}
* @Author zhaoqifeng
* @Date 2022/2/14 9:40
*/
List<ImportHouseGeneralDTO> getImportInfo(ImportInfoFormDTO formDTO, List<ImportHouseGeneralDTO> list);
}

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

@ -133,4 +133,24 @@ public class IcBuildingServiceImpl extends BaseServiceImpl<IcBuildingDao, IcBuil
}).collect(Collectors.toList());
}
/**
* 根据楼栋名获取楼栋信息
*
* @param neighborHoodId
* @param buildingName
* @Param neighborHoodId
* @Param buildingName
* @Return {@link IcBuildingDTO}
* @Author zhaoqifeng
* @Date 2022/2/14 15:19
*/
@Override
public IcBuildingDTO getBuildingInfo(String neighborHoodId, String buildingName) {
LambdaQueryWrapper<IcBuildingEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcBuildingEntity::getNeighborHoodId, neighborHoodId);
wrapper.eq(IcBuildingEntity::getBuildingName, buildingName);
IcBuildingEntity entity = baseDao.selectOne(wrapper);
return ConvertUtils.sourceToTarget(entity, IcBuildingDTO.class);
}
}

20
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingUnitServiceImpl.java

@ -133,4 +133,24 @@ public class IcBuildingUnitServiceImpl extends BaseServiceImpl<IcBuildingUnitDao
}).collect(Collectors.toList());
}
/**
* 根据单元名获取单元信息
*
* @param buildingId
* @param unitName
* @Param buildingId
* @Param unitName
* @Return {@link IcBuildingUnitDTO}
* @Author zhaoqifeng
* @Date 2022/2/14 15:42
*/
@Override
public IcBuildingUnitDTO getUnitInfo(String buildingId, String unitName) {
LambdaQueryWrapper<IcBuildingUnitEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcBuildingUnitEntity::getBuildingId, buildingId);
wrapper.eq(IcBuildingUnitEntity::getUnitNum, unitName);
IcBuildingUnitEntity entity = baseDao.selectOne(wrapper);
return ConvertUtils.sourceToTarget(entity, IcBuildingUnitDTO.class);
}
}

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

@ -39,17 +39,12 @@ import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dao.IcPropertyManagementDao;
import com.epmet.dto.IcNeighborHoodDTO;
import com.epmet.dto.NeighborHoodAndManagementDTO;
import com.epmet.dto.*;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.result.InfoByNamesResultDTO;
import com.epmet.entity.IcNeighborHoodEntity;
import com.epmet.entity.IcNeighborHoodPropertyEntity;
import com.epmet.entity.IcPropertyManagementEntity;
import com.epmet.entity.*;
import com.epmet.excel.IcNeighborHoodExcel;
import com.epmet.service.IcNeighborHoodPropertyService;
import com.epmet.service.IcNeighborHoodService;
import com.epmet.service.IcPropertyManagementService;
import com.epmet.service.*;
import com.epmet.util.ExcelPoiUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@ -60,6 +55,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@ -82,6 +78,10 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
private IcPropertyManagementService propertyManagementService;
@Autowired
private IcNeighborHoodPropertyService neighborHoodPropertyService;
@Resource
private IcBuildingService icBuildingService;
@Resource
private IcBuildingUnitService icBuildingUnitService;
@Override
public PageData<IcNeighborHoodDTO> page(Map<String, Object> params) {
@ -406,4 +406,139 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
});
}
/**
* 获取导入小区楼栋单元ID
*
* @param formDTO
* @param list
* @Param formDTO
* @Param list
* @Return {@link List< ImportHouseGeneralDTO >}
* @Author zhaoqifeng
* @Date 2022/2/14 9:40
*/
@Override
public List<ImportHouseGeneralDTO> getImportInfo(ImportInfoFormDTO formDTO, List<ImportHouseGeneralDTO> list) {
list.forEach(item -> {
if (StringUtils.isEmpty(item.getNeighborHoodId())) {
//1.获取小区ID,判断小区是否存在,不存在则添加小区,存在则直接获取小区ID
String neighborHoodId = getNeighborHoodId(formDTO.getCustomerId(), item);
item.setNeighborHoodId(neighborHoodId);
//2.获取楼栋ID,判断楼栋是否存在,不存在则添加楼栋,存在则直接获取楼栋ID
if (StringUtils.isEmpty(item.getBuildingId())) {
String buildingId = getBuildingId(formDTO.getCustomerId(), item);
item.setBuildingId(buildingId);
}
//3.获取单元ID,判断单元是否存在,不存在则添加单元,存在则直接获取单元ID
if (null != item.getBuildingUnit()) {
String unitId = getUnitId(formDTO.getCustomerId(), item);
item.setBuildingUnitId(unitId);
}
} else if (StringUtils.isNotEmpty(item.getNeighborHoodId()) && StringUtils.isEmpty(item.getBuildingId())) {
//获取楼栋ID,判断楼栋是否存在,不存在则添加楼栋,存在则直接获取楼栋ID
String buildingId = getBuildingId(formDTO.getCustomerId(), item);
item.setBuildingId(buildingId);
//获取单元ID,判断单元是否存在,不存在则添加单元,存在则直接获取单元ID
if (null != item.getBuildingUnit()) {
String unitId = getUnitId(formDTO.getCustomerId(), item);
item.setBuildingUnitId(unitId);
}
}
});
return list;
}
/**
* 根据小区名获取小区ID如果没有先新增小区
* @Param gridId
* @Param name
* @Return {@link String}
* @Author zhaoqifeng
* @Date 2022/2/14 9:50
*/
private String getNeighborHoodId(String customerId, ImportHouseGeneralDTO info) {
//根据网格ID和小区名获取小区信息
LambdaQueryWrapper<IcNeighborHoodEntity> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IcNeighborHoodEntity::getGridId, info.getGridId());
wrapper.eq(IcNeighborHoodEntity::getNeighborHoodName, info.getNeighborHoodName());
IcNeighborHoodEntity entity = baseDao.selectOne(wrapper);
if (null != entity) {
return entity.getId();
}
entity = new IcNeighborHoodEntity();
entity.setCustomerId(customerId);
entity.setAgencyId(info.getAgencyId());
entity.setParentAgencyId(info.getPid());
entity.setAgencyPids(info.getPids());
entity.setGridId(info.getGridId());
entity.setNeighborHoodName(info.getNeighborHoodName());
baseDao.insert(entity);
return entity.getId();
}
/**
* 获取楼栋ID
* @Param customerId
* @Param info
* @Return {@link String}
* @Author zhaoqifeng
* @Date 2022/2/14 15:36
*/
private String getBuildingId(String customerId, ImportHouseGeneralDTO info) {
//根据小区ID和楼栋名获取楼栋信息
IcBuildingDTO building = icBuildingService.getBuildingInfo(info.getNeighborHoodId(), info.getBuildingName());
if (null != building) {
return building.getId();
}
IcBuildingEntity buildingEntity = new IcBuildingEntity();
buildingEntity.setCustomerId(customerId);
buildingEntity.setNeighborHoodId(info.getNeighborHoodId());
buildingEntity.setBuildingName(info.getBuildingName());
buildingEntity.setType(null == info.getType()?NumConstant.ONE_STR:info.getType());
buildingEntity.setTotalUnitNum(info.getTotalUnitNum());
buildingEntity.setTotalFloorNum(info.getTotalFloorNum());
buildingEntity.setTotalHouseNum(info.getTotalHouseNum());
icBuildingService.insert(buildingEntity);
if (null != info.getTotalUnitNum() && info.getTotalUnitNum() > NumConstant.ZERO) {
//设置楼宇单元
List<IcBuildingUnitEntity> unitList = new ArrayList<>();
for (int i =0 ; i<info.getTotalUnitNum(); i++){
IcBuildingUnitEntity icBuildingUnit= new IcBuildingUnitEntity();
icBuildingUnit.setCustomerId(customerId);
icBuildingUnit.setBuildingId(buildingEntity.getId());
icBuildingUnit.setUnitName((i + 1) +"单元");
icBuildingUnit.setUnitNum(String.valueOf(i+1));
unitList.add(icBuildingUnit);
}
icBuildingUnitService.insertBatch(unitList);
}
return buildingEntity.getId();
}
/**
* 获取单元ID
* @Param customerId
* @Param info
* @Return {@link String}
* @Author zhaoqifeng
* @Date 2022/2/14 16:01
*/
private String getUnitId(String customerId, ImportHouseGeneralDTO info) {
//根据楼栋ID和单元名获取单元信息
IcBuildingUnitDTO unit = icBuildingUnitService.getUnitInfo(info.getBuildingId(), String.valueOf(info.getBuildingUnit()));
if (null != unit) {
return unit.getId();
}
IcBuildingUnitEntity unitEntity = new IcBuildingUnitEntity();
unitEntity.setCustomerId(customerId);
unitEntity.setBuildingId(info.getBuildingId());
unitEntity.setUnitName(info.getBuildingUnit() +"单元");
unitEntity.setUnitNum(String.valueOf(info.getBuildingUnit()));
icBuildingUnitService.insert(unitEntity);
return unitEntity.getId();
}
}

Loading…
Cancel
Save