相序校验角度验证调整

This commit is contained in:
wr
2025-02-08 09:03:26 +08:00
parent ccb11142d1
commit 776141bea7

View File

@@ -906,8 +906,6 @@ public class SocketDevResponseService {
} }
Map<String, List<DevLineTestResult>> targetTestMap = new HashMap<>(); Map<String, List<DevLineTestResult>> targetTestMap = new HashMap<>();
/** /**
@@ -1190,7 +1188,7 @@ public class SocketDevResponseService {
private List<SourceCompareDev> devIsSource(List<DevData> dev, SourceIssue issue) { private List<SourceCompareDev> devIsSource(List<DevData> dev, SourceIssue issue) {
List<SourceCompareDev> info = new ArrayList<>(); List<SourceCompareDev> info = new ArrayList<>();
//相序校验信息 //相序校验信息
LinkedHashMap<String, List<DevData>> devMap = dev.stream() LinkedHashMap<String, List<DevData>> devMap = dev.stream()
.sorted(Comparator.comparing(DevData::getId)) .sorted(Comparator.comparing(DevData::getId))
.collect(Collectors.groupingBy(DevData::getId, LinkedHashMap::new, Collectors.toList())); .collect(Collectors.groupingBy(DevData::getId, LinkedHashMap::new, Collectors.toList()));
@@ -1207,7 +1205,9 @@ public class SocketDevResponseService {
List<String> i = Arrays.asList("IRMS", "IA", "I", "I", "电流"); List<String> i = Arrays.asList("IRMS", "IA", "I", "I", "电流");
devMap.forEach((key, value) -> { devMap.forEach((key, value) -> {
List<DevData.SqlDataDTO> sqlData = value.stream().flatMap(x -> x.getSqlData().stream()).collect(Collectors.toList()); List<DevData.SqlDataDTO> sqlData = value.stream().flatMap(x -> x.getSqlData().stream()).collect(Collectors.toList());
//电压
getResult(key, sqlData, sourceMessageMap, sourceV, info, v); getResult(key, sqlData, sourceMessageMap, sourceV, info, v);
//电流
getResult(key, sqlData, sourceMessageMap, sourceI, info, i); getResult(key, sqlData, sourceMessageMap, sourceI, info, i);
}); });
return info; return info;
@@ -1268,7 +1268,28 @@ public class SocketDevResponseService {
BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95), BigDecimal.valueOf(channelListDTO.getFAmp() * 0.95),
BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05)) BigDecimal.valueOf(channelListDTO.getFAmp() * 1.05))
&& &&
NumberUtil.isIn(BigDecimal.valueOf(devPhase), phaseBoolean(channelListDTO, devPhase);
}
/**
* 判断相角(-180° ~ 180°
* +360° ~ -360°
*
* @param channelListDTO 源下发角度
* @param devPhase 装置返回角度
* @return
*/
private static Boolean phaseBoolean(SourceIssue.ChannelListDTO channelListDTO, Double devPhase) {
Double phase = devPhase;
if (devPhase < -180) {
phase = devPhase + 360;
}
if (devPhase > 180) {
phase = devPhase - 360;
}
return
NumberUtil.isIn(BigDecimal.valueOf(phase),
BigDecimal.valueOf(channelListDTO.getFPhase() - 1), BigDecimal.valueOf(channelListDTO.getFPhase() - 1),
BigDecimal.valueOf(channelListDTO.getFPhase() + 1)); BigDecimal.valueOf(channelListDTO.getFPhase() + 1));