调整case枚举信息,调整数据处理原则

This commit is contained in:
wr
2025-02-10 16:22:36 +08:00
parent d2a8ddfbd2
commit 8bc0498b9f
3 changed files with 278 additions and 174 deletions

View File

@@ -15,6 +15,7 @@ import com.njcn.gather.err.pojo.param.PqErrSysParam;
import com.njcn.gather.err.pojo.po.PqErrSysDtls; import com.njcn.gather.err.pojo.po.PqErrSysDtls;
import com.njcn.gather.err.pojo.vo.ErrDtlsCheckDataVO; import com.njcn.gather.err.pojo.vo.ErrDtlsCheckDataVO;
import com.njcn.gather.err.service.IPqErrSysDtlsService; import com.njcn.gather.err.service.IPqErrSysDtlsService;
import com.njcn.gather.result.pojo.enums.ResultUnitEnum;
import com.njcn.gather.script.pojo.po.PqScriptCheckData; import com.njcn.gather.script.pojo.po.PqScriptCheckData;
import com.njcn.gather.script.pojo.po.SourceIssue; import com.njcn.gather.script.pojo.po.SourceIssue;
import com.njcn.gather.script.service.IPqScriptCheckDataService; import com.njcn.gather.script.service.IPqScriptCheckDataService;
@@ -87,90 +88,145 @@ public class DetectionServiceImpl {
param.setScriptId(sourceIssue.getScriptId()); param.setScriptId(sourceIssue.getScriptId());
param.setErrorSysId(errorSysId); param.setErrorSysId(errorSysId);
List<ErrDtlsCheckDataVO> errDtlsCheckData = pqErrSysDtlsService.listByPqErrSysIdAndTypes(param); List<ErrDtlsCheckDataVO> errDtlsCheckData = pqErrSysDtlsService.listByPqErrSysIdAndTypes(param);
switch (sourceIssue.getType()) { ResultUnitEnum resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(sourceIssue.getType());
switch (resultUnitEnumByCode) {
/** /**
* 频率 * 频率
*/ */
case "FREQ": case FREQ:
return isQualified(dev, devIdMapComm, errDtlsCheckData, F, sourceIssue, dataRule, code); return isQualified(dev, devIdMapComm, errDtlsCheckData, F, sourceIssue, dataRule, code);
/** /**
* 电压 * 电压
*/ */
case "V": case V_RELATIVE:
case V_ABSOLUTELY:
return isQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, code); return isQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, code);
/** /**
* 电流 * 电流
*/ */
case "I": case I_RELATIVE:
case I_ABSOLUTELY:
return isQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, code); return isQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, code);
/** /**
* 谐波电压 * 谐波电压
*/ */
case "HV": case HV:
AdHarmonicResult harmV = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, 2); AdHarmonicResult harmV = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, 2);
detectionDataDealService.acceptAdResult(Arrays.asList(harmV), code); detectionDataDealService.acceptAdResult(Arrays.asList(harmV), code);
return harmV.getResultFlag(); return harmV.getResultFlag();
/** /**
* 谐波电流 * 谐波电流
*/ */
case "HI": case HI:
AdHarmonicResult harmI = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, 2); AdHarmonicResult harmI = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, 2);
detectionDataDealService.acceptAdResult(Arrays.asList(harmI), code); detectionDataDealService.acceptAdResult(Arrays.asList(harmI), code);
return harmI.getResultFlag(); return harmI.getResultFlag();
/** /**
* 间谐波电压 * 间谐波电压
*/ */
case "HSV": case HSV:
AdHarmonicResult harmInV = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, 1); AdHarmonicResult harmInV = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, 1);
detectionDataDealService.acceptAdResult(Arrays.asList(harmInV), code); detectionDataDealService.acceptAdResult(Arrays.asList(harmInV), code);
return harmInV.getResultFlag(); return harmInV.getResultFlag();
/** /**
* 间谐波电流 * 间谐波电流
*/ */
case "HSI": case HSI:
AdHarmonicResult harmInI = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, 1); AdHarmonicResult harmInI = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, 1);
detectionDataDealService.acceptAdResult(Arrays.asList(harmInI), code); detectionDataDealService.acceptAdResult(Arrays.asList(harmInI), code);
return harmInI.getResultFlag(); return harmInI.getResultFlag();
/** /**
* 三相电压不平衡度 * 三相电压不平衡度
*/ */
case "IMBV": case IMBV:
AdNonHarmonicResult vUnban = isUnBalanceOrFlickerQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, "V_UNBAN"); AdNonHarmonicResult vUnban = isUnBalanceOrFlickerQualified(dev, devIdMapComm, errDtlsCheckData, U, sourceIssue, dataRule, "V_UNBAN");
detectionDataDealService.acceptAdNonResult(Arrays.asList(vUnban), code); detectionDataDealService.acceptAdNonResult(Arrays.asList(vUnban), code);
return vUnban.getResultFlag(); return vUnban.getResultFlag();
/** /**
* 三相电流不平衡度 * 三相电流不平衡度
*/ */
case "IMBA": case IMBA:
AdNonHarmonicResult iUnban = isUnBalanceOrFlickerQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, "I_UNBAN"); AdNonHarmonicResult iUnban = isUnBalanceOrFlickerQualified(dev, devIdMapComm, errDtlsCheckData, I, sourceIssue, dataRule, "I_UNBAN");
detectionDataDealService.acceptAdNonResult(Arrays.asList(iUnban), code); detectionDataDealService.acceptAdNonResult(Arrays.asList(iUnban), code);
return iUnban.getResultFlag(); return iUnban.getResultFlag();
/** /**
* 谐波有功功率 * 谐波有功功率
*/ */
case "HP": case HP:
AdHarmonicResult harmP = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, P, sourceIssue, dataRule, 2); AdHarmonicResult harmP = isHarmQualified(dev, devIdMapComm, errDtlsCheckData, P, sourceIssue, dataRule, 2);
detectionDataDealService.acceptAdResult(Arrays.asList(harmP), code); detectionDataDealService.acceptAdResult(Arrays.asList(harmP), code);
return harmP.getResultFlag(); return harmP.getResultFlag();
/**
* 功率
*/
case "P":
return 4;
/** /**
* 闪变 * 闪变
*/ */
case "F": case F:
AdNonHarmonicResult pst = isUnBalanceOrFlickerQualified(dev, devIdMapComm, errDtlsCheckData, null, sourceIssue, dataRule, "PST"); AdNonHarmonicResult pst = isUnBalanceOrFlickerQualified(dev, devIdMapComm, errDtlsCheckData, null, sourceIssue, dataRule, "PST");
detectionDataDealService.acceptAdNonResult(Arrays.asList(pst), code); detectionDataDealService.acceptAdNonResult(Arrays.asList(pst), code);
return pst.getResultFlag(); return pst.getResultFlag();
/** /**
* 暂态 * 暂态
*/ */
case "VOLTAGE": case VOLTAGE_MAG:
case VOLTAGE_DUR:
return isVoltageQualified(dev, devIdMapComm, errDtlsCheckData, sourceIssue, dataRule, code); return isVoltageQualified(dev, devIdMapComm, errDtlsCheckData, sourceIssue, dataRule, code);
default:
// return isUnknownQualified(dev, devIdMapComm, errDtlsCheckData, sourceIssue, dataRule, code);
return 4;
} }
return null; }
public Integer isUnknownQualified(List<DevData> dev,
Map<String, String> devIdMapComm,
List<ErrDtlsCheckDataVO> errDtlsCheckData,
SourceIssue sourceIssue,
DictDataEnum dataRule,
String code) {
List<AdNonHarmonicResult> info = new ArrayList<>();
List<String> devValueTypeList = sourceIssue.getDevValueTypeList();
for (String s : devValueTypeList) {
//基本数据
Map<String, List<Double>> map = devListMap(dev, dataRule, s.split("\\$")[1]);
AdNonHarmonicResult result = new AdNonHarmonicResult();
String[] split = dev.get(0).getId().split("_");
String devID = devIdMapComm.get(split[0]);
result.setMonitorId(devID + "_" + split[1]);
result.setScriptId(sourceIssue.getScriptId());
result.setSort(sourceIssue.getIndex());
result.setDataType("avg");
List<ErrDtlsCheckDataVO> dtlsCheckData = errDtlsCheckData.stream().filter(x -> x.getValueTypeCode().equals(s.split("\\$")[1])).collect(Collectors.toList());
List<DetectionData> resultFlag = new ArrayList<>();
map.forEach((key, value) -> {
List<ErrDtlsCheckDataVO> checkData = dtlsCheckData.stream().filter(x -> key.equals(x.getPhase())).collect(Collectors.toList());
DetectionData detectionData = rangeComparisonList(value, new ArrayList<>(), null, checkData.get(0).getValue(), dataRule);
if (key.equals(TYPE_T)) {
result.setTValue(JSON.toJSONString(detectionData));
}
if (key.equals(TYPE_A)) {
result.setAValue(JSON.toJSONString(detectionData));
}
if (key.equals(TYPE_B)) {
result.setBValue(JSON.toJSONString(detectionData));
}
if (key.equals(TYPE_C)) {
result.setCValue(JSON.toJSONString(detectionData));
}
resultFlag.add(detectionData);
});
result.setResultFlag(setResultFlag(resultFlag));
info.add(result);
//谐波
Map<String, Map<Double, List<Double>>> devHarmMap = devHarmListMap(dev, sourceIssue, dataRule, 2);
List<DetectionData> detectionData = harmRangeComparison(new ArrayList<>(), null, TYPE_T, sourceIssue, dataRule, devHarmMap.get(TYPE_T), sourceIssue.getFUn(), 2);
//间谐波
Map<String, Map<Double, List<Double>>> devInHarmMap = devHarmListMap(dev, sourceIssue, dataRule, 1);
}
if (CollUtil.isNotEmpty(info)) {
detectionDataDealService.acceptAdNonResult(info, code);
List<Integer> resultFlag = info.stream().filter(x -> 4 != x.getResultFlag()).map(AdNonHarmonicResult::getResultFlag).distinct().collect(Collectors.toList());
return getInteger(resultFlag);
}
return 4;
} }
/** /**
@@ -223,7 +279,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), 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());
@@ -232,19 +288,19 @@ public class DetectionServiceImpl {
List<DetectionData> resultFlag = new ArrayList<>(); List<DetectionData> resultFlag = new ArrayList<>();
//取出源所对应的相别信息 //取出源所对应的相别信息
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), 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), 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), pqErrSysDtls, fData, checkDataC.get(0).getValue(), dataRule);
resultFlag.add(c); resultFlag.add(c);
result.setCValue(JSON.toJSONString(c)); result.setCValue(JSON.toJSONString(c));
@@ -554,16 +610,16 @@ public class DetectionServiceImpl {
.collect(Collectors.toList()); .collect(Collectors.toList());
switch (dataRule) { switch (dataRule) {
case SECTION_VALUE: case SECTION_VALUE:
a = getDoubles(a, 1, 19); a = getDoubles(a);
b = getDoubles(b, 1, 19); b = getDoubles(b);
c = getDoubles(c, 1, 19); c = getDoubles(c);
t = getDoubles(t, 1, 19); t = getDoubles(t);
break; break;
case CP95_VALUE: case CP95_VALUE:
a = getDoubles(a, 1, 2); a = getCP95Doubles(a);
b = getDoubles(b, 1, 2); b = getCP95Doubles(b);
c = getDoubles(c, 1, 2); c = getCP95Doubles(c);
t = getDoubles(t, 1, 2); t = getCP95Doubles(t);
break; break;
case AVG_VALUE: case AVG_VALUE:
a = getAvgDoubles(a); a = getAvgDoubles(a);
@@ -730,7 +786,13 @@ public class DetectionServiceImpl {
} }
} }
/**
* @param dev 原始数据
* @param sourceIssue
* @param dataRule
* @param num
* @return
*/
public Map<String, Map<Double, List<Double>>> devHarmListMap(List<DevData> dev, SourceIssue sourceIssue, DictDataEnum dataRule, Integer num) { public Map<String, Map<Double, List<Double>>> devHarmListMap(List<DevData> dev, SourceIssue sourceIssue, DictDataEnum dataRule, Integer num) {
Map<String, Map<Double, List<Double>>> map = new HashMap<>(3); Map<String, Map<Double, List<Double>>> map = new HashMap<>(3);
List<Double> harmNum = new ArrayList<>(); List<Double> harmNum = new ArrayList<>();
@@ -768,12 +830,25 @@ public class DetectionServiceImpl {
map.forEach((typeKey, typeValue) -> { map.forEach((typeKey, typeValue) -> {
typeValue.forEach((key, value) -> { typeValue.forEach((key, value) -> {
value.sort(Comparator.comparing(Double::doubleValue).reversed()); value.sort(Comparator.comparing(Double::doubleValue).reversed());
if (CollUtil.isNotEmpty(value)) {
switch (dataRule) { switch (dataRule) {
case SECTION_VALUE: case SECTION_VALUE:
value.subList(19, value.size()).clear(); // 保留前19个元素 if (value.size() > 2) {
value.remove(0); // 移除第一个元素 Double max = Collections.max(value);
Double min = Collections.min(value);
value.remove(max);
value.remove(min);
}
break; break;
case CP95_VALUE: case CP95_VALUE:
if (value.size() < 21) {
if (value.size() > 1) {
value.subList(1, 2);
}
} else {
int v = (int) (value.size() * 0.5);
value.subList(v, v + 1);
}
value.subList(1, value.size()).clear(); // 保留第一个元素 value.subList(1, value.size()).clear(); // 保留第一个元素
break; break;
case AVG_VALUE: case AVG_VALUE:
@@ -782,6 +857,7 @@ public class DetectionServiceImpl {
value.add(average); // 添加平均值 value.add(average); // 添加平均值
break; break;
} }
}
}); });
}); });
return map; return map;
@@ -1047,9 +1123,32 @@ public class DetectionServiceImpl {
return t; return t;
} }
public List<Double> getDoubles(List<Double> t, Integer start, Integer end) { public List<Double> getDoubles(List<Double> t) {
if (CollUtil.isNotEmpty(t)) { if (CollUtil.isNotEmpty(t)) {
t = t.subList(start, end); if (t == null || t.size() < 2) {
return t;
}
Double max = Collections.max(t);
Double min = Collections.min(t);
t.remove(max);
t.remove(min);
}
return t;
}
public List<Double> getCP95Doubles(List<Double> t) {
if (CollUtil.isNotEmpty(t)) {
if (t.size() < 21) {
if (t.size() == 1) {
return t;
}
if (t.size() > 1) {
return t.subList(1, 2);
}
} else {
int v = (int) (t.size() * 0.5);
return t.subList(v, v + 1);
}
} }
return t; return t;
} }

View File

@@ -1,5 +1,6 @@
package com.njcn.gather.result.pojo.enums; package com.njcn.gather.result.pojo.enums;
import cn.hutool.core.util.ObjectUtil;
import lombok.Getter; import lombok.Getter;
/** /**
@@ -9,28 +10,41 @@ import lombok.Getter;
@Getter @Getter
public enum ResultUnitEnum { public enum ResultUnitEnum {
FREQ_UNIT("Hz", "频率"), FREQ("Hz", "频率","FREQ"),
V_RELATIVE_UNIT("%Un", "电压"), V_RELATIVE("%Un", "电压","V"),
V_ABSOLUTELY_UNIT("V", "电压"), V_ABSOLUTELY("V", "电压","V"),
I_RELATIVE_UNIT("%In", "电流"), I_RELATIVE("%In", "电流","I"),
I_ABSOLUTELY_UNIT("A", "电流"), I_ABSOLUTELY("A", "电流","I"),
HV_UNIT("%", "谐波电压"), HV("%", "谐波电压","HV"),
HI_UNIT("%", "谐波电流"), HI("%", "谐波电流","HI"),
HP_UNIT("W", "谐波有功功率"), HP("W", "谐波有功功率","HP"),
HSV_UNIT("%", "间谐波电压"), HSV("%", "间谐波电压","HSV"),
HSI_UNIT("%", "间谐波电流"), HSI("%", "间谐波电流","HSI"),
VOLTAGE_MAG_UNIT("周波", "暂态持续时间"), VOLTAGE_MAG("周波", "暂态持续时间","VOLTAGE"),
VOLTAGE_DUR_UNIT("%", "暂态深度"), VOLTAGE_DUR("%", "暂态深度","VOLTAGE"),
IMBV_UNIT("%", "电压不平衡度"), IMBV("%", "电压不平衡度","IMBV"),
IMBA_UNIT("%", "电流不平衡度"), IMBA("%", "电流不平衡度","IMBA"),
F("","闪变","F"),
UNKNOWN("","未知","UNKNOWN"),
; ;
private String unit; private String unit;
private String name; private String name;
private String code;
ResultUnitEnum(String unit, String name) { ResultUnitEnum(String unit, String name, String code) {
this.unit = unit; this.unit = unit;
this.name = name; this.name = name;
this.code = code;
}
public static ResultUnitEnum getResultUnitEnumByCode(String code) {
for (ResultUnitEnum resultUnitEnum : ResultUnitEnum.values()) {
if (ObjectUtil.equals(code, resultUnitEnum.getCode())) {
return resultUnitEnum;
}
}
return UNKNOWN;
} }
} }

View File

@@ -289,23 +289,25 @@ public class ResultServiceImpl implements IResultService {
} }
private void ratedScriptTypeName(List<PqScriptDtls> scriptDtlIndexList, Boolean isValueType, TreeDataVO dtlType, DictTree dictTree) { private void ratedScriptTypeName(List<PqScriptDtls> scriptDtlIndexList, Boolean isValueType, TreeDataVO dtlType, DictTree dictTree) {
switch (dictTree.getCode()) { ResultUnitEnum resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(dictTree.getCode());
switch (resultUnitEnumByCode) {
/** /**
* 频率 * 频率
*/ */
case "FREQ": case FREQ:
List<PqScriptDtls> f = scriptDtlIndexList.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> f = scriptDtlIndexList.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName(dictTree.getName() + "=" + f.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit()); dtlType.setScriptTypeName(dictTree.getName() + "=" + f.get(0).getValue() + ResultUnitEnum.FREQ.getUnit());
break; break;
/** /**
* 电压 * 电压
*/ */
case "V": case V_RELATIVE:
case V_ABSOLUTELY:
String unit; String unit;
if (isValueType) { if (isValueType) {
unit = ResultUnitEnum.V_RELATIVE_UNIT.getUnit(); unit = ResultUnitEnum.V_RELATIVE.getUnit();
} else { } else {
unit = ResultUnitEnum.V_ABSOLUTELY_UNIT.getUnit(); unit = ResultUnitEnum.V_ABSOLUTELY.getUnit();
} }
List<PqScriptDtls> v = scriptDtlIndexList.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> v = scriptDtlIndexList.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName(dictTree.getName() + "=" + v.get(0).getValue().intValue() + unit); dtlType.setScriptTypeName(dictTree.getName() + "=" + v.get(0).getValue().intValue() + unit);
@@ -313,24 +315,23 @@ public class ResultServiceImpl implements IResultService {
/** /**
* 电流 * 电流
*/ */
case "I": case I_RELATIVE:
case I_ABSOLUTELY:
String unitI; String unitI;
if (isValueType) { if (isValueType) {
unitI = ResultUnitEnum.I_RELATIVE_UNIT.getUnit(); unitI = ResultUnitEnum.I_RELATIVE.getUnit();
} else { } else {
unitI = ResultUnitEnum.I_ABSOLUTELY_UNIT.getUnit(); unitI = ResultUnitEnum.I_ABSOLUTELY.getUnit();
} }
List<PqScriptDtls> I = scriptDtlIndexList.stream().filter(x -> "CUR".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> I = scriptDtlIndexList.stream().filter(x -> "CUR".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName(dictTree.getName() + "=" + I.get(0).getValue().intValue() + unitI); dtlType.setScriptTypeName(dictTree.getName() + "=" + I.get(0).getValue().intValue() + unitI);
break; break;
/** /**
* 谐波电压 * 谐波电压
*/
case "HV":
/**
* 谐波电流 * 谐波电流
*/ */
case "HI": case HV:
case HI:
String valueType; String valueType;
if ("HV".equals(dictTree.getCode())) { if ("HV".equals(dictTree.getCode())) {
valueType = "Harm_V"; valueType = "Harm_V";
@@ -348,17 +349,15 @@ public class ResultServiceImpl implements IResultService {
+ "" + dictTree.getName() + "含有率为GB/T"); + "" + dictTree.getName() + "含有率为GB/T");
} else { } else {
//叠加5%的2次谐波电压 //叠加5%的2次谐波电压
dtlType.setScriptTypeName("叠加" + hv.get(0).getValue().intValue() + ResultUnitEnum.HV_UNIT.getUnit() + "" + hv.get(0).getHarmNum().intValue() + "" + dictTree.getName()); dtlType.setScriptTypeName("叠加" + hv.get(0).getValue().intValue() + ResultUnitEnum.HV.getUnit() + "" + hv.get(0).getHarmNum().intValue() + "" + dictTree.getName());
} }
break; break;
/** /**
* 间谐波电压 * 间谐波电压
*/
case "HSV":
/**
* 间谐波电流 * 间谐波电流
*/ */
case "HSI": case HSV:
case HSI:
//叠加1.5/5.5/7.5/49.5次间谐波,含有率为。。。 //叠加1.5/5.5/7.5/49.5次间谐波,含有率为。。。
String in; String in;
if ("HSV".equals(dictTree.getCode())) { if ("HSV".equals(dictTree.getCode())) {
@@ -384,36 +383,36 @@ public class ResultServiceImpl implements IResultService {
dtlType.setScriptTypeName(a.toString()); dtlType.setScriptTypeName(a.toString());
} else { } else {
//叠加5%的2次谐波电压 //叠加5%的2次谐波电压
dtlType.setScriptTypeName("叠加" + harmInNumList.get(0).getValue().intValue() + ResultUnitEnum.HV_UNIT.getUnit() + "" + harmInNumList.get(0).getHarmNum() + "" + dictTree.getName()); dtlType.setScriptTypeName("叠加" + harmInNumList.get(0).getValue().intValue() + ResultUnitEnum.HV.getUnit() + "" + harmInNumList.get(0).getHarmNum() + "" + dictTree.getName());
} }
break; break;
/** /**
* 三相电压不平衡度 * 三相电压不平衡度
*/ */
case "IMBV": case IMBV:
List<PqScriptCheckData> list = pqScriptCheckDataService.list(new MPJLambdaWrapper<PqScriptCheckData>() List<PqScriptCheckData> list = pqScriptCheckDataService.list(new MPJLambdaWrapper<PqScriptCheckData>()
.eq(PqScriptCheckData::getScriptId, scriptDtlIndexList.get(0).getScriptId()) .eq(PqScriptCheckData::getScriptId, scriptDtlIndexList.get(0).getScriptId())
.eq(PqScriptCheckData::getIndex, scriptDtlIndexList.get(0).getIndex()) .eq(PqScriptCheckData::getIndex, scriptDtlIndexList.get(0).getIndex())
); );
//三相负序电压不平衡度=0% //三相负序电压不平衡度=0%
dtlType.setScriptTypeName(dictTree.getName() + "=" + list.get(0).getValue() + ResultUnitEnum.IMBV_UNIT.getUnit()); dtlType.setScriptTypeName(dictTree.getName() + "=" + list.get(0).getValue() + ResultUnitEnum.IMBV.getUnit());
break; break;
/** /**
* 三相电流不平衡度 * 三相电流不平衡度
*/ */
case "IMBA": case IMBA:
List<PqScriptCheckData> imba = pqScriptCheckDataService.list(new MPJLambdaWrapper<PqScriptCheckData>() List<PqScriptCheckData> imba = pqScriptCheckDataService.list(new MPJLambdaWrapper<PqScriptCheckData>()
.eq(PqScriptCheckData::getScriptId, scriptDtlIndexList.get(0).getScriptId()) .eq(PqScriptCheckData::getScriptId, scriptDtlIndexList.get(0).getScriptId())
.eq(PqScriptCheckData::getIndex, scriptDtlIndexList.get(0).getIndex()) .eq(PqScriptCheckData::getIndex, scriptDtlIndexList.get(0).getIndex())
); );
//三相负序电流不平衡度=0% //三相负序电流不平衡度=0%
dtlType.setScriptTypeName(dictTree.getName() + "=" + imba.get(0).getValue() + ResultUnitEnum.IMBV_UNIT.getUnit()); dtlType.setScriptTypeName(dictTree.getName() + "=" + imba.get(0).getValue() + ResultUnitEnum.IMBV.getUnit());
break; break;
/** /**
* 谐波有功功率 * 谐波有功功率
*/ */
case "HP": case HP:
//10%的2次谐波电压40%的2次谐波电流 //10%的2次谐波电压40%的2次谐波电流
List<PqScriptDtls> hpv = scriptDtlIndexList.stream().filter(x -> "Harm_V".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hpv = scriptDtlIndexList.stream().filter(x -> "Harm_V".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hpI = scriptDtlIndexList.stream().filter(x -> "Harm_I".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hpI = scriptDtlIndexList.stream().filter(x -> "Harm_I".equals(x.getValueType())).collect(Collectors.toList());
@@ -429,7 +428,7 @@ public class ResultServiceImpl implements IResultService {
ArrayList<List<PqScriptDtls>> lists = new ArrayList<>(harmNumVMap.values()); ArrayList<List<PqScriptDtls>> lists = new ArrayList<>(harmNumVMap.values());
Map<Double, List<PqScriptDtls>> hpvMap = lists.stream().flatMap(x -> x.stream().filter(j -> "A".equals(j.getPhase()))).collect(Collectors.groupingBy(PqScriptDtls::getValue)); Map<Double, List<PqScriptDtls>> hpvMap = lists.stream().flatMap(x -> x.stream().filter(j -> "A".equals(j.getPhase()))).collect(Collectors.groupingBy(PqScriptDtls::getValue));
hpvMap.forEach((key, value) -> { hpvMap.forEach((key, value) -> {
a.append(key.intValue() + ResultUnitEnum.HV_UNIT.getUnit() + ""); a.append(key.intValue() + ResultUnitEnum.HV.getUnit() + "");
for (int i = 0; i < value.size(); i++) { for (int i = 0; i < value.size(); i++) {
if (i == value.size() - 1) { if (i == value.size() - 1) {
a.append(value.get(i).getHarmNum().intValue()); a.append(value.get(i).getHarmNum().intValue());
@@ -437,18 +436,18 @@ public class ResultServiceImpl implements IResultService {
a.append(value.get(i).getHarmNum().intValue() + ""); a.append(value.get(i).getHarmNum().intValue() + "");
} }
} }
a.append("" + ResultUnitEnum.HV_UNIT.getName()); a.append("" + ResultUnitEnum.HV.getName());
}); });
} else { } else {
PqScriptDtls dtls = harmNumVMap.entrySet().iterator().next().getValue().get(0); PqScriptDtls dtls = harmNumVMap.entrySet().iterator().next().getValue().get(0);
a.append(dtls.getValue().intValue() + ResultUnitEnum.HV_UNIT.getUnit() + "" + dtls.getHarmNum().intValue() + ResultUnitEnum.HV_UNIT.getName()); a.append(dtls.getValue().intValue() + ResultUnitEnum.HV.getUnit() + "" + dtls.getHarmNum().intValue() + ResultUnitEnum.HV.getName());
} }
a.append(","); a.append(",");
if (harmNumIMap.size() > 1) { if (harmNumIMap.size() > 1) {
ArrayList<List<PqScriptDtls>> lists = new ArrayList<>(harmNumIMap.values()); ArrayList<List<PqScriptDtls>> lists = new ArrayList<>(harmNumIMap.values());
Map<Double, List<PqScriptDtls>> hpvMap = lists.stream().flatMap(x -> x.stream().filter(j -> "A".equals(j.getPhase()))).collect(Collectors.groupingBy(PqScriptDtls::getValue)); Map<Double, List<PqScriptDtls>> hpvMap = lists.stream().flatMap(x -> x.stream().filter(j -> "A".equals(j.getPhase()))).collect(Collectors.groupingBy(PqScriptDtls::getValue));
hpvMap.forEach((key, value) -> { hpvMap.forEach((key, value) -> {
a.append(key.intValue() + ResultUnitEnum.HI_UNIT.getUnit() + ""); a.append(key.intValue() + ResultUnitEnum.HI.getUnit() + "");
for (int i = 0; i < value.size(); i++) { for (int i = 0; i < value.size(); i++) {
if (i == value.size() - 1) { if (i == value.size() - 1) {
a.append(value.get(i).getHarmNum().intValue()); a.append(value.get(i).getHarmNum().intValue());
@@ -456,23 +455,18 @@ public class ResultServiceImpl implements IResultService {
a.append(value.get(i).getHarmNum().intValue() + ""); a.append(value.get(i).getHarmNum().intValue() + "");
} }
} }
a.append("" + ResultUnitEnum.HI_UNIT.getName()); a.append("" + ResultUnitEnum.HI.getName());
}); });
} else { } else {
PqScriptDtls dtls = harmNumIMap.entrySet().iterator().next().getValue().get(0); PqScriptDtls dtls = harmNumIMap.entrySet().iterator().next().getValue().get(0);
a.append(dtls.getValue().intValue() + ResultUnitEnum.HI_UNIT.getUnit() + "" + dtls.getHarmNum().intValue() + "" + ResultUnitEnum.HI_UNIT.getName()); a.append(dtls.getValue().intValue() + ResultUnitEnum.HI.getUnit() + "" + dtls.getHarmNum().intValue() + "" + ResultUnitEnum.HI.getName());
} }
dtlType.setScriptTypeName(a.toString()); dtlType.setScriptTypeName(a.toString());
break; break;
/**
* 功率
*/
case "P":
break;
/** /**
* 闪变 * 闪变
*/ */
case "F": case F:
//Pst=1(变动率=1.459%*1) //Pst=1(变动率=1.459%*1)
List<PqScriptDtls> flicker = scriptDtlIndexList.stream().filter(x -> "Flicker".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> flicker = scriptDtlIndexList.stream().filter(x -> "Flicker".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("Pst=" + flicker.get(0).getChagFre() + "(变动率=" + flicker.get(0).getChagValue() + "%*" + flicker.get(0).getChagFre() + ")"); dtlType.setScriptTypeName("Pst=" + flicker.get(0).getChagFre() + "(变动率=" + flicker.get(0).getChagValue() + "%*" + flicker.get(0).getChagFre() + ")");
@@ -480,29 +474,32 @@ public class ResultServiceImpl implements IResultService {
/** /**
* 暂态 * 暂态
*/ */
case "VOLTAGE": case VOLTAGE_MAG:
case VOLTAGE_DUR:
break; break;
} }
} }
private void harmScriptTypeName(List<PqScriptDtls> dtls, DictTree dictTree, Boolean isValueType, TreeDataVO dtlType) { private void harmScriptTypeName(List<PqScriptDtls> dtls, DictTree dictTree, Boolean isValueType, TreeDataVO dtlType) {
switch (dictTree.getCode()) { ResultUnitEnum resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(dictTree.getCode());
switch (resultUnitEnumByCode) {
/** /**
* 频率 * 频率
*/ */
case "FREQ": case FREQ:
List<PqScriptDtls> f = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> f = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("叠加多次谐波对" + dictTree.getName() + "=" + f.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + "的影响"); dtlType.setScriptTypeName("叠加多次谐波对" + dictTree.getName() + "=" + f.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + "的影响");
break; break;
/** /**
* 电压 * 电压
*/ */
case "V": case V_RELATIVE:
case V_ABSOLUTELY:
String unit; String unit;
if (isValueType) { if (isValueType) {
unit = ResultUnitEnum.V_RELATIVE_UNIT.getUnit(); unit = ResultUnitEnum.V_RELATIVE.getUnit();
} else { } else {
unit = ResultUnitEnum.V_ABSOLUTELY_UNIT.getUnit(); unit = ResultUnitEnum.V_ABSOLUTELY.getUnit();
} }
List<PqScriptDtls> v = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> v = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("叠加多次谐波对" + dictTree.getName() + "=" + v.get(0).getValue() + unit + "的影响"); dtlType.setScriptTypeName("叠加多次谐波对" + dictTree.getName() + "=" + v.get(0).getValue() + unit + "的影响");
@@ -510,246 +507,240 @@ public class ResultServiceImpl implements IResultService {
/** /**
* 电流 * 电流
*/ */
case "I": case I_RELATIVE:
case I_ABSOLUTELY:
break; break;
/** /**
* 谐波电压 * 谐波电压
*/ */
case "HV": case HV:
break; break;
/** /**
* 谐波电流 * 谐波电流
*/ */
case "HI": case HI:
break; break;
/** /**
* 间谐波电压 * 间谐波电压
*/ */
case "HSV": case HSV:
break; break;
/** /**
* 间谐波电流 * 间谐波电流
*/ */
case "HSI": case HSI:
break; break;
/** /**
* 三相电压不平衡度 * 三相电压不平衡度
*/ */
case "IMBV": case IMBV:
break; break;
/** /**
* 三相电流不平衡度 * 三相电流不平衡度
*/ */
case "IMBA": case IMBA:
break; break;
/** /**
* 谐波有功功率 * 谐波有功功率
*/ */
case "HP": case HP:
break;
/**
* 功率
*/
case "P":
break; break;
/** /**
* 闪变 * 闪变
*/ */
case "F": case F:
break; break;
/** /**
* 暂态 * 暂态
*/ */
case "VOLTAGE": case VOLTAGE_MAG:
case VOLTAGE_DUR:
break; break;
} }
} }
private void volScriptTypeName(List<PqScriptDtls> dtls, DictTree dictTree, Boolean isValueType, TreeDataVO dtlType) { private void volScriptTypeName(List<PqScriptDtls> dtls, DictTree dictTree, Boolean isValueType, TreeDataVO dtlType) {
switch (dictTree.getCode()) { ResultUnitEnum resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(dictTree.getCode());
switch (resultUnitEnumByCode) {
/** /**
* 频率 * 频率
*/ */
case "FREQ": case FREQ:
String unit; String unit;
if (isValueType) { if (isValueType) {
unit = ResultUnitEnum.V_RELATIVE_UNIT.getUnit(); unit = ResultUnitEnum.V_RELATIVE.getUnit();
} else { } else {
unit = ResultUnitEnum.V_ABSOLUTELY_UNIT.getUnit(); unit = ResultUnitEnum.V_ABSOLUTELY.getUnit();
} }
List<PqScriptDtls> f = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> f = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> v = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> v = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName(v.get(0).getValue().intValue() + unit + "" + dictTree.getName() + "=" + f.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + "的影响"); dtlType.setScriptTypeName(v.get(0).getValue().intValue() + unit + "" + dictTree.getName() + "=" + f.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + "的影响");
break; break;
/** /**
* 电压 * 电压
*/ */
case "V": case V_RELATIVE:
case V_ABSOLUTELY:
break; break;
/** /**
* 电流 * 电流
*/ */
case "I": case I_RELATIVE:
case I_ABSOLUTELY:
break; break;
/** /**
* 谐波电压 * 谐波电压
*/ */
case "HV": case HV:
//电压有效值10%3次谐波电压含有率 //电压有效值10%3次谐波电压含有率
List<PqScriptDtls> hvv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hvv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hv = dtls.stream().filter(x -> "Harm_V".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hv = dtls.stream().filter(x -> "Harm_V".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("电压有效值" + hvv.get(0).getValue().intValue() + ResultUnitEnum.HV_UNIT.getUnit() + "," + hv.get(0).getHarmNum().intValue() + "" + dictTree.getName()); dtlType.setScriptTypeName("电压有效值" + hvv.get(0).getValue().intValue() + ResultUnitEnum.HV.getUnit() + "," + hv.get(0).getHarmNum().intValue() + "" + dictTree.getName());
break; break;
/** /**
* 谐波电流 * 谐波电流
*/ */
case "HI": case HI:
List<PqScriptDtls> hiv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hiv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hi = dtls.stream().filter(x -> "Harm_I".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hi = dtls.stream().filter(x -> "Harm_I".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("电压有效值" + hiv.get(0).getValue().intValue() + ResultUnitEnum.HI_UNIT.getUnit() + "," + hi.get(0).getHarmNum().intValue() + "" + dictTree.getName()); dtlType.setScriptTypeName("电压有效值" + hiv.get(0).getValue().intValue() + ResultUnitEnum.HI.getUnit() + "," + hi.get(0).getHarmNum().intValue() + "" + dictTree.getName());
break; break;
/** /**
* 间谐波电压 * 间谐波电压
*/ */
case "HSV": case HSV:
List<PqScriptDtls> hsvv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsvv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hsv = dtls.stream().filter(x -> "InHarm_V".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsv = dtls.stream().filter(x -> "InHarm_V".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("电压有效值" + hsvv.get(0).getValue().intValue() + ResultUnitEnum.HSV_UNIT.getUnit() + "," + hsv.get(0).getHarmNum() + "" + dictTree.getName()); dtlType.setScriptTypeName("电压有效值" + hsvv.get(0).getValue().intValue() + ResultUnitEnum.HSV.getUnit() + "," + hsv.get(0).getHarmNum() + "" + dictTree.getName());
break; break;
/** /**
* 间谐波电流 * 间谐波电流
*/ */
case "HSI": case HSI:
List<PqScriptDtls> hsiv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsiv = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hsi = dtls.stream().filter(x -> "InHarm_I".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsi = dtls.stream().filter(x -> "InHarm_I".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("电压有效值" + hsiv.get(0).getValue().intValue() + ResultUnitEnum.HSI_UNIT.getUnit() + "," + hsi.get(0).getHarmNum() + "" + dictTree.getName()); dtlType.setScriptTypeName("电压有效值" + hsiv.get(0).getValue().intValue() + ResultUnitEnum.HSI.getUnit() + "," + hsi.get(0).getHarmNum() + "" + dictTree.getName());
break; break;
/** /**
* 三相电压不平衡度 * 三相电压不平衡度
*/ */
case "IMBV": case IMBV:
break; break;
/** /**
* 三相电流不平衡度 * 三相电流不平衡度
*/ */
case "IMBA": case IMBA:
break; break;
/** /**
* 谐波有功功率 * 谐波有功功率
*/ */
case "HP": case HP:
break;
/**
* 功率
*/
case "P":
break; break;
/** /**
* 闪变 * 闪变
*/ */
case "F": case F:
break; break;
/** /**
* 暂态 * 暂态
*/ */
case "VOLTAGE": case VOLTAGE_MAG:
case VOLTAGE_DUR:
break; break;
} }
} }
private void freqScriptTypeName(List<PqScriptDtls> dtls, DictTree dictTree, Boolean isValueType, TreeDataVO dtlType) { private void freqScriptTypeName(List<PqScriptDtls> dtls, DictTree dictTree, Boolean isValueType, TreeDataVO dtlType) {
switch (dictTree.getCode()) { ResultUnitEnum resultUnitEnumByCode = ResultUnitEnum.getResultUnitEnumByCode(dictTree.getCode());
switch (resultUnitEnumByCode) {
/** /**
* 频率 * 频率
*/ */
case "FREQ": case FREQ:
break; break;
/** /**
* 电压 * 电压
*/ */
case "V": case V_RELATIVE:
case V_ABSOLUTELY:
String unit; String unit;
if (isValueType) { if (isValueType) {
unit = ResultUnitEnum.V_RELATIVE_UNIT.getUnit(); unit = ResultUnitEnum.V_RELATIVE.getUnit();
} else { } else {
unit = ResultUnitEnum.V_ABSOLUTELY_UNIT.getUnit(); unit = ResultUnitEnum.V_ABSOLUTELY.getUnit();
} }
List<PqScriptDtls> f = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> f = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> v = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> v = dtls.stream().filter(x -> "VOL".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("频率=" + f.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + "," + dictTree.getName() + "=" + v.get(0).getValue() + unit); dtlType.setScriptTypeName("频率=" + f.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + "," + dictTree.getName() + "=" + v.get(0).getValue() + unit);
break; break;
/** /**
* 电流 * 电流
*/ */
case "I": case I_RELATIVE:
case I_ABSOLUTELY:
break; break;
/** /**
* 谐波电压 * 谐波电压
*/ */
case "HV": case HV:
//基波频率为42.5Hz,2次谐波电压 //基波频率为42.5Hz,2次谐波电压
List<PqScriptDtls> hvf = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hvf = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hv = dtls.stream().filter(x -> "Harm_V".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hv = dtls.stream().filter(x -> "Harm_V".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("基波频率为" + hvf.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + "," + hv.get(0).getHarmNum().intValue() + "" + dictTree.getName()); dtlType.setScriptTypeName("基波频率为" + hvf.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + "," + hv.get(0).getHarmNum().intValue() + "" + dictTree.getName());
break; break;
/** /**
* 谐波电流 * 谐波电流
*/ */
case "HI": case HI:
List<PqScriptDtls> hif = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hif = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hi = dtls.stream().filter(x -> "Harm_I".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hi = dtls.stream().filter(x -> "Harm_I".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("基波频率为" + hif.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + "," + hi.get(0).getHarmNum().intValue() + "" + dictTree.getName()); dtlType.setScriptTypeName("基波频率为" + hif.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + "," + hi.get(0).getHarmNum().intValue() + "" + dictTree.getName());
break; break;
/** /**
* 间谐波电压 * 间谐波电压
*/ */
case "HSV": case HSV:
List<PqScriptDtls> hsvf = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsvf = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hsv = dtls.stream().filter(x -> "InHarm_V".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsv = dtls.stream().filter(x -> "InHarm_V".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("基波频率为" + hsvf.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + "," + hsv.get(0).getHarmNum() + "" + dictTree.getName()); dtlType.setScriptTypeName("基波频率为" + hsvf.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + "," + hsv.get(0).getHarmNum() + "" + dictTree.getName());
break; break;
/** /**
* 间谐波电流 * 间谐波电流
*/ */
case "HSI": case HSI:
List<PqScriptDtls> hsif = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsif = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> hsi = dtls.stream().filter(x -> "InHarm_I".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> hsi = dtls.stream().filter(x -> "InHarm_I".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("基波频率为" + hsif.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + "," + hsi.get(0).getHarmNum() + "" + dictTree.getName()); dtlType.setScriptTypeName("基波频率为" + hsif.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + "," + hsi.get(0).getHarmNum() + "" + dictTree.getName());
break; break;
/** /**
* 三相电压不平衡度 * 三相电压不平衡度
*/ */
case "IMBV": case IMBV:
break; break;
/** /**
* 三相电流不平衡度 * 三相电流不平衡度
*/ */
case "IMBA": case IMBA:
break; break;
/** /**
* 谐波有功功率 * 谐波有功功率
*/ */
case "HP": case HP:
break;
/**
* 功率
*/
case "P":
break; break;
/** /**
* 闪变 * 闪变
*/ */
case "F": case F:
break; break;
/** /**
* 暂态 * 暂态
*/ */
case "VOLTAGE": case VOLTAGE_MAG:
case VOLTAGE_DUR:
//频率=42.5H在,特征幅值=60%Un持续时间=1周波 //频率=42.5H在,特征幅值=60%Un持续时间=1周波
List<PqScriptDtls> dipf = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> dipf = dtls.stream().filter(x -> "Freq".equals(x.getValueType())).collect(Collectors.toList());
List<PqScriptDtls> dip = dtls.stream().filter(x -> "Dip".equals(x.getValueType())).collect(Collectors.toList()); List<PqScriptDtls> dip = dtls.stream().filter(x -> "Dip".equals(x.getValueType())).collect(Collectors.toList());
dtlType.setScriptTypeName("频率=" + dipf.get(0).getValue() + ResultUnitEnum.FREQ_UNIT.getUnit() + ",特征幅值=" + dip.get(0).getTransValue().intValue() + "%Un持续时间=" + dip.get(0).getRetainTime().intValue() + "周波"); dtlType.setScriptTypeName("频率=" + dipf.get(0).getValue() + ResultUnitEnum.FREQ.getUnit() + ",特征幅值=" + dip.get(0).getTransValue().intValue() + "%Un持续时间=" + dip.get(0).getRetainTime().intValue() + "周波");
break; break;
} }
} }