mirror of
https://github.com/dataease/dataease.git
synced 2026-05-23 13:58:26 +08:00
feat: 视图过滤重新设计,支持单维度指标展示
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package io.dataease.dto.chart;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Author gin
|
||||
* @Date 2021/7/20 11:34 上午
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class ChartCustomFilterItemDTO implements Serializable {
|
||||
private String fieldId;
|
||||
private String term;
|
||||
private String value;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package io.dataease.dto.chart;
|
||||
|
||||
import io.dataease.base.domain.DatasetTableField;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author gin
|
||||
* @Date 2021/7/20 11:43 上午
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class ChartFieldCustomFilterDTO implements Serializable {
|
||||
private List<ChartCustomFilterItemDTO> filter;
|
||||
}
|
||||
@@ -134,24 +134,31 @@ public class ChartViewService {
|
||||
}.getType());
|
||||
List<ChartViewFieldDTO> yAxis = new Gson().fromJson(view.getYAxis(), new TypeToken<List<ChartViewFieldDTO>>() {
|
||||
}.getType());
|
||||
List<ChartCustomFilterDTO> customFilter = new Gson().fromJson(view.getCustomFilter(), new TypeToken<List<ChartCustomFilterDTO>>() {
|
||||
List<ChartFieldCustomFilterDTO> fieldCustomFilter = new Gson().fromJson(view.getCustomFilter(), new TypeToken<List<ChartFieldCustomFilterDTO>>() {
|
||||
}.getType());
|
||||
customFilter.forEach(ele -> ele.setField(dataSetTableFieldsService.get(ele.getFieldId())));
|
||||
List<ChartCustomFilterDTO> customFilter = fieldCustomFilter.stream().map(ele -> {
|
||||
ChartCustomFilterDTO dto = new ChartCustomFilterDTO();
|
||||
ele.getFilter().forEach(f -> {
|
||||
BeanUtils.copyBean(dto, f);
|
||||
dto.setField(dataSetTableFieldsService.get(f.getFieldId()));
|
||||
});
|
||||
return dto;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
if (StringUtils.equalsIgnoreCase("text", view.getType()) || StringUtils.equalsIgnoreCase("gauge", view.getType())) {
|
||||
xAxis = new ArrayList<>();
|
||||
if (CollectionUtils.isEmpty(yAxis)) {
|
||||
ChartViewDTO dto = new ChartViewDTO();
|
||||
BeanUtils.copyBean(dto, view);
|
||||
return dto;
|
||||
}
|
||||
} else {
|
||||
if (CollectionUtils.isEmpty(xAxis) || CollectionUtils.isEmpty(yAxis)) {
|
||||
ChartViewDTO dto = new ChartViewDTO();
|
||||
BeanUtils.copyBean(dto, view);
|
||||
return dto;
|
||||
}
|
||||
}
|
||||
// if (StringUtils.equalsIgnoreCase("text", view.getType()) || StringUtils.equalsIgnoreCase("gauge", view.getType())) {
|
||||
// xAxis = new ArrayList<>();
|
||||
// if (CollectionUtils.isEmpty(yAxis)) {
|
||||
// ChartViewDTO dto = new ChartViewDTO();
|
||||
// BeanUtils.copyBean(dto, view);
|
||||
// return dto;
|
||||
// }
|
||||
// } else {
|
||||
// if (CollectionUtils.isEmpty(xAxis) || CollectionUtils.isEmpty(yAxis)) {
|
||||
// ChartViewDTO dto = new ChartViewDTO();
|
||||
// BeanUtils.copyBean(dto, view);
|
||||
// return dto;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 过滤来自仪表板的条件
|
||||
List<ChartExtFilterRequest> extFilterList = new ArrayList<>();
|
||||
|
||||
Reference in New Issue
Block a user