From 4f43b043ac4644aae5f46d49ffdb50eda3bec1b1 Mon Sep 17 00:00:00 2001 From: zq Date: Tue, 23 Dec 2025 15:43:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8-=E6=94=B6?= =?UTF-8?q?=E7=9B=8A=E6=8A=A5=E8=A1=A8=EF=BC=9A=E7=BB=9F=E4=B8=80=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E7=94=B5=E8=A1=A8=E5=B0=96=E3=80=81=E5=B3=B0?= =?UTF-8?q?=E3=80=81=E5=B9=B3=E3=80=81=E8=B0=B7=E5=B7=AE=E5=80=BC=E7=9B=B4?= =?UTF-8?q?=E6=8E=A5=E4=B9=98=E4=BB=A5=E5=AF=B9=E5=BA=94=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=94=B5=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ems/mapper/EmsDailyEnergyDataMapper.java | 8 +++-- .../impl/EmsStatsReportServiceImpl.java | 20 ++++------- .../mapper/ems/EmsDailyEnergyDataMapper.xml | 36 +++++++++++++++++++ 3 files changed, 48 insertions(+), 16 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyEnergyDataMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyEnergyDataMapper.java index eeac437..536f73d 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyEnergyDataMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyEnergyDataMapper.java @@ -1,11 +1,13 @@ package com.xzzn.ems.mapper; +import com.xzzn.ems.domain.EmsDailyEnergyData; +import com.xzzn.ems.domain.vo.AmmeterRevenueStatisListVo; +import com.xzzn.ems.domain.vo.AmmeterStatisListVo; + import java.math.BigDecimal; import java.util.List; import java.util.Map; -import com.xzzn.ems.domain.EmsDailyEnergyData; -import com.xzzn.ems.domain.vo.AmmeterStatisListVo; import org.apache.ibatis.annotations.Param; /** @@ -74,4 +76,6 @@ public interface EmsDailyEnergyDataMapper public BigDecimal getLastTotalRevenue(String siteId); // fx-获取实时总收益和当日实时收益 public Map getRealTimeRevenue(String siteId); + + public List getRevenueDataBySiteId(@Param("siteId") String siteId, @Param("startTime") String startTime, @Param("endTime") String endTime); } 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 d0135aa..dd071a3 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 @@ -343,22 +343,14 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService @Override public List getAmmeterRevenueDataResult(StatisAmmeterDateRequest requestVo) { - String siteId = requestVo.getSiteId(); - List resultList = new ArrayList<>(); - //查询电表数据 - List dataList = this.getAmmeterDataResult(requestVo); - if (CollectionUtils.isEmpty(dataList)) { + List resultList = emsDailyEnergyDataMapper.getRevenueDataBySiteId(requestVo.getSiteId(),requestVo.getStartTime(),requestVo.getEndTime()); + if (CollectionUtils.isEmpty(resultList)) { return Collections.emptyList(); } - //查询电价配置 - List priceConfigList = emsEnergyPriceConfigMapper.getConfigListByTimeFrame(siteId, requestVo.getStartTime(), requestVo.getEndTime()); - if (CollectionUtils.isEmpty(priceConfigList)){ - return Collections.emptyList(); - } - Map> priceConfigMap = priceConfigList.stream().collect(Collectors.groupingBy(EnergyPriceConfigVo::getYearMonth)); - dataList.forEach(ammeter -> { - List priceConfigs = priceConfigMap.get(ammeter.getDataTime().substring(0, 7)); - resultList.add(calculateDailyBill(ammeter, priceConfigs)); + //计算每天总收益 + resultList.forEach(ammeterRevenue -> { + ammeterRevenue.setActiveTotalPrice(ammeterRevenue.getActivePeakPrice().add(ammeterRevenue.getActiveHighPrice()).add(ammeterRevenue.getActiveFlatPrice()).add(ammeterRevenue.getActiveValleyPrice())); + ammeterRevenue.setReActiveTotalPrice(ammeterRevenue.getReActivePeakPrice().add(ammeterRevenue.getReActiveHighPrice()).add(ammeterRevenue.getReActiveFlatPrice()).add(ammeterRevenue.getReActiveValleyPrice())); }); return resultList; diff --git a/ems-system/src/main/resources/mapper/ems/EmsDailyEnergyDataMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsDailyEnergyDataMapper.xml index d7a1782..f33854f 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsDailyEnergyDataMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsDailyEnergyDataMapper.xml @@ -232,4 +232,40 @@ where t.site_id = #{siteId} order by t.data_date desc limit 1 + + \ No newline at end of file