From 4c0f8893e5c6ec78e8410ab2fe0ca753038d7deb Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 2 Sep 2024 18:31:08 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E9=9B=86=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=8B=BC=E6=8E=A5sql=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/engine/trans/WhereTree2Str.java | 20 +++++++++++++------ .../manage/ExportCenterManage.java | 5 +++++ .../dto/DataSetRowPermissionsTreeDTO.java | 2 ++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/engine/trans/WhereTree2Str.java b/core/core-backend/src/main/java/io/dataease/engine/trans/WhereTree2Str.java index 2aece6039e..5372192317 100644 --- a/core/core-backend/src/main/java/io/dataease/engine/trans/WhereTree2Str.java +++ b/core/core-backend/src/main/java/io/dataease/engine/trans/WhereTree2Str.java @@ -32,6 +32,7 @@ public class WhereTree2Str { return; } List res = new ArrayList<>(); + List exportFilters = new ArrayList<>(); Map fieldsDialect = new HashMap<>(); // permission trees // 解析每个tree,然后多个tree之间用and拼接 @@ -42,11 +43,21 @@ public class WhereTree2Str { continue; } String treeExp = transTreeToWhere(tableObj, tree, originFields, fieldsDialect, isCross, dsMap, fieldParam, chartParam, pluginManage); - if (StringUtils.isNotEmpty(treeExp)) { + if (StringUtils.isNotEmpty(treeExp) && !request.isExportData()) { res.add(treeExp); } + if (StringUtils.isNotEmpty(treeExp) && request.isExportData()) { + exportFilters.add(treeExp); + } } - meta.setWhereTrees(CollectionUtils.isNotEmpty(res) ? "(" + String.join(" OR ", res) + ")" : null); + String whereSql = null; + if (CollectionUtils.isNotEmpty(res)) { + whereSql = String.join(" OR ", res); + } + if (CollectionUtils.isNotEmpty(exportFilters)) { + whereSql = whereSql == null ? String.join(" and ", exportFilters) : whereSql + " AND " + String.join(" and ", exportFilters); + } + meta.setWhereTrees(whereSql != null ? "(" + whereSql + ")" : null); meta.setWhereTreesDialect(fieldsDialect); } @@ -180,10 +191,7 @@ public class WhereTree2Str { whereValue = String.format(SQLConstants.WHERE_VALUE_VALUE, value); } } - SQLObj build = SQLObj.builder() - .whereField(whereName) - .whereTermAndValue(whereTerm + whereValue) - .build(); + SQLObj build = SQLObj.builder().whereField(whereName).whereTermAndValue(whereTerm + whereValue).build(); res = build.getWhereField() + " " + build.getWhereTermAndValue(); } return res; diff --git a/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java b/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java index 04a056d06a..3fef175aec 100644 --- a/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java +++ b/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java @@ -222,6 +222,10 @@ public class ExportCenterManage { ChartExcelRequest request = JsonUtil.parseObject(exportTask.getParams(), ChartExcelRequest.class); startViewTask(exportTask, request); } + if (exportTask.getExportFromType().equalsIgnoreCase("dataset")) { + DataSetExportRequest request = JsonUtil.parseObject(exportTask.getParams(), DataSetExportRequest.class); + startDatasetTask(exportTask, request); + } } public List exportTasks(String status) { @@ -387,6 +391,7 @@ public class ExportCenterManage { permissionManage.getField(datasetRowPermissionsTreeObj); DataSetRowPermissionsTreeDTO dataSetRowPermissionsTreeDTO = new DataSetRowPermissionsTreeDTO(); dataSetRowPermissionsTreeDTO.setTree(datasetRowPermissionsTreeObj); + dataSetRowPermissionsTreeDTO.setExportData(true); rowPermissionsTree.add(dataSetRowPermissionsTreeDTO); } diff --git a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/dataset/dto/DataSetRowPermissionsTreeDTO.java b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/dataset/dto/DataSetRowPermissionsTreeDTO.java index 915b50b89e..a437563de5 100644 --- a/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/dataset/dto/DataSetRowPermissionsTreeDTO.java +++ b/sdk/api/api-permissions/src/main/java/io/dataease/api/permissions/dataset/dto/DataSetRowPermissionsTreeDTO.java @@ -68,4 +68,6 @@ public class DataSetRowPermissionsTreeDTO { private List whiteListUsers; private List whiteListRoles; private List authTargetIds; + private boolean exportData; + } From 5693e0623315886555afda38a51ecb7caed55713 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 2 Sep 2024 19:02:30 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E4=B8=8A=E4=BC=A0excel=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E6=83=85=E5=86=B5=EF=BC=8C=E6=B8=85=E7=90=86=E7=BC=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visualized/data/datasource/form/ExcelDetail.vue | 12 ++++++++++++ .../src/views/visualized/data/datasource/index.vue | 3 +++ 2 files changed, 15 insertions(+) diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/ExcelDetail.vue b/core/core-frontend/src/views/visualized/data/datasource/form/ExcelDetail.vue index 2bcf1cf458..a6efe1c2bb 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/ExcelDetail.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/ExcelDetail.vue @@ -145,6 +145,10 @@ const handleTabClick = tab => { } const uploadFail = response => { + state.excelData = [] + activeTab.value = '' + tabList.value = [] + Object.assign(sheetObj, cloneDeep(defaultSheetObj)) let myError = response.toString() myError.replace('Error: ', '') } @@ -160,6 +164,10 @@ const handleExcelDel = () => { const uploadSuccess = response => { if (response?.code !== 0) { + state.excelData = [] + activeTab.value = '' + tabList.value = [] + Object.assign(sheetObj, cloneDeep(defaultSheetObj)) ElMessage.warning(response.msg) return } @@ -365,6 +373,10 @@ const uploadExcel = () => { loading.value = false }) .catch(error => { + state.excelData = [] + activeTab.value = '' + tabList.value = [] + Object.assign(sheetObj, cloneDeep(defaultSheetObj)) if (error.code === 'ECONNABORTED') { ElMessage({ type: 'error', diff --git a/core/core-frontend/src/views/visualized/data/datasource/index.vue b/core/core-frontend/src/views/visualized/data/datasource/index.vue index fb3ffa8df4..9078198992 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/index.vue @@ -884,6 +884,9 @@ const uploadExcel = editType => { addLoading.value = editType === 1 return uploadFile(formData) .then(res => { + if (res?.code !== 0) { + return + } nodeInfo.editType = editType datasourceEditor.value.init(nodeInfo, nodeInfo.id, res) }) From 2aaa40150e6b7f20142e2d5158d0902140040c52 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 2 Sep 2024 19:08:02 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E6=8B=BC=E5=86=99=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/locales/zh-CN.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index f5067cad1a..b982cd2627 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -252,8 +252,8 @@ export default { file_name: '文件名', version: '版本', please_set_driverClass: '请指定驱动类', - please_set_surpportVersions: '请输入支持的数据库大版本', - surpportVersions: '支持版本' + please_set_supportVersions: '请输入支持的数据库大版本', + supportVersions: '支持版本' }, login: { welcome: '欢迎使用',