forked from github/dataease
Merge pull request #9131 from dataease/pr@dev-v2@feat_filter_field
feat(仪表板): 文本下拉组件支持显示字段和排序字段设置
This commit is contained in:
commit
6396d7b46c
@ -2,12 +2,16 @@ package io.dataease.dataset.manage;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import io.dataease.api.chart.dto.ColumnPermissionItem;
|
import io.dataease.api.chart.dto.ColumnPermissionItem;
|
||||||
|
import io.dataease.api.dataset.union.model.SQLObj;
|
||||||
import io.dataease.dataset.dao.auto.entity.CoreDatasetTableField;
|
import io.dataease.dataset.dao.auto.entity.CoreDatasetTableField;
|
||||||
import io.dataease.dataset.dao.auto.mapper.CoreDatasetGroupMapper;
|
import io.dataease.dataset.dao.auto.mapper.CoreDatasetGroupMapper;
|
||||||
import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableFieldMapper;
|
import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableFieldMapper;
|
||||||
import io.dataease.dataset.utils.TableUtils;
|
import io.dataease.dataset.utils.TableUtils;
|
||||||
import io.dataease.datasource.provider.CalciteProvider;
|
import io.dataease.datasource.provider.CalciteProvider;
|
||||||
import io.dataease.dto.dataset.DatasetTableFieldDTO;
|
import io.dataease.dto.dataset.DatasetTableFieldDTO;
|
||||||
|
import io.dataease.engine.constant.ExtFieldConstant;
|
||||||
|
import io.dataease.engine.func.FunctionConstant;
|
||||||
|
import io.dataease.engine.utils.Utils;
|
||||||
import io.dataease.exception.DEException;
|
import io.dataease.exception.DEException;
|
||||||
import io.dataease.i18n.Translator;
|
import io.dataease.i18n.Translator;
|
||||||
import io.dataease.utils.AuthUtils;
|
import io.dataease.utils.AuthUtils;
|
||||||
@ -200,6 +204,33 @@ public class DatasetTableFieldManage {
|
|||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<DatasetTableFieldDTO> listFieldsWithPermissionsRemoveAgg(Long id) {
|
||||||
|
List<DatasetTableFieldDTO> fields = selectByDatasetGroupId(id);
|
||||||
|
Map<String, ColumnPermissionItem> desensitizationList = new HashMap<>();
|
||||||
|
Long userId = AuthUtils.getUser() == null ? null : AuthUtils.getUser().getUserId();
|
||||||
|
SQLObj tableObj = new SQLObj();
|
||||||
|
tableObj.setTableAlias("");
|
||||||
|
List<DatasetTableFieldDTO> tmp = permissionManage
|
||||||
|
.filterColumnPermissions(fields, desensitizationList, id, userId)
|
||||||
|
.stream()
|
||||||
|
.filter(ele -> {
|
||||||
|
boolean flag = true;
|
||||||
|
if (Objects.equals(ele.getExtField(), ExtFieldConstant.EXT_CALC)) {
|
||||||
|
String originField = Utils.calcFieldRegex(ele.getOriginName(), tableObj, fields, true, null);
|
||||||
|
for (String func : FunctionConstant.AGG_FUNC) {
|
||||||
|
if (Utils.matchFunction(func, originField)) {
|
||||||
|
flag = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return flag;
|
||||||
|
})
|
||||||
|
.sorted(Comparator.comparing(DatasetTableFieldDTO::getGroupType))
|
||||||
|
.toList();
|
||||||
|
tmp.forEach(ele -> ele.setDesensitized(desensitizationList.containsKey(ele.getDataeaseName())));
|
||||||
|
return tmp;
|
||||||
|
}
|
||||||
|
|
||||||
public List<DatasetTableFieldDTO> transDTO(List<CoreDatasetTableField> list) {
|
public List<DatasetTableFieldDTO> transDTO(List<CoreDatasetTableField> list) {
|
||||||
return list.stream().map(ele -> {
|
return list.stream().map(ele -> {
|
||||||
|
@ -55,7 +55,7 @@ public class DatasetFieldServer implements DatasetTableApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DatasetTableFieldDTO> listFieldsWithPermissions(Long id) {
|
public List<DatasetTableFieldDTO> listFieldsWithPermissions(Long id) {
|
||||||
return datasetTableFieldManage.listFieldsWithPermissions(id);
|
return datasetTableFieldManage.listFieldsWithPermissionsRemoveAgg(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user