fix: 生态流量监测数量统计优化

This commit is contained in:
tangwei 2026-06-01 16:51:59 +08:00
parent 787e3fea42
commit aea22ebf02

View File

@ -527,7 +527,7 @@ public class EngEqDataServiceImpl implements EngEqDataService {
Map<String, Object> paramMap,
int[] indexHolder) {
String tableName = "day".equalsIgnoreCase(type) ? "SD_QECDAY_S" : "SD_QEC_R";
String timeFilter = buildStaticTimeFilterCondition(filter, paramMap, indexHolder);
String timeFilter = buildStaticTimeFilterCondition(filter, paramMap, indexHolder,type);
StringBuilder sql = new StringBuilder();
sql.append("SELECT data.STCD, ")
.append("(CASE WHEN SUM(CASE WHEN data.SFDB IN (0, 1) THEN 1 ELSE 0 END) = 0 THEN NULL ")
@ -985,7 +985,7 @@ public class EngEqDataServiceImpl implements EngEqDataService {
private String buildStaticTimeFilterCondition(DataSourceRequest.FilterDescriptor filter,
Map<String, Object> paramMap,
int[] indexHolder) {
int[] indexHolder,String type) {
if (filter == null) {
return "";
}
@ -993,14 +993,20 @@ public class EngEqDataServiceImpl implements EngEqDataService {
if (!"tm".equalsIgnoreCase(filter.getField())) {
return "";
}
return buildGenericCondition("data.TM", filter, paramMap, indexHolder, true);
if (type.equals("day")) {
return buildGenericCondition("data.DT", filter, paramMap, indexHolder, true);
}else{
return buildGenericCondition("data.TM", filter, paramMap, indexHolder, true);
}
}
if (CollUtil.isEmpty(filter.getFilters())) {
return "";
}
List<String> conditions = new ArrayList<>();
for (DataSourceRequest.FilterDescriptor child : filter.getFilters()) {
String childSql = buildStaticTimeFilterCondition(child, paramMap, indexHolder);
String childSql = buildStaticTimeFilterCondition(child, paramMap, indexHolder,type);
if (StrUtil.isNotBlank(childSql)) {
conditions.add("(" + childSql + ")");
}