refactor(仪表板): 优化明细表大数据量导出
This commit is contained in:
parent
e133fab83f
commit
14ea3accd3
@ -1327,6 +1327,13 @@ public class ChartViewService {
|
|||||||
} else {
|
} else {
|
||||||
data = resultCustomSort(xAxis, data);
|
data = resultCustomSort(xAxis, data);
|
||||||
}
|
}
|
||||||
|
// 如果是表格导出查询 则在此处直接就可以返回
|
||||||
|
if(chartExtRequest.getExcelExportFlag()){
|
||||||
|
Map<String,Object> sourceInfo = new HashMap<>();
|
||||||
|
sourceInfo.put("sourceData",data);
|
||||||
|
chartViewDTO.setData(sourceInfo);
|
||||||
|
return chartViewDTO;
|
||||||
|
}
|
||||||
// 同比/环比计算,通过对比类型和数据设置,计算出对应指标的结果,然后替换结果data数组中的对应元素
|
// 同比/环比计算,通过对比类型和数据设置,计算出对应指标的结果,然后替换结果data数组中的对应元素
|
||||||
// 如果因维度变化(如时间字段缺失,时间字段的展示格式变化)导致无法计算结果的,则结果data数组中的对应元素全置为null
|
// 如果因维度变化(如时间字段缺失,时间字段的展示格式变化)导致无法计算结果的,则结果data数组中的对应元素全置为null
|
||||||
// 根据不同图表类型,获得需要替换的指标index array
|
// 根据不同图表类型,获得需要替换的指标index array
|
||||||
|
|||||||
@ -1210,7 +1210,6 @@ public class PanelGroupService {
|
|||||||
request.setDownloadType(viewInfo.getType());
|
request.setDownloadType(viewInfo.getType());
|
||||||
if ("table-info".equals(viewInfo.getType())) {
|
if ("table-info".equals(viewInfo.getType())) {
|
||||||
try {
|
try {
|
||||||
List<String> excelHeaderKeys = request.getExcelHeaderKeys();
|
|
||||||
ChartExtRequest componentFilterInfo = request.getComponentFilterInfo();
|
ChartExtRequest componentFilterInfo = request.getComponentFilterInfo();
|
||||||
componentFilterInfo.setGoPage(1L);
|
componentFilterInfo.setGoPage(1L);
|
||||||
componentFilterInfo.setPageSize(limit);
|
componentFilterInfo.setPageSize(limit);
|
||||||
@ -1218,16 +1217,8 @@ public class PanelGroupService {
|
|||||||
componentFilterInfo.setProxy(request.getProxy());
|
componentFilterInfo.setProxy(request.getProxy());
|
||||||
componentFilterInfo.setUser(request.getUserId());
|
componentFilterInfo.setUser(request.getUserId());
|
||||||
ChartViewDTO chartViewInfo = chartViewService.getData(request.getViewId(), componentFilterInfo);
|
ChartViewDTO chartViewInfo = chartViewService.getData(request.getViewId(), componentFilterInfo);
|
||||||
List<Map> tableRow = (List) chartViewInfo.getData().get("tableRow");
|
List<Object[]> tableRow = (List) chartViewInfo.getData().get("sourceData");
|
||||||
List<Object[]> result = new ArrayList<>();
|
request.setDetails(tableRow);
|
||||||
for (Map detailMap : tableRow) {
|
|
||||||
List<Object> detailObj = new ArrayList<>();
|
|
||||||
for (String key : excelHeaderKeys) {
|
|
||||||
detailObj.add(detailMap.get(key));
|
|
||||||
}
|
|
||||||
result.add(detailObj.toArray());
|
|
||||||
}
|
|
||||||
request.setDetails(result);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user