fix(data): 修复事件统计查询和数据完整性处理问题

- 修正事件统计查询中allNum字段的计算逻辑,从COUNT(*)改为按特定标签求和
- 在事件详情VO中新增ITIC描述和F47描述字段
- 补充通信状态数据的第一条记录,确保从0点开始的数据连续性
- 修复数据完整性服务中线路间隔为null或0时的处理逻辑,设置默认值为1
This commit is contained in:
xy
2026-04-30 15:49:08 +08:00
parent a054a20e8a
commit 3990ad2b9a
4 changed files with 24 additions and 5 deletions

View File

@@ -27,7 +27,6 @@ import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
/**
@@ -95,6 +94,20 @@ public class InfluxdbCsCommunicateServiceImpl implements ICsCommunicateService {
List<PqsCommunicateDto> result = new ArrayList<>();
int lastIndex = list.size() - 1;
// 获取第一条数据补充0点数据状态与第一条相反
PqsCommunicate firstItem = list.get(0);
PqsCommunicateDto firstData = new PqsCommunicateDto();
firstData.setTime(lineParam.getStartTime() + " 00:00:00");
firstData.setDevId(lineParam.getLineId().get(0));
if (Objects.equals(firstItem.getType(), 0)) {
firstData.setType(1);
firstData.setDescription("通讯正常");
} else {
firstData.setType(0);
firstData.setDescription("通讯中断");
}
result.add(firstData);
for (int i = 0; i < list.size(); i++) {
PqsCommunicate item = list.get(i);
PqsCommunicateDto dto = convertToDto(item);
@@ -106,10 +119,10 @@ public class InfluxdbCsCommunicateServiceImpl implements ICsCommunicateService {
result.add(endData);
}
}
return result;
}
/**
* 处理无数据的情况
*/

View File

@@ -68,8 +68,8 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl<RStatIntegrityDMa
List<CsLinePO> csLinePOList = csLineFeignClient.getLinesByDevList(devIdList).getData();
csLinePOList.forEach(item->{
//没有统计间隔就计算下一次监测点
if (Objects.isNull(item.getLineInterval())) {
return;
if (Objects.isNull(item.getLineInterval()) || item.getLineInterval() == 0) {
item.setLineInterval(1);
}
//应收数据
int dueCount = 1440 / item.getLineInterval();