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("")