闪变、重新计算逻辑调整
This commit is contained in:
@@ -99,6 +99,8 @@ import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.njcn.gather.plan.pojo.enums.DataSourceEnum.*;
|
||||
|
||||
/**
|
||||
* @author caozehui
|
||||
* @data 2024-12-30
|
||||
@@ -111,6 +113,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
private final IAdPlanService adPlanService;
|
||||
private final IAdPlanTestConfigService adPlanTestConfigService;
|
||||
private final IPqDevService pqDevService;
|
||||
private final IPqStandardDevService pqStandardDevService;
|
||||
private final SimAndDigNonHarmonicService simAndDigNonHarmonicService;
|
||||
private final SimAndDigHarmonicService simAndDigHarmonicService;
|
||||
private final ContrastHarmonicService contrastHarmonicService;
|
||||
@@ -2705,7 +2708,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
if (CollUtil.isNotEmpty(contrastHarmonicResults)) {
|
||||
ContrastHarmonicResult contrastHarmonicResult = contrastHarmonicResults.get(0);
|
||||
List<Double> harmonicNum = null;
|
||||
if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode())) {
|
||||
if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode()) || DicDataEnum.HP.getCode().equals(dictTree.getCode())) {
|
||||
harmonicNum = Stream.iterate(2.0, n -> n + 1).limit(49).collect(Collectors.toList());
|
||||
}
|
||||
if (DicDataEnum.HSV.getCode().equals(dictTree.getCode()) || DicDataEnum.HSI.getCode().equals(dictTree.getCode())) {
|
||||
@@ -2789,7 +2792,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
|
||||
if (CollUtil.isNotEmpty(devHarmonicRawDataList) && CollUtil.isNotEmpty(stdDevHarmonicRawDataList)) {
|
||||
List<Double> harmonicNum = null;
|
||||
if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode())) {
|
||||
if (DicDataEnum.HV.getCode().equals(dictTree.getCode()) || DicDataEnum.HI.getCode().equals(dictTree.getCode()) || DicDataEnum.HP.getCode().equals(dictTree.getCode())) {
|
||||
harmonicNum = Stream.iterate(2.0, n -> n + 1).limit(49).collect(Collectors.toList());
|
||||
}
|
||||
if (DicDataEnum.HSV.getCode().equals(dictTree.getCode()) || DicDataEnum.HSI.getCode().equals(dictTree.getCode())) {
|
||||
@@ -3043,18 +3046,19 @@ public class ResultServiceImpl implements IResultService {
|
||||
|
||||
DataSourceEnum nonWaveDataSourceEnum = DataSourceEnum.REAL_DATA;
|
||||
for (String ds : dataSourceIds) {
|
||||
switch (DataSourceEnum.valueOf(ds)) {
|
||||
DataSourceEnum dataSourceEnum = DataSourceEnum.ofByValue(ds);
|
||||
switch (dataSourceEnum) {
|
||||
case MINUTE_STATISTICS_MIN:
|
||||
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_MIN;
|
||||
nonWaveDataSourceEnum = MINUTE_STATISTICS_MIN;
|
||||
break;
|
||||
case MINUTE_STATISTICS_MAX:
|
||||
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_MAX;
|
||||
nonWaveDataSourceEnum = MINUTE_STATISTICS_MAX;
|
||||
break;
|
||||
case MINUTE_STATISTICS_AVG:
|
||||
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_AVG;
|
||||
break;
|
||||
case MINUTE_STATISTICS_CP95:
|
||||
nonWaveDataSourceEnum = DataSourceEnum.MINUTE_STATISTICS_CP95;
|
||||
nonWaveDataSourceEnum = MINUTE_STATISTICS_CP95;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -3107,6 +3111,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
parsId.put(dev.getId() + CnSocketUtil.SPLIT_TAG + split1[1], standardDev.getId() + CnSocketUtil.SPLIT_TAG + split2[1]);
|
||||
numMap.put(devMonitorId, num);
|
||||
numMap.put(adPair.getStdDevMonitorId(), num);
|
||||
devIdMapComm.put(standardDev.getIp(), standardDev.getId());
|
||||
});
|
||||
|
||||
List<ContrastNonHarmonicResult> devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null);
|
||||
@@ -3114,8 +3119,8 @@ public class ResultServiceImpl implements IResultService {
|
||||
List<ContrastHarmonicResult> devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null);
|
||||
List<ContrastHarmonicResult> stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 1, deviceId, null);
|
||||
|
||||
List<DevData> devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap);
|
||||
List<DevData> standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap);
|
||||
List<DevData> devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap, 0);
|
||||
List<DevData> standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap, 1);
|
||||
|
||||
detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, null, finalNonWaveDataSourceEnum);
|
||||
|
||||
@@ -3132,8 +3137,8 @@ public class ResultServiceImpl implements IResultService {
|
||||
devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 0, deviceId, null);
|
||||
stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 1, deviceId, null);
|
||||
|
||||
devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap);
|
||||
standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap);
|
||||
devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap, 0);
|
||||
standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap, 1);
|
||||
detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, oldCode, i, DataSourceEnum.WAVE_DATA);
|
||||
}
|
||||
|
||||
@@ -3230,58 +3235,79 @@ public class ResultServiceImpl implements IResultService {
|
||||
return info;
|
||||
}
|
||||
|
||||
private List<DevData> contrastToList(List<ContrastNonHarmonicResult> nonHarm, List<ContrastHarmonicResult> harm, BiMap<String, String> testItemMap) {
|
||||
private List<DevData> contrastToList(List<ContrastNonHarmonicResult> nonHarm, List<ContrastHarmonicResult> harm, BiMap<String, String> testItemMap, Integer flag) {
|
||||
List<DevData> info = new ArrayList<>();
|
||||
if (CollUtil.isNotEmpty(nonHarm)) {
|
||||
Map<String, List<ContrastNonHarmonicResult>> devMonitorIdMap = nonHarm.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getDevMonitorId, Collectors.toList()));
|
||||
devMonitorIdMap.forEach((devMonitorId, value) -> {
|
||||
|
||||
Map<String, List<ContrastNonHarmonicResult>> devMonitorIdMap1 = null;
|
||||
if (flag == 0) {
|
||||
devMonitorIdMap1 = nonHarm.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getDevMonitorId, Collectors.toList()));
|
||||
} else {
|
||||
devMonitorIdMap1 = nonHarm.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getStdDevMonitorId, Collectors.toList()));
|
||||
}
|
||||
devMonitorIdMap1.forEach((devMonitorId, value) -> {
|
||||
Map<LocalDateTime, List<ContrastNonHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getTimeId, Collectors.toList()));
|
||||
timeListMap.forEach((time, value1) -> {
|
||||
DevData devData = new DevData();
|
||||
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
|
||||
PqDev dev = pqDevService.getById(split[0]);
|
||||
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
|
||||
Map<LocalDateTime, List<ContrastNonHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastNonHarmonicResult::getTimeId, Collectors.toList()));
|
||||
timeListMap.forEach((time, value1) -> {
|
||||
List<DevData.SqlDataDTO> sqlData = new ArrayList<>();
|
||||
devData.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN)));
|
||||
if (flag == 0) {
|
||||
PqDev dev = pqDevService.getById(split[0]);
|
||||
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
|
||||
} else {
|
||||
PqStandardDev standardDev = pqStandardDevService.getById(split[0]);
|
||||
devData.setId(standardDev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
|
||||
}
|
||||
devData.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN)));
|
||||
List<DevData.SqlDataDTO> sqlData = new ArrayList<>();
|
||||
|
||||
value1.forEach(x -> {
|
||||
DevData.SqlDataDTO sqlDataDTO = new DevData.SqlDataDTO();
|
||||
DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||
listDTO.setA(StrUtil.isNotBlank(x.getAValue()) ? Double.valueOf(x.getAValue()) : null);
|
||||
listDTO.setB(StrUtil.isNotBlank(x.getBValue()) ? Double.valueOf(x.getBValue()) : null);
|
||||
listDTO.setC(StrUtil.isNotBlank(x.getCValue()) ? Double.valueOf(x.getCValue()) : null);
|
||||
listDTO.setT(StrUtil.isNotBlank(x.getTValue()) ? Double.valueOf(x.getTValue()) : null);
|
||||
sqlDataDTO.setType(x.getDataType());
|
||||
sqlDataDTO.setDesc(testItemMap.inverse().get(x.getAdType()).replace(DetectionCodeEnum.REAL_PREFIX.getCode(), ""));
|
||||
sqlDataDTO.setList(listDTO);
|
||||
sqlData.add(sqlDataDTO);
|
||||
});
|
||||
devData.setSqlData(sqlData);
|
||||
value1.forEach(x -> {
|
||||
DevData.SqlDataDTO sqlDataDTO = new DevData.SqlDataDTO();
|
||||
DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||
listDTO.setA(StrUtil.isNotBlank(x.getAValue()) ? Double.valueOf(x.getAValue()) : null);
|
||||
listDTO.setB(StrUtil.isNotBlank(x.getBValue()) ? Double.valueOf(x.getBValue()) : null);
|
||||
listDTO.setC(StrUtil.isNotBlank(x.getCValue()) ? Double.valueOf(x.getCValue()) : null);
|
||||
listDTO.setT(StrUtil.isNotBlank(x.getTValue()) ? Double.valueOf(x.getTValue()) : null);
|
||||
sqlDataDTO.setType(x.getDataType());
|
||||
sqlDataDTO.setDesc(testItemMap.inverse().get(x.getAdType()).replace(DetectionCodeEnum.REAL_PREFIX.getCode(), ""));
|
||||
sqlDataDTO.setList(listDTO);
|
||||
sqlData.add(sqlDataDTO);
|
||||
});
|
||||
devData.setSqlData(sqlData);
|
||||
info.add(devData);
|
||||
});
|
||||
});
|
||||
|
||||
Map<String, List<ContrastHarmonicResult>> devMonitorIdMap2 = null;
|
||||
if (flag == 0) {
|
||||
devMonitorIdMap2 = harm.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getDevMonitorId, Collectors.toList()));
|
||||
} else {
|
||||
devMonitorIdMap2 = harm.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getStdDevMonitorId, Collectors.toList()));
|
||||
}
|
||||
if (CollUtil.isNotEmpty(harm)) {
|
||||
Map<String, List<ContrastHarmonicResult>> devMonitorIdMap = harm.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getDevMonitorId, Collectors.toList()));
|
||||
devMonitorIdMap.forEach((devMonitorId, value) -> {
|
||||
DevData devData = new DevData();
|
||||
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
|
||||
PqDev dev = pqDevService.getById(split[0]);
|
||||
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
|
||||
Map<LocalDateTime, List<ContrastHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getTimeId, Collectors.toList()));
|
||||
|
||||
timeListMap.forEach((time, value1) -> {
|
||||
devMonitorIdMap2.forEach((devMonitorId, value) -> {
|
||||
Map<LocalDateTime, List<ContrastHarmonicResult>> timeListMap = value.stream().collect(Collectors.groupingBy(ContrastHarmonicResult::getTimeId, Collectors.toList()));
|
||||
|
||||
timeListMap.forEach((time, value1) -> {
|
||||
DevData devData = info.stream().filter(x -> x.getTime().equals(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN)))).findFirst().orElse(null);
|
||||
if (ObjectUtil.isNotNull(devData)) {
|
||||
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
|
||||
if (flag == 0) {
|
||||
PqDev dev = pqDevService.getById(split[0]);
|
||||
devData.setId(dev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
|
||||
} else {
|
||||
PqStandardDev standardDev = pqStandardDevService.getById(split[0]);
|
||||
devData.setId(standardDev.getIp() + CnSocketUtil.SPLIT_TAG + split[1]);
|
||||
}
|
||||
|
||||
devData.setTime(time.format(DateTimeFormatter.ofPattern(DatePattern.ISO8601_PATTERN)));
|
||||
List<DevData.SqlDataDTO> sqlData = new ArrayList<>();
|
||||
List<DevData.SqlDataDTO> sqlData = devData.getSqlData();
|
||||
List<DevData.SqlDataHarmDTO> sqlDataHarm = new ArrayList<>();
|
||||
|
||||
value1.forEach(x -> {
|
||||
DevData.SqlDataHarmDTO dataHarmDTO = new DevData.SqlDataHarmDTO();
|
||||
dataHarmDTO.setType(x.getDataType());
|
||||
String desc = testItemMap.inverse().get(x.getAdType()).replace(DetectionCodeEnum.REAL_PREFIX.getCode(), "");
|
||||
dataHarmDTO.setDesc(desc);
|
||||
boolean notContainBaseHarm = false;
|
||||
if (DetectionCodeEnum.V2_50.getCode().equals(desc) || DetectionCodeEnum.PV2_50.getCode().equals(desc) || DetectionCodeEnum.I2_50.getCode().equals(desc)) {
|
||||
if (DetectionCodeEnum.V2_50.getCode().equals(desc) || DetectionCodeEnum.PV2_50.getCode().equals(desc) || DetectionCodeEnum.I2_50.getCode().equals(desc) || DetectionCodeEnum.P2_50.getCode().equals(desc)) {
|
||||
dataHarmDTO.setNum(49);
|
||||
notContainBaseHarm = true;
|
||||
}
|
||||
@@ -3316,12 +3342,13 @@ public class ResultServiceImpl implements IResultService {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
devData.setSqlDataHarm(sqlDataHarm);
|
||||
devData.setSqlData(sqlData);
|
||||
});
|
||||
info.add(devData);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user