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
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
@ -140,6 +140,12 @@ public class Db2QueryProvider extends QueryProvider {
st_sql.add("isGroup", isGroup);
if (CollectionUtils.isNotEmpty(xFields)) st_sql.add("groups", xFields);
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();
}

View File

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

View File

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

View File

@ -298,3 +298,4 @@ i18n_invalid_ds=Invalid Datasource
数据同步=Data Sync
定时报告=Regular report
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_drill_field_not_exist=下钻字段发生变更,请删除字段重新添加

View File

@ -160,7 +160,6 @@ license_valid_license_error=授權驗證失敗
license_valid_license_code=授權碼已經存在
import_xmind_count_error=思維導圖導入用例數量不能超過 500 條
import_xmind_not_found=未找到測試用例
test_review_task_notice=測試評審任務通知
test_track.length_less_than=標題過長,字數必須小於
# check owner
@ -237,7 +236,7 @@ i18n_chart_count=記錄數*
i18n_excel_have_merge_region=Excel存在合並單元格
i18n_cron_expression_error=Cron表達式校驗錯誤
i18n_same_folder_can_not_repeat=同一目錄下該名稱已被使用
i18n_select_diff_folder= 请选择不同的目录
i18n_select_diff_folder=请选择不同的目录
i18n_default_panel=默認儀表板
i18n_panel_list=儀表板
i18n_processing_data=正在處理數據,稍後刷新
@ -253,7 +252,7 @@ i18n_sync_job_exists=已經有同步任務在運行,稍後重試
i18n_datasource_check_fail=校驗失敗,請檢查配置信息
i18n_not_find_user=未找到用戶
i18n_sql_not_empty=SQL 不能為空
i18n_datasource_not_allow_delete_msg= 個數據集正在使用此數據源,無法刪除
i18n_datasource_not_allow_delete_msg=個數據集正在使用此數據源,無法刪除
i18n_task_name_repeat=同一數據集下任務名稱已被使用
i18n_id_or_pwd_error=無效的ID或密碼
i18n_datasource_delete=當前用到的數據源已被刪除
@ -300,3 +299,4 @@ i18n_invalid_ds=無效數據源
数据同步=數據同步
定时报告=定時報告
i18n_rp_exist=已有同類型餓行權限存在
i18n_drill_field_not_exist=下鉆字段發生變更,請刪除字段重新添加

View File

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

View File

@ -213,7 +213,9 @@ export default {
jumpCount++
}
})
jumpCount && trackMenuInfo.push('jump')
if (this.scaleCoefficientType === 'pc') {
jumpCount && trackMenuInfo.push('jump')
}
linkageCount && trackMenuInfo.push('linkage')
this.drillFields.length && trackMenuInfo.push('drill')
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">
<update-info v-if="tabActive=='updateInfo'" :param="param" :table="table" />
</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"/>
</el-tab-pane>
</el-tabs>