Browse Source

Merge remote-tracking branch 'remotes/origin/dev_bugfix_ljj'

feature/teamB_zz_wgh
jianjun 3 years ago
parent
commit
2d9198f2c3
  1. 6
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java
  2. 56
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java
  3. BIN
      epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_export_for_easyexcel.xlsx
  4. 4
      epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

6
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java

@ -237,8 +237,12 @@ public class HouseController implements ResultDataResolver {
@RequestMapping("exporthouseinfo") @RequestMapping("exporthouseinfo")
public void exporthouseinfo(@RequestBody IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception { public void exporthouseinfo(@RequestBody IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception {
ValidatorUtils.validateEntity(formDTO); ValidatorUtils.validateEntity(formDTO);
if (StringUtils.isNotBlank(formDTO.getId())){
formDTO.setSelectType("id");
}else{
formDTO.setSelectType("agency");
}
formDTO.setIsPage(false); formDTO.setIsPage(false);
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
houseService.exportBuildinginfo(formDTO, response); houseService.exportBuildinginfo(formDTO, response);
} }

56
epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java

@ -1,9 +1,10 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader; import com.alibaba.excel.ExcelReader;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.read.metadata.ReadSheet; import com.alibaba.excel.read.metadata.ReadSheet;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
@ -24,10 +25,7 @@ import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache;
import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache;
import com.epmet.commons.tools.redis.common.bean.HouseInfoCache; import com.epmet.commons.tools.redis.common.bean.HouseInfoCache;
import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.*;
import com.epmet.commons.tools.utils.FileUtils;
import com.epmet.commons.tools.utils.HouseQRcodeUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.CustomerGridConstant; import com.epmet.constant.CustomerGridConstant;
import com.epmet.constant.NeighborhoodConstant; import com.epmet.constant.NeighborhoodConstant;
import com.epmet.constants.ImportTaskConstants; import com.epmet.constants.ImportTaskConstants;
@ -48,7 +46,6 @@ import com.epmet.model.HouseInfoModel;
import com.epmet.model.ImportHouseInfoListener; import com.epmet.model.ImportHouseInfoListener;
import com.epmet.redis.IcHouseRedis; import com.epmet.redis.IcHouseRedis;
import com.epmet.service.*; import com.epmet.service.*;
import com.epmet.util.ExcelPoiUtils;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.google.common.cache.Cache; import com.google.common.cache.Cache;
@ -377,22 +374,41 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver {
public void exportBuildinginfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception { public void exportBuildinginfo(IcHouseListFormDTO formDTO, HttpServletResponse response) throws Exception {
//如果类型是house 查房屋 //如果类型是house 查房屋
//导出房屋 //导出房屋
PageData<IcHouseListResultDTO> icHouseExcels = new PageData<>(new ArrayList<>(), NumConstant.ZERO); PageData<IcHouseListResultDTO> icHouseExcels = null;
List<IcHouseListResultDTO> list = new ArrayList<>();
Integer pageNo = NumConstant.ONE; Integer pageNo = NumConstant.ONE;
do { formDTO.setPageSize(NumConstant.TEN_THOUSAND);
formDTO.setPageNo(pageNo); ExcelWriter excelWriter = null;
icHouseExcels = getHouseList(formDTO); long start = System.currentTimeMillis();
if (CollectionUtils.isEmpty(icHouseExcels.getList())) { try {
break; String templatePath = "excel/house_export_for_easyexcel.xlsx";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(templatePath);
excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("房屋信息.xlsx", response))
.withTemplate(inputStream).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
do {
formDTO.setPageNo(pageNo);
icHouseExcels = getHouseList(formDTO);
if (CollectionUtils.isEmpty(icHouseExcels.getList())) {
break;
}
excelWriter.fill(icHouseExcels.getList(), writeSheet);
pageNo++;
} while (icHouseExcels.getList().size() == formDTO.getPageSize());
} catch (EpmetException e) {
response.reset();
response.setCharacterEncoding("UTF-8");
response.setHeader("content-type", "application/json; charset=UTF-8");
PrintWriter printWriter = response.getWriter();
Result<Object> result = new Result<>().error(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), e.getMsg());
printWriter.write(JSON.toJSONString(result));
printWriter.close();
} finally {
if (excelWriter != null) {
excelWriter.finish();
} }
list.addAll(icHouseExcels.getList()); log.info("exportBuildinginfo cost:{}ms",System.currentTimeMillis()-start);
pageNo++; }
} while (icHouseExcels.getList().size() == formDTO.getPageSize());
TemplateExportParams templatePath = new TemplateExportParams("excel/house_export.xlsx");
Map<String, Object> map = new HashMap<>();
map.put("maplist", list);
ExcelPoiUtils.exportExcel(templatePath, map, "房屋信息录入表", response);
} }
@Override @Override

BIN
epmet-module/gov-org/gov-org-server/src/main/resources/excel/house_export_for_easyexcel.xlsx

Binary file not shown.

4
epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml

@ -122,8 +122,8 @@
LEFT JOIN ic_building b on a.BUILDING_ID = b.ID and b.DEL_FLAG = '0' LEFT JOIN ic_building b on a.BUILDING_ID = b.ID and b.DEL_FLAG = '0'
LEFT JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0' LEFT JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0'
LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID and d.DEL_FLAG = '0' LEFT JOIN ic_building_unit d on a.BUILDING_UNIT_ID = d.ID and d.DEL_FLAG = '0'
LEFT JOIN customer_grid gr on gr.ID = c.GRID_ID and d.DEL_FLAG = '0' LEFT JOIN customer_grid gr on gr.ID = c.GRID_ID and gr.DEL_FLAG = '0'
LEFT JOIN customer_agency ag on ag.ID = c.AGENCY_ID and d.DEL_FLAG = '0' LEFT JOIN customer_agency ag on ag.ID = c.AGENCY_ID and ag.DEL_FLAG = '0'
<where> <where>
1 = 1 1 = 1
and a.del_flag = '0' and a.del_flag = '0'

Loading…
Cancel
Save