feat(data): 添加InfluxDB存储名称映射功能

- 在CsDataArray实体类中新增influxDbName字段用于存储InfluxDB名称
- 集成字典数据和EPD服务实现数据映射逻辑
- 修改多个服务类中的数据查询逻辑以支持别名映射
- 统一数据类型转换为大写格式提升数据一致性
- 优化时间范围计算逻辑并移除无效的数据处理代码
- 清理无用的导入包和服务依赖项
This commit is contained in:
xy
2026-05-18 18:35:40 +08:00
parent aa36c077f2
commit 16724d7d79
8 changed files with 113 additions and 43 deletions

View File

@@ -33,6 +33,7 @@ import com.njcn.csharmonic.pojo.vo.RealTimeDataVo;
import com.njcn.csharmonic.service.CsEventPOService;
import com.njcn.csharmonic.service.IDataService;
import com.njcn.csharmonic.util.InfluxDbParamUtil;
import com.njcn.influx.constant.InfluxDbSqlConstant;
import com.njcn.influx.pojo.bo.CommonQueryParam;
import com.njcn.influx.pojo.dto.EventDataSetDTO;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
@@ -510,7 +511,12 @@ public class DataServiceImpl implements IDataService {
double re;
vo.setId(item2.getId());
vo.setName(item2.getName());
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getName(),item2.getPhase(),"avg",influxDbParamUtil.getClDidByLineId(lineId));
StatisticalDataDTO statisticalDataDTO;
if (item2.getOtherName() == null || item2.getOtherName().isEmpty()) {
statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getName(),item2.getPhase(), InfluxDbSqlConstant.AVG_WEB,influxDbParamUtil.getClDidByLineId(lineId));
} else {
statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getOtherName(),item2.getPhase(), InfluxDbSqlConstant.AVG_WEB,influxDbParamUtil.getClDidByLineId(lineId));
}
if (Objects.nonNull(statisticalDataDTO)) {
vo.setTime(statisticalDataDTO.getTime());
vo.setAvgValue(statisticalDataDTO.getValue());
@@ -600,7 +606,12 @@ public class DataServiceImpl implements IDataService {
RealTimeDataVo vo = new RealTimeDataVo();
vo.setId(item2.getId());
vo.setName(item2.getName().concat("_").concat(Integer.toString(i)));
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getName().concat("_").concat(Integer.toString(i)),item2.getPhase(),"avg",influxDbParamUtil.getClDidByLineId(lineId));
StatisticalDataDTO statisticalDataDTO;
if (item2.getOtherName() == null || item2.getOtherName().isEmpty()) {
statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getName().concat("_").concat(Integer.toString(i)),item2.getPhase(),InfluxDbSqlConstant.AVG_WEB,influxDbParamUtil.getClDidByLineId(lineId));
} else {
statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getOtherName().concat("_").concat(Integer.toString(i)),item2.getPhase(),InfluxDbSqlConstant.AVG_WEB,influxDbParamUtil.getClDidByLineId(lineId));
}
double re;
String unit;
if (Objects.equals("Primary",dataLevel)) {
@@ -679,7 +690,12 @@ public class DataServiceImpl implements IDataService {
RealTimeDataVo vo = new RealTimeDataVo();
vo.setId(item2.getId());
vo.setName(item2.getName().concat("_").concat(Integer.toString(i)));
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getName().concat("_").concat(Integer.toString(i)),item2.getPhase(),"avg",influxDbParamUtil.getClDidByLineId(lineId));
StatisticalDataDTO statisticalDataDTO;
if (item2.getOtherName() == null || item2.getOtherName().isEmpty()) {
statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getName().concat("_").concat(Integer.toString(i)),item2.getPhase(),InfluxDbSqlConstant.AVG_WEB,influxDbParamUtil.getClDidByLineId(lineId));
} else {
statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(item2.getClassId()),item2.getOtherName().concat("_").concat(Integer.toString(i)),item2.getPhase(),InfluxDbSqlConstant.AVG_WEB,influxDbParamUtil.getClDidByLineId(lineId));
}
double re;
String unit;
if (Objects.equals("Primary",dataLevel)) {
@@ -759,16 +775,16 @@ public class DataServiceImpl implements IDataService {
time.set(item.getTime());
}
});
if (Objects.nonNull(time.get())) {
list.forEach(item->{
if (ObjectUtil.isNotNull(item.getTime()) && item.getTime().isBefore(time.get())) {
item.setAvgValue(3.14159);
item.setValueA(3.14159);
item.setValueB(3.14159);
item.setValueC(3.14159);
}
});
}
// if (Objects.nonNull(time.get())) {
// list.forEach(item->{
// if (ObjectUtil.isNotNull(item.getTime()) && item.getTime().isBefore(time.get())) {
// item.setAvgValue(3.14159);
// item.setValueA(3.14159);
// item.setValueB(3.14159);
// item.setValueC(3.14159);
// }
// });
// }
List<RealTimeDataVo> result = new ArrayList<>();
//将list 排序,并按照排序后的结果进行有序分组

View File

@@ -7,8 +7,6 @@ import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.api.EquipmentFeignClient;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO;
import com.njcn.csdevice.pojo.dto.LineParamDTO;
import com.njcn.csdevice.pojo.po.CsLedger;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csdevice.utils.ReflectUtils;
import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
@@ -30,7 +28,6 @@ import com.njcn.system.api.CsStatisticalSetFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.EpdFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.EleEpdPqd;
import lombok.RequiredArgsConstructor;
import org.influxdb.dto.QueryResult;
@@ -39,7 +36,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.text.DecimalFormat;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@@ -211,11 +207,13 @@ public class StableDataServiceImpl implements StableDataService {
CommonQueryParam commonQueryParam = new CommonQueryParam();
commonQueryParam.setLineId(temp.getLineId());
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(data.getClassId()));
commonQueryParam.setColumnName(data.getName()+ finalFrequency1);
if (data.getName() == null || data.getName().isEmpty()) {
commonQueryParam.setColumnName(data.getName()+ finalFrequency1);
} else {
commonQueryParam.setColumnName(data.getOtherName()+ finalFrequency1);
}
commonQueryParam.setPhasic(data.getPhase());
// commonQueryParam.setStartTime();
// commonQueryParam.setEndTime();
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType().toUpperCase());
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
@@ -284,11 +282,15 @@ public class StableDataServiceImpl implements StableDataService {
CommonQueryParam commonQueryParam = new CommonQueryParam();
commonQueryParam.setLineId(temp.getLineId());
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId()));
commonQueryParam.setColumnName(epdPqd.getName()+ finalFrequency1);
if (epdPqd.getName() == null || epdPqd.getName().isEmpty()) {
commonQueryParam.setColumnName(epdPqd.getName()+ finalFrequency1);
} else {
commonQueryParam.setColumnName(epdPqd.getOtherName()+ finalFrequency1);
}
commonQueryParam.setPhasic(epdPqd.getPhase());
commonQueryParam.setStartTime(commonStatisticalQueryParam.getStartTime() + " 00:00:00");
commonQueryParam.setEndTime(commonStatisticalQueryParam.getEndTime() + " 23:59:59");
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType().toUpperCase());
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));