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); +// } +// }); } }); }