提交 3a6f89eb authored 作者: junjie's avatar junjie

feat: 视图下钻

上级 75d223f4
......@@ -258,7 +258,7 @@ public class ChartViewService {
// 下钻
boolean isDrill = false;
List<ChartDrillRequest> drillRequest = requestList.getDrill();
if (CollectionUtils.isNotEmpty(drillRequest) && (drill.size() >= drillRequest.size())) {
if (CollectionUtils.isNotEmpty(drillRequest) && (drill.size() > drillRequest.size())) {
for (int i = 0; i < drillRequest.size(); i++) {
ChartDrillRequest request = drillRequest.get(i);
for (ChartDimensionDTO dto : request.getDimensionList()) {
......@@ -278,10 +278,16 @@ public class ChartViewService {
drillFilter.setOperator("in");
drillFilter.setDatasetTableField(datasetTableField);
extFilterList.add(drillFilter);
// xAxis.add(d);
// if (i == drillRequest.size() - 1) {
// xAxis.add(drill.get(i + 1));
// }
if (!checkDrillExist(xAxis, extStack, d, view)) {
xAxis.add(d);
}
if (i == drillRequest.size() - 1) {
ChartViewFieldDTO nextDrillField = drill.get(i + 1);
if (!checkDrillExist(xAxis, extStack, nextDrillField, view)) {
xAxis.add(nextDrillField);
}
}
}
}
}
......@@ -436,6 +442,24 @@ public class ChartViewService {
return dto;
}
private boolean checkDrillExist(List<ChartViewFieldDTO> xAxis, List<ChartViewFieldDTO> extStack, ChartViewFieldDTO dto, ChartViewWithBLOBs view) {
if (CollectionUtils.isNotEmpty(xAxis)) {
for (ChartViewFieldDTO x : xAxis) {
if (StringUtils.equalsIgnoreCase(x.getId(), dto.getId())) {
return true;
}
}
}
if (StringUtils.containsIgnoreCase(view.getType(), "stack") && CollectionUtils.isNotEmpty(extStack)) {
for (ChartViewFieldDTO x : extStack) {
if (StringUtils.equalsIgnoreCase(x.getId(), dto.getId())) {
return true;
}
}
}
return false;
}
/**
* 避免缓存击穿
* 虽然流量不一定能够达到击穿的水平
......
......@@ -161,7 +161,6 @@ const data = {
// 添加联动 下钻 等过滤组件
addViewTrackFilter(state, data) {
debugger
const viewId = data.viewId
const trackInfo = state.nowPanelTrackInfo
for (let index = 0; index < state.componentData.length; index++) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论