From b8d3643ba9fa91f7959e1029a0c534e4b7ad16b8 Mon Sep 17 00:00:00 2001 From: mashili Date: Tue, 16 Sep 2025 10:53:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE20250904=E4=BC=98=E5=8C=96-?= =?UTF-8?q?=E5=8A=9F=E7=8E=87=E6=95=B0=E6=8D=AE=E4=B8=8D=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/EmsStatsReportServiceImpl.java | 12 +++--------- .../ems/service/impl/SingleSiteServiceImpl.java | 16 +++++++--------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java index f9c2897..03f2ee8 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/EmsStatsReportServiceImpl.java @@ -12,7 +12,6 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; -import java.text.DecimalFormat; import java.time.LocalDate; import java.util.ArrayList; import java.util.Date; @@ -44,9 +43,6 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService @Autowired private EmsDailyChargeDataMapper emsDailyChargeDataMapper; - private static final BigDecimal DDS_STORAGE_FACTOR = new BigDecimal("0.1"); - private static final BigDecimal DDS_PV_FACTOR = new BigDecimal("-0.001"); - // 电量指标 @Override public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) { @@ -343,7 +339,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService dataList = emsAmmeterDataMapper.getPowerDataByMonth(requestVo); } - // 处理数据设置 负荷功率 + // 负荷功率 dealDataPower(requestVo.getSiteId(),dataList); return dataList; } @@ -359,11 +355,9 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService BigDecimal pvPower = powerStatisListVo.getPvPower() == null ? BigDecimal.ZERO : powerStatisListVo.getPvPower(); BigDecimal loadPower = new BigDecimal(0); - // 电动所:储能功率=储能功率乘0.1;光伏功率=光伏功率*乘-0.001;负荷功率=电网功率+光伏功率-储能功率 + // 电动所:负荷功率=电网功率+光伏功率-储能功率 if (SiteEnum.DDS.getCode().equals(siteId)){ - powerStatisListVo.setStoragePower(storagePower.multiply(DDS_STORAGE_FACTOR).stripTrailingZeros()); - powerStatisListVo.setPvPower(pvPower.multiply(DDS_PV_FACTOR).stripTrailingZeros()); - loadPower = gridPower.add(powerStatisListVo.getPvPower()).subtract(powerStatisListVo.getStoragePower()); + loadPower = gridPower.add(pvPower).subtract(storagePower); powerStatisListVo.setLoadPower(loadPower); } else if (SiteEnum.FX.getCode().equals(siteId)){ // 奉贤:负荷功率=电网功率-储能功率; diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index e31a9dc..f0866e7 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -618,9 +619,9 @@ public class SingleSiteServiceImpl implements ISingleSiteService { BigDecimal pvPower = powerStat != null ? powerStat.getPvPower() : BigDecimal.ZERO; BigDecimal storagePower = powerStat != null ? powerStat.getStoragePower() : BigDecimal.ZERO; BigDecimal gridPower = powerStat != null ? powerStat.getGridPower() : BigDecimal.ZERO; - BigDecimal avgSoh = stackStat != null ? stackStat.getAvgSoh() : BigDecimal.ZERO; - BigDecimal avgSoc = stackStat != null ? stackStat.getAvgSoc() : BigDecimal.ZERO; - BigDecimal avgTemp = stackStat != null ? stackStat.getAvgTemp() : BigDecimal.ZERO; + BigDecimal avgSoh = stackStat != null ? stackStat.getAvgSoh().setScale(2,RoundingMode.HALF_UP) : BigDecimal.ZERO; + BigDecimal avgSoc = stackStat != null ? stackStat.getAvgSoc().setScale(2,RoundingMode.HALF_UP) : BigDecimal.ZERO; + BigDecimal avgTemp = stackStat != null ? stackStat.getAvgTemp().setScale(2,RoundingMode.HALF_UP) : BigDecimal.ZERO; // 假设完整构造参数(补充原代码中缺失的部分) return new PointDataResponse(date, pvPower, storagePower, BigDecimal.ZERO, gridPower, avgSoh, avgSoc, avgTemp); @@ -629,7 +630,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService { .sorted(Comparator.comparing(PointDataResponse::getStatisDate)) .collect(Collectors.toList()); - // 处理数据系数 &负荷功率 + // 负荷功率 dealDataPower(requestVo.getSiteId(),responseList); return responseList; @@ -646,13 +647,10 @@ public class SingleSiteServiceImpl implements ISingleSiteService { BigDecimal pvPower = pointDataResponse.getPvPower() == null ? BigDecimal.ZERO : pointDataResponse.getPvPower(); BigDecimal loadPower = new BigDecimal(0); - // 电动所:储能功率=储能功率乘0.1;光伏功率=光伏功率*乘-0.001;负荷功率=电网功率+光伏功率-储能功率 + // 电动所:负荷功率=电网功率+光伏功率-储能功率 // 奉贤:负荷功率=电网功率-储能功率; - // 电动所:储能功率=储能功率乘0.1;光伏功率=光伏功率*乘-0.001;负荷功率=电网功率+光伏功率-储能功率 if (SiteEnum.DDS.getCode().equals(siteId)){ - pointDataResponse.setStoragePower(storagePower.multiply(storageFactor.get(siteId)).stripTrailingZeros()); - pointDataResponse.setPvPower(pvPower.multiply(pvFactor.get(siteId)).stripTrailingZeros()); - loadPower = gridPower.add(pointDataResponse.getPvPower()).subtract(pointDataResponse.getStoragePower()); + loadPower = gridPower.add(pvPower).subtract(storagePower); pointDataResponse.setLoadPower(loadPower); } else if (SiteEnum.FX.getCode().equals(siteId)){ // 奉贤:负荷功率=电网功率-储能功率;