diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java b/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java index 6884df268d..5efe1c8908 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java @@ -156,7 +156,12 @@ public class TableDataBeanHelper { if (dataSet.getDatabase() instanceof NameDatabaseConnection) { bean.setDatabase(((NameDatabaseConnection) dataSet.getDatabase()).getName()); } - bean.setQuery(DataEncryptionHelper.encrypt(dataSet.getQuery())); + if (dataSet.getQuery() != null) { + bean.setQuery(DataEncryptionHelper.encrypt(dataSet.getQuery())); + } + if (dataSet.getPageQuerySql() != null) { + bean.setPageQuery(DataEncryptionHelper.encrypt(dataSet.getPageQuerySql())); + } List parameterBeans = new ArrayList<>(); ParameterProvider[] parameters = dataSet.getParameters(Calculator.createCalculator()); for (ParameterProvider parameter : parameters) { @@ -186,7 +191,12 @@ public class TableDataBeanHelper { private static TableData deserialize4SQL(Map connectionMap, DBTableData oldDataSet, JSONObject object) { DBTableData tableData = new DBTableData(); SQLDataSetBean bean = object.mapTo(SQLDataSetBean.class); - tableData.setQuery(DataEncryptionHelper.decrypt(bean.getQuery())); + if (bean.getQuery() != null) { + tableData.setQuery(DataEncryptionHelper.decrypt(bean.getQuery())); + } + if (bean.getPageQuery() != null) { + tableData.setPageQuerySql(DataEncryptionHelper.decrypt(bean.getPageQuery())); + } Connection connection = connectionMap.get(bean.getDatabase()); if (connection != null) { tableData.setDatabase(new NameDatabaseConnection(bean.getDatabase()));