From 870ace35cbf73b273772eacd72c5d6cfe3931dbb Mon Sep 17 00:00:00 2001
From: xy <748613696@qq.com>
Date: Wed, 17 Jun 2026 15:39:15 +0800
Subject: [PATCH] =?UTF-8?q?refactor(data):=20=E4=BC=98=E5=8C=96=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91=E5=B9=B6=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D=E8=AE=BE=E5=A4=87=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在CsEventPOServiceImpl中使用Optional处理pt2Ratio和ct2Ratio字段,避免空指针异常
- 修正waveDataDTO中PT和CT比率计算,使用ptRatio/pt2Ratio和ctRatio/ct2Ratio公式
- 修复StableDataServiceImpl中设备数据查询条件,将name字段检查改为otherName字段
- 重构StableDataServiceImpl中的数据映射逻辑,直接通过lineId获取对应数据列表
- 简化ThdDataVO转换过程,移除不必要的循环和条件判断
- 移除CsEventUserPOMapper.xml中多余的空行,保持代码整洁
---
.../mapper/mapping/CsEventUserPOMapper.xml | 1 -
.../service/impl/CsEventPOServiceImpl.java | 7 +-
.../service/impl/StableDataServiceImpl.java | 113 ++++++++++++------
3 files changed, 81 insertions(+), 40 deletions(-)
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml
index e96183b..ba46498 100644
--- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/mapper/mapping/CsEventUserPOMapper.xml
@@ -277,7 +277,6 @@
AND b.tag = #{csEventUserQueryPage.eventType}
-
AND b.location = #{csEventUserQueryPage.location}
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java
index befa182..b45dca9 100644
--- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventPOServiceImpl.java
@@ -884,8 +884,11 @@ public class CsEventPOServiceImpl extends ServiceImpl deviceRtData = commonService.getDeviceRtDataByTime(commonQueryParams);
if (CollectionUtil.isNotEmpty(deviceRtData)) {
Map > map = deviceRtData.stream().collect(Collectors.groupingBy(StatisticalDataDTO::getLineId));
- map.forEach((key, value) -> {
- if (!Objects.isNull(loadSideLine) && Objects.equals(key, loadSideLine.getLineId())) {
- List collect1 = value.stream().map(temp -> {
- ThdDataVO vo = new ThdDataVO();
- vo.setLineId(temp.getLineId());
- vo.setPhase(temp.getPhaseType());
- vo.setPosition(loadSideLine.getPosition());
- vo.setTime(temp.getTime());
- vo.setStatMethod(temp.getValueType());
- vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
- vo.setStatisticalIndex(epdPqd.getId());
- vo.setUnit(epdPqd.getUnit());
- vo.setStatisticalName(epdPqd.getName());
- vo.setAnotherName("治理前");
- return vo;
- }).collect(Collectors.toList());
- result.addAll(collect1);
- }
- if (!Objects.isNull(gridSideLine) && Objects.equals(key, gridSideLine.getLineId())) {
- List collect1 = value.stream().map(temp -> {
- ThdDataVO vo = new ThdDataVO();
- vo.setLineId(temp.getLineId());
- vo.setPhase(temp.getPhaseType());
- vo.setPosition(gridSideLine.getPosition());
- vo.setTime(temp.getTime());
- vo.setStatMethod(temp.getValueType());
- vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
- vo.setStatisticalIndex(epdPqd.getId());
- vo.setUnit(epdPqd.getUnit());
- vo.setStatisticalName(epdPqd.getName());
- vo.setAnotherName("治理后");
- return vo;
- }).collect(Collectors.toList());
- result.addAll(collect1);
- }
- });
+
+ List loadSideData = map.get(loadSideLine.getLineId());
+ if (CollectionUtil.isNotEmpty(loadSideData)) {
+ List collect1 = loadSideData.stream().map(temp -> {
+ ThdDataVO vo = new ThdDataVO();
+ vo.setLineId(temp.getLineId());
+ vo.setPhase(temp.getPhaseType());
+ vo.setPosition(loadSideLine.getPosition());
+ vo.setTime(temp.getTime());
+ vo.setStatMethod(temp.getValueType());
+ vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
+ vo.setStatisticalIndex(epdPqd.getId());
+ vo.setUnit(epdPqd.getUnit());
+ vo.setStatisticalName(epdPqd.getName());
+ vo.setAnotherName("治理前");
+ return vo;
+ }).collect(Collectors.toList());
+ result.addAll(collect1);
+ }
+
+ List gridSideData = map.get(gridSideLine.getLineId());
+ if (CollectionUtil.isNotEmpty(gridSideData)) {
+ List collect2 = gridSideData.stream().map(temp -> {
+ ThdDataVO vo = new ThdDataVO();
+ vo.setLineId(temp.getLineId());
+ vo.setPhase(temp.getPhaseType());
+ vo.setPosition(gridSideLine.getPosition());
+ vo.setTime(temp.getTime());
+ vo.setStatMethod(temp.getValueType());
+ vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
+ vo.setStatisticalIndex(epdPqd.getId());
+ vo.setUnit(epdPqd.getUnit());
+ vo.setStatisticalName(epdPqd.getName());
+ vo.setAnotherName("治理后");
+ return vo;
+ }).collect(Collectors.toList());
+ result.addAll(collect2);
+ }
+
+// map.forEach((key, value) -> {
+// if (!Objects.isNull(loadSideLine) && Objects.equals(key, loadSideLine.getLineId())) {
+// List collect1 = value.stream().map(temp -> {
+// ThdDataVO vo = new ThdDataVO();
+// vo.setLineId(temp.getLineId());
+// vo.setPhase(temp.getPhaseType());
+// vo.setPosition(loadSideLine.getPosition());
+// vo.setTime(temp.getTime());
+// vo.setStatMethod(temp.getValueType());
+// vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
+// vo.setStatisticalIndex(epdPqd.getId());
+// vo.setUnit(epdPqd.getUnit());
+// vo.setStatisticalName(epdPqd.getName());
+// vo.setAnotherName("治理前");
+// return vo;
+// }).collect(Collectors.toList());
+// result.addAll(collect1);
+// }
+// if (!Objects.isNull(gridSideLine) && Objects.equals(key, gridSideLine.getLineId())) {
+// List collect1 = value.stream().map(temp -> {
+// ThdDataVO vo = new ThdDataVO();
+// vo.setLineId(temp.getLineId());
+// vo.setPhase(temp.getPhaseType());
+// vo.setPosition(gridSideLine.getPosition());
+// vo.setTime(temp.getTime());
+// vo.setStatMethod(temp.getValueType());
+// vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
+// vo.setStatisticalIndex(epdPqd.getId());
+// vo.setUnit(epdPqd.getUnit());
+// vo.setStatisticalName(epdPqd.getName());
+// vo.setAnotherName("治理后");
+// return vo;
+// }).collect(Collectors.toList());
+// result.addAll(collect1);
+// }
+// });
}
});
}