fix(data-service): 修复相位判断逻辑并优化数据查询配置

- 统一将相位判断条件从"M"改为"T"
- 修正CT/PT变比计算逻辑,增加二次变比处理
- 移除废弃的闪变数据过滤逻辑
- 更新InfluxDB数据表名和字段名配置
- 修改服务接口参数传递方式
- 优化相位数据显示逻辑,统一相位标识处理
This commit is contained in:
xy
2026-05-20 09:26:05 +08:00
parent 16724d7d79
commit a82ea6b217
14 changed files with 65 additions and 81 deletions

View File

@@ -249,7 +249,7 @@ public class MqttMessageHandler {
});
//过滤M相
List<ThdDataVO> m = tempList.stream().filter(temp -> Objects.equals(temp.getPhase(), "M")).collect(Collectors.toList());
List<ThdDataVO> m = tempList.stream().filter(temp -> Objects.equals(temp.getPhase(), "T")).collect(Collectors.toList());
m.stream().forEach(temp -> {
Stream.of("A", "B", "C").forEach(phase -> {
ThdDataVO thdDataVO = new ThdDataVO();
@@ -314,7 +314,7 @@ public class MqttMessageHandler {
});
}
List<ThdDataVO> notM = tempList.stream().filter(temp -> !Objects.equals(temp.getPhase(), "M")).collect(Collectors.toList());
List<ThdDataVO> notM = tempList.stream().filter(temp -> !Objects.equals(temp.getPhase(), "T")).collect(Collectors.toList());
result.addAll(notM);
Gson gson = new Gson();
topoDataJson = gson.toJson(result);

View File

@@ -599,7 +599,7 @@ public class CustomReportServiceImpl implements CustomReportService {
private void assPhase(List<EleEpdPqd> value, ReportTreeVO reportTreeItem, String key) {
List<ReportTreeVO> phaseTree = new ArrayList<>();
value.forEach(item -> {
if (Objects.nonNull(item.getPhase()) && !"M".equals(item.getPhase())) {
if (Objects.nonNull(item.getPhase()) && !"T".equals(item.getPhase())) {
List<ReportTreeVO> statTree = new ArrayList<>();
ReportTreeVO reportTreePhase = new ReportTreeVO();
reportTreePhase.setName(item.getPhase());

View File

@@ -99,8 +99,8 @@ public class DataServiceImpl implements IDataService {
//获取监测点使用的数据集
List<CsLinePO> finalCsLinePOList = csLineFeignClient.queryLineById(Collections.singletonList(param.getLineId())).getData();
CsDataSet csDataSet = csDataSetMapper.selectOne(new LambdaQueryWrapper<CsDataSet>().eq(CsDataSet::getId,finalCsLinePOList.get(0).getDataSetId()));
Double ct = finalCsLinePOList.get(0).getCtRatio();
Double pt = finalCsLinePOList.get(0).getPtRatio();
Double ct = finalCsLinePOList.get(0).getCtRatio() / (Objects.isNull(finalCsLinePOList.get(0).getCt2Ratio())?1.0:finalCsLinePOList.get(0).getCt2Ratio());
Double pt = finalCsLinePOList.get(0).getPtRatio() / (Objects.isNull(finalCsLinePOList.get(0).getPt2Ratio())?1.0:finalCsLinePOList.get(0).getPt2Ratio());
//根据类型id获取指标分组
List<DictTreeVO> dictTreeVOList = dictTreeFeignClient.query(param.getTargetType()).getData();
if (CollUtil.isNotEmpty(dictTreeVOList)) {
@@ -283,7 +283,7 @@ public class DataServiceImpl implements IDataService {
vo2.setPhasicType(item.getPhaseType());
vo2.setData(Objects.isNull(item.getAvgValue()) ? 3.14159 : Double.parseDouble(df.format(item.getAvgValue())));
if (Objects.equals(item.getPhaseType(),"M")) {
if (Objects.equals(item.getPhaseType(),"T")) {
EachModuleVO.DataVo vo3 = new EachModuleVO.DataVo();
vo3.setTime(LocalDateTime.ofInstant(item.getTime().minus(8, ChronoUnit.HOURS), ZoneId.systemDefault()));
vo3.setPhasicType(item.getPhaseType());
@@ -805,7 +805,7 @@ public class DataServiceImpl implements IDataService {
if (Objects.nonNull(phaseC)) {
vo.setValueC(Objects.isNull(phaseC.getAvgValue()) ? 3.14159 : phaseC.getAvgValue());
}
RealTimeDataVo phaseM = v.stream().filter(s->Objects.equals(s.getPhase(),"M")).findFirst().orElse(null);
RealTimeDataVo phaseM = v.stream().filter(s->Objects.equals(s.getPhase(),"T")).findFirst().orElse(null);
if (Objects.nonNull(phaseM)) {
vo.setValueM(Objects.isNull(phaseM.getAvgValue()) ? 3.14159 : phaseM.getAvgValue());
}

View File

@@ -165,7 +165,7 @@ public class LineTargetServiceImpl implements ILineTargetService {
}
String clDid = influxDbParamUtil.getClDidByLineId(item.getLineId());
//基础信息
CsRtDataVO vo = getLineRtData(item.getId(),item.getLineId(),tempTable[3],tempTable[0],Objects.equals(tempTable[1],"T")?"M":tempTable[1],tempTable[2],targetName,clDid);
CsRtDataVO vo = getLineRtData(item.getId(),item.getLineId(),tempTable[3],tempTable[0],Objects.equals(tempTable[1],"T")?"T":tempTable[1],tempTable[2],targetName,clDid);
//设备状态信息
CsEquipmentDeliveryPO po = equipmentFeignClient.getDevByLineId(item.getLineId()).getData();
vo.setDevStatus(po.getRunStatus());
@@ -214,7 +214,7 @@ public class LineTargetServiceImpl implements ILineTargetService {
.collect(Collectors.toList());
String s = tempUid.get(tempUid.size() - 1);
String[] tempTable = s.replace("$", "").split("#");
result.add(getLineRtDataNew(item.getId(),item.getLineId(),tempTable[3],tempTable[0],Objects.equals(tempTable[1],"T")?"M":tempTable[1],tempTable[2],temp,item.getUnit().get(i)));
result.add(getLineRtDataNew(item.getId(),item.getLineId(),tempTable[3],tempTable[0],Objects.equals(tempTable[1],"T")?"T":tempTable[1],tempTable[2],temp,item.getUnit().get(i)));
// result.add(getLineRtData(item.getId(),item.getLineId(),tempUid.get(3),tempUid.get(0),tempUid.get(1),tempUid.get(2).toUpperCase(),temp,"%"));
}
}

View File

@@ -60,11 +60,11 @@ public class StatisticsDataDataServiceImpl implements IStatisticsDataDataService
Integer process = devMap.get(item.getDeviceId()).getProcess();
//治理监测点
if (item.getClDid() == 0) {
statisticalDataDTO = commonService.getCounts(item.getLineId(),"apf_data","Apf_Freq","frequency","M","avg",item.getClDid().toString(),process.toString(),param.getStartTime(),param.getEndTime());
statisticalDataDTO = commonService.getCounts(item.getLineId(),"apf_data","Apf_Freq","frequency","T","AVG",item.getClDid().toString(),process.toString(),param.getStartTime(),param.getEndTime());
}
//电能质量监测点
else {
statisticalDataDTO = commonService.getCounts(item.getLineId(),"pqd_data","Pq_Freq","frequency","M","avg",item.getClDid().toString(),process.toString(),param.getStartTime(),param.getEndTime());
statisticalDataDTO = commonService.getCounts(item.getLineId(),"data_v","freq","frequency","T","AVG",item.getClDid().toString(),process.toString(),param.getStartTime(),param.getEndTime());
}
vo.setDevId(item.getDeviceId());
vo.setDevName(devMap.get(item.getDeviceId()).getName());