refactor(rt): 移除FloatUtils依赖并优化数据处理
- 优化harmRealDataSet数据赋值方式,移除不必要的浮点数精度处理
This commit is contained in:
@@ -21,7 +21,6 @@ import com.njcn.rt.pojo.dto.BaseRealDataSet;
|
||||
import com.njcn.rt.pojo.dto.HarmData;
|
||||
import com.njcn.rt.pojo.dto.HarmRealDataSet;
|
||||
import com.njcn.rt.service.IRtService;
|
||||
import com.njcn.web.utils.FloatUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -209,106 +208,106 @@ public class RtServiceImpl implements IRtService {
|
||||
public BaseRealDataSet channelData(Map<String,Float> map,Integer conType) {
|
||||
BaseRealDataSet baseRealDataSet = new BaseRealDataSet();
|
||||
//频率
|
||||
baseRealDataSet.setFreq(FloatUtils.get2Float(map.get("Pq_FreqM")));
|
||||
baseRealDataSet.setFreq(map.get("Pq_FreqM"));
|
||||
//频率偏差
|
||||
baseRealDataSet.setFreqDev(FloatUtils.get2Float(map.get("Pq_FreqDevM")));
|
||||
baseRealDataSet.setFreqDev(map.get("Pq_FreqDevM"));
|
||||
//判断监测点的接线方式,不同接线方式电压有效值取值不同
|
||||
//星型-相电压 角形、V型-线电压
|
||||
//电压有效值
|
||||
if (conType == 0) {
|
||||
baseRealDataSet.setVRmsA(FloatUtils.get2Float(map.get("Pq_RmsUA")));
|
||||
baseRealDataSet.setVRmsB(FloatUtils.get2Float(map.get("Pq_RmsUB")));
|
||||
baseRealDataSet.setVRmsC(FloatUtils.get2Float(map.get("Pq_RmsUC")));
|
||||
baseRealDataSet.setVRmsA(map.get("Pq_RmsUA"));
|
||||
baseRealDataSet.setVRmsB(map.get("Pq_RmsUB"));
|
||||
baseRealDataSet.setVRmsC(map.get("Pq_RmsUC"));
|
||||
} else {
|
||||
baseRealDataSet.setVRmsA(FloatUtils.get2Float(map.get("Pq_RmsLUAB")));
|
||||
baseRealDataSet.setVRmsB(FloatUtils.get2Float(map.get("Pq_RmsLUBC")));
|
||||
baseRealDataSet.setVRmsC(FloatUtils.get2Float(map.get("Pq_RmsLUCA")));
|
||||
baseRealDataSet.setVRmsA(map.get("Pq_RmsLUAB"));
|
||||
baseRealDataSet.setVRmsB(map.get("Pq_RmsLUBC"));
|
||||
baseRealDataSet.setVRmsC(map.get("Pq_RmsLUCA"));
|
||||
}
|
||||
//基波电压幅值
|
||||
if (conType == 0) {
|
||||
baseRealDataSet.setV1A(FloatUtils.get2Float(map.get("Pq_RmsFundUA")));
|
||||
baseRealDataSet.setV1B(FloatUtils.get2Float(map.get("Pq_RmsFundUB")));
|
||||
baseRealDataSet.setV1C(FloatUtils.get2Float(map.get("Pq_RmsFundUC")));
|
||||
baseRealDataSet.setV1A(map.get("Pq_RmsFundUA"));
|
||||
baseRealDataSet.setV1B(map.get("Pq_RmsFundUB"));
|
||||
baseRealDataSet.setV1C(map.get("Pq_RmsFundUC"));
|
||||
} else {
|
||||
baseRealDataSet.setV1A(FloatUtils.get2Float(map.get("Pq_RmsFundLUAB")));
|
||||
baseRealDataSet.setV1B(FloatUtils.get2Float(map.get("Pq_RmsFundLUBC")));
|
||||
baseRealDataSet.setV1C(FloatUtils.get2Float(map.get("Pq_RmsFundLUCA")));
|
||||
baseRealDataSet.setV1A(map.get("Pq_RmsFundLUAB"));
|
||||
baseRealDataSet.setV1B(map.get("Pq_RmsFundLUBC"));
|
||||
baseRealDataSet.setV1C(map.get("Pq_RmsFundLUCA"));
|
||||
}
|
||||
//电流有效值
|
||||
baseRealDataSet.setIRmsA(FloatUtils.get2Float(map.get("Pq_RmsIA")));
|
||||
baseRealDataSet.setIRmsB(FloatUtils.get2Float(map.get("Pq_RmsIB")));
|
||||
baseRealDataSet.setIRmsC(FloatUtils.get2Float(map.get("Pq_RmsIC")));
|
||||
baseRealDataSet.setIRmsA(map.get("Pq_RmsIA"));
|
||||
baseRealDataSet.setIRmsB(map.get("Pq_RmsIB"));
|
||||
baseRealDataSet.setIRmsC(map.get("Pq_RmsIC"));
|
||||
//基波电流幅值
|
||||
baseRealDataSet.setI1A(FloatUtils.get2Float(map.get("Pq_RmsFundIA")));
|
||||
baseRealDataSet.setI1B(FloatUtils.get2Float(map.get("Pq_RmsFundIB")));
|
||||
baseRealDataSet.setI1C(FloatUtils.get2Float(map.get("Pq_RmsFundIC")));
|
||||
baseRealDataSet.setI1A(map.get("Pq_RmsFundIA"));
|
||||
baseRealDataSet.setI1B(map.get("Pq_RmsFundIB"));
|
||||
baseRealDataSet.setI1C(map.get("Pq_RmsFundIC"));
|
||||
//电压偏差
|
||||
if (conType == 0) {
|
||||
baseRealDataSet.setVDevA(FloatUtils.get2Float(map.get("Pq_UDevA")));
|
||||
baseRealDataSet.setVDevB(FloatUtils.get2Float(map.get("Pq_UDevB")));
|
||||
baseRealDataSet.setVDevC(FloatUtils.get2Float(map.get("Pq_UDevC")));
|
||||
baseRealDataSet.setVDevA(map.get("Pq_UDevA"));
|
||||
baseRealDataSet.setVDevB(map.get("Pq_UDevB"));
|
||||
baseRealDataSet.setVDevC(map.get("Pq_UDevC"));
|
||||
} else {
|
||||
baseRealDataSet.setVDevA(FloatUtils.get2Float(map.get("Pq_LUDevAB")));
|
||||
baseRealDataSet.setVDevB(FloatUtils.get2Float(map.get("Pq_LUDevBC")));
|
||||
baseRealDataSet.setVDevC(FloatUtils.get2Float(map.get("Pq_LUDevCA")));
|
||||
baseRealDataSet.setVDevA(map.get("Pq_LUDevAB"));
|
||||
baseRealDataSet.setVDevB(map.get("Pq_LUDevBC"));
|
||||
baseRealDataSet.setVDevC(map.get("Pq_LUDevCA"));
|
||||
}
|
||||
//基波电压相位
|
||||
if (conType == 0) {
|
||||
baseRealDataSet.setV1AngA(FloatUtils.get2Float(map.get("Pq_FundUAngA")));
|
||||
baseRealDataSet.setV1AngB(FloatUtils.get2Float(map.get("Pq_FundUAngB")));
|
||||
baseRealDataSet.setV1AngC(FloatUtils.get2Float(map.get("Pq_FundUAngC")));
|
||||
baseRealDataSet.setV1AngA(map.get("Pq_FundUAngA"));
|
||||
baseRealDataSet.setV1AngB(map.get("Pq_FundUAngB"));
|
||||
baseRealDataSet.setV1AngC(map.get("Pq_FundUAngC"));
|
||||
} else {
|
||||
baseRealDataSet.setV1AngA(FloatUtils.get2Float(map.get("Pq_FundLUAngAB")));
|
||||
baseRealDataSet.setV1AngB(FloatUtils.get2Float(map.get("Pq_FundLUAngBC")));
|
||||
baseRealDataSet.setV1AngC(FloatUtils.get2Float(map.get("Pq_FundLUAngCA")));
|
||||
baseRealDataSet.setV1AngA(map.get("Pq_FundLUAngAB"));
|
||||
baseRealDataSet.setV1AngB(map.get("Pq_FundLUAngBC"));
|
||||
baseRealDataSet.setV1AngC(map.get("Pq_FundLUAngCA"));
|
||||
}
|
||||
//基波电流相位
|
||||
baseRealDataSet.setI1AngA(FloatUtils.get2Float(map.get("Pq_FundIAngA")));
|
||||
baseRealDataSet.setI1AngB(FloatUtils.get2Float(map.get("Pq_FundIAngB")));
|
||||
baseRealDataSet.setI1AngC(FloatUtils.get2Float(map.get("Pq_FundIAngC")));
|
||||
baseRealDataSet.setI1AngA(map.get("Pq_FundIAngA"));
|
||||
baseRealDataSet.setI1AngB(map.get("Pq_FundIAngB"));
|
||||
baseRealDataSet.setI1AngC(map.get("Pq_FundIAngC"));
|
||||
//电压总谐波畸变率
|
||||
if (conType == 0) {
|
||||
baseRealDataSet.setVThdA(FloatUtils.get2Float(map.get("Pq_ThdUA")));
|
||||
baseRealDataSet.setVThdB(FloatUtils.get2Float(map.get("Pq_ThdUB")));
|
||||
baseRealDataSet.setVThdC(FloatUtils.get2Float(map.get("Pq_ThdUC")));
|
||||
baseRealDataSet.setVThdA(map.get("Pq_ThdUA"));
|
||||
baseRealDataSet.setVThdB(map.get("Pq_ThdUB"));
|
||||
baseRealDataSet.setVThdC(map.get("Pq_ThdUC"));
|
||||
} else {
|
||||
baseRealDataSet.setVThdA(FloatUtils.get2Float(map.get("Pq_ThdLUAB")));
|
||||
baseRealDataSet.setVThdB(FloatUtils.get2Float(map.get("Pq_ThdLUBC")));
|
||||
baseRealDataSet.setVThdC(FloatUtils.get2Float(map.get("Pq_ThdLUCA")));
|
||||
baseRealDataSet.setVThdA(map.get("Pq_ThdLUAB"));
|
||||
baseRealDataSet.setVThdB(map.get("Pq_ThdLUBC"));
|
||||
baseRealDataSet.setVThdC(map.get("Pq_ThdLUCA"));
|
||||
}
|
||||
//电流总谐波畸变率
|
||||
baseRealDataSet.setIThdA(FloatUtils.get2Float(map.get("Pq_ThdIA")));
|
||||
baseRealDataSet.setIThdB(FloatUtils.get2Float(map.get("Pq_ThdIB")));
|
||||
baseRealDataSet.setIThdC(FloatUtils.get2Float(map.get("Pq_ThdIC")));
|
||||
baseRealDataSet.setIThdA(map.get("Pq_ThdIA"));
|
||||
baseRealDataSet.setIThdB(map.get("Pq_ThdIB"));
|
||||
baseRealDataSet.setIThdC(map.get("Pq_ThdIC"));
|
||||
//电压不平衡度
|
||||
baseRealDataSet.setVUnbalance(FloatUtils.get2Float(map.get("Pq_UnbalNegUM")));
|
||||
baseRealDataSet.setVUnbalance(map.get("Pq_UnbalNegUM"));
|
||||
//电流不平衡度
|
||||
baseRealDataSet.setIUnbalance(FloatUtils.get2Float(map.get("Pq_UnbalNegIM")));
|
||||
baseRealDataSet.setIUnbalance(map.get("Pq_UnbalNegIM"));
|
||||
//有功功率
|
||||
baseRealDataSet.setPA(FloatUtils.get2Float(map.get("Pq_PA")));
|
||||
baseRealDataSet.setPB(FloatUtils.get2Float(map.get("Pq_PB")));
|
||||
baseRealDataSet.setPC(FloatUtils.get2Float(map.get("Pq_PC")));
|
||||
baseRealDataSet.setPTot(FloatUtils.get2Float(map.get("Pq_TotPM")));
|
||||
baseRealDataSet.setPA(map.get("Pq_PA"));
|
||||
baseRealDataSet.setPB(map.get("Pq_PB"));
|
||||
baseRealDataSet.setPC(map.get("Pq_PC"));
|
||||
baseRealDataSet.setPTot(map.get("Pq_TotPM"));
|
||||
//无功功率
|
||||
baseRealDataSet.setQA(FloatUtils.get2Float(map.get("Pq_QA")));
|
||||
baseRealDataSet.setQB(FloatUtils.get2Float(map.get("Pq_QB")));
|
||||
baseRealDataSet.setQC(FloatUtils.get2Float(map.get("Pq_QC")));
|
||||
baseRealDataSet.setQTot(FloatUtils.get2Float(map.get("Pq_TotQM")));
|
||||
baseRealDataSet.setQA(map.get("Pq_QA"));
|
||||
baseRealDataSet.setQB(map.get("Pq_QB"));
|
||||
baseRealDataSet.setQC(map.get("Pq_QC"));
|
||||
baseRealDataSet.setQTot(map.get("Pq_TotQM"));
|
||||
//视在功率
|
||||
baseRealDataSet.setSA(FloatUtils.get2Float(map.get("Pq_SA")));
|
||||
baseRealDataSet.setSB(FloatUtils.get2Float(map.get("Pq_SB")));
|
||||
baseRealDataSet.setSC(FloatUtils.get2Float(map.get("Pq_SC")));
|
||||
baseRealDataSet.setSTot(FloatUtils.get2Float(map.get("Pq_TotSM")));
|
||||
baseRealDataSet.setSA(map.get("Pq_SA"));
|
||||
baseRealDataSet.setSB(map.get("Pq_SB"));
|
||||
baseRealDataSet.setSC(map.get("Pq_SC"));
|
||||
baseRealDataSet.setSTot(map.get("Pq_TotSM"));
|
||||
//视在功率因数
|
||||
baseRealDataSet.setPfA(FloatUtils.get2Float(map.get("Pq_PFA")));
|
||||
baseRealDataSet.setPfB(FloatUtils.get2Float(map.get("Pq_PFB")));
|
||||
baseRealDataSet.setPfC(FloatUtils.get2Float(map.get("Pq_PFC")));
|
||||
baseRealDataSet.setPfTot(FloatUtils.get2Float(map.get("Pq_TotPFM")));
|
||||
baseRealDataSet.setPfA(map.get("Pq_PFA"));
|
||||
baseRealDataSet.setPfB(map.get("Pq_PFB"));
|
||||
baseRealDataSet.setPfC(map.get("Pq_PFC"));
|
||||
baseRealDataSet.setPfTot(map.get("Pq_TotPFM"));
|
||||
//位移功率因数
|
||||
baseRealDataSet.setDpfA(FloatUtils.get2Float(map.get("Pq_DFA")));
|
||||
baseRealDataSet.setDpfB(FloatUtils.get2Float(map.get("Pq_DFB")));
|
||||
baseRealDataSet.setDpfC(FloatUtils.get2Float(map.get("Pq_DFC")));
|
||||
baseRealDataSet.setDpfTot(FloatUtils.get2Float(map.get("Pq_TotDFM")));
|
||||
baseRealDataSet.setDpfA(map.get("Pq_DFA"));
|
||||
baseRealDataSet.setDpfB(map.get("Pq_DFB"));
|
||||
baseRealDataSet.setDpfC(map.get("Pq_DFC"));
|
||||
baseRealDataSet.setDpfTot(map.get("Pq_TotDFM"));
|
||||
return baseRealDataSet;
|
||||
}
|
||||
|
||||
@@ -346,14 +345,14 @@ public class RtServiceImpl implements IRtService {
|
||||
if (Objects.equals(item.getHarmName(),"Pq_RmsFundI")) {
|
||||
if ("Secondary".equals(dataLevel)) {
|
||||
double data = item.getData() * ct;
|
||||
harmRealDataSet.setData1(FloatUtils.get2Float((float)data));
|
||||
harmRealDataSet.setData1((float)data);
|
||||
} else {
|
||||
harmRealDataSet.setData1(FloatUtils.get2Float(item.getData()));
|
||||
harmRealDataSet.setData1(item.getData());
|
||||
}
|
||||
} else if (Objects.equals(item.getHarmName(),"Pq_RmsFundU")) {
|
||||
harmRealDataSet.setData1(FloatUtils.get2Float(item.getData()));
|
||||
harmRealDataSet.setData1(item.getData());
|
||||
} else if (Objects.equals(item.getHarmName(),"Pq_ThdU")) {
|
||||
harmRealDataSet.setData1(FloatUtils.get2Float(item.getData()));
|
||||
harmRealDataSet.setData1(item.getData());
|
||||
} else {
|
||||
String numberStr = item.getHarmName().substring(item.getHarmName().lastIndexOf('_') + 1);
|
||||
String fieldName = "data" + numberStr;
|
||||
@@ -363,12 +362,12 @@ public class RtServiceImpl implements IRtService {
|
||||
if (item.getHarmName().contains("Pq_HarmI_")) {
|
||||
if ("Secondary".equals(dataLevel)) {
|
||||
double data = item.getData() * ct;
|
||||
field.set(harmRealDataSet,FloatUtils.get2Float((float)data));
|
||||
field.set(harmRealDataSet,(float)data);
|
||||
} else {
|
||||
field.set(harmRealDataSet,FloatUtils.get2Float(item.getData()));
|
||||
field.set(harmRealDataSet,item.getData());
|
||||
}
|
||||
} else {
|
||||
field.set(harmRealDataSet,FloatUtils.get2Float(item.getData()));
|
||||
field.set(harmRealDataSet,item.getData());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
@@ -378,26 +377,4 @@ public class RtServiceImpl implements IRtService {
|
||||
return harmRealDataSet;
|
||||
}
|
||||
|
||||
private Set<String> convertObjectToSetSafe(Object obj) {
|
||||
if (obj == null) {
|
||||
return new HashSet<>();
|
||||
}
|
||||
if (obj instanceof Set) {
|
||||
// 类型安全的转换
|
||||
Set<?> rawSet = (Set<?>) obj;
|
||||
return rawSet.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.map(Object::toString)
|
||||
.collect(Collectors.toSet());
|
||||
} else if (obj instanceof Collection) {
|
||||
return ((Collection<?>) obj).stream()
|
||||
.filter(Objects::nonNull)
|
||||
.map(Object::toString)
|
||||
.collect(Collectors.toSet());
|
||||
} else {
|
||||
log.warn("Redis中的对象类型不是Set或Collection: {}", obj.getClass().getName());
|
||||
return new HashSet<>();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user