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

feat: 视图下钻

上级 75d223f4
...@@ -258,7 +258,7 @@ public class ChartViewService { ...@@ -258,7 +258,7 @@ public class ChartViewService {
// 下钻 // 下钻
boolean isDrill = false; boolean isDrill = false;
List<ChartDrillRequest> drillRequest = requestList.getDrill(); 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++) { for (int i = 0; i < drillRequest.size(); i++) {
ChartDrillRequest request = drillRequest.get(i); ChartDrillRequest request = drillRequest.get(i);
for (ChartDimensionDTO dto : request.getDimensionList()) { for (ChartDimensionDTO dto : request.getDimensionList()) {
...@@ -278,10 +278,16 @@ public class ChartViewService { ...@@ -278,10 +278,16 @@ public class ChartViewService {
drillFilter.setOperator("in"); drillFilter.setOperator("in");
drillFilter.setDatasetTableField(datasetTableField); drillFilter.setDatasetTableField(datasetTableField);
extFilterList.add(drillFilter); extFilterList.add(drillFilter);
// xAxis.add(d);
// if (i == drillRequest.size() - 1) { if (!checkDrillExist(xAxis, extStack, d, view)) {
// xAxis.add(drill.get(i + 1)); 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 { ...@@ -436,6 +442,24 @@ public class ChartViewService {
return dto; 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 = { ...@@ -161,7 +161,6 @@ const data = {
// 添加联动 下钻 等过滤组件 // 添加联动 下钻 等过滤组件
addViewTrackFilter(state, data) { addViewTrackFilter(state, data) {
debugger
const viewId = data.viewId const viewId = data.viewId
const trackInfo = state.nowPanelTrackInfo const trackInfo = state.nowPanelTrackInfo
for (let index = 0; index < state.componentData.length; index++) { for (let index = 0; index < state.componentData.length; index++) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论