From 3a5921377fc48e2484be75862f5c0cb5aab61dca Mon Sep 17 00:00:00 2001 From: junjie Date: Mon, 15 Mar 2021 17:08:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(SQL):=20=E7=94=A8=E6=88=B7=E8=87=AA?= =?UTF-8?q?=E5=B7=B1=E5=86=99SQL=EF=BC=8C=E5=B0=86=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E7=9A=84SQL=E4=BD=9C=E4=B8=BA=E5=86=85?= =?UTF-8?q?=E9=83=A8=E4=B8=B4=E6=97=B6=E8=A1=A8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/service/chart/ChartViewService.java | 9 +++++++-- .../io/dataease/service/dataset/DataSetTableService.java | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) 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 9dd307c471..381362aadc 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -102,8 +102,13 @@ public class ChartViewService { DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(ds); DataTableInfoDTO dataTableInfoDTO = new Gson().fromJson(table.getInfo(), DataTableInfoDTO.class); - datasourceRequest.setTable(dataTableInfoDTO.getTable()); - datasourceRequest.setQuery(getSQL(ds.getType(), dataTableInfoDTO.getTable(), xAxis, yAxis)); + if (StringUtils.equalsIgnoreCase(table.getType(), "db")) { + datasourceRequest.setTable(dataTableInfoDTO.getTable()); + datasourceRequest.setQuery(getSQL(ds.getType(), dataTableInfoDTO.getTable(), xAxis, yAxis)); + } else if (StringUtils.equalsIgnoreCase(table.getType(), "sql")) { + datasourceRequest.setQuery(getSQL(ds.getType(), " (" + dataTableInfoDTO.getSql() + ") AS tmp ", xAxis, yAxis)); + } + List data = datasourceProvider.getData(datasourceRequest); // todo 处理结果,目前做一个单系列图表,后期图表组件再扩展 diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index fae8ba496e..eb7e2576d4 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -157,7 +157,7 @@ public class DataSetTableService { datasourceRequest.setQuery(createQuerySQL(ds.getType(), table, fieldArray) + " LIMIT 0,10");// todo limit } else if (StringUtils.equalsIgnoreCase(datasetTable.getType(), "sql")) { String sql = dataTableInfoDTO.getSql(); - datasourceRequest.setQuery(sql);// todo 因为编辑可能取消某些字段展示,这里sql看看怎么处理 + datasourceRequest.setQuery(createQuerySQL(ds.getType(), " (" + sql + ") AS tmp ", fieldArray));// todo 因为编辑可能取消某些字段展示,这里sql看看怎么处理 } List data = new ArrayList<>();