|
|
|
|
@@ -35,6 +35,8 @@ import java.util.*;
|
|
|
|
|
import java.util.function.Function;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import static com.njcn.gather.detection.util.socket.UnitUtil.unit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author wr
|
|
|
|
|
@@ -228,12 +230,15 @@ public class DetectionServiceImpl {
|
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
|
result.setDataType("avg");
|
|
|
|
|
Integer isQualified;
|
|
|
|
|
String valueTypeCode;
|
|
|
|
|
List<ErrDtlsCheckDataVO> dtlsCheckData = errDtlsCheckData.stream().filter(x -> x.getValueTypeCode().equals(s.split("\\$")[1])).collect(Collectors.toList());
|
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
|
result.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
|
isQualified = dtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
valueTypeCode = dtlsCheckData.get(0).getValueTypeCode();
|
|
|
|
|
} else {
|
|
|
|
|
isQualified = 4;
|
|
|
|
|
valueTypeCode = "";
|
|
|
|
|
}
|
|
|
|
|
List<DetectionData> resultFlag = new ArrayList<>();
|
|
|
|
|
map.forEach((key, value) -> {
|
|
|
|
|
@@ -241,9 +246,9 @@ public class DetectionServiceImpl {
|
|
|
|
|
if (CollUtil.isNotEmpty(checkData)) {
|
|
|
|
|
DetectionData detectionData;
|
|
|
|
|
if (DUR.equals(devIndex)) {
|
|
|
|
|
detectionData = rangeDURComparisonList(value, isQualified, new ArrayList<>(), sourceIssue.getFFreq(), checkData.get(0).getValue(), dataRule);
|
|
|
|
|
detectionData = rangeDURComparisonList(value, isQualified, valueTypeCode, new ArrayList<>(), sourceIssue.getFFreq(), checkData.get(0).getValue(), dataRule);
|
|
|
|
|
} else {
|
|
|
|
|
detectionData = rangeComparisonList(value, isQualified, new ArrayList<>(), null, checkData.get(0).getValue(), dataRule);
|
|
|
|
|
detectionData = rangeComparisonList(value, isQualified, valueTypeCode, new ArrayList<>(), null, checkData.get(0).getValue(), dataRule);
|
|
|
|
|
}
|
|
|
|
|
if (key.equals(TYPE_T)) {
|
|
|
|
|
result.setTValue(JSON.toJSONString(detectionData));
|
|
|
|
|
@@ -308,17 +313,20 @@ public class DetectionServiceImpl {
|
|
|
|
|
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
|
|
|
|
harmonicResult.setSort(sourceIssue.getIndex());
|
|
|
|
|
Integer isQualified;
|
|
|
|
|
String valueTypeCode;
|
|
|
|
|
List<ErrDtlsCheckDataVO> dtlsCheckData = errDtlsCheckData.stream().filter(x -> x.getValueTypeCode().equals(s.split("\\$")[1])).collect(Collectors.toList());
|
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
|
harmonicResult.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
|
isQualified = dtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
valueTypeCode = dtlsCheckData.get(0).getValueTypeCode();
|
|
|
|
|
} else {
|
|
|
|
|
isQualified = 4;
|
|
|
|
|
valueTypeCode = "";
|
|
|
|
|
}
|
|
|
|
|
//电压下百分比给百分比直接算 电流是是下百分比给的是幅值要转换算
|
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(isQualified, new ArrayList<>(), type, TYPE_A, sourceIssue, dataRule, devHarmMap.get(TYPE_A), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(isQualified, new ArrayList<>(), type, TYPE_B, sourceIssue, dataRule, devHarmMap.get(TYPE_B), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(isQualified, new ArrayList<>(), type, TYPE_C, sourceIssue, dataRule, devHarmMap.get(TYPE_C), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(isQualified, valueTypeCode, new ArrayList<>(), type, TYPE_A, sourceIssue, dataRule, devHarmMap.get(TYPE_A), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(isQualified, valueTypeCode, new ArrayList<>(), type, TYPE_B, sourceIssue, dataRule, devHarmMap.get(TYPE_B), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(isQualified, valueTypeCode, new ArrayList<>(), type, TYPE_C, sourceIssue, dataRule, devHarmMap.get(TYPE_C), fData, num);
|
|
|
|
|
harmonicResult.setDataType("avg");
|
|
|
|
|
reflectHarmonic("a", integerBooleanA, harmonicResult, num);
|
|
|
|
|
reflectHarmonic("b", integerBooleanB, harmonicResult, num);
|
|
|
|
|
@@ -384,11 +392,13 @@ public class DetectionServiceImpl {
|
|
|
|
|
result.setDataType("avg");
|
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
|
String valueTypeCode = "";
|
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
|
List<ErrDtlsCheckDataVO> dtlsCheckData = errDtlsCheckData.stream().filter(x -> x.getValueTypeCode().equals(s.split("\\$")[1])).collect(Collectors.toList());
|
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData)) {
|
|
|
|
|
result.setAdType(dtlsCheckData.get(0).getValueType());
|
|
|
|
|
isQualified = dtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
valueTypeCode = dtlsCheckData.get(0).getValueTypeCode();
|
|
|
|
|
if (CollUtil.isNotEmpty(dtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
|
pqErrSysDtls = dtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
|
}
|
|
|
|
|
@@ -396,7 +406,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
if (map.containsKey(TYPE_T)) {
|
|
|
|
|
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), isQualified, pqErrSysDtls, fData, checkDataT.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData t = rangeComparisonList(map.get(TYPE_T), isQualified, valueTypeCode, pqErrSysDtls, fData, checkDataT.get(0).getValue(), dataRule);
|
|
|
|
|
result.setTValue(JSON.toJSONString(t));
|
|
|
|
|
result.setResultFlag(t.getIsData());
|
|
|
|
|
}
|
|
|
|
|
@@ -405,19 +415,19 @@ public class DetectionServiceImpl {
|
|
|
|
|
//取出源所对应的相别信息
|
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataA = dtlsCheckData.stream().filter(x -> TYPE_A.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
|
if (CollUtil.isNotEmpty(checkDataA)) {
|
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), isQualified, pqErrSysDtls, fData, checkDataA.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), isQualified, valueTypeCode, pqErrSysDtls, fData, checkDataA.get(0).getValue(), dataRule);
|
|
|
|
|
resultFlag.add(a);
|
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
|
}
|
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataB = dtlsCheckData.stream().filter(x -> TYPE_B.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
|
if (CollUtil.isNotEmpty(checkDataB)) {
|
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), isQualified, pqErrSysDtls, fData, checkDataB.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), isQualified, valueTypeCode, pqErrSysDtls, fData, checkDataB.get(0).getValue(), dataRule);
|
|
|
|
|
resultFlag.add(b);
|
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
|
}
|
|
|
|
|
List<ErrDtlsCheckDataVO> checkDataC = dtlsCheckData.stream().filter(x -> TYPE_C.equals(x.getPhase())).collect(Collectors.toList());
|
|
|
|
|
if (CollUtil.isNotEmpty(checkDataC)) {
|
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), isQualified, pqErrSysDtls, fData, checkDataC.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), isQualified, valueTypeCode, pqErrSysDtls, fData, checkDataC.get(0).getValue(), dataRule);
|
|
|
|
|
resultFlag.add(c);
|
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
|
}
|
|
|
|
|
@@ -488,16 +498,18 @@ public class DetectionServiceImpl {
|
|
|
|
|
harmonicResult.setSort(sourceIssue.getIndex());
|
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
|
String valueTypeCode = "";
|
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
|
harmonicResult.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
|
isQualified = errDtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
valueTypeCode = errDtlsCheckData.get(0).getValueTypeCode();
|
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
|
pqErrSysDtls = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(isQualified, pqErrSysDtls, type, TYPE_A, sourceIssue, dataRule, devMap.get(TYPE_A), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(isQualified, pqErrSysDtls, type, TYPE_B, sourceIssue, dataRule, devMap.get(TYPE_B), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(isQualified, pqErrSysDtls, type, TYPE_C, sourceIssue, dataRule, devMap.get(TYPE_C), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanA = harmRangeComparison(isQualified, valueTypeCode, pqErrSysDtls, type, TYPE_A, sourceIssue, dataRule, devMap.get(TYPE_A), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanB = harmRangeComparison(isQualified, valueTypeCode, pqErrSysDtls, type, TYPE_B, sourceIssue, dataRule, devMap.get(TYPE_B), fData, num);
|
|
|
|
|
List<DetectionData> integerBooleanC = harmRangeComparison(isQualified, valueTypeCode, pqErrSysDtls, type, TYPE_C, sourceIssue, dataRule, devMap.get(TYPE_C), fData, num);
|
|
|
|
|
harmonicResult.setDataType("avg");
|
|
|
|
|
reflectHarmonic("a", integerBooleanA, harmonicResult, num);
|
|
|
|
|
reflectHarmonic("b", integerBooleanB, harmonicResult, num);
|
|
|
|
|
@@ -551,9 +563,11 @@ public class DetectionServiceImpl {
|
|
|
|
|
result.setSort(sourceIssue.getIndex());
|
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
|
String valueTypeCode = "";
|
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
|
result.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
|
isQualified = errDtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
valueTypeCode = errDtlsCheckData.get(0).getValueTypeCode();
|
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
|
pqErrSysDtls = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
|
}
|
|
|
|
|
@@ -564,19 +578,19 @@ public class DetectionServiceImpl {
|
|
|
|
|
List<PqScriptCheckData> channelTypeAList = checkData.stream()
|
|
|
|
|
.filter(x -> TYPE_A.equals(x.getPhase()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), isQualified, pqErrSysDtls, fData, channelTypeAList.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData a = rangeComparisonList(map.get(TYPE_A), isQualified, valueTypeCode, pqErrSysDtls, fData, channelTypeAList.get(0).getValue(), dataRule);
|
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
|
|
|
|
|
|
List<PqScriptCheckData> channelTypeBList = checkData.stream()
|
|
|
|
|
.filter(x -> TYPE_B.equals(x.getPhase()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), isQualified, pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData b = rangeComparisonList(map.get(TYPE_B), isQualified, valueTypeCode, pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
|
|
|
|
|
|
List<PqScriptCheckData> channelTypeCList = checkData.stream()
|
|
|
|
|
.filter(x -> TYPE_C.equals(x.getPhase()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), isQualified, pqErrSysDtls, fData, channelTypeCList.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData c = rangeComparisonList(map.get(TYPE_C), isQualified, valueTypeCode, pqErrSysDtls, fData, channelTypeCList.get(0).getValue(), dataRule);
|
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
|
|
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(a, b, c)));
|
|
|
|
|
@@ -584,7 +598,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
List<PqScriptCheckData> channelTypeBList = checkData.stream()
|
|
|
|
|
.filter(x -> TYPE_T.equals(x.getPhase()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
DetectionData t = rangeComparisonList(map.get(TYPE_B), isQualified, pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
|
DetectionData t = rangeComparisonList(map.get(TYPE_B), isQualified, valueTypeCode, pqErrSysDtls, fData, channelTypeBList.get(0).getValue(), dataRule);
|
|
|
|
|
result.setTValue(JSON.toJSONString(t));
|
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(t)));
|
|
|
|
|
}
|
|
|
|
|
@@ -658,9 +672,11 @@ public class DetectionServiceImpl {
|
|
|
|
|
result.setDataType("avg");
|
|
|
|
|
List<PqErrSysDtls> magErrList = new ArrayList<>();
|
|
|
|
|
Integer isQualified = 4;
|
|
|
|
|
String valueTypeCode = "";
|
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData)) {
|
|
|
|
|
result.setAdType(errDtlsCheckData.get(0).getValueType());
|
|
|
|
|
isQualified = errDtlsCheckData.get(0).getIsQualified();
|
|
|
|
|
valueTypeCode = errDtlsCheckData.get(0).getValueTypeCode();
|
|
|
|
|
if (CollUtil.isNotEmpty(errDtlsCheckData.get(0).getErrSysDtls())) {
|
|
|
|
|
magErrList = errDtlsCheckData.get(0).getErrSysDtls();
|
|
|
|
|
}
|
|
|
|
|
@@ -669,36 +685,36 @@ public class DetectionServiceImpl {
|
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeAList = sourceIssue.getChannelList().stream()
|
|
|
|
|
.filter(x -> ("Ua").equals(x.getChannelType()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
DetectionData a = setDetectionData(isQualified, dataRule, mag, fData, dur, magErrList, channelTypeAList, TYPE_A);
|
|
|
|
|
DetectionData a = setDetectionData(isQualified, valueTypeCode, dataRule, mag, fData, dur, magErrList, channelTypeAList, TYPE_A);
|
|
|
|
|
result.setAValue(JSON.toJSONString(a));
|
|
|
|
|
|
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeBList = sourceIssue.getChannelList().stream()
|
|
|
|
|
.filter(x -> ("Ub").equals(x.getChannelType()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
DetectionData b = setDetectionData(isQualified, dataRule, mag, fData, dur, magErrList, channelTypeBList, TYPE_B);
|
|
|
|
|
DetectionData b = setDetectionData(isQualified, valueTypeCode, dataRule, mag, fData, dur, magErrList, channelTypeBList, TYPE_B);
|
|
|
|
|
result.setBValue(JSON.toJSONString(b));
|
|
|
|
|
|
|
|
|
|
List<SourceIssue.ChannelListDTO> channelTypeCList = sourceIssue.getChannelList().stream()
|
|
|
|
|
.filter(x -> ("Uc").equals(x.getChannelType()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
DetectionData c = setDetectionData(isQualified, dataRule, mag, fData, dur, magErrList, channelTypeCList, TYPE_C);
|
|
|
|
|
DetectionData c = setDetectionData(isQualified, valueTypeCode, dataRule, mag, fData, dur, magErrList, channelTypeCList, TYPE_C);
|
|
|
|
|
result.setCValue(JSON.toJSONString(c));
|
|
|
|
|
|
|
|
|
|
result.setResultFlag(setResultFlag(Arrays.asList(a, b, c)));
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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) {
|
|
|
|
|
private DetectionData setDetectionData(Integer isQualified, String valueTypeCode, DictDataEnum dataRule, Map<String, List<Double>> mag, Double fData, String dur, List<PqErrSysDtls> magErrList, List<SourceIssue.ChannelListDTO> channelTypeCList, String typeC) {
|
|
|
|
|
DetectionData c;
|
|
|
|
|
if (DUR.equals(dur)) {
|
|
|
|
|
c = rangeDURComparisonList(mag.get(typeC), isQualified, magErrList, fData, channelTypeCList.get(0).getDipData().getRetainTime(), dataRule);
|
|
|
|
|
c = rangeDURComparisonList(mag.get(typeC), isQualified, valueTypeCode, magErrList, fData, channelTypeCList.get(0).getDipData().getRetainTime(), dataRule);
|
|
|
|
|
} else {
|
|
|
|
|
List<Double> ampData = mag.get(typeC).stream()
|
|
|
|
|
.filter(x -> ObjectUtil.isNotNull(x))
|
|
|
|
|
.map(x -> x * channelTypeCList.get(0).getFAmp() * 0.01)
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
c = rangeComparisonList(ampData, isQualified, magErrList, fData, channelTypeCList.get(0).getDipData().getFTransValue(), dataRule);
|
|
|
|
|
c = rangeComparisonList(ampData, isQualified, valueTypeCode, magErrList, fData, channelTypeCList.get(0).getDipData().getFTransValue(), dataRule);
|
|
|
|
|
}
|
|
|
|
|
return c;
|
|
|
|
|
}
|
|
|
|
|
@@ -825,6 +841,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<DetectionData> harmRangeComparison(Integer isQualified,
|
|
|
|
|
String valueTypeCode,
|
|
|
|
|
List<PqErrSysDtls> pqErrSysDtls,
|
|
|
|
|
String type,
|
|
|
|
|
String phase,
|
|
|
|
|
@@ -894,6 +911,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
NumberFormat nf = NumberFormat.getInstance();
|
|
|
|
|
nf.setMaximumFractionDigits(6);
|
|
|
|
|
nf.setGroupingUsed(false);
|
|
|
|
|
data.setUnit(unit(valueTypeCode, errSysDtl.getErrorValueType()));
|
|
|
|
|
data.setRadius(nf.format(-errSys.getMaxErrorValue()) + "~" + nf.format(errSys.getMaxErrorValue()));
|
|
|
|
|
setDetection(dataRule, harmDataList, errSys, data, v);
|
|
|
|
|
}
|
|
|
|
|
@@ -1057,7 +1075,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
* @param dataRule 数据处理原则
|
|
|
|
|
* @returnd
|
|
|
|
|
*/
|
|
|
|
|
public DetectionData rangeComparisonList(List<Double> list, Integer isQualified, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
|
public DetectionData rangeComparisonList(List<Double> list, Integer isQualified, String valueTypeCode, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
|
DetectionData detectionData = new DetectionData();
|
|
|
|
|
detectionData.setIsData(isQualified);
|
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
|
@@ -1075,6 +1093,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
NumberFormat nf = NumberFormat.getInstance();
|
|
|
|
|
nf.setMaximumFractionDigits(6);
|
|
|
|
|
nf.setGroupingUsed(false);
|
|
|
|
|
detectionData.setUnit(unit(valueTypeCode, errSysDtl.getErrorValueType()));
|
|
|
|
|
errSysDtl.setMaxErrorValue(maxErrorMultiply(errSysDtl.getMaxErrorValue(), data, channelData, errSysDtl.getErrorValueType()));
|
|
|
|
|
detectionData.setRadius(nf.format(-errSysDtl.getMaxErrorValue()) + "~" + nf.format(errSysDtl.getMaxErrorValue()));
|
|
|
|
|
setDetection(dataRule, list, errSysDtl, detectionData, channelData);
|
|
|
|
|
@@ -1083,7 +1102,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
return detectionData;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public DetectionData rangeDURComparisonList(List<Double> list, Integer isQualified, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
|
public DetectionData rangeDURComparisonList(List<Double> list, Integer isQualified, String valueTypeCode, List<PqErrSysDtls> pqErrSysDtls, Double data, Double channelData, DictDataEnum dataRule) {
|
|
|
|
|
DetectionData detectionData = new DetectionData();
|
|
|
|
|
detectionData.setIsData(isQualified);
|
|
|
|
|
if (CollUtil.isNotEmpty(list)) {
|
|
|
|
|
@@ -1102,6 +1121,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
NumberFormat nf = NumberFormat.getInstance();
|
|
|
|
|
nf.setMaximumFractionDigits(6);
|
|
|
|
|
nf.setGroupingUsed(false);
|
|
|
|
|
detectionData.setUnit(unit(valueTypeCode, errSysDtl.getErrorValueType()));
|
|
|
|
|
detectionData.setRadius(nf.format(BigDecimal.valueOf(1.0 / data * (channelData - errSysDtl.getMaxErrorValue())))
|
|
|
|
|
+ "~" + nf.format(BigDecimal.valueOf(1.0 / data * (channelData + errSysDtl.getMaxErrorValue()))));
|
|
|
|
|
List<Double> qualifiedList = list.stream()
|
|
|
|
|
@@ -1179,11 +1199,11 @@ public class DetectionServiceImpl {
|
|
|
|
|
switch (errorValueType) {
|
|
|
|
|
case 2:
|
|
|
|
|
//下发的谐波电压幅值,返回的是谐波电压含有率,拿(含有率值*基波 - 源下发对应谐波值幅值)/下发的幅值
|
|
|
|
|
return subtract
|
|
|
|
|
return subtract.multiply(BigDecimal.valueOf(100))
|
|
|
|
|
.divide(BigDecimal.valueOf(channelData), 4, RoundingMode.HALF_UP);
|
|
|
|
|
case 3:
|
|
|
|
|
//下发的谐波电压幅值,返回的是谐波电压含有率,拿(含有率值*基波 - 源下发对应谐波值幅值)/装置返回值
|
|
|
|
|
return subtract
|
|
|
|
|
return subtract.multiply(BigDecimal.valueOf(100))
|
|
|
|
|
.divide(BigDecimal.valueOf(devData), 4, RoundingMode.HALF_UP);
|
|
|
|
|
}
|
|
|
|
|
return subtract;
|
|
|
|
|
@@ -1240,7 +1260,7 @@ public class DetectionServiceImpl {
|
|
|
|
|
.setScale(4, RoundingMode.HALF_UP).doubleValue();
|
|
|
|
|
case 2:
|
|
|
|
|
case 3:
|
|
|
|
|
return BigDecimal.valueOf(errorValue).multiply(BigDecimal.valueOf(harmData))
|
|
|
|
|
return BigDecimal.valueOf(errorValue).multiply(BigDecimal.valueOf(100))
|
|
|
|
|
.setScale(4, RoundingMode.HALF_UP).doubleValue();
|
|
|
|
|
default:
|
|
|
|
|
return errorValue;
|
|
|
|
|
|