From c43850fa3f9dc6d00dc72ec2990b8a146c6353cc Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Fri, 8 Dec 2023 17:31:26 +0800
Subject: [PATCH 01/10] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E9=9A=90?=
=?UTF-8?q?=E8=97=8FTab=E5=A4=B4=E9=83=A8=E6=9C=AA=E8=A7=A6=E5=8F=91?=
=?UTF-8?q?=E4=BF=9D=E5=AD=98=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
core/frontend/src/components/widget/deWidget/TabStyle.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/frontend/src/components/widget/deWidget/TabStyle.vue b/core/frontend/src/components/widget/deWidget/TabStyle.vue
index 730c9f8619..db1e25ce23 100644
--- a/core/frontend/src/components/widget/deWidget/TabStyle.vue
+++ b/core/frontend/src/components/widget/deWidget/TabStyle.vue
@@ -14,7 +14,7 @@
label="选项卡标题"
prop="titleShow"
>
- 隐藏
+ 隐藏
Date: Mon, 11 Dec 2023 11:31:56 +0800
Subject: [PATCH 02/10] =?UTF-8?q?refactor:=20=E5=B8=AE=E5=8A=A9=E6=96=87?=
=?UTF-8?q?=E6=A1=A3URL=E5=8F=98=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
core/frontend/src/layout/components/Topbar.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/frontend/src/layout/components/Topbar.vue b/core/frontend/src/layout/components/Topbar.vue
index 34a133efa8..87df0f5bab 100644
--- a/core/frontend/src/layout/components/Topbar.vue
+++ b/core/frontend/src/layout/components/Topbar.vue
@@ -199,7 +199,7 @@ export default {
if (this.$store.getters.uiInfo && this.$store.getters.uiInfo['ui.helpLink'] && this.$store.getters.uiInfo['ui.helpLink'].paramValue) {
return this.$store.getters.uiInfo['ui.helpLink'].paramValue
}
- return 'https://dataease.io/docs/'
+ return 'https://dataease.io/docs/v1/'
},
/* topMenuColor() {
return this.$store.getters.uiInfo.topMenuColor
From 3e55d127c880208dda16ff382e57b76399ba8fb9 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Mon, 11 Dec 2023 12:12:15 +0800
Subject: [PATCH 03/10] =?UTF-8?q?fix:=20=E4=BB=85=E8=B0=83=E6=95=B4=20Tab?=
=?UTF-8?q?=20=E7=BB=84=E4=BB=B6=E7=9A=84=E6=A0=87=E7=AD=BE=E9=A1=BA?=
=?UTF-8?q?=E5=BA=8F=E6=9C=AA=E8=A7=A6=E5=8F=91=E5=88=B0=E4=BB=AA=E8=A1=A8?=
=?UTF-8?q?=E6=9D=BF=E7=9A=84=E4=BF=9D=E5=AD=98=E6=8C=89=E9=92=AE=E8=BD=AC?=
=?UTF-8?q?=E4=B8=BA=E5=8F=AF=E7=82=B9=E5=87=BB=E7=8A=B6=E6=80=81=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=20#6133?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/components/canvas/components/editor/SettingMenu.vue | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/core/frontend/src/components/canvas/components/editor/SettingMenu.vue b/core/frontend/src/components/canvas/components/editor/SettingMenu.vue
index 2b7a96923f..38f3d5d792 100644
--- a/core/frontend/src/components/canvas/components/editor/SettingMenu.vue
+++ b/core/frontend/src/components/canvas/components/editor/SettingMenu.vue
@@ -240,6 +240,9 @@ export default {
}
},
methods: {
+ styleChange() {
+ this.$store.commit('canvasChange')
+ },
openCustomSort() {
this.showCustomSort = true
},
@@ -251,6 +254,7 @@ export default {
this.$nextTick(() => {
this.showCustomSort = false
})
+ this.styleChange()
},
positionAdjust() {
bus.$emit('change_panel_right_draw', true)
From d5924b6e487ee591ed3c8ec77a7fef807ae50215 Mon Sep 17 00:00:00 2001
From: ulleo
Date: Mon, 11 Dec 2023 13:41:54 +0800
Subject: [PATCH 04/10] =?UTF-8?q?fix:=20AntV=E7=BB=84=E5=90=88=E5=9B=BEbug?=
=?UTF-8?q?s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
副轴指标无法设置颜色
设置为散点图时无法显示提示
---
.../src/views/antv/chartmix/index.vue | 33 ++++++++++++++-----
1 file changed, 25 insertions(+), 8 deletions(-)
diff --git a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/index.vue b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/index.vue
index 7b8de49534..859c8a445b 100644
--- a/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/index.vue
+++ b/extensions/dataease-extensions-view/view-chartmix/view-chartmix-frontend/src/views/antv/chartmix/index.vue
@@ -390,13 +390,23 @@ export default {
item.value = valueFormatter(item.data.value, yaxisExtList[item.data.i].formatterCfg)
}
})
- return filter(originalItems, (item) => {
- const v = item.data.key;
- if (item.title === v && item.title === item.value && item.name === "key" || !names.includes(item.name)) {
- return false;
+
+ // 由于只会触发一个scatter,所以针对scatter的进行一次过滤,只保留一个scatter的值
+ let hasScatter = false;
+
+ const list = filter(originalItems, (item) => {
+ if (item.data.chartType === 'scatter') {
+ if (!hasScatter) {
+ hasScatter = true;
+ item.name = item.data.name;
+ } else {
+ return false;
+ }
}
+
return true;
})
+ return list;
}
} : false;
@@ -721,12 +731,15 @@ export default {
const setting = {
type: _chartType,
options: {
- data: data,
+ data: map(data, (d) => {
+ d.chartType = _chartType
+ return d
+ }),
xField: 'key',
yField: 'value',
seriesField: 'name',
colorField: 'name',
- isGroup: true,
+ isGroup: _chartType === "column" ? true : undefined,
meta: {
key: {
sync: true,
@@ -776,11 +789,15 @@ export default {
const setting = {
type: _chartType,
options: {
- data: data,
+ data: map(data, (d) => {
+ d.chartType = _chartType
+ return d
+ }),
xField: 'key',
yField: 'value',
seriesField: 'name',
- isGroup: true,
+ colorField: 'name',
+ isGroup: _chartType === "column" ? true : undefined,
meta: {
key: {
sync: true,
From 67d5441c4b94fab20be7d8b98b65c1ce91da501d Mon Sep 17 00:00:00 2001
From: junjun
Date: Mon, 11 Dec 2023 14:21:24 +0800
Subject: [PATCH 05/10] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=88=86?=
=?UTF-8?q?=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../query/doris/DorisQueryProvider.java | 7 ++++---
.../query/impala/ImpalaQueryProvider.java | 20 ++++++++++++++++++-
.../query/mysql/MysqlQueryProvider.java | 17 +++++++++++-----
.../sqlserver/SqlserverQueryProvider.java | 18 +++++++++++++++++
core/frontend/src/views/chart/chart/chart.js | 2 +-
5 files changed, 54 insertions(+), 10 deletions(-)
diff --git a/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java
index 3087ca2f89..f4f322288e 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java
@@ -21,10 +21,11 @@ import java.util.List;
public class DorisQueryProvider extends MysqlQueryProvider {
public String getSQLWithPage(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
+ String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " LIMIT " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + "," + pageInfo.getPageSize() : "");
if (isTable) {
- return getSQLTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view);
+ return originalTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, true) + limit;
} else {
- return getSQLAsTmpTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view);
+ return originalTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, true) + limit;
}
}
@@ -49,6 +50,6 @@ public class DorisQueryProvider extends MysqlQueryProvider {
}
public String getTotalCount(boolean isTable, String sql, Datasource ds) {
- return null;
+ return null;
}
}
diff --git a/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java
index a008acb38b..856d5f9d59 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java
@@ -20,6 +20,7 @@ import io.dataease.plugins.common.request.chart.ChartExtFilterRequest;
import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDTO;
import io.dataease.plugins.common.request.permission.DatasetRowPermissionsTreeItem;
import io.dataease.plugins.datasource.entity.Dateformat;
+import io.dataease.plugins.datasource.entity.PageInfo;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.datasource.query.Utils;
import org.apache.commons.collections4.CollectionUtils;
@@ -151,7 +152,7 @@ public class ImpalaQueryProvider extends QueryProvider {
if (customWheres != null) wheres.add(customWheres);
if (whereTrees != null) wheres.add(whereTrees);
if (StringUtils.isNotBlank(keyword)) {
- String keyWhere = "("+transKeywordFilterList(tableObj, xFields, keyword)+")";
+ String keyWhere = "(" + transKeywordFilterList(tableObj, xFields, keyword) + ")";
wheres.add(keyWhere);
}
if (CollectionUtils.isNotEmpty(wheres)) st_sql.add("filters", wheres);
@@ -412,6 +413,13 @@ public class ImpalaQueryProvider extends QueryProvider {
// 外层再次套sql
List orders = new ArrayList<>();
orders.addAll(xOrders);
+ if (CollectionUtils.isEmpty(xOrders)) {
+ orders.add(SQLObj.builder()
+ .orderField(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
+ .orderAlias(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
+ .orderDirection("ASC")
+ .build());
+ }
STGroup stg = new STGroupFile(SQLConstants.SQL_TEMPLATE);
ST st_sql = stg.getInstanceOf("previewSql");
@@ -432,6 +440,16 @@ public class ImpalaQueryProvider extends QueryProvider {
return st.render();
}
+ @Override
+ public String getSQLWithPage(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
+ String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " LIMIT " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + "," + pageInfo.getPageSize() : "");
+ if (isTable) {
+ return originalTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
+ } else {
+ return originalTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
+ }
+ }
+
@Override
public String getSQLTableInfo(String table, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
return sqlLimit(originalTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view), view);
diff --git a/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java
index 3b5c414b6d..5d207eb45d 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java
@@ -411,20 +411,20 @@ public class MysqlQueryProvider extends QueryProvider {
@Override
public String getSQLTableInfo(String table, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
- return sqlLimit(originalTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view), view);
+ return sqlLimit(originalTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, false), view);
}
@Override
public String getSQLWithPage(boolean isTable, String table, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " LIMIT " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + "," + pageInfo.getPageSize() : "");
if (isTable) {
- return originalTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
+ return originalTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, false) + limit;
} else {
- return originalTableInfo("(" + sqlFix(table) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
+ return originalTableInfo("(" + sqlFix(table) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, false) + limit;
}
}
- private String originalTableInfo(String table, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
+ public String originalTableInfo(String table, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, boolean needOrder) {
SQLObj tableObj = SQLObj.builder()
.tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(MySQLConstants.KEYWORD_TABLE, table))
.tableAlias(String.format(TABLE_ALIAS_PREFIX, 0))
@@ -478,6 +478,13 @@ public class MysqlQueryProvider extends QueryProvider {
// 外层再次套sql
List orders = new ArrayList<>();
orders.addAll(xOrders);
+ if (needOrder && CollectionUtils.isEmpty(xOrders)) {
+ orders.add(SQLObj.builder()
+ .orderField(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
+ .orderAlias(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
+ .orderDirection("ASC")
+ .build());
+ }
STGroup stg = new STGroupFile(SQLConstants.SQL_TEMPLATE);
ST st_sql = stg.getInstanceOf("previewSql");
@@ -1210,7 +1217,7 @@ public class MysqlQueryProvider extends QueryProvider {
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null;
}
- private String sqlFix(String sql) {
+ public String sqlFix(String sql) {
sql = sql.trim();
if (sql.lastIndexOf(";") == (sql.length() - 1)) {
sql = sql.substring(0, sql.length() - 1);
diff --git a/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
index d5efe0bdd4..cd2cd4943b 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
@@ -22,6 +22,7 @@ import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDT
import io.dataease.plugins.common.request.permission.DatasetRowPermissionsTreeItem;
import io.dataease.plugins.datasource.entity.Dateformat;
import io.dataease.plugins.datasource.entity.JdbcConfiguration;
+import io.dataease.plugins.datasource.entity.PageInfo;
import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.datasource.query.Utils;
import org.apache.commons.collections4.CollectionUtils;
@@ -487,6 +488,13 @@ public class SqlserverQueryProvider extends QueryProvider {
// 外层再次套sql
List orders = new ArrayList<>();
orders.addAll(xOrders);
+ if (CollectionUtils.isEmpty(xOrders)) {
+ orders.add(SQLObj.builder()
+ .orderField(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
+ .orderAlias(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
+ .orderDirection("ASC")
+ .build());
+ }
STGroup stg = new STGroupFile(SQLConstants.SQL_TEMPLATE);
ST st_sql = stg.getInstanceOf("previewSql");
@@ -511,6 +519,16 @@ public class SqlserverQueryProvider extends QueryProvider {
return st.render();
}
+ @Override
+ public String getSQLWithPage(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
+ String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " LIMIT " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + "," + pageInfo.getPageSize() : "");
+ if (isTable) {
+ return getSQLTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
+ } else {
+ return getSQLTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
+ }
+ }
+
@Override
public String getSQLAsTmpTableInfo(String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
return getSQLTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, null, view);
diff --git a/core/frontend/src/views/chart/chart/chart.js b/core/frontend/src/views/chart/chart/chart.js
index b16cdb9d97..f99e74497e 100644
--- a/core/frontend/src/views/chart/chart/chart.js
+++ b/core/frontend/src/views/chart/chart/chart.js
@@ -1210,7 +1210,7 @@ export const CHART_FONT_LETTER_SPACE = [
{ name: '10px', value: '10' }
]
-export const NOT_SUPPORT_PAGE_DATASET = ['kylin', 'sqlServer', 'es', 'presto', 'ds_doris', 'StarRocks', 'impala']
+export const NOT_SUPPORT_PAGE_DATASET = ['kylin', 'es', 'presto', 'StarRocks']
export const SUPPORT_Y_M = ['y', 'y_M', 'y_M_d']
From db848ade7fd8c1b2b76ecaf4936e15c57eb87a67 Mon Sep 17 00:00:00 2001
From: junjun
Date: Mon, 11 Dec 2023 15:21:38 +0800
Subject: [PATCH 06/10] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=88=86?=
=?UTF-8?q?=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dataease/provider/query/doris/DorisQueryProvider.java | 4 ----
.../dataease/provider/query/impala/ImpalaQueryProvider.java | 6 +-----
.../provider/query/sqlserver/SqlserverQueryProvider.java | 6 +-----
3 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java
index f4f322288e..63943a8e10 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java
@@ -29,10 +29,6 @@ public class DorisQueryProvider extends MysqlQueryProvider {
}
}
- public String getResultCount(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
- return null;
- }
-
@Override
public String createRawQuerySQL(String table, List fields, Datasource ds) {
String[] array = fields.stream().map(f -> {
diff --git a/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java
index 856d5f9d59..160220fcdb 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java
@@ -442,7 +442,7 @@ public class ImpalaQueryProvider extends QueryProvider {
@Override
public String getSQLWithPage(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
- String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " LIMIT " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + "," + pageInfo.getPageSize() : "");
+ String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " LIMIT " + pageInfo.getPageSize() + " OFFSET " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() : "");
if (isTable) {
return originalTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
} else {
@@ -1393,8 +1393,4 @@ public class ImpalaQueryProvider extends QueryProvider {
"{\"dateformat\": \"yyyyMMdd HH:mm:ss\"}\n" +
"]", Dateformat.class);
}
-
- public String getResultCount(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
- return null;
- }
}
diff --git a/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
index cd2cd4943b..cdad3f2b18 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
@@ -521,7 +521,7 @@ public class SqlserverQueryProvider extends QueryProvider {
@Override
public String getSQLWithPage(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
- String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " LIMIT " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + "," + pageInfo.getPageSize() : "");
+ String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " OFFSET " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + " ROW FETCH NEXT " + pageInfo.getPageSize() +" ROW ONLY " : "");
if (isTable) {
return getSQLTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
} else {
@@ -1532,8 +1532,4 @@ public class SqlserverQueryProvider extends QueryProvider {
"{\"dateformat\": \"120\", \"desc\": \"yyyy-mm-dd hh:mi:ss\"}\n" +
"]", Dateformat.class);
}
-
- public String getResultCount(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
- return null;
- }
}
From 42a1c1d0c5f2b7be0b7c29d15902f0ee2dbaee14 Mon Sep 17 00:00:00 2001
From: fit2cloud-chenyw
Date: Mon, 11 Dec 2023 16:11:23 +0800
Subject: [PATCH 07/10] =?UTF-8?q?fix:=20demo=E7=94=A8=E6=88=B7=E9=BB=98?=
=?UTF-8?q?=E8=AE=A4=E5=A4=B1=E6=95=88#5995?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
core/backend/src/main/resources/db/migration/V59__1.18.14.sql | 1 +
1 file changed, 1 insertion(+)
create mode 100644 core/backend/src/main/resources/db/migration/V59__1.18.14.sql
diff --git a/core/backend/src/main/resources/db/migration/V59__1.18.14.sql b/core/backend/src/main/resources/db/migration/V59__1.18.14.sql
new file mode 100644
index 0000000000..226ae94e9b
--- /dev/null
+++ b/core/backend/src/main/resources/db/migration/V59__1.18.14.sql
@@ -0,0 +1 @@
+UPDATE `sys_user` set `enabled` = 0 where `user_id` = 2;
\ No newline at end of file
From f14cf3656367ec8c32d2011720113809b833e6b1 Mon Sep 17 00:00:00 2001
From: junjun
Date: Mon, 11 Dec 2023 16:13:33 +0800
Subject: [PATCH 08/10] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E5=88=86?=
=?UTF-8?q?=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../sqlserver/SqlserverQueryProvider.java | 21 +++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
index cdad3f2b18..70e238f52f 100644
--- a/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
+++ b/core/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java
@@ -434,6 +434,10 @@ public class SqlserverQueryProvider extends QueryProvider {
@Override
public String getSQLTableInfo(String table, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
+ return originTableInfo(table, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, true);
+ }
+
+ public String originTableInfo(String table, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, boolean needOrder) {
SQLObj tableObj = SQLObj.builder()
.tableName((table.startsWith("(") && table.endsWith(")")) ? table : String.format(SqlServerSQLConstants.KEYWORD_TABLE, table))
.tableAlias(String.format(TABLE_ALIAS_PREFIX, 0))
@@ -488,7 +492,7 @@ public class SqlserverQueryProvider extends QueryProvider {
// 外层再次套sql
List orders = new ArrayList<>();
orders.addAll(xOrders);
- if (CollectionUtils.isEmpty(xOrders)) {
+ if (needOrder && CollectionUtils.isEmpty(xOrders)) {
orders.add(SQLObj.builder()
.orderField(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
.orderAlias(String.format(SQLConstants.FIELD_ALIAS_X_PREFIX, 0))
@@ -519,9 +523,13 @@ public class SqlserverQueryProvider extends QueryProvider {
return st.render();
}
+ public String originSQLAsTmpTableInfo(String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, boolean needOrder) {
+ return originTableInfo("(" + sqlFix(sql) + ")", xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, null, view, needOrder);
+ }
+
@Override
public String getSQLWithPage(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view, PageInfo pageInfo) {
- String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " OFFSET " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + " ROW FETCH NEXT " + pageInfo.getPageSize() +" ROW ONLY " : "");
+ String limit = ((pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) ? " OFFSET " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize() + " ROW FETCH NEXT " + pageInfo.getPageSize() + " ROW ONLY " : "");
if (isTable) {
return getSQLTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view) + limit;
} else {
@@ -1532,4 +1540,13 @@ public class SqlserverQueryProvider extends QueryProvider {
"{\"dateformat\": \"120\", \"desc\": \"yyyy-mm-dd hh:mi:ss\"}\n" +
"]", Dateformat.class);
}
+
+ @Override
+ public String getResultCount(boolean isTable, String sql, List xAxis, List fieldCustomFilter, List rowPermissionsTree, List extFilterRequestList, Datasource ds, ChartViewWithBLOBs view) {
+ if (isTable) {
+ return "SELECT COUNT(*) AS count from (" + originTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, false) + ") COUNT_TEMP";
+ } else {
+ return "SELECT COUNT(*) AS count from (" + originSQLAsTmpTableInfo(sql, xAxis, fieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, false) + ") COUNT_TEMP";
+ }
+ }
}
From 69ee90e5414c0c777dd128dfa1581d8ff46b6307 Mon Sep 17 00:00:00 2001
From: taojinlong
Date: Mon, 11 Dec 2023 17:29:22 +0800
Subject: [PATCH 09/10] =?UTF-8?q?feat:=20=E7=B3=BB=E7=BB=9F=E7=AE=A1?=
=?UTF-8?q?=E7=90=86-=E4=BB=BB=E5=8A=A1=E7=AE=A1=E7=90=86-=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=90=8C=E6=AD=A5=E8=8F=9C=E5=8D=95=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E6=8E=92=E5=BA=8F=20#5760?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../io/dataease/ext/ExtDataSetTaskMapper.xml | 30 +++++++++++++++----
.../job/sechedule/ScheduleManager.java | 8 +++++
.../io/dataease/service/ScheduleService.java | 10 +++++++
.../dataset/DataSetTableTaskService.java | 10 +++++++
.../src/views/system/task/DatasetTaskList.vue | 15 ++++++++--
5 files changed, 66 insertions(+), 7 deletions(-)
diff --git a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml
index 3accb94e70..57090a03ad 100644
--- a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml
+++ b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml
@@ -87,7 +87,7 @@
qrtz_triggers.NEXT_FIRE_TIME
FROM dataset_table_task
left join dataset_table on dataset_table.id=dataset_table_task.table_id
- left join qrtz_triggers on dataset_table_task.id=qrtz_triggers.TRIGGER_NAME
+ left join qrtz_triggers on dataset_table_task.id=qrtz_triggers.TRIGGER_NAME and qrtz_triggers.TRIGGER_STATE != 'PAUSED'
where 1=1
and dataset_table_task.rate in
@@ -122,7 +122,18 @@
and dataset_table_task.name like concat('%', #{keyword}, '%')
- order by dataset_table_task.create_time desc
+
+
+ order by
+
+ ${item}
+
+
+
+ order by dataset_table_task.create_time desc
+
+
+
diff --git a/core/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java b/core/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java
index 0a8a24758a..66506835ed 100644
--- a/core/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java
+++ b/core/backend/src/main/java/io/dataease/job/sechedule/ScheduleManager.java
@@ -425,4 +425,12 @@ public class ScheduleManager {
scheduler.triggerJob(jobKey);
}
+ public void pauseTrigger(TriggerKey triggerKey) throws SchedulerException {
+ scheduler.pauseTrigger(triggerKey);
+ }
+
+ public void resumeTrigger(TriggerKey triggerKey) throws SchedulerException {
+ scheduler.resumeTrigger(triggerKey);
+ }
+
}
diff --git a/core/backend/src/main/java/io/dataease/service/ScheduleService.java b/core/backend/src/main/java/io/dataease/service/ScheduleService.java
index d3ad79ede5..37aa95ed76 100644
--- a/core/backend/src/main/java/io/dataease/service/ScheduleService.java
+++ b/core/backend/src/main/java/io/dataease/service/ScheduleService.java
@@ -9,6 +9,7 @@ import io.dataease.plugins.common.base.domain.DatasetTableTask;
import io.dataease.plugins.common.entity.GlobalTaskEntity;
import org.apache.commons.lang3.StringUtils;
import org.quartz.JobKey;
+import org.quartz.SchedulerException;
import org.quartz.TriggerKey;
import org.springframework.stereotype.Service;
@@ -83,5 +84,14 @@ public class ScheduleService {
taskHandler.executeTask(scheduleManager, task);
}
+ public void pauseTrigger(DatasetTableTask datasetTableTask) throws SchedulerException {
+ TriggerKey triggerKey = new TriggerKey(datasetTableTask.getId(), datasetTableTask.getTableId());
+ scheduleManager.pauseTrigger(triggerKey);
+ }
+
+ public void resumeTrigger(DatasetTableTask datasetTableTask) throws SchedulerException {
+ TriggerKey triggerKey = new TriggerKey(datasetTableTask.getId(), datasetTableTask.getTableId());
+ scheduleManager.resumeTrigger(triggerKey);
+ }
}
diff --git a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
index 19e1d3b818..9231546ab4 100644
--- a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
+++ b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java
@@ -11,6 +11,7 @@ import io.dataease.dto.dataset.DataSetTaskDTO;
import io.dataease.exception.DataEaseException;
import io.dataease.ext.ExtDataSetTaskMapper;
import io.dataease.i18n.Translator;
+import io.dataease.job.sechedule.ScheduleManager;
import io.dataease.plugins.common.base.domain.*;
import io.dataease.plugins.common.base.mapper.DatasetTableMapper;
import io.dataease.plugins.common.base.mapper.DatasetTableTaskMapper;
@@ -265,6 +266,8 @@ public class DataSetTableTaskService {
public List taskList4User(DatasetTaskGridRequest request) {
request.setUserId(null);
+ request.getOrders().add(0, "dataset_table_task.status desc");
+ request.getOrders().replaceAll(t -> t.replace("next_exec_time", "NEXT_FIRE_TIME"));
if (AuthUtils.getUser().getIsAdmin()) {
return extDataSetTaskMapper.taskList(request);
} else {
@@ -309,6 +312,13 @@ public class DataSetTableTaskService {
DatasetTableTask record = new DatasetTableTask();
record.setStatus(datasetTableTask.getStatus());
datasetTableTaskMapper.updateByExampleSelective(record, datasetTableTaskExample);
+
+ if(datasetTableTask.getStatus().equalsIgnoreCase(TaskStatus.Pending.name())){
+ scheduleService.pauseTrigger(datasetTableTask);
+ }
+ if(datasetTableTask.getStatus().equalsIgnoreCase(TaskStatus.Underway.name())){
+ scheduleService.resumeTrigger(datasetTableTask);
+ }
}
public void execTask(DatasetTableTask datasetTableTask) throws Exception {
diff --git a/core/frontend/src/views/system/task/DatasetTaskList.vue b/core/frontend/src/views/system/task/DatasetTaskList.vue
index 25412774cc..954daf8392 100644
--- a/core/frontend/src/views/system/task/DatasetTaskList.vue
+++ b/core/frontend/src/views/system/task/DatasetTaskList.vue
@@ -129,6 +129,7 @@
@selection-change="handleSelectionChange"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
+ @sort-change="sortChange"
>
@@ -342,7 +344,7 @@