diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index dc788d30bb..079ae1c673 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -21,6 +21,7 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillWrapper; +import com.alibaba.fastjson.JSON; import com.epmet.commons.rocketmq.messages.IcResiUserAddMQMsg; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.MaskResponse; @@ -346,9 +347,9 @@ public class IcResiUserController implements ResultDataResolver { */ @NoRepeatSubmit @RequestMapping(value = "/exportExcel") - public void exportExcelByEasyExcel(@RequestHeader String customerId, @LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { - //tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02"); + public void exportExcelByEasyExcel(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { long startM = System.currentTimeMillis(); + String customerId = tokenDto.getCustomerId(); CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId()); String staffOrgPath = null; if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) { @@ -449,10 +450,15 @@ public class IcResiUserController implements ResultDataResolver { */ @NoRepeatSubmit @RequestMapping(value = "/exportExcelCustom") - public void exportExcelCustom(@LoginUser TokenDto tokenDto, @RequestBody ExportResiUserFormDTO pageFormDTO, HttpServletResponse response) { + public void exportExcelCustom(@LoginUser TokenDto tokenDto, @RequestBody ExportResiUserFormDTO pageFormDTO, HttpServletResponse response) throws Exception { //获取导出配置 - icResiUserExportService.exportIcResiUser(tokenDto,pageFormDTO,response); - + String aDefault = tokenDto.getCustomerId().concat(StrConstant.UNDER_LINE).concat("default"); + if (pageFormDTO.getTemplateId().equals(aDefault)){ + log.info("通过原来的模板下载,tokenDto:{}", JSON.toJSONString(tokenDto)); + this.exportExcelByEasyExcel(tokenDto,pageFormDTO.getSearchForm(),response); + }else{ + icResiUserExportService.exportIcResiUser(tokenDto,pageFormDTO,response); + } } /** * desc:根据客户id 先从oss下载模版,如果有没有则使用系统默认模板 如果不存在则返回null diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java index 5c4dda0d9b..2c43dd6fee 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java @@ -129,8 +129,9 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle); - //todo 表头固定不正确 FreezeAndFilter writeHandler = new FreezeAndFilter(); + //从第几行开始冻结 + writeHandler.rowSplit = exportConfigData.getHeaderRow(); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("居民基本信息.xlsx", response)) .registerWriteHandler(new ExcelFillCellMergeStrategy(mergeRowIndex, mergeColumnIndex)) .registerWriteHandler(horizontalCellStyleStrategy) @@ -194,7 +195,6 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { resultData.add(singleResult); }); excelWriter.write(resultData, writeSheet); - //todo break; } while (mapListPage.getResult().size() == searchForm.getPageSize()); } catch (IOException e) { @@ -305,17 +305,18 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { } } - private String putOptionValue(FormItemResult e, String vauleStr) { + private String putOptionValue(FormItemResult e, String valueStr) { if (e == null) { - return vauleStr; + return valueStr; } FormItemTypeEnum itemTypeEnum = FormItemTypeEnum.getEnum(e.getItemType()); switch (itemTypeEnum) { case CHECKBOX: + //如果是多选 则返回顿号隔开 if (e.getMultiSelect()) { List valueList = new ArrayList<>(); e.getOptions().forEach(option -> { - if (vauleStr.contains(option.getValue())) { + if (valueStr.contains(option.getValue())) { valueList.add(option.getLabel()); } }); @@ -323,20 +324,20 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { } for (OptionDTO dto : e.getOptions()) { - return vauleStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO; + return valueStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO; } break; case SELECT: case RADIO: for (OptionDTO optionDTO : e.getOptions()) { - if (optionDTO.getValue().equals(vauleStr)) { + if (optionDTO.getValue().equals(valueStr)) { return optionDTO.getLabel(); } } break; default: } - return vauleStr; + return valueStr; } /** diff --git a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx index 708221ffea..0dfc8ad7f4 100644 Binary files a/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx and b/epmet-user/epmet-user-server/src/main/resources/excel/ic_resi_info_cid_for_easy_excel.xlsx differ