谐波溯源翻译成java 第一版本,写完技术监督再回来优化

This commit is contained in:
2024-05-20 15:00:17 +08:00
parent 9a6c4e7244
commit f03fc1d1cf
8 changed files with 952 additions and 106 deletions

View File

@@ -91,7 +91,6 @@ public class HistoryResultServiceImpl implements HistoryResultService {
private final DicDataFeignClient dicDataFeignClient;
@Override
public List<HistoryDataResultVO> getHistoryResult(HistoryParam historyParam) {
List<HistoryDataResultVO> historyDataResultVOList = new ArrayList<>();
@@ -195,16 +194,16 @@ public class HistoryResultServiceImpl implements HistoryResultService {
historyDataResultVO.setValue(objectListData);
} else {
//按时间分组
Map<Instant,List<HarmonicHistoryData>> map = harmonicHistoryDataList.stream().collect(Collectors.groupingBy(HarmonicHistoryData::getTime,TreeMap::new, Collectors.toList()));
Map<Instant, List<HarmonicHistoryData>> map = harmonicHistoryDataList.stream().collect(Collectors.groupingBy(HarmonicHistoryData::getTime, TreeMap::new, Collectors.toList()));
Float maxI = null;
Float minI = null;
Float maxI = null;
Float minI = null;
for (Map.Entry<Instant, List<HarmonicHistoryData>> entry : map.entrySet()) {
List<HarmonicHistoryData> val = entry.getValue();
Object[] objects = {PubUtils.instantToDate(entry.getKey()),0,0,0};
Object[] objects = {PubUtils.instantToDate(entry.getKey()), 0, 0, 0};
//需要保证val的长度为3
if(val.size()!=3){
for(int i =0;i<3-val.size();i++){
if (val.size() != 3) {
for (int i = 0; i < 3 - val.size(); i++) {
HarmonicHistoryData tem = new HarmonicHistoryData();
tem.setAValue(0f);
val.add(tem);
@@ -215,7 +214,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
if (InfluxDBTableConstant.PHASE_TYPE_A.equalsIgnoreCase(harmonicHistoryData.getPhasicType())) {
BigDecimal a = BigDecimal.valueOf(harmonicHistoryData.getAValue()).setScale(4, RoundingMode.HALF_UP);
objects[1] =a;
objects[1] = a;
maxI = max(maxI, a.floatValue());
minI = min(minI, a.floatValue());
@@ -237,7 +236,8 @@ public class HistoryResultServiceImpl implements HistoryResultService {
objectListData.add(list);
};
}
;
//下面代码稳定后可删除
/* List<HarmonicHistoryData> aList = harmonicHistoryDataList.stream()
@@ -336,24 +336,24 @@ public class HistoryResultServiceImpl implements HistoryResultService {
}
private Float max(Float ding,Float a){
if(Objects.isNull(ding)){
private Float max(Float ding, Float a) {
if (Objects.isNull(ding)) {
ding = a;
}
if(a>ding){
if (a > ding) {
ding = a;
}
return ding;
return ding;
}
private Float min(Float ding,Float a){
if(Objects.isNull(ding)){
private Float min(Float ding, Float a) {
if (Objects.isNull(ding)) {
ding = a;
}
if(a<ding){
if (a < ding) {
ding = a;
}
return ding;
return ding;
}
private QueryResultLimitVO getQueryResult(String startTime, String endTime, String lineId, String contion, Integer number, Integer valueType, Integer ptType) {
@@ -369,12 +369,12 @@ public class HistoryResultServiceImpl implements HistoryResultService {
LineDevGetDTO lineDetailDataVO = commTerminalGeneralClient.getMonitorDetail(lineId).getData();
//获取限值
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(lineId).getData();
if(Objects.isNull(overlimit)){
if (Objects.isNull(overlimit)) {
//对配网没有限值的统一处理
DictData dictData = dicDataFeignClient.getDicDataById(lineDetailDataVO.getVoltageLevel()).getData();
float voltageLevel = Float.parseFloat(dictData.getValue());
float shortVal = COverlimitUtil.getDlCapByVoltageLevel(voltageLevel);
overlimit = COverlimitUtil.globalAssemble(voltageLevel,10f,10f,shortVal,1,1);
overlimit = COverlimitUtil.globalAssemble(voltageLevel, 10f, 10f, shortVal, 1, 1);
}
@@ -939,7 +939,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
if (Integer.parseInt(normHistoryParam.getTargetCode()) != 60 || Integer.parseInt(normHistoryParam.getTargetCode()) != 61 || Integer.parseInt(normHistoryParam.getTargetCode()) != 62) {
stringBuilder.append(" and ").append(InfluxDBTableConstant.VALUE_TYPE + "='").append(valueTypeName).append("'");
}
if(StrUtil.isNotBlank(phasicType)){
if (StrUtil.isNotBlank(phasicType)) {
stringBuilder.append(" and ").append("phasic_type ='").append(phasicType).append("'");
}
@@ -1160,6 +1160,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
throw new BusinessException(HarmonicResponseEnum.NO_DATA);
}
//最新两条数据的间隔与监测点查出的间隔做对比,返回一个合理的间隔
historyData = historyData.stream().filter(Objects::nonNull).collect(Collectors.toList());
int lineInterval = getInterval(lineDetailData.getInterval(), PubUtils.instantToDate(historyData.get(historyData.size() - 1).getTime()), PubUtils.instantToDate(historyData.get(historyData.size() - 2).getTime()));
historyData = dealHistoryData(historyData, lineInterval);
if (CollectionUtils.isEmpty(historyData)) {