Browse Source

按照枚举 固定写入 防止 顺序调整后 写入失败

dev_shibei_match
jianjun 4 years ago
parent
commit
b34b4f6fd6
  1. 17
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java
  2. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

17
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java

@ -42,6 +42,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.IcResiUserDTO;
import com.epmet.dto.form.*; import com.epmet.dto.form.*;
import com.epmet.dto.result.*; import com.epmet.dto.result.*;
import com.epmet.enums.IcResiUserTableEnums;
import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient;
import com.epmet.service.IcResiUserImportService; import com.epmet.service.IcResiUserImportService;
import com.epmet.service.IcResiUserService; import com.epmet.service.IcResiUserService;
@ -230,8 +231,8 @@ public class IcResiUserController {
} }
@RequestMapping(value = "/exportExcel") @RequestMapping(value = "/exportExcel")
public void exportExcelByEasyExcel(@RequestHeader String customerId,/*@LoginUser*/ TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { public void exportExcelByEasyExcel(@RequestHeader String customerId,@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception {
tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02"); //tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02");
CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId()); CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId());
String staffOrgPath = null; String staffOrgPath = null;
if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) { if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) {
@ -253,7 +254,8 @@ public class IcResiUserController {
String fileName = "居民基本信息.xlsx"; String fileName = "居民基本信息.xlsx";
ExcelWriter excelWriter = EasyExcel.write(getOutputStream(fileName, response)).withTemplate(inputStream).build(); ExcelWriter excelWriter = EasyExcel.write(getOutputStream(fileName, response)).withTemplate(inputStream).build();
FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).build(); FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).build();
WriteSheet fistSheet = EasyExcel.writerSheet(NumConstant.ZERO).build(); IcResiUserTableEnums tableEnums = IcResiUserTableEnums.getObjectByTableName(BASE_TABLE_NAME);
WriteSheet fistSheet = EasyExcel.writerSheet(tableEnums.getSheetNo()).build();
pageFormDTO.setPageSize(4); pageFormDTO.setPageSize(4);
pageFormDTO.setPageNo(NumConstant.ONE); pageFormDTO.setPageNo(NumConstant.ONE);
@ -300,15 +302,18 @@ public class IcResiUserController {
stopSearchSet.add(tableName); stopSearchSet.add(tableName);
} }
System.out.println("===resiChildMap===" + tableName + " " + JSON.toJSONString(resiChildMap.values())); System.out.println("===resiChildMap===" + tableName + " " + JSON.toJSONString(resiChildMap.values()));
tableEnums = IcResiUserTableEnums.getObjectByTableName(tableName);
if (tableEnums == null){
continue;
}
//构建新的sheet //构建新的sheet
WriteSheet childWriteSheet = childTableWriteSheetMap.get(tableName); WriteSheet childWriteSheet = childTableWriteSheetMap.get(tableName);
if (childWriteSheet == null) { if (childWriteSheet == null) {
childWriteSheet = EasyExcel.writerSheet(n.incrementAndGet()).build(); childWriteSheet = EasyExcel.writerSheet(tableEnums.getSheetNo()).build();
} }
childTableWriteSheetMap.put(tableName, childWriteSheet); childTableWriteSheetMap.put(tableName, childWriteSheet);
//写入数据 //写入数据
excelWriter.fill(new FillWrapper("t" + (n.get() + NumConstant.ONE), resiChildMap.values()), childWriteSheet); excelWriter.fill(new FillWrapper("t" + (tableEnums.getSheetNo() + NumConstant.ONE), resiChildMap.values()), childWriteSheet);
pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE); pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE);
//重置数据 //重置数据
resiChildMap.clear(); resiChildMap.clear();

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java

@ -713,7 +713,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
if (!"ic_resi_user".equals(baseTableName)) { if (!"ic_resi_user".equals(baseTableName)) {
Map<String,Object> o = (Map<String, Object>) redisUtils.get(RedisKeys.getExportResiBaseInfoKey(resiId)); Map<String,Object> o = redisUtils.hGetAll(RedisKeys.getExportResiBaseInfoKey(resiId));
if (o != null){ if (o != null){
map.putAll(o); map.putAll(o);
} }
@ -742,7 +742,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl<IcResiUserDao, IcResi
} }
} }
//把人放入缓存 //把人放入缓存
redisUtils.set(RedisKeys.getExportResiBaseInfoKey(resiId),map,RedisUtils.MINUTE_THIRTY_EXPIRE); redisUtils.hMSet(RedisKeys.getExportResiBaseInfoKey(resiId),map,RedisUtils.MINUTE_THIRTY_EXPIRE);
}); });
return result; return result;
} }

Loading…
Cancel
Save