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