diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java index dcf6bc6c74..3f75355a5d 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableFieldController.java @@ -159,7 +159,7 @@ public class DataSetTableFieldController { public List multFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { List results = new ArrayList<>(); for (String fieldId : multFieldValuesRequest.getFieldIds()) { - List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), true); + List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), true, false); if (CollectionUtil.isNotEmpty(fieldValues)) { results.addAll(fieldValues); } @@ -185,13 +185,13 @@ public class DataSetTableFieldController { DecodedJWT jwt = JWT.decode(linkToken); Long userId = jwt.getClaim("userId").asLong(); multFieldValuesRequest.setUserId(userId); - return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true); + return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true,false); } @ApiIgnore @PostMapping("mappingFieldValues") public List mappingFieldValues(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { - return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true); + return dataSetFieldService.fieldValues(multFieldValuesRequest.getFieldIds(), multFieldValuesRequest.getUserId(), true, true, false); } @ApiIgnore @@ -199,7 +199,7 @@ public class DataSetTableFieldController { public List multFieldValuesForPermissions(@RequestBody MultFieldValuesRequest multFieldValuesRequest) throws Exception { List results = new ArrayList<>(); for (String fieldId : multFieldValuesRequest.getFieldIds()) { - List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), false); + List fieldValues = dataSetFieldService.fieldValues(fieldId, multFieldValuesRequest.getUserId(), false, true); if (CollectionUtil.isNotEmpty(fieldValues)) { results.addAll(fieldValues); } diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index ea85812798..f460504f02 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -111,7 +111,7 @@ public class JdbcProvider extends DefaultJdbcProvider { } catch (SQLException e) { DataEaseException.throwException(e); } catch (Exception e) { - if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris")) { + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase("ds_doris") || datasourceRequest.getDatasource().getType().equalsIgnoreCase("StarRocks")) { datasourceRequest.setQuery("select * from " + datasourceRequest.getTable()); return fetchResultField(datasourceRequest); } else { diff --git a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java index 3d4f9d5a31..9a03447184 100644 --- a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java @@ -108,7 +108,11 @@ public class Db2QueryProvider extends QueryProvider { if (f.getDeType() == DeTypeConstants.DE_INT || f.getDeType() == DeTypeConstants.DE_FLOAT) { fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField); } else { - fieldName = originField; + if(f.getType().equalsIgnoreCase("TIME")){ + fieldName = String.format(Db2Constants.FORMAT_TIME, originField, Db2Constants.DEFAULT_DATE_FORMAT); + }else { + fieldName = originField; + } } } else if (f.getDeExtractType() == DeTypeConstants.DE_STRING) { if (f.getDeType() == DeTypeConstants.DE_INT) { @@ -779,7 +783,11 @@ public class Db2QueryProvider extends QueryProvider { whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT); } if (field.getDeExtractType() == DeTypeConstants.DE_TIME) { - whereName = originName; + if(field.getType().equalsIgnoreCase("TIME")){ + whereName = String.format(Db2Constants.FORMAT_TIME, originName, Db2Constants.DEFAULT_DATE_FORMAT); + }else { + whereName = originName; + } } } else if (field.getDeType() == 2 || field.getDeType() == 3) { if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { @@ -883,7 +891,11 @@ public class Db2QueryProvider extends QueryProvider { whereName = String.format(Db2Constants.FROM_UNIXTIME, cast, Db2Constants.DEFAULT_DATE_FORMAT); } if (field.getDeExtractType() == DeTypeConstants.DE_TIME) { - whereName = originName; + if(field.getType().equalsIgnoreCase("TIME")){ + whereName = String.format(Db2Constants.FORMAT_TIME, originName, Db2Constants.DEFAULT_DATE_FORMAT); + }else { + whereName = originName; + } } } else if (field.getDeType() == 2 || field.getDeType() == 3) { if (field.getDeExtractType() == 0 || field.getDeExtractType() == 5) { @@ -982,7 +994,11 @@ public class Db2QueryProvider extends QueryProvider { fieldName = String.format(Db2Constants.UNIX_TIMESTAMP, originField) + "*1000"; } else if (x.getDeType() == DeTypeConstants.DE_TIME) { String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); - fieldName = String.format(Db2Constants.DATE_FORMAT, originField, format); + if(x.getType().equalsIgnoreCase("TIME")){ + fieldName = String.format(Db2Constants.FORMAT_TIME, originField, format); + }else { + fieldName = String.format(Db2Constants.DATE_FORMAT, originField, format); + } } else { fieldName = originField; } diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index a7b80de8b2..25190fb6c8 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -419,24 +419,18 @@ public class ChartViewService { } datasourceRequest.setQuery(sql); data = datasourceProvider.getData(datasourceRequest); - - Map mapChart = pluginViewResult(pluginViewParam, view, data, isDrill); - Map mapTableNormal = ChartDataBuild.transTableNormal(xAxis, yAxis, view, data, extStack, desensitizationList); - return data; // 如果是插件到此结束 } //如果不是插件视图 走原生逻辑 if (table.getMode() == 0) {// 直连 - // Datasource ds = datasourceService.get(table.getDataSourceId()); if (ObjectUtils.isEmpty(ds)) { throw new RuntimeException(Translator.get("i18n_datasource_delete")); } if (StringUtils.isNotEmpty(ds.getStatus()) && ds.getStatus().equalsIgnoreCase("Error")) { throw new Exception(Translator.get("i18n_invalid_ds")); } - // DatasourceProvider datasourceProvider = ProviderFactory.getProvider(ds.getType()); datasourceRequest.setDatasource(ds); DataTableInfoDTO dataTableInfoDTO = gson.fromJson(table.getInfo(), DataTableInfoDTO.class); QueryProvider qp = ProviderFactory.getQueryProvider(ds.getType()); diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java index 4e5e59449b..e2b580dbe3 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetFieldService.java @@ -5,7 +5,7 @@ import java.util.List; public interface DataSetFieldService { - List fieldValues(String fieldId, Long userId, Boolean userPermissions) throws Exception; + List fieldValues(String fieldId, Long userId, Boolean userPermissions, Boolean rowAndColumnMgm) throws Exception; - List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping) throws Exception; + List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping, Boolean rowAndColumnMgm) throws Exception; } diff --git a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java index 73ecc9f28f..e719621141 100644 --- a/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java +++ b/backend/src/main/java/io/dataease/service/dataset/impl/direct/DirectFieldService.java @@ -45,14 +45,14 @@ public class DirectFieldService implements DataSetFieldService { private EngineService engineService; @Override - public List fieldValues(String fieldId, Long userId, Boolean userPermissions) throws Exception { + public List fieldValues(String fieldId, Long userId, Boolean userPermissions, Boolean rowAndColumnMgm) throws Exception { List filedIds = new ArrayList<>(); filedIds.add(fieldId); - return fieldValues(filedIds, userId, userPermissions, false); + return fieldValues(filedIds, userId, userPermissions, false, rowAndColumnMgm); } @Override - public List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping) throws Exception { + public List fieldValues(List fieldIds, Long userId, Boolean userPermissions, Boolean needMapping, Boolean rowAndColumnMgm) throws Exception { String fieldId = fieldIds.get(0); DatasetTableField field = dataSetTableFieldsService.selectByPrimaryKey(fieldId); if (field == null || StringUtils.isEmpty(field.getTableId())) return null; @@ -70,22 +70,15 @@ public class DirectFieldService implements DataSetFieldService { List permissionFields = fields; List customFilter = new ArrayList<>(); - if(userPermissions){ + if (userPermissions) { //列权限 List desensitizationList = new ArrayList<>(); fields = permissionService.filterColumnPermissons(fields, desensitizationList, datasetTable.getId(), userId); - Map fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node)); permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList()); - //permissionFields = fields.stream().filter(node -> fieldIds.stream().anyMatch(item -> StringUtils.equals(node.getId(), item))).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(permissionFields)) { return new ArrayList<>(); } - //禁用的 - /*if(!fields.stream().map(DatasetTableField::getId).collect(Collectors.toList()).contains(fieldId)){ - return new ArrayList<>(); - }*/ if (CollectionUtils.isNotEmpty(desensitizationList) && desensitizationList.contains(field.getDataeaseName())) { List results = new ArrayList<>(); results.add(ColumnPermissionConstants.Desensitization_desc); @@ -94,6 +87,13 @@ public class DirectFieldService implements DataSetFieldService { //行权限 customFilter = permissionService.getCustomFilters(fields, datasetTable, userId); } + if (rowAndColumnMgm) { + Map fieldMap = fields.stream().collect(Collectors.toMap(DatasetTableField::getId, node -> node)); + permissionFields = fieldIds.stream().map(fieldMap::get).collect(Collectors.toList()); + if (CollectionUtils.isEmpty(permissionFields)) { + return new ArrayList<>(); + } + } DatasourceRequest datasourceRequest = new DatasourceRequest(); Provider datasourceProvider = null; @@ -148,7 +148,7 @@ public class DirectFieldService implements DataSetFieldService { } - private List buildTreeNode(String [] row, Set pkSet) { + private List buildTreeNode(String[] row, Set pkSet) { List nodes = new ArrayList<>(); List parentPkList = new ArrayList<>(); for (int i = 0; i < row.length; i++) { diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 5348297bd4..8e627521c0 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -1349,7 +1349,7 @@ export default { client_principal: 'Client Principal', keytab_Key_path: 'Keytab Key Path', datasource: 'Data Source', - please_select_left: 'Please select the data source from the left', + please_select_left: 'Please select data from the left', show_info: 'Data Source Info', create: 'Create Data Source', type: 'Type', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 21d143a8aa..fd8c401e24 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -1349,7 +1349,7 @@ export default { client_principal: 'Client Principal', keytab_Key_path: 'Keytab Key Path', datasource: '數據源', - please_select_left: '請從左側選擇數據源', + please_select_left: '請從左側選擇', show_info: '數據源信息', create: '新建數據源', type: '類型', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 954491ad27..cef09bc9d5 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -1351,7 +1351,7 @@ export default { client_principal: 'Client Principal', keytab_Key_path: 'Keytab Key Path', datasource: '数据源', - please_select_left: '请从左侧选择数据源', + please_select_left: '请从左侧选择', show_info: '数据源信息', create: '新建数据源', type: '类型', diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js index 886dbfbe98..c100ca2f23 100644 --- a/frontend/src/views/chart/chart/util.js +++ b/frontend/src/views/chart/chart/util.js @@ -1564,7 +1564,9 @@ export const TYPE_CONFIGS = [ 'position', 'name', 'nameTextStyle', - 'splitLine' + 'axisValue', + 'splitLine', + 'axisLabel' ], 'title-selector': [ 'show', @@ -1934,7 +1936,7 @@ export const TYPE_CONFIGS = [ 'labelLine', 'fontSize', 'color', - 'position-v', + 'position-pie', 'formatter' ], 'tooltip-selector': [ diff --git a/frontend/src/views/system/SysParam/ClusterModeSetting.vue b/frontend/src/views/system/SysParam/ClusterModeSetting.vue index 9e3b62bff1..9e0d067251 100644 --- a/frontend/src/views/system/SysParam/ClusterModeSetting.vue +++ b/frontend/src/views/system/SysParam/ClusterModeSetting.vue @@ -281,8 +281,6 @@ export default { this.$error(res.message.substring(0, 2500) + '......') } } - }).catch(res => { - this.$error(res.message) }) } else { return false diff --git a/frontend/src/views/system/SysParam/SimpleModeSetting.vue b/frontend/src/views/system/SysParam/SimpleModeSetting.vue index 871e4155f7..2b77350737 100644 --- a/frontend/src/views/system/SysParam/SimpleModeSetting.vue +++ b/frontend/src/views/system/SysParam/SimpleModeSetting.vue @@ -246,8 +246,6 @@ export default { this.$error(res.message.substring(0, 2500) + '......') } } - }).catch(res => { - this.$error(res.message) }) } else { return false diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index f3e91a7156..48adad7d43 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -9,7 +9,6 @@ {{ $t('datasource.create') }} {{ $t('driver.mgm') }} - @@ -324,12 +323,14 @@ export default { }, driverMgm() { + this.$emit('switch-main', {}) this.showView = 'Driver' this.expandedArray = [] this.tData = [] this.queryTreeDatas() }, dsMgm() { + this.$emit('switch-main', {}) this.showView = 'Datasource' this.expandedArray = [] this.tData = [] diff --git a/frontend/src/views/system/plugin/PluginCom.vue b/frontend/src/views/system/plugin/PluginCom.vue index 3ffcdf3d9f..fddd1c2463 100644 --- a/frontend/src/views/system/plugin/PluginCom.vue +++ b/frontend/src/views/system/plugin/PluginCom.vue @@ -56,6 +56,17 @@ export default { this.showAsync = false } }, + watch: { + 'componentName': function () { + this.refId = uuid.v1 + if (this.componentName) { + this.showAsync = true + this.url = this.baseUrl + this.componentName + } else { + this.showAsync = false + } + } + }, methods: { // hasLicense executeAxios(options) {