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