Merge pull request #8722 from dataease/pr@dev@feat_table_info_threshold_dataset_field
feat(视图): 明细表动态阈值可选数据集字段 close #7296
This commit is contained in:
commit
bf868d9c6a
@ -1039,6 +1039,18 @@ public class ChartViewService {
|
||||
|| StringUtils.containsIgnoreCase(view.getType(), "table-pivot")) {
|
||||
// 动态阈值
|
||||
dynamicAssistFields = getDynamicThresholdFields(view);
|
||||
// 明细表非数据列字段要加进来
|
||||
if (StringUtils.containsIgnoreCase(view.getType(), "table-info")) {
|
||||
Set<String> fieldIds = xAxis.stream().map(ChartViewFieldDTO::getId).collect(Collectors.toSet());
|
||||
List<ChartViewFieldDTO> finalXAxis = xAxis;
|
||||
dynamicAssistFields.forEach(i -> {
|
||||
if (!fieldIds.contains(i.getFieldId())) {
|
||||
ChartViewFieldDTO fieldDTO = new ChartViewFieldDTO();
|
||||
BeanUtils.copyBean(fieldDTO, i.getCurField());
|
||||
finalXAxis.add(fieldDTO);
|
||||
}
|
||||
});
|
||||
}
|
||||
assistFields = getAssistFields(dynamicAssistFields, yAxis, xAxis);
|
||||
}
|
||||
|
||||
@ -1289,6 +1301,9 @@ public class ChartViewService {
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(assistFields)) {
|
||||
if (StringUtils.equalsIgnoreCase("table-info", view.getType())) {
|
||||
datasourceRequest.setQuery(querySql);
|
||||
}
|
||||
datasourceAssistRequest.setQuery(assistSQL(datasourceRequest.getQuery(), assistFields, ds));
|
||||
logger.info(datasourceAssistRequest.getQuery());
|
||||
assistData = datasourceProvider.getData(datasourceAssistRequest);
|
||||
@ -2407,7 +2422,7 @@ public class ChartViewService {
|
||||
List<ChartSeniorThresholdDTO> conditions = gson.fromJson(itemConditions.toJSONString(), new TypeToken<List<ChartSeniorThresholdDTO>>() {
|
||||
}.getType());
|
||||
for (ChartSeniorThresholdDTO condition : conditions) {
|
||||
if (StringUtils.equalsIgnoreCase(condition.getField(), "0")) {
|
||||
if (StringUtils.equalsAnyIgnoreCase(condition.getField(), "0", "2")) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@ -119,7 +119,7 @@ export function baseTableInfo(container, chart, action, tableData, pageInfo, vue
|
||||
}
|
||||
fields.forEach(ele => {
|
||||
const f = nameMap[ele.dataeaseName]
|
||||
if (f.hidden === true) {
|
||||
if (!f || f.hidden === true) {
|
||||
return
|
||||
}
|
||||
columns.push(ele.dataeaseName)
|
||||
|
||||
@ -407,6 +407,7 @@ export default {
|
||||
required: true
|
||||
}
|
||||
},
|
||||
inject: ['filedList'],
|
||||
data() {
|
||||
return {
|
||||
thresholdArr: [],
|
||||
@ -637,7 +638,8 @@ export default {
|
||||
}
|
||||
|
||||
// 区分文本、数值、日期字段
|
||||
this.fields.forEach(ele => {
|
||||
const compareFields = this.chart.type === 'table-info' ? this.filedList() : this.fields
|
||||
compareFields.forEach(ele => {
|
||||
// 视图字段和计数字段不可用
|
||||
if (ele.chartId || ele.id === 'count') {
|
||||
return
|
||||
@ -725,7 +727,8 @@ export default {
|
||||
if (!id) {
|
||||
return {}
|
||||
}
|
||||
const fields = this.fields.filter(ele => {
|
||||
const compareFields = this.chart.type === 'table-info' ? this.filedList() : this.fields
|
||||
const fields = compareFields.filter(ele => {
|
||||
return ele.id === id
|
||||
})
|
||||
if (fields.length === 0) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user