From 8115295a64e0809246897fefb8c45de06dce0799 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期五, 23 五月 2025 21:09:12 +0800 Subject: [PATCH] 大屏 --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java index 4ebf980..261e9c7 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalTime; import java.util.*; import java.util.stream.Collectors; @@ -34,22 +35,30 @@ */ public static void setStrategyPrice(Map<Integer, TAccountingStrategyDetail> accountingStrategyDetails,AcquisitionBillingModeReply acquisitionBillingModeReply) { accountingStrategyDetails.forEach((k,v)->{ + BigDecimal electrovalence = v.getElectrovalence(); + BigDecimal serviceCharge = v.getServiceCharge(); + if(Objects.isNull(electrovalence)){ + electrovalence = BigDecimal.ZERO; + } + if(Objects.isNull(serviceCharge)){ + serviceCharge = BigDecimal.ZERO; + } switch (k){ case 1: - acquisitionBillingModeReply.setSharp_peak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setSharp_peak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setSharp_peak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setSharp_peak_service_rate(serviceCharge); break; case 2: - acquisitionBillingModeReply.setPeak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setPeak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setPeak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setPeak_service_rate(serviceCharge); break; case 3: - acquisitionBillingModeReply.setFlat_peak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setFlat_peak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setFlat_peak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setFlat_peak_service_rate(serviceCharge); break; default: - acquisitionBillingModeReply.setLow_peak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setLow_peak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setLow_peak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setLow_peak_service_rate(serviceCharge); break; } }); @@ -67,8 +76,13 @@ } accountingStrategyDetails = accountingStrategyDetails.stream().sorted(Comparator.comparing(TAccountingStrategyDetail::getStartTime)).collect(Collectors.toList()); for (TAccountingStrategyDetail accountingStrategyDetail : accountingStrategyDetails) { - if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime()).isBefore(time) - && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime()).isAfter(time)){ + String startTime = accountingStrategyDetail.getStartTime(); + String endTime = accountingStrategyDetail.getEndTime(); + if("00:00".equals(endTime)){ + endTime = "23:59"; + } + if(DateUtils.string2LocalTime(startTime + ":00").isBefore(time) + && DateUtils.string2LocalTime(endTime + ":00").isAfter(time)){ switch (i){ case 1: acquisitionBillingModeReply.setTime1(accountingStrategyDetail.getType().equals(1)?0 -- Gitblit v1.7.1