fix: 生态流量监测数量统计优化
This commit is contained in:
parent
787e3fea42
commit
aea22ebf02
@ -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 "";
|
||||
}
|
||||
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 + ")");
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user