mirror of
https://github.com/dataease/dataease.git
synced 2025-02-24 03:22:56 +08:00
fix(图表): 修复部分导出超时
This commit is contained in:
parent
eb1c7ef014
commit
78c67a5c2a
@ -12,13 +12,11 @@ import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
|
||||
import io.dataease.api.dataset.union.UnionDTO;
|
||||
import io.dataease.api.export.BaseExportApi;
|
||||
import io.dataease.api.permissions.dataset.dto.DataSetRowPermissionsTreeDTO;
|
||||
import io.dataease.api.permissions.user.vo.UserFormVO;
|
||||
import io.dataease.api.xpack.dataFilling.DataFillingApi;
|
||||
import io.dataease.api.xpack.dataFilling.dto.DataFillFormTableDataRequest;
|
||||
import io.dataease.auth.bo.TokenUserBO;
|
||||
import io.dataease.chart.dao.auto.mapper.CoreChartViewMapper;
|
||||
import io.dataease.chart.server.ChartDataServer;
|
||||
import io.dataease.commons.utils.ExcelWatermarkUtils;
|
||||
import io.dataease.dataset.dao.auto.entity.CoreDatasetGroup;
|
||||
import io.dataease.dataset.dao.auto.mapper.CoreDatasetGroupMapper;
|
||||
import io.dataease.dataset.manage.*;
|
||||
@ -51,10 +49,6 @@ import io.dataease.model.ExportTaskDTO;
|
||||
import io.dataease.system.manage.CoreUserManage;
|
||||
import io.dataease.system.manage.SysParameterManage;
|
||||
import io.dataease.utils.*;
|
||||
import io.dataease.visualization.dao.auto.entity.VisualizationWatermark;
|
||||
import io.dataease.visualization.dao.auto.mapper.VisualizationWatermarkMapper;
|
||||
import io.dataease.visualization.dao.ext.mapper.ExtDataVisualizationMapper;
|
||||
import io.dataease.visualization.dto.WatermarkContentDTO;
|
||||
import io.dataease.visualization.server.DataVisualizationServer;
|
||||
import io.dataease.websocket.WsMessage;
|
||||
import io.dataease.websocket.WsService;
|
||||
@ -66,7 +60,6 @@ import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
@ -107,10 +100,6 @@ public class ExportCenterManage implements BaseExportApi {
|
||||
private int core;
|
||||
@Value("${dataease.export.max.size:10}")
|
||||
private int max;
|
||||
@Resource
|
||||
private VisualizationWatermarkMapper watermarkMapper;
|
||||
@Resource
|
||||
private ExtDataVisualizationMapper visualizationMapper;
|
||||
|
||||
|
||||
private final static String DATA_URL_TITLE = "data:image/jpeg;base64,";
|
||||
@ -655,7 +644,7 @@ public class ExportCenterManage implements BaseExportApi {
|
||||
try {
|
||||
exportTask.setExportStatus("IN_PROGRESS");
|
||||
exportTaskMapper.updateById(exportTask);
|
||||
XSSFWorkbook wb = new XSSFWorkbook();
|
||||
Workbook wb = new SXSSFWorkbook();
|
||||
CellStyle cellStyle = wb.createCellStyle();
|
||||
Font font = wb.createFont();
|
||||
font.setFontHeightInPoints((short) 12);
|
||||
@ -694,22 +683,12 @@ public class ExportCenterManage implements BaseExportApi {
|
||||
} else {
|
||||
downloadNotTableInfoData(request, wb);
|
||||
}
|
||||
VisualizationWatermark watermark = watermarkMapper.selectById("system_default");
|
||||
WatermarkContentDTO watermarkContent = JsonUtil.parseObject(watermark.getSettingContent(), WatermarkContentDTO.class);
|
||||
if (watermarkContent.getExcelEnable()) {
|
||||
UserFormVO userInfo = visualizationMapper.queryInnerUserInfo(AuthUtils.getUser().getUserId());
|
||||
// 在主逻辑中添加水印
|
||||
int watermarkPictureIdx = ExcelWatermarkUtils.addWatermarkImage(wb, watermarkContent,userInfo); // 生成水印图片并获取 ID
|
||||
for (Sheet sheet : wb) {
|
||||
ExcelWatermarkUtils.addWatermarkToSheet(sheet, wb, watermarkPictureIdx); // 为每个 Sheet 添加水印
|
||||
}
|
||||
}
|
||||
SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(wb);
|
||||
|
||||
try (FileOutputStream outputStream = new FileOutputStream(dataPath + "/" + exportTask.getId() + ".xlsx")) {
|
||||
sxssfWorkbook.write(outputStream);
|
||||
wb.write(outputStream);
|
||||
outputStream.flush();
|
||||
}
|
||||
sxssfWorkbook.close();
|
||||
wb.close();
|
||||
exportTask.setExportProgress("100");
|
||||
exportTask.setExportStatus("SUCCESS");
|
||||
setFileSize(dataPath + "/" + exportTask.getId() + ".xlsx", exportTask);
|
||||
|
Loading…
Reference in New Issue
Block a user