From 2a20b09b6f928be26bcac495fc6a76cda989a8d0 Mon Sep 17 00:00:00 2001 From: tangwei Date: Tue, 26 May 2026 19:32:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wq/service/impl/EnvWqDataServiceImpl.java | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/com/yfd/platform/env/wq/service/impl/EnvWqDataServiceImpl.java b/backend/src/main/java/com/yfd/platform/env/wq/service/impl/EnvWqDataServiceImpl.java index 4cf08ed..5246a5c 100644 --- a/backend/src/main/java/com/yfd/platform/env/wq/service/impl/EnvWqDataServiceImpl.java +++ b/backend/src/main/java/com/yfd/platform/env/wq/service/impl/EnvWqDataServiceImpl.java @@ -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 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> 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 list = microservicDynamicSQLMapper.pageAllListWithResultType(page, sql.toString(), paramMap, EnvWqDataVo.class); + fillEnvWqDataDerivedFields(list); + fillEnvWqDataLimit(list); + + DataSourceResult result = new DataSourceResult<>(); + result.setData(list); + result.setTotal(page != null ? page.getTotal() : list.size()); + result.setAggregates(new HashMap<>()); + return result; } @Override