zxc 4 years ago
parent
commit
f6db2496d9
  1. 15
      epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java
  2. 93
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java
  3. 32
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/NeighborHoodInfoModel.java
  4. 50
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java

15
epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/ImportGeneralDTO.java

@ -112,6 +112,21 @@ public class ImportGeneralDTO implements Serializable {
*/
private Integer num;
/**
* 关联物业
*/
private String propertyName;
/**
* 详细地址
*/
private String address;
/**
* 备注
*/
private String remark;
/**
* 房屋ID
*/

93
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/ImportNeighborHoodInfoListener.java

@ -0,0 +1,93 @@
package com.epmet.model;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.ImportGeneralDTO;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.redis.IcHouseRedis;
import com.epmet.service.IcNeighborHoodService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @Author zxc
* @DateTime 2022/2/15 2:16 下午
* @DESC
*/
public class ImportNeighborHoodInfoListener extends AnalysisEventListener<NeighborHoodInfoModel> {
List<Integer> nums = new ArrayList<>();
Integer num = NumConstant.ZERO;
List<ImportGeneralDTO> needDisposeList = new ArrayList<>();
List<ImportGeneralDTO> needInsertList = new ArrayList<>();
String gridName = null;
String agencyName = null;
Map<String, Object> gridInfos = null;
List<ImportGeneralDTO> gridInfoDTOs = null;
Map<String, Object> neighborHoodInfos = null;
List<ImportGeneralDTO> neighborHoodInfoDTOs = null;
ImportGeneralDTO neighborHoodGeneralDTO = null;
private ImportInfoFormDTO formDTO;
private IcHouseRedis icHouseRedis;
private IcBuildingDao icBuildingDao;
private IcNeighborHoodService neighborHoodService;
public ImportNeighborHoodInfoListener(ImportInfoFormDTO formDTO, IcHouseRedis icHouseRedis,IcBuildingDao icBuildingDao,IcNeighborHoodService neighborHoodService){
this.formDTO = formDTO;
this.icHouseRedis = icHouseRedis;
this.icBuildingDao = icBuildingDao;
this.neighborHoodService = neighborHoodService;
}
@Override
public void invoke(NeighborHoodInfoModel data, AnalysisContext context) {
if (null == data){
return;
}
num = num + NumConstant.ONE;
ImportGeneralDTO dto = ConvertUtils.sourceToTarget(data, ImportGeneralDTO.class);
dto.setNum(num);
dto.setCustomerId(formDTO.getCustomerId());
if (formDTO.getOrgType().equals(CustomerGridConstant.GRID)){
disposeGridNeighborHood(dto);
}else if (formDTO.getOrgType().equals(CustomerGridConstant.AGENCY)){
disposeAgencyNeighborHood(dto);
}
}
/**
* @Description 左侧树点击网格时调用
* @param dto
* @author zxc
* @date 2022/2/15 2:37 下午
*/
public void disposeGridNeighborHood(ImportGeneralDTO dto){
}
/**
* @Description 左侧树点击组织时调用
* @param dto
* @author zxc
* @date 2022/2/15 2:37 下午
*/
public void disposeAgencyNeighborHood(ImportGeneralDTO dto){
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
}
}

32
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/model/NeighborHoodInfoModel.java

@ -0,0 +1,32 @@
package com.epmet.model;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
* @Author zxc
* @DateTime 2022/2/15 2:15 下午
* @DESC
*/
@Data
public class NeighborHoodInfoModel {
@ExcelProperty(value = "所属组织")
private String agencyName;
@ExcelProperty(value = "所属网格")
private String gridName;
@ExcelProperty(value = "小区名称")
private String neighborHoodName;
@ExcelProperty(value = "关联物业")
private String propertyName;
@ExcelProperty(value = "详细地址")
private String address;
@ExcelProperty(value = "备注")
private String remark;
}

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

@ -18,6 +18,9 @@
package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.read.metadata.ReadSheet;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -37,13 +40,20 @@ import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant;
import com.epmet.dao.CustomerGridDao;
import com.epmet.dao.IcBuildingDao;
import com.epmet.dao.IcNeighborHoodDao;
import com.epmet.dao.IcPropertyManagementDao;
import com.epmet.dto.*;
import com.epmet.dto.form.ImportInfoFormDTO;
import com.epmet.dto.result.ImportResultDTO;
import com.epmet.dto.result.InfoByNamesResultDTO;
import com.epmet.entity.*;
import com.epmet.excel.IcNeighborHoodExcel;
import com.epmet.model.BuildingInfoModel;
import com.epmet.model.ImportBuildingInfoListener;
import com.epmet.model.ImportNeighborHoodInfoListener;
import com.epmet.model.NeighborHoodInfoModel;
import com.epmet.redis.IcHouseRedis;
import com.epmet.service.*;
import com.epmet.util.ExcelPoiUtils;
import lombok.extern.slf4j.Slf4j;
@ -57,6 +67,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.stream.Collectors;
@ -82,6 +93,10 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
private IcBuildingService icBuildingService;
@Resource
private IcBuildingUnitService icBuildingUnitService;
@Autowired
private IcHouseRedis icHouseRedis;
@Autowired
private IcBuildingDao icBuildingDao;
@Override
public PageData<IcNeighborHoodDTO> page(Map<String, Object> params) {
@ -373,6 +388,41 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl<IcNeighborHoodDao
return new Result().ok(str);
}
public Result importNeighbor(ImportInfoFormDTO formDTO, MultipartFile file){
ExcelReader excelReader = null;
try {
InputStream inputStream = null;
try {
inputStream = file.getInputStream();
} catch (IOException e) {
return new Result<String>().error("读取文件失败");
}
excelReader = EasyExcel.read(inputStream).build();
// 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener
ReadSheet readSheet = EasyExcel.readSheet(0).head(NeighborHoodInfoModel.class)
.registerReadListener(new ImportNeighborHoodInfoListener(formDTO,icHouseRedis,icBuildingDao,this))
.build();
excelReader.read(readSheet);
} finally {
if (excelReader != null) {
excelReader.finish();
}
}
ImportResultDTO dto = icHouseRedis.getImportResultDTO(formDTO.getCustomerId(), formDTO.getUserId());
if (null == dto){
return new Result<>();
}
List<Integer> nums = dto.getNums();
Integer num = dto.getNum();
String s = "共%s条数据,导入成功%s条。";
if (nums.size() > NumConstant.ZERO){
Collections.sort(nums);
s = s + "第"+nums.stream().map(String::valueOf).collect(Collectors.joining("、"))+"条导入失败";
return new Result<>().error(9999,String.format(s,num,num - nums.size()));
}
return new Result<>().ok(String.format(s,num,num));
}
/**
* @Description 小区插入物业插入
* @param entities

Loading…
Cancel
Save