fix: db2 分页问题

This commit is contained in:
taojinlong 2021-12-29 18:32:23 +08:00
commit eb69f3c68e
9 changed files with 28 additions and 15 deletions

View File

@ -76,7 +76,7 @@ public class Db2QueryProvider extends QueryProvider {
@Override @Override
public String createSQLPreview(String sql, String orderBy) { public String createSQLPreview(String sql, String orderBy) {
return sqlFix(sql) + " fetch first 1000 rows only;"; return "SELECT * FROM (" + sqlFix(sql) + ") DE_TMP " + " fetch first 1000 rows only;";
} }
@Override @Override
@ -140,6 +140,12 @@ public class Db2QueryProvider extends QueryProvider {
st_sql.add("isGroup", isGroup); st_sql.add("isGroup", isGroup);
if (CollectionUtils.isNotEmpty(xFields)) st_sql.add("groups", xFields); if (CollectionUtils.isNotEmpty(xFields)) st_sql.add("groups", xFields);
if (ObjectUtils.isNotEmpty(tableObj)) st_sql.add("table", tableObj); if (ObjectUtils.isNotEmpty(tableObj)) st_sql.add("table", tableObj);
String customWheres = transCustomFilterList(tableObj, fieldCustomFilter);
List<String> wheres = new ArrayList<>();
if (customWheres != null) wheres.add(customWheres);
if (CollectionUtils.isNotEmpty(wheres)) st_sql.add("filters", wheres);
return st_sql.render(); return st_sql.render();
} }

View File

@ -8,6 +8,7 @@ import io.dataease.base.mapper.ext.ExtChartGroupMapper;
import io.dataease.base.mapper.ext.ExtChartViewMapper; import io.dataease.base.mapper.ext.ExtChartViewMapper;
import io.dataease.commons.constants.CommonConstants; import io.dataease.commons.constants.CommonConstants;
import io.dataease.commons.constants.JdbcConstants; import io.dataease.commons.constants.JdbcConstants;
import io.dataease.commons.exception.DEException;
import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.BeanUtils; import io.dataease.commons.utils.BeanUtils;
import io.dataease.commons.utils.CommonBeanFactory; import io.dataease.commons.utils.CommonBeanFactory;
@ -303,6 +304,9 @@ public class ChartViewService {
if (StringUtils.equalsIgnoreCase(dto.getId(), chartViewFieldDTO.getId())) { if (StringUtils.equalsIgnoreCase(dto.getId(), chartViewFieldDTO.getId())) {
isDrill = true; isDrill = true;
DatasetTableField datasetTableField = dataSetTableFieldsService.get(dto.getId()); DatasetTableField datasetTableField = dataSetTableFieldsService.get(dto.getId());
if (ObjectUtils.isEmpty(datasetTableField)) {
DEException.throwException(Translator.get("i18n_drill_field_not_exist"));
}
ChartViewFieldDTO d = new ChartViewFieldDTO(); ChartViewFieldDTO d = new ChartViewFieldDTO();
BeanUtils.copyBean(d, datasetTableField); BeanUtils.copyBean(d, datasetTableField);

View File

@ -648,7 +648,6 @@ public class DataSetTableService {
datasourceRequest.setPreviewData(true); datasourceRequest.setPreviewData(true);
try { try {
datasourceRequest.setPageable(true); datasourceRequest.setPageable(true);
System.out.println(datasourceRequest.getQuery());
data.addAll(datasourceProvider.getData(datasourceRequest)); data.addAll(datasourceProvider.getData(datasourceRequest));
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
@ -1551,11 +1550,8 @@ public class DataSetTableService {
List<String> originNameList = new ArrayList<>(); List<String> originNameList = new ArrayList<>();
for (int i = 0; i < fields.size(); i++) { for (int i = 0; i < fields.size(); i++) {
TableFiled filed = fields.get(i); TableFiled filed = fields.get(i);
System.out.println(new Gson().toJson(filed));
originNameList.add(filed.getFieldName()); originNameList.add(filed.getFieldName());
DatasetTableField datasetTableField = DatasetTableField.builder().build(); DatasetTableField datasetTableField = DatasetTableField.builder().build();
// 物理字段名设定为唯一查询当前数据集下是否已存在该字段存在则update不存在则insert // 物理字段名设定为唯一查询当前数据集下是否已存在该字段存在则update不存在则insert
DatasetTableFieldExample datasetTableFieldExample = new DatasetTableFieldExample(); DatasetTableFieldExample datasetTableFieldExample = new DatasetTableFieldExample();
// 字段名一致认为字段没有改变 // 字段名一致认为字段没有改变

View File

@ -298,3 +298,4 @@ i18n_invalid_ds=Invalid Datasource
数据同步=Data Sync 数据同步=Data Sync
定时报告=Regular report 定时报告=Regular report
i18n_rp_exist=Row permission of the same type already exists i18n_rp_exist=Row permission of the same type already exists
i18n_drill_field_not_exist=Drill field changedplease delete and add again

View File

@ -297,3 +297,4 @@ i18n_invalid_ds=无效数据源
数据同步=数据同步 数据同步=数据同步
定时报告=定时报告 定时报告=定时报告
i18n_rp_exist=已有同类型的行权限存在 i18n_rp_exist=已有同类型的行权限存在
i18n_drill_field_not_exist=下钻字段发生变更,请删除字段重新添加

View File

@ -160,7 +160,6 @@ license_valid_license_error=授權驗證失敗
license_valid_license_code=授權碼已經存在 license_valid_license_code=授權碼已經存在
import_xmind_count_error=思維導圖導入用例數量不能超過 500 條 import_xmind_count_error=思維導圖導入用例數量不能超過 500 條
import_xmind_not_found=未找到測試用例 import_xmind_not_found=未找到測試用例
test_review_task_notice=測試評審任務通知 test_review_task_notice=測試評審任務通知
test_track.length_less_than=標題過長,字數必須小於 test_track.length_less_than=標題過長,字數必須小於
# check owner # check owner
@ -300,3 +299,4 @@ i18n_invalid_ds=無效數據源
数据同步=數據同步 数据同步=數據同步
定时报告=定時報告 定时报告=定時報告
i18n_rp_exist=已有同類型餓行權限存在 i18n_rp_exist=已有同類型餓行權限存在
i18n_drill_field_not_exist=下鉆字段發生變更,請刪除字段重新添加

View File

@ -40,7 +40,6 @@
<!--手机视图详情--> <!--手机视图详情-->
<el-dialog <el-dialog
:title="'['+showChartInfo.name+']'+$t('chart.chart_details')"
:visible.sync="mobileChartDetailsVisible" :visible.sync="mobileChartDetailsVisible"
:fullscreen="true" :fullscreen="true"
class="mobile-dialog-css" class="mobile-dialog-css"
@ -163,7 +162,7 @@ export default {
} }
if (this.backScreenShot) { if (this.backScreenShot) {
style.height = this.mainHeight style.height = this.mainHeight
} else { } else if (this.terminal === 'pc') {
style.padding = '5px' style.padding = '5px'
} }
return style return style
@ -295,6 +294,7 @@ export default {
openChartDetailsDialog(chartInfo) { openChartDetailsDialog(chartInfo) {
this.showChartInfo = chartInfo.chart this.showChartInfo = chartInfo.chart
this.showChartTableInfo = chartInfo.tableChart this.showChartTableInfo = chartInfo.tableChart
// this.mobileChartDetailsVisible = true
if (this.terminal === 'pc') { if (this.terminal === 'pc') {
this.chartDetailsVisible = true this.chartDetailsVisible = true
} else { } else {
@ -372,5 +372,8 @@ export default {
::v-deep .el-tabs__nav{ ::v-deep .el-tabs__nav{
z-index: 0; z-index: 0;
} }
.mobile-dialog-css ::v-deep .el-dialog__headerbtn{
top: 5px;
}
</style> </style>

View File

@ -213,7 +213,9 @@ export default {
jumpCount++ jumpCount++
} }
}) })
if (this.scaleCoefficientType === 'pc') {
jumpCount && trackMenuInfo.push('jump') jumpCount && trackMenuInfo.push('jump')
}
linkageCount && trackMenuInfo.push('linkage') linkageCount && trackMenuInfo.push('linkage')
this.drillFields.length && trackMenuInfo.push('drill') this.drillFields.length && trackMenuInfo.push('drill')
return trackMenuInfo return trackMenuInfo

View File

@ -56,7 +56,7 @@
<el-tab-pane v-if="table.mode === 1 && (table.type === 'excel' || table.type === 'db' || table.type === 'sql')" :label="$t('dataset.update_info')" name="updateInfo"> <el-tab-pane v-if="table.mode === 1 && (table.type === 'excel' || table.type === 'db' || table.type === 'sql')" :label="$t('dataset.update_info')" name="updateInfo">
<update-info v-if="tabActive=='updateInfo'" :param="param" :table="table" /> <update-info v-if="tabActive=='updateInfo'" :param="param" :table="table" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane v-if="isPluginLoaded" :lazy="true" :label="$t('dataset.row_permissions')" name="rowPermissions"> <el-tab-pane v-if="isPluginLoaded && hasDataPermission('manage',param.privileges)" :lazy="true" :label="$t('dataset.row_permissions')" name="rowPermissions">
<plugin-com v-if="isPluginLoaded && tabActive=='rowPermissions'" ref="RowPermissions" component-name="RowPermissions" :obj="table"/> <plugin-com v-if="isPluginLoaded && tabActive=='rowPermissions'" ref="RowPermissions" component-name="RowPermissions" :obj="table"/>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>