From 42b108d055624aec824a152aeac9e2c4568adffd Mon Sep 17 00:00:00 2001 From: v-lijf43 <3067418132@qq.com> Date: Tue, 7 Oct 2025 17:30:05 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=97=A5=E6=9C=88=E5=B9=B4=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/java/com/mh/MHApplicationTest.java | 52 +++++++++---------- .../java/com/mh/common/enums/ComputeEnum.java | 19 ++++++- .../report/ComprehensiveReportMapper.java | 7 +-- 3 files changed, 48 insertions(+), 30 deletions(-) diff --git a/mh-admin/src/test/java/com/mh/MHApplicationTest.java b/mh-admin/src/test/java/com/mh/MHApplicationTest.java index 555718f..71e2b13 100644 --- a/mh-admin/src/test/java/com/mh/MHApplicationTest.java +++ b/mh-admin/src/test/java/com/mh/MHApplicationTest.java @@ -70,32 +70,32 @@ public class MHApplicationTest { @Test public void calcEnergyData() { - for (int i = 10; i < 17; i++) { - hotWaterTask.calcEnergyData("2025-07-"+i+" 00:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 01:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 02:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 03:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 04:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 05:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 06:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 07:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 08:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 09:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 10:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 11:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 12:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 13:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 14:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 15:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 16:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 17:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 18:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 19:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 20:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 21:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 22:00:00"); - hotWaterTask.calcEnergyData("2025-07-"+i+" 23:00:00"); - } +// for (int i = 10; i < 17; i++) { + hotWaterTask.calcEnergyData("2025-09-30"+" 00:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 01:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 02:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 03:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 04:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 05:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 06:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 07:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 08:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 09:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 10:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 11:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 12:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 13:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 14:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 15:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 16:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 17:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 18:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 19:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 20:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 21:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 22:00:00"); + hotWaterTask.calcEnergyData("2025-09-30"+" 23:00:00"); +// } } diff --git a/mh-common/src/main/java/com/mh/common/enums/ComputeEnum.java b/mh-common/src/main/java/com/mh/common/enums/ComputeEnum.java index 5fc23e8..0cd73df 100644 --- a/mh-common/src/main/java/com/mh/common/enums/ComputeEnum.java +++ b/mh-common/src/main/java/com/mh/common/enums/ComputeEnum.java @@ -111,7 +111,24 @@ public enum ComputeEnum implements ComputeService { @Override public ArrayList> getDataList( Map.Entry>> entry) { - return null; + ArrayList> result = new ArrayList<>(); + + //获取到电表的数据,按照表号分组分组,紧接着再按照小时分组。需要计算分组后的数据取出最大值 + Map> deviceMap = entry.getValue(); + String deviceNum = entry.getKey(); + Set>> groupEntryList = deviceMap.entrySet(); + for (Map.Entry> listEntry : groupEntryList) { + LocalDateTime key = listEntry.getKey(); + List value = listEntry.getValue(); + DeviceReport maxEntity = value.stream() + .max(Comparator.comparing(obj -> Double.valueOf(obj.getCurValue()))) + .orElse(null); + HashMap map = new HashMap<>(); + map.put(key, maxEntity); + result.add(map); + } + + return result; } }; diff --git a/mh-system/src/main/java/com/mh/system/mapper/report/ComprehensiveReportMapper.java b/mh-system/src/main/java/com/mh/system/mapper/report/ComprehensiveReportMapper.java index c2cb764..e0449fa 100644 --- a/mh-system/src/main/java/com/mh/system/mapper/report/ComprehensiveReportMapper.java +++ b/mh-system/src/main/java/com/mh/system/mapper/report/ComprehensiveReportMapper.java @@ -34,6 +34,7 @@ public interface ComprehensiveReportMapper { "") BigDecimal queryByDeviceNum(@Param("deviceNums") List deviceNums); + @Select("")