From 254dfe603d177b3ee79308731a0c0455cda36684 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 10 Jul 2024 17:07:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20oracle=20=E5=88=86=E9=A1=B5=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/query/oracle/OracleQueryProvider.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java b/core/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java index ffdb96ca5c..b8e17544ca 100644 --- a/core/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java +++ b/core/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java @@ -435,9 +435,7 @@ public class OracleQueryProvider extends QueryProvider { xAxis.add(chartViewFieldDTO); List fieldCustomFilter = new ArrayList<>(); -// for (ChartFieldCustomFilterDTO chartFieldCustomFilterDTO : OrgFieldCustomFilter) { -// fieldCustomFilter.add(chartFieldCustomFilterDTO); -// } + ChartFieldCustomFilterDTO chartFieldCustomFilterDTO = new ChartFieldCustomFilterDTO(); DatasetTableField datasetTableField = new DatasetTableField(); datasetTableField.setOriginName("ROWNUM"); @@ -463,7 +461,6 @@ public class OracleQueryProvider extends QueryProvider { } else { if (pageInfo.getGoPage() != null && pageInfo.getPageSize() != null) { - System.out.println("SELECT * FROM (" + sqlFix(originalTableInfo("(" + sqlFix(table) + ")", xAxis, OrgFieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, fieldCustomFilter)) + ") DE_RESULT_TMP " + " WHERE DE_ROWNUM > " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize()); return "SELECT * FROM (" + sqlFix(originalTableInfo("(" + sqlFix(table) + ")", xAxis, OrgFieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, fieldCustomFilter)) + ") DE_RESULT_TMP " + " WHERE DE_ROWNUM > " + (pageInfo.getGoPage() - 1) * pageInfo.getPageSize(); } else { return "SELECT * FROM (" + sqlFix(originalTableInfo("(" + sqlFix(table) + ")", xAxis, OrgFieldCustomFilter, rowPermissionsTree, extFilterRequestList, ds, view, fieldCustomFilter)) + ") DE_RESULT_TMP "; @@ -525,10 +522,12 @@ public class OracleQueryProvider extends QueryProvider { List fields = new ArrayList<>(); fields.addAll(xFields); List wheres = new ArrayList<>(); + List pageWheres = new ArrayList<>(); + if (customWheres != null) wheres.add(customWheres); if (extWheres != null) wheres.add(extWheres); if (whereTrees != null) wheres.add(whereTrees); - if (oldWhere != null) wheres.add(oldWhere); + if (oldWhere != null) pageWheres.add(oldWhere); List groups = new ArrayList<>(); groups.addAll(xFields); // 外层再次套sql @@ -539,6 +538,7 @@ public class OracleQueryProvider extends QueryProvider { ST st_sql = stg.getInstanceOf("previewSql"); st_sql.add("isGroup", false); if (CollectionUtils.isNotEmpty(xFields)) st_sql.add("groups", xFields); + if (CollectionUtils.isNotEmpty(wheres)) st_sql.add("filters", wheres); if (CollectionUtils.isNotEmpty(orders)) st_sql.add("orders", orders); if (ObjectUtils.isNotEmpty(tableObj)) st_sql.add("table", tableObj); String sql = st_sql.render(); @@ -571,7 +571,7 @@ public class OracleQueryProvider extends QueryProvider { .tableName(String.format(OracleConstants.BRACKETS, sql)) .tableAlias(String.format(TABLE_ALIAS_PREFIX, 2)) .build(); - if (CollectionUtils.isNotEmpty(wheres)) st2.add("filters", wheres); + if (CollectionUtils.isNotEmpty(pageWheres)) st2.add("filters", pageWheres); if (ObjectUtils.isNotEmpty(tableSQL)) st2.add("table", tableSQL2); return st2.render();