|
|
|
@@ -227,9 +227,13 @@ public class DetectionServiceImpl {
|
|
|
|
result.setScriptId(sourceIssue.getScriptId());
|
|
|
|
result.setScriptId(sourceIssue.getScriptId());
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
result.setDataType("avg");
|
|
|
|
result.setDataType("avg");
|
|
|
|
|
|
|
|
Integer isQualified;
|
|
|
|
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());
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
result.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
result.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
|
|
|
|
isQualified = dtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
isQualified = 4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<DetectionData> resultFlag = new ArrayList<>();
|
|
|
|
List<DetectionData> resultFlag = new ArrayList<>();
|
|
|
|
map.forEach((key, value) -> {
|
|
|
|
map.forEach((key, value) -> {
|
|
|
|
@@ -237,9 +241,9 @@ public class DetectionServiceImpl {
|
|
|
|
if (CollUtil.isNotEmpty(checkData)) {
|
|
|
|
if (CollUtil.isNotEmpty(checkData)) {
|
|
|
|
DetectionData detectionData;
|
|
|
|
DetectionData detectionData;
|
|
|
|
if (DUR.equals(devIndex)) {
|
|
|
|
if (DUR.equals(devIndex)) {
|
|
|
|
detectionData = rangeDURComparisonList(value, new ArrayList<>(), sourceIssue.getFFreq(), checkData.get(0).getValue(), dataRule);
|
|
|
|
detectionData = rangeDURComparisonList(value, isQualified, new ArrayList<>(), sourceIssue.getFFreq(), checkData.get(0).getValue(), dataRule);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
detectionData = rangeComparisonList(value, new ArrayList<>(), null, checkData.get(0).getValue(), dataRule);
|
|
|
|
detectionData = rangeComparisonList(value, isQualified, new ArrayList<>(), null, checkData.get(0).getValue(), dataRule);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (key.equals(TYPE_T)) {
|
|
|
|
if (key.equals(TYPE_T)) {
|
|
|
|
result.setTValue(JSON.toJSONString(detectionData));
|
|
|
|
result.setTValue(JSON.toJSONString(detectionData));
|
|
|
|
@@ -303,14 +307,18 @@ public class DetectionServiceImpl {
|
|
|
|
harmonicResult.setMonitorId(devID + "_" + split[1]);
|
|
|
|
harmonicResult.setMonitorId(devID + "_" + split[1]);
|
|
|
|
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
|
|
|
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
|
|
|
harmonicResult.setSort(sourceIssue.getIndex());
|
|
|
|
harmonicResult.setSort(sourceIssue.getIndex());
|
|
|
|
|
|
|
|
Integer isQualified;
|
|
|
|
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());
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
harmonicResult.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
harmonicResult.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
|
|
|
|
isQualified = dtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
isQualified = 4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//电压下百分比给百分比直接算 电流是是下百分比给的是幅值要转换算
|
|
|
|
//电压下百分比给百分比直接算 电流是是下百分比给的是幅值要转换算
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(new ArrayList<>(), type, TYPE_A, sourceIssue, dataRule, devHarmMap.get(TYPE_A), fData, num);
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(isQualified, new ArrayList<>(), type, TYPE_A, sourceIssue, dataRule, devHarmMap.get(TYPE_A), fData, num);
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(new ArrayList<>(), type, TYPE_B, sourceIssue, dataRule, devHarmMap.get(TYPE_B), fData, num);
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(isQualified, new ArrayList<>(), type, TYPE_B, sourceIssue, dataRule, devHarmMap.get(TYPE_B), fData, num);
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(new ArrayList<>(), type, TYPE_C, sourceIssue, dataRule, devHarmMap.get(TYPE_C), fData, num);
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(isQualified, new ArrayList<>(), type, TYPE_C, sourceIssue, dataRule, devHarmMap.get(TYPE_C), fData, num);
|
|
|
|
harmonicResult.setDataType("avg");
|
|
|
|
harmonicResult.setDataType("avg");
|
|
|
|
reflectHarmonic("a", integerBooleanA, harmonicResult, num);
|
|
|
|
reflectHarmonic("a", integerBooleanA, harmonicResult, num);
|
|
|
|
reflectHarmonic("b", integerBooleanB, harmonicResult, num);
|
|
|
|
reflectHarmonic("b", integerBooleanB, harmonicResult, num);
|
|
|
|
@@ -375,10 +383,12 @@ public class DetectionServiceImpl {
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
result.setDataType("avg");
|
|
|
|
result.setDataType("avg");
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
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());
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
result.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
result.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
|
|
|
|
isQualified = dtlsCheckData.get(0).getIsQualified();
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
pqErrSysDtls = dtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
pqErrSysDtls = dtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -386,7 +396,7 @@ public class DetectionServiceImpl {
|
|
|
|
if (map.containsKey(TYPE_T)) {
|
|
|
|
if (map.containsKey(TYPE_T)) {
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataT = dtlsCheckData.stream().filter(x -> TYPE_T.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataT = dtlsCheckData.stream().filter(x -> TYPE_T.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
if (CollUtil.isNotEmpty(checkDataT)) {
|
|
|
|
if (CollUtil.isNotEmpty(checkDataT)) {
|
|
|
|
DetectionData t = rangeComparisonList(map.get(TYPE_T), pqErrSysDtls, fData, checkDataT.get(0).getValue(), dataRule);
|
|
|
|
DetectionData t = rangeComparisonList(map.get(TYPE_T), isQualified, 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());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -395,19 +405,19 @@ public class DetectionServiceImpl {
|
|
|
|
//取出源所对应的相别信息
|
|
|
|
//取出源所对应的相别信息
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataA = dtlsCheckData.stream().filter(x -> TYPE_A.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataA = dtlsCheckData.stream().filter(x -> TYPE_A.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
if (CollUtil.isNotEmpty(checkDataA)) {
|
|
|
|
if (CollUtil.isNotEmpty(checkDataA)) {
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), pqErrSysDtls, fData, checkDataA.get(0).getValue(), dataRule);
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), isQualified, pqErrSysDtls, fData, checkDataA.get(0).getValue(), dataRule);
|
|
|
|
resultFlag.add(a);
|
|
|
|
resultFlag.add(a);
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataB = dtlsCheckData.stream().filter(x -> TYPE_B.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataB = dtlsCheckData.stream().filter(x -> TYPE_B.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
if (CollUtil.isNotEmpty(checkDataB)) {
|
|
|
|
if (CollUtil.isNotEmpty(checkDataB)) {
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), pqErrSysDtls, fData, checkDataB.get(0).getValue(), dataRule);
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), isQualified, pqErrSysDtls, fData, checkDataB.get(0).getValue(), dataRule);
|
|
|
|
resultFlag.add(b);
|
|
|
|
resultFlag.add(b);
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataC = dtlsCheckData.stream().filter(x -> TYPE_C.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataC = dtlsCheckData.stream().filter(x -> TYPE_C.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
if (CollUtil.isNotEmpty(checkDataC)) {
|
|
|
|
if (CollUtil.isNotEmpty(checkDataC)) {
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, checkDataC.get(0).getValue(), dataRule);
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), isQualified, pqErrSysDtls, fData, checkDataC.get(0).getValue(), dataRule);
|
|
|
|
resultFlag.add(c);
|
|
|
|
resultFlag.add(c);
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -418,7 +428,7 @@ public class DetectionServiceImpl {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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().map(AdNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());
|
|
|
|
return getInteger(resultFlag);
|
|
|
|
return getInteger(resultFlag);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 4;
|
|
|
|
return 4;
|
|
|
|
@@ -477,23 +487,25 @@ public class DetectionServiceImpl {
|
|
|
|
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
|
|
|
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
|
|
|
harmonicResult.setSort(sourceIssue.getIndex());
|
|
|
|
harmonicResult.setSort(sourceIssue.getIndex());
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
harmonicResult.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
harmonicResult.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
|
|
|
|
isQualified = errDtlsCheckData.get(0).getIsQualified();
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
pqErrSysDtls = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
pqErrSysDtls = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(pqErrSysDtls, type, TYPE_A, sourceIssue, dataRule, devMap.get(TYPE_A), fData, num);
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(isQualified, pqErrSysDtls, type, TYPE_A, sourceIssue, dataRule, devMap.get(TYPE_A), fData, num);
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(pqErrSysDtls, type, TYPE_B, sourceIssue, dataRule, devMap.get(TYPE_B), fData, num);
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(isQualified, pqErrSysDtls, type, TYPE_B, sourceIssue, dataRule, devMap.get(TYPE_B), fData, num);
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(pqErrSysDtls, type, TYPE_C, sourceIssue, dataRule, devMap.get(TYPE_C), fData, num);
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(isQualified, pqErrSysDtls, type, TYPE_C, sourceIssue, dataRule, devMap.get(TYPE_C), fData, num);
|
|
|
|
harmonicResult.setDataType("avg");
|
|
|
|
harmonicResult.setDataType("avg");
|
|
|
|
reflectHarmonic("a", integerBooleanA, harmonicResult, num);
|
|
|
|
reflectHarmonic("a", integerBooleanA, harmonicResult, num);
|
|
|
|
reflectHarmonic("b", integerBooleanB, harmonicResult, num);
|
|
|
|
reflectHarmonic("b", integerBooleanB, harmonicResult, num);
|
|
|
|
reflectHarmonic("c", integerBooleanC, harmonicResult, num);
|
|
|
|
reflectHarmonic("c", integerBooleanC, harmonicResult, num);
|
|
|
|
List<DetectionData> list = new ArrayList<>();
|
|
|
|
List<DetectionData> list = new ArrayList<>();
|
|
|
|
list.addAll(integerBooleanA.stream().distinct().collect(Collectors.toList()));
|
|
|
|
list.addAll(integerBooleanA.stream().filter(x -> 1 != x.getNum()).distinct().collect(Collectors.toList()));
|
|
|
|
list.addAll(integerBooleanB.stream().distinct().collect(Collectors.toList()));
|
|
|
|
list.addAll(integerBooleanB.stream().filter(x -> 1 != x.getNum()).distinct().collect(Collectors.toList()));
|
|
|
|
list.addAll(integerBooleanC.stream().distinct().collect(Collectors.toList()));
|
|
|
|
list.addAll(integerBooleanC.stream().filter(x -> 1 != x.getNum()).distinct().collect(Collectors.toList()));
|
|
|
|
harmonicResult.setResultFlag(setResultFlag(list));
|
|
|
|
harmonicResult.setResultFlag(setResultFlag(list));
|
|
|
|
return harmonicResult;
|
|
|
|
return harmonicResult;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -538,8 +550,10 @@ public class DetectionServiceImpl {
|
|
|
|
result.setScriptId(sourceIssue.getScriptId());
|
|
|
|
result.setScriptId(sourceIssue.getScriptId());
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
result.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
result.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
|
|
|
|
isQualified = errDtlsCheckData.get(0).getIsQualified();
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
pqErrSysDtls = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
pqErrSysDtls = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -550,19 +564,19 @@ public class DetectionServiceImpl {
|
|
|
|
List<PqScriptCheckData> channelTypeAList = checkData.stream()
|
|
|
|
List<PqScriptCheckData> channelTypeAList = checkData.stream()
|
|
|
|
.filter(x -> TYPE_A.equals(x.getPhase()))
|
|
|
|
.filter(x -> TYPE_A.equals(x.getPhase()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), pqErrSysDtls, fData, channelTypeAList.get(0).getValue(), dataRule);
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), isQualified, pqErrSysDtls, fData, channelTypeAList.get(0).getValue(), dataRule);
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
|
|
|
|
|
|
|
|
List<PqScriptCheckData> channelTypeBList = checkData.stream()
|
|
|
|
List<PqScriptCheckData> channelTypeBList = checkData.stream()
|
|
|
|
.filter(x -> TYPE_B.equals(x.getPhase()))
|
|
|
|
.filter(x -> TYPE_B.equals(x.getPhase()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), isQualified, pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
|
|
|
|
|
|
|
|
List<PqScriptCheckData> channelTypeCList = checkData.stream()
|
|
|
|
List<PqScriptCheckData> channelTypeCList = checkData.stream()
|
|
|
|
.filter(x -> TYPE_C.equals(x.getPhase()))
|
|
|
|
.filter(x -> TYPE_C.equals(x.getPhase()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getValue(), dataRule);
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), isQualified, pqErrSysDtls, fData, channelTypeCList.get(0).getValue(), dataRule);
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
|
|
|
|
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(a, b, c)));
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(a, b, c)));
|
|
|
|
@@ -570,7 +584,7 @@ public class DetectionServiceImpl {
|
|
|
|
List<PqScriptCheckData> channelTypeBList = checkData.stream()
|
|
|
|
List<PqScriptCheckData> channelTypeBList = checkData.stream()
|
|
|
|
.filter(x -> TYPE_T.equals(x.getPhase()))
|
|
|
|
.filter(x -> TYPE_T.equals(x.getPhase()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
DetectionData t = rangeComparisonList(map.get(TYPE_B), pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
DetectionData t = rangeComparisonList(map.get(TYPE_B), isQualified, pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
result.setTValue(JSON.toJSONString(t));
|
|
|
|
result.setTValue(JSON.toJSONString(t));
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(t)));
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(t)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -609,7 +623,7 @@ public class DetectionServiceImpl {
|
|
|
|
AdNonHarmonicResult magResult = voltageResult(dev.get(0).getId(), devIdMapComm, sourceIssue, dataRule, mag, magErrList, sourceIssue.getFUn(), MAG);
|
|
|
|
AdNonHarmonicResult magResult = voltageResult(dev.get(0).getId(), devIdMapComm, sourceIssue, dataRule, mag, magErrList, sourceIssue.getFUn(), MAG);
|
|
|
|
AdNonHarmonicResult durResult = voltageResult(dev.get(0).getId(), devIdMapComm, sourceIssue, dataRule, dur, durErrList, sourceIssue.getFFreq(), DUR);
|
|
|
|
AdNonHarmonicResult durResult = voltageResult(dev.get(0).getId(), devIdMapComm, sourceIssue, dataRule, dur, durErrList, sourceIssue.getFFreq(), DUR);
|
|
|
|
detectionDataDealService.acceptAdNonResult(Arrays.asList(magResult, durResult), code);
|
|
|
|
detectionDataDealService.acceptAdNonResult(Arrays.asList(magResult, durResult), code);
|
|
|
|
List<Integer> numbers = Arrays.asList(magResult.getResultFlag(), durResult.getResultFlag()).stream().filter(x -> 4 != x).distinct().collect(Collectors.toList());
|
|
|
|
List<Integer> numbers = Arrays.asList(magResult.getResultFlag(), durResult.getResultFlag()).stream().distinct().collect(Collectors.toList());
|
|
|
|
return getInteger(numbers);
|
|
|
|
return getInteger(numbers);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -643,8 +657,10 @@ public class DetectionServiceImpl {
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
result.setDataType("avg");
|
|
|
|
result.setDataType("avg");
|
|
|
|
List<PqErrSysDtls> magErrList = new ArrayList<>();
|
|
|
|
List<PqErrSysDtls> magErrList = new ArrayList<>();
|
|
|
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
result.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
result.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
|
|
|
|
isQualified = errDtlsCheckData.get(0).getIsQualified();
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
magErrList = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
magErrList = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@@ -653,57 +669,66 @@ public class DetectionServiceImpl {
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeAList = sourceIssue.getChannelList().stream()
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeAList = sourceIssue.getChannelList().stream()
|
|
|
|
.filter(x -> ("Ua").equals(x.getChannelType()))
|
|
|
|
.filter(x -> ("Ua").equals(x.getChannelType()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
DetectionData a = setDetectionData(dataRule, mag, fData, dur, magErrList, channelTypeAList, TYPE_A);
|
|
|
|
DetectionData a = setDetectionData(isQualified, dataRule, mag, fData, dur, magErrList, channelTypeAList, TYPE_A);
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
|
|
|
|
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeBList = sourceIssue.getChannelList().stream()
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeBList = sourceIssue.getChannelList().stream()
|
|
|
|
.filter(x -> ("Ub").equals(x.getChannelType()))
|
|
|
|
.filter(x -> ("Ub").equals(x.getChannelType()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
|
|
DetectionData b = setDetectionData(dataRule, mag, fData, dur, magErrList, channelTypeBList, TYPE_B);
|
|
|
|
DetectionData b = setDetectionData(isQualified, dataRule, mag, fData, dur, magErrList, channelTypeBList, TYPE_B);
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
|
|
|
|
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeCList = sourceIssue.getChannelList().stream()
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeCList = sourceIssue.getChannelList().stream()
|
|
|
|
.filter(x -> ("Uc").equals(x.getChannelType()))
|
|
|
|
.filter(x -> ("Uc").equals(x.getChannelType()))
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
DetectionData c = setDetectionData(dataRule, mag, fData, dur, magErrList, channelTypeCList, TYPE_C);
|
|
|
|
DetectionData c = setDetectionData(isQualified, dataRule, mag, fData, dur, magErrList, channelTypeCList, TYPE_C);
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
|
|
|
|
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(a, b, c)));
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(a, b, c)));
|
|
|
|
return result;
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private DetectionData setDetectionData(DictDataEnum dataRule, Map<String, List<Double>> mag, Double fData, String dur, List<PqErrSysDtls> magErrList, List<SourceIssue.ChannelListDTO> channelTypeCList, String typeC) {
|
|
|
|
private DetectionData setDetectionData(Integer isQualified, DictDataEnum dataRule, Map<String, List<Double>> mag, Double fData, String dur, List<PqErrSysDtls> magErrList, List<SourceIssue.ChannelListDTO> channelTypeCList, String typeC) {
|
|
|
|
DetectionData c;
|
|
|
|
DetectionData c;
|
|
|
|
if (DUR.equals(dur)) {
|
|
|
|
if (DUR.equals(dur)) {
|
|
|
|
c = rangeDURComparisonList(mag.get(typeC), magErrList, fData, channelTypeCList.get(0).getDipData().getRetainTime(), dataRule);
|
|
|
|
c = rangeDURComparisonList(mag.get(typeC), isQualified, magErrList, fData, channelTypeCList.get(0).getDipData().getRetainTime(), dataRule);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
List<Double> ampData = mag.get(typeC).stream()
|
|
|
|
List<Double> ampData = mag.get(typeC).stream()
|
|
|
|
.filter(x -> ObjectUtil.isNotNull(x))
|
|
|
|
.filter(x -> ObjectUtil.isNotNull(x))
|
|
|
|
.map(x -> x * channelTypeCList.get(0).getFAmp() * 0.01)
|
|
|
|
.map(x -> x * channelTypeCList.get(0).getFAmp() * 0.01)
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
c = rangeComparisonList(ampData, magErrList, fData, channelTypeCList.get(0).getDipData().getFTransValue(), dataRule);
|
|
|
|
c = rangeComparisonList(ampData, isQualified, magErrList, fData, channelTypeCList.get(0).getDipData().getFTransValue(), dataRule);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return c;
|
|
|
|
return c;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Integer setResultFlag(List<DetectionData> numbers) {
|
|
|
|
private Integer setResultFlag(List<DetectionData> numbers) {
|
|
|
|
List<Integer> isData = numbers.stream().filter(x -> ObjectUtil.isNotNull(x.getData())).filter(x -> 4 != x.getIsData()).map(DetectionData::getIsData).distinct().collect(Collectors.toList());
|
|
|
|
List<Integer> isData = numbers.stream().filter(x -> ObjectUtil.isNotNull(x.getData())).map(DetectionData::getIsData).distinct().collect(Collectors.toList());
|
|
|
|
return getInteger(isData);
|
|
|
|
return getInteger(isData);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static Integer getInteger(List<Integer> isData) {
|
|
|
|
private static Integer getInteger(List<Integer> isData) {
|
|
|
|
if (CollUtil.isNotEmpty(isData)) {
|
|
|
|
if (CollUtil.isNotEmpty(isData)) {
|
|
|
|
if (isData.size() > 1) {
|
|
|
|
List<Integer> isQualified = isData.stream().filter(x -> 1 == x || 2 == x).collect(Collectors.toList());
|
|
|
|
if (isData.contains(2)) {
|
|
|
|
if (CollUtil.isNotEmpty(isQualified)) {
|
|
|
|
return 2;
|
|
|
|
if (isQualified.size() > 1) {
|
|
|
|
|
|
|
|
if (isQualified.contains(2)) {
|
|
|
|
|
|
|
|
return 2;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return isData.get(0);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (isData.contains(4)) {
|
|
|
|
|
|
|
|
return 4;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isData.contains(5)) {
|
|
|
|
|
|
|
|
return 5;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return isData.get(0);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return 4;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return 4;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
@@ -799,7 +824,8 @@ public class DetectionServiceImpl {
|
|
|
|
* @param fData
|
|
|
|
* @param fData
|
|
|
|
* @return
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public List<DetectionData> harmRangeComparison(List<PqErrSysDtls> pqErrSysDtls,
|
|
|
|
public List<DetectionData> harmRangeComparison(Integer isQualified,
|
|
|
|
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls,
|
|
|
|
String type,
|
|
|
|
String type,
|
|
|
|
String phase,
|
|
|
|
String phase,
|
|
|
|
SourceIssue sourceIssue,
|
|
|
|
SourceIssue sourceIssue,
|
|
|
|
@@ -855,7 +881,7 @@ public class DetectionServiceImpl {
|
|
|
|
devMap.forEach((harm, harmDataList) -> {
|
|
|
|
devMap.forEach((harm, harmDataList) -> {
|
|
|
|
PqErrSysDtls errSysDtl = errSysDtlMap.get(harm);
|
|
|
|
PqErrSysDtls errSysDtl = errSysDtlMap.get(harm);
|
|
|
|
DetectionData data = new DetectionData();
|
|
|
|
DetectionData data = new DetectionData();
|
|
|
|
data.setIsData(4);
|
|
|
|
data.setIsData(isQualified);
|
|
|
|
data.setNum(harm);
|
|
|
|
data.setNum(harm);
|
|
|
|
if (CollUtil.isNotEmpty(harmDataList)) {
|
|
|
|
if (CollUtil.isNotEmpty(harmDataList)) {
|
|
|
|
data.setData(harmDataList.get(0));
|
|
|
|
data.setData(harmDataList.get(0));
|
|
|
|
@@ -1031,9 +1057,9 @@ public class DetectionServiceImpl {
|
|
|
|
* @param dataRule 数据处理原则
|
|
|
|
* @param dataRule 数据处理原则
|
|
|
|
* @returnd
|
|
|
|
* @returnd
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public DetectionData rangeComparisonList(List<Double> list, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
public DetectionData rangeComparisonList(List<Double> list, Integer isQualified, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
DetectionData detectionData = new DetectionData();
|
|
|
|
DetectionData detectionData = new DetectionData();
|
|
|
|
detectionData.setIsData(4);
|
|
|
|
detectionData.setIsData(isQualified);
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
detectionData.setData(list.get(0));
|
|
|
|
detectionData.setData(list.get(0));
|
|
|
|
detectionData.setResultData(channelData);
|
|
|
|
detectionData.setResultData(channelData);
|
|
|
|
@@ -1057,9 +1083,9 @@ public class DetectionServiceImpl {
|
|
|
|
return detectionData;
|
|
|
|
return detectionData;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public DetectionData rangeDURComparisonList(List<Double> list, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
public DetectionData rangeDURComparisonList(List<Double> list, Integer isQualified, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
DetectionData detectionData = new DetectionData();
|
|
|
|
DetectionData detectionData = new DetectionData();
|
|
|
|
detectionData.setIsData(4);
|
|
|
|
detectionData.setIsData(isQualified);
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
detectionData.setData(list.get(0));
|
|
|
|
detectionData.setData(list.get(0));
|
|
|
|
detectionData.setResultData(BigDecimal.valueOf(1.0 / data).doubleValue() * channelData);
|
|
|
|
detectionData.setResultData(BigDecimal.valueOf(1.0 / data).doubleValue() * channelData);
|
|
|
|
|