解决相角原始值是幅值的问题

This commit is contained in:
wr
2025-01-21 15:18:03 +08:00
parent 413f668179
commit ba18a1310d
3 changed files with 43 additions and 31 deletions

View File

@@ -211,6 +211,7 @@ public class DetectionServiceImpl {
result.setMonitorId(devID + "_" + split[1]); result.setMonitorId(devID + "_" + split[1]);
result.setScriptId(sourceIssue.getScriptId()); result.setScriptId(sourceIssue.getScriptId());
result.setSort(sourceIssue.getIndex()); result.setSort(sourceIssue.getIndex());
result.setDataType("avg");
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>(); List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
if (CollUtil.isNotEmpty(errDtlsCheckData)) { if (CollUtil.isNotEmpty(errDtlsCheckData)) {
List<ErrDtlsCheckDataVO> dtlsCheckData = errDtlsCheckData.stream().filter(x -> x.getValueTypeCode().equals(s.split("\\$")[1])).collect(Collectors.toList()); List<ErrDtlsCheckDataVO> dtlsCheckData = errDtlsCheckData.stream().filter(x -> x.getValueTypeCode().equals(s.split("\\$")[1])).collect(Collectors.toList());
@@ -220,36 +221,39 @@ public class DetectionServiceImpl {
pqErrSysDtls = dtlsCheckData.get(0).getErrSysDtls(); pqErrSysDtls = dtlsCheckData.get(0).getErrSysDtls();
} }
} }
}
result.setDataType("avg");
if (map.containsKey(TYPE_T)) { if (map.containsKey(TYPE_T)) {
DetectionData t = rangeComparisonList(map.get(TYPE_T), pqErrSysDtls, fData, fData, dataRule); List<ErrDtlsCheckDataVO> checkDataT = dtlsCheckData.stream().filter(x -> TYPE_T.equals(x.getPhase())).collect(Collectors.toList());
if(CollUtil.isNotEmpty(checkDataT)){
DetectionData t = rangeComparisonList(map.get(TYPE_T), pqErrSysDtls, fData, checkDataT.get(0).getValue(), dataRule);
result.setTValue(JSON.toJSONString(t)); result.setTValue(JSON.toJSONString(t));
result.setResultFlag(t.getIsData()); result.setResultFlag(t.getIsData());
}
} else { } else {
List<DetectionData> resultFlag = new ArrayList<>();
//取出源所对应的相别信息 //取出源所对应的相别信息
List<SourceIssue.ChannelListDTO> channelTypeAList = sourceIssue.getChannelList().stream() List<ErrDtlsCheckDataVO> checkDataA = dtlsCheckData.stream().filter(x -> TYPE_A.equals(x.getPhase())).collect(Collectors.toList());
.filter(x -> (type + "a").equals(x.getChannelType())) if(CollUtil.isNotEmpty(checkDataA)){
.collect(Collectors.toList()); DetectionData a = rangeComparisonList(map.get(TYPE_A), pqErrSysDtls, fData, checkDataA.get(0).getValue(), dataRule);
DetectionData a = rangeComparisonList(map.get(TYPE_A), pqErrSysDtls, fData, channelTypeAList.get(0).getFAmp(), dataRule); resultFlag.add(a);
result.setAValue(JSON.toJSONString(a)); result.setAValue(JSON.toJSONString(a));
}
List<SourceIssue.ChannelListDTO> channelTypeBList = sourceIssue.getChannelList().stream() List<ErrDtlsCheckDataVO> checkDataB = dtlsCheckData.stream().filter(x -> TYPE_B.equals(x.getPhase())).collect(Collectors.toList());
.filter(x -> (type + "b").equals(x.getChannelType())) if(CollUtil.isNotEmpty(checkDataB)){
.collect(Collectors.toList()); DetectionData b = rangeComparisonList(map.get(TYPE_B), pqErrSysDtls, fData, checkDataB.get(0).getValue(), dataRule);
DetectionData b = rangeComparisonList(map.get(TYPE_B), pqErrSysDtls, fData, channelTypeBList.get(0).getFAmp(), dataRule); resultFlag.add(b);
result.setBValue(JSON.toJSONString(b)); result.setBValue(JSON.toJSONString(b));
}
List<SourceIssue.ChannelListDTO> channelTypeCList = sourceIssue.getChannelList().stream() List<ErrDtlsCheckDataVO> checkDataC = dtlsCheckData.stream().filter(x -> TYPE_C.equals(x.getPhase())).collect(Collectors.toList());
.filter(x -> (type + "c").equals(x.getChannelType())) if(CollUtil.isNotEmpty(checkDataC)){
.collect(Collectors.toList()); DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, checkDataC.get(0).getValue(), dataRule);
DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getFAmp(), dataRule); resultFlag.add(c);
result.setCValue(JSON.toJSONString(c)); result.setCValue(JSON.toJSONString(c));
}
result.setResultFlag(setResultFlag(Arrays.asList(a, b, c))); result.setResultFlag(setResultFlag(resultFlag));
} }
info.add(result); info.add(result);
} }
}
if (CollUtil.isNotEmpty(info)) { if (CollUtil.isNotEmpty(info)) {
detectionDataDealService.acceptAdNonResult(info, code); detectionDataDealService.acceptAdNonResult(info, code);
List<Integer> resultFlag = info.stream().filter(x -> 4 != x.getResultFlag()).map(AdNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList()); List<Integer> resultFlag = info.stream().filter(x -> 4 != x.getResultFlag()).map(AdNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());

View File

@@ -18,11 +18,13 @@ public class ErrDtlsCheckDataVO implements Serializable {
*/ */
private String checkDataId; private String checkDataId;
/**
* 检测指标类型,与数据字典关联(例如电压有效值、谐波电压含有率等)
*/
private String valueType; private String valueType;
/** /**
* *检测指标类型code
*/ */
private String valueTypeCode; private String valueTypeCode;
@@ -32,7 +34,12 @@ public class ErrDtlsCheckDataVO implements Serializable {
private Double value; private Double value;
/** /**
* * 相别,字典表
*/
private String phase;
/**
* 误差体系
*/ */
private List<PqErrSysDtls> errSysDtls; private List<PqErrSysDtls> errSysDtls;

View File

@@ -116,6 +116,7 @@ public class PqErrSysDtlsServiceImpl extends ServiceImpl<PqErrSysDtlsMapper, PqE
dataVO.setValueTypeCode(script.getValueTypeCode()); dataVO.setValueTypeCode(script.getValueTypeCode());
dataVO.setValueType(script.getValueType()); dataVO.setValueType(script.getValueType());
dataVO.setValue(script.getValue()); dataVO.setValue(script.getValue());
dataVO.setPhase(script.getPhase());
if(errMap.containsKey(script.getValueType())){ if(errMap.containsKey(script.getValueType())){
dataVO.setErrSysDtls(errMap.get(script.getValueType())); dataVO.setErrSysDtls(errMap.get(script.getValueType()));
} }