Commit 2ebe6f9c authored by suhuiguang's avatar suhuiguang

1.电梯导出

parent b556571c
...@@ -458,18 +458,17 @@ public class ExcelUtil { ...@@ -458,18 +458,17 @@ public class ExcelUtil {
List<List<String>> heads, List<List<String>> heads,
String fileType, String fileType,
Executor executorService, Executor executorService,
int excelNumber) { int pageSize) {
int dataSize = data.size(); int dataSize = data.size();
int threadDataSize = dataSize / excelNumber; int excelNumber = (int)Math.ceil((double)dataSize/pageSize);
int lastDataSize = dataSize % excelNumber; int lastDataSize = dataSize % pageSize;
List<CompletableFuture<ByteArrayOutputStream>> futures = new ArrayList<>(); List<CompletableFuture<ByteArrayOutputStream>> futures = new ArrayList<>();
for (int i = 0; i < excelNumber; i++) { for (int i = 0; i < excelNumber; i++) {
int start = i * threadDataSize; int start = i * pageSize;
int end = start + threadDataSize; int end = start + pageSize;
if (i == excelNumber - 1) { if (i == excelNumber - 1) {
end = start + threadDataSize + lastDataSize; end = start + (lastDataSize == 0 ? pageSize : lastDataSize);
} }
List<?> subList = data.subList(start, end); List<?> subList = data.subList(start, end);
CompletableFuture<ByteArrayOutputStream> future = CompletableFuture.supplyAsync(() -> exportData2(subList, heads), executorService) CompletableFuture<ByteArrayOutputStream> future = CompletableFuture.supplyAsync(() -> exportData2(subList, heads), executorService)
...@@ -488,10 +487,10 @@ public class ExcelUtil { ...@@ -488,10 +487,10 @@ public class ExcelUtil {
List<ByteArrayOutputStream> results = combinedFuture.join(); List<ByteArrayOutputStream> results = combinedFuture.join();
try { try {
String encodedFileName = URLEncoder.encode(fileName + ".zip", StandardCharsets.UTF_8.name());
response.setContentType("application/zip"); response.setContentType("application/zip");
response.setCharacterEncoding(StandardCharsets.UTF_8.name()); response.setCharacterEncoding(StandardCharsets.UTF_8.name());
response.setHeader("Content-Disposition", response.setHeader("Content-Disposition", "attachment; filename=" + encodedFileName);
"attachment; filename=" + URLEncoder.encode(fileName+ ".zip", StandardCharsets.UTF_8.name()));
List<File> tempList = new ArrayList<>(); List<File> tempList = new ArrayList<>();
ExcelTypeEnum typeEnum; ExcelTypeEnum typeEnum;
if ("1039".equals(fileType)) { if ("1039".equals(fileType)) {
......
...@@ -225,7 +225,7 @@ public class TemplateExportController extends BaseController { ...@@ -225,7 +225,7 @@ public class TemplateExportController extends BaseController {
list = elevatorServiceImpl.selectExportData(exportDto.getExportId()); list = elevatorServiceImpl.selectExportData(exportDto.getExportId());
redisUtil.set(BizCommonConstant.OLD_ELEVATOR_REDIS_KEY,JSONObject.toJSONString(list)); redisUtil.set(BizCommonConstant.OLD_ELEVATOR_REDIS_KEY,JSONObject.toJSONString(list));
} }
ExcelUtil.exportWithMplThread2(response,fileName,list,heads,exportDto.getFileType(),customExecutor,10); ExcelUtil.exportWithMplThread2(response,fileName,list,heads,exportDto.getFileType(),customExecutor,10000);
return; return;
} else if("MAINTENANCE_COMPANY".equals(exportDto.getExportType())) { // 查询维保单位数据 } else if("MAINTENANCE_COMPANY".equals(exportDto.getExportType())) { // 查询维保单位数据
list = iMaintenanceUnitService.selectExportData(exportDto.getExportId()); list = iMaintenanceUnitService.selectExportData(exportDto.getExportId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment