Commit 2ebe6f9c authored by suhuiguang's avatar suhuiguang

1.电梯导出

parent b556571c
......@@ -458,18 +458,17 @@ public class ExcelUtil {
List<List<String>> heads,
String fileType,
Executor executorService,
int excelNumber) {
int pageSize) {
int dataSize = data.size();
int threadDataSize = dataSize / excelNumber;
int lastDataSize = dataSize % excelNumber;
int excelNumber = (int)Math.ceil((double)dataSize/pageSize);
int lastDataSize = dataSize % pageSize;
List<CompletableFuture<ByteArrayOutputStream>> futures = new ArrayList<>();
for (int i = 0; i < excelNumber; i++) {
int start = i * threadDataSize;
int end = start + threadDataSize;
int start = i * pageSize;
int end = start + pageSize;
if (i == excelNumber - 1) {
end = start + threadDataSize + lastDataSize;
end = start + (lastDataSize == 0 ? pageSize : lastDataSize);
}
List<?> subList = data.subList(start, end);
CompletableFuture<ByteArrayOutputStream> future = CompletableFuture.supplyAsync(() -> exportData2(subList, heads), executorService)
......@@ -488,10 +487,10 @@ public class ExcelUtil {
List<ByteArrayOutputStream> results = combinedFuture.join();
try {
String encodedFileName = URLEncoder.encode(fileName + ".zip", StandardCharsets.UTF_8.name());
response.setContentType("application/zip");
response.setCharacterEncoding(StandardCharsets.UTF_8.name());
response.setHeader("Content-Disposition",
"attachment; filename=" + URLEncoder.encode(fileName+ ".zip", StandardCharsets.UTF_8.name()));
response.setHeader("Content-Disposition", "attachment; filename=" + encodedFileName);
List<File> tempList = new ArrayList<>();
ExcelTypeEnum typeEnum;
if ("1039".equals(fileType)) {
......
......@@ -225,7 +225,7 @@ public class TemplateExportController extends BaseController {
list = elevatorServiceImpl.selectExportData(exportDto.getExportId());
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;
} else if("MAINTENANCE_COMPANY".equals(exportDto.getExportType())) { // 查询维保单位数据
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