fix: 优化逻辑
This commit is contained in:
parent
9b681b2d8f
commit
2a20b09b6f
@ -91,7 +91,50 @@ public class EnvWqDataServiceImpl implements EnvWqDataService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataSourceResult processDataKendoList(DataSourceRequest dataSourceRequest) {
|
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
|
@Override
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user