fix: 优化逻辑
This commit is contained in:
parent
9b681b2d8f
commit
2a20b09b6f
@ -91,7 +91,50 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
||||
|
||||
@Override
|
||||
public DataSourceResult processDataKendoList(DataSourceRequest dataSourceRequest) {
|
||||
return null;
|
||||
boolean calculated = CommonConstant.CALCULATE_SUCCESS.equals(
|
||||
RequestHolder.getHttpServletRequest().getParameter(CommonConstant.CALCULATE_FLAG)
|
||||
);
|
||||
|
||||
StringBuilder sql = new StringBuilder(buildEnvWqDataBaseSql(calculated));
|
||||
Map<String, Object> paramMap = new HashMap<>();
|
||||
String filterSql = buildEnvWqDataFilterCondition(
|
||||
dataSourceRequest == null ? null : dataSourceRequest.getFilter(),
|
||||
paramMap,
|
||||
new int[]{0}
|
||||
);
|
||||
if (StrUtil.isNotBlank(filterSql)) {
|
||||
sql.append(" AND ").append(filterSql).append(" ");
|
||||
}
|
||||
|
||||
DataSourceLoadOptionsBase loadOptions = dataSourceRequest.toDevRequest();
|
||||
String groupBy = KendoUtil.getGroupBy(dataSourceRequest);
|
||||
GroupingInfo[] groupInfos = loadOptions.getGroup();
|
||||
if (StrUtil.isNotBlank(groupBy) && groupInfos != null && groupInfos.length > 0) {
|
||||
String groupedSql = buildEnvWqDataGroupSql(sql.toString(), groupBy, groupInfos);
|
||||
List<Map<String, Object>> list = microservicDynamicSQLMapper.pageAllList(null, groupedSql, paramMap);
|
||||
DataSourceResult result = new DataSourceResult();
|
||||
if (Boolean.TRUE.equals(dataSourceRequest.getGroupResultFlat())) {
|
||||
result.setData(new GroupHelper().faltGroup(list, Arrays.asList(groupInfos)));
|
||||
} else {
|
||||
result.setData(new GroupHelper().group(list, Arrays.asList(groupInfos)));
|
||||
}
|
||||
result.setTotal(0L);
|
||||
result.setAggregates(new HashMap<>());
|
||||
return result;
|
||||
}
|
||||
|
||||
sql.append(buildEnvWqDataOrderBySql(dataSourceRequest.getSort()));
|
||||
PageInfo pageInfo = QgcQueryWrapperUtil.getPageInfo(loadOptions);
|
||||
Page<?> page = pageInfo.getHasPageInfo() ? pageInfo.getPage() : null;
|
||||
List<EnvWqDataVo> list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqDataVo.class);
|
||||
fillEnvWqDataDerivedFields(list);
|
||||
fillEnvWqDataLimit(list);
|
||||
|
||||
DataSourceResult<EnvWqDataVo> result = new DataSourceResult<>();
|
||||
result.setData(list);
|
||||
result.setTotal(page != null ? page.getTotal() : list.size());
|
||||
result.setAggregates(new HashMap<>());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
Reference in New Issue
Block a user