fix: 优化分页工具
This commit is contained in:
parent
81cefa3ffb
commit
77b77612b1
@ -80,8 +80,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sql.append(buildEnvWqOrderBySql(dataSourceRequest.getSort()));
|
sql.append(buildEnvWqOrderBySql(dataSourceRequest.getSort()));
|
||||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
Page<?> page = pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
|
||||||
List<EnvWqVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqVo.class);
|
List<EnvWqVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqVo.class);
|
||||||
fillEnvWqDerivedFields(list, calculated);
|
fillEnvWqDerivedFields(list, calculated);
|
||||||
|
|
||||||
@ -127,8 +126,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sql.append(buildEnvWqDataOrderBySql(dataSourceRequest.getSort()));
|
sql.append(buildEnvWqDataOrderBySql(dataSourceRequest.getSort()));
|
||||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
Page<?> page = pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
|
||||||
List<EnvWqDataVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqDataVo.class);
|
List<EnvWqDataVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqDataVo.class);
|
||||||
fillEnvWqDataDerivedFields(list);
|
fillEnvWqDataDerivedFields(list);
|
||||||
fillEnvWqDataLimit(list);
|
fillEnvWqDataLimit(list);
|
||||||
@ -658,8 +656,7 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
}
|
}
|
||||||
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort(), queryEngDirectly));
|
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort(), queryEngDirectly));
|
||||||
|
|
||||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
Page<?> page = pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
|
||||||
List<WqVmsstbprptVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WqVmsstbprptVo.class);
|
List<WqVmsstbprptVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WqVmsstbprptVo.class);
|
||||||
|
|
||||||
DataSourceResult<WqVmsstbprptVo> result = new DataSourceResult<>();
|
DataSourceResult<WqVmsstbprptVo> result = new DataSourceResult<>();
|
||||||
|
|||||||
@ -316,8 +316,8 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
sql.append(" AND ").append(filterSql).append(" ");
|
sql.append(" AND ").append(filterSql).append(" ");
|
||||||
}
|
}
|
||||||
sql.append(buildSttpInfoOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
sql.append(buildSttpInfoOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||||
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||||
Page<?> page = buildPage(dataSourceRequest == null ? null : dataSourceRequest.toDevRequest());
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions, loadOptions.getSkip(), loadOptions.getTake());
|
||||||
List<SttpInfoVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SttpInfoVo.class);
|
List<SttpInfoVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SttpInfoVo.class);
|
||||||
DataSourceResult<SttpInfoVo> result = new DataSourceResult<>();
|
DataSourceResult<SttpInfoVo> result = new DataSourceResult<>();
|
||||||
result.setData(list);
|
result.setData(list);
|
||||||
@ -348,7 +348,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
}
|
}
|
||||||
sql.append(buildYearDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
sql.append(buildYearDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||||
|
|
||||||
Page<?> page = buildPage(loadOptions);
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
List<SdYearDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdYearDetailVO.class);
|
List<SdYearDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdYearDetailVO.class);
|
||||||
for (SdYearDetailVO vo : list) {
|
for (SdYearDetailVO vo : list) {
|
||||||
vo.setActualTemp(vo.getWt());
|
vo.setActualTemp(vo.getWt());
|
||||||
@ -393,7 +393,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
}
|
}
|
||||||
sql.append(buildMonthDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
sql.append(buildMonthDetailOrderBySql(dataSourceRequest == null ? null : dataSourceRequest.getSort()));
|
||||||
|
|
||||||
Page<?> page = buildPage(loadOptions);
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
List<SdMonthDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdMonthDetailVO.class);
|
List<SdMonthDetailVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdMonthDetailVO.class);
|
||||||
DataSourceResult<SdMonthDetailVO> result = new DataSourceResult<>();
|
DataSourceResult<SdMonthDetailVO> result = new DataSourceResult<>();
|
||||||
result.setData(list);
|
result.setData(list);
|
||||||
@ -480,7 +480,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
paramMap.put("baseId", baseId);
|
paramMap.put("baseId", baseId);
|
||||||
}
|
}
|
||||||
|
|
||||||
Page<?> page = buildPage(dataSourceRequest.toDevRequest());
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
List<WtFishVo> wtFishVoList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtFishVo.class);
|
List<WtFishVo> wtFishVoList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtFishVo.class);
|
||||||
String hbrvcd = wtFishVoList.isEmpty() ? null : wtFishVoList.get(0).getHbrvcd();
|
String hbrvcd = wtFishVoList.isEmpty() ? null : wtFishVoList.get(0).getHbrvcd();
|
||||||
|
|
||||||
@ -734,7 +734,7 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest.getSort()));
|
sql.append(buildVmsstbprptOrderBySql(dataSourceRequest.getSort()));
|
||||||
Page<?> page = buildPage(loadOptions);
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
List<SdWtBaseInfoVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdWtBaseInfoVO.class);
|
List<SdWtBaseInfoVO> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, SdWtBaseInfoVO.class);
|
||||||
|
|
||||||
DataSourceResult<SdWtBaseInfoVO> result = new DataSourceResult<>();
|
DataSourceResult<SdWtBaseInfoVO> result = new DataSourceResult<>();
|
||||||
@ -944,7 +944,8 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
appendCxDetailOrderBy(sql, dataSourceRequest.getSort());
|
appendCxDetailOrderBy(sql, dataSourceRequest.getSort());
|
||||||
Page<?> page = buildPage(dataSourceRequest.toDevRequest());
|
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||||
|
Page<?> page = QgcQueryWrapperUtil.buildPage(loadOptions,loadOptions.getSkip(), loadOptions.getTake());
|
||||||
List<WtCxDetailRow> rowList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtCxDetailRow.class);
|
List<WtCxDetailRow> rowList = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, WtCxDetailRow.class);
|
||||||
|
|
||||||
List<Double> verticalList = getVerticals(rowList, wtDeviceType);
|
List<Double> verticalList = getVerticals(rowList, wtDeviceType);
|
||||||
@ -1777,14 +1778,6 @@ public class SdWtMonitorServiceImpl implements SdWtMonitorService {
|
|||||||
return " ORDER BY " + String.join(", ", orderColumns);
|
return " ORDER BY " + String.join(", ", orderColumns);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Page<?> buildPage(DataSourceLoadOptionsBase loadOptions) {
|
|
||||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
|
||||||
if (Boolean.TRUE.equals(pageInfo.getHasPageInfo())) {
|
|
||||||
return pageInfo.getPage();
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String buildVmsstbprptOrderBySql(List<DataSourceRequest.SortDescriptor> sortList) {
|
private String buildVmsstbprptOrderBySql(List<DataSourceRequest.SortDescriptor> sortList) {
|
||||||
List<String> orderColumns = new ArrayList<>();
|
List<String> orderColumns = new ArrayList<>();
|
||||||
if (sortList != null) {
|
if (sortList != null) {
|
||||||
|
|||||||
@ -77,6 +77,36 @@ public class QgcQueryWrapperUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 支持页码模式和偏移量模式的分页
|
||||||
|
* 优先使用页码模式:当 page > 0 且 pageSize > 0 时,自动转换为 take/skip
|
||||||
|
* 否则回退到原有的 take/skip 偏移量模式
|
||||||
|
*/
|
||||||
|
public static PageInfo getPageInfo(DataSourceLoadOptionsBase loadOptions, Integer page, Integer pageSize) {
|
||||||
|
if (page != null && page > 0 && pageSize != null && pageSize > 0) {
|
||||||
|
loadOptions.setTake(pageSize);
|
||||||
|
loadOptions.setSkip((page - 1) * pageSize);
|
||||||
|
}
|
||||||
|
return getPageInfo(loadOptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Page<?> buildPage(DataSourceLoadOptionsBase loadOptions) {
|
||||||
|
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
||||||
|
if (Boolean.TRUE.equals(pageInfo.getHasPageInfo())) {
|
||||||
|
return pageInfo.getPage();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Page<?> buildPage(DataSourceLoadOptionsBase loadOptions, Integer page, Integer pageSize) {
|
||||||
|
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions, page, pageSize);
|
||||||
|
if (Boolean.TRUE.equals(pageInfo.getHasPageInfo())) {
|
||||||
|
return pageInfo.getPage();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
private static void parseJArrayConditions(JsonArray jsonArray, String fieldName, StringBuffer fieldValue) {
|
private static void parseJArrayConditions(JsonArray jsonArray, String fieldName, StringBuffer fieldValue) {
|
||||||
if (jsonArray != null && jsonArray.size() != 0) {
|
if (jsonArray != null && jsonArray.size() != 0) {
|
||||||
if (jsonArray.get(0).isJsonPrimitive()) {
|
if (jsonArray.get(0).isJsonPrimitive()) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user