Merge pull request #8722 from dataease/pr@dev@feat_table_info_threshold_dataset_field

feat(视图): 明细表动态阈值可选数据集字段 close #7296
This commit is contained in:
wisonic-s 2024-03-27 10:46:55 +08:00 committed by GitHub
commit bf868d9c6a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 22 additions and 4 deletions

View File

@ -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;
}

View File

@ -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)

View File

@ -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) {