From 64cac20b59a9cab64c472ac1749be4712395dd22 Mon Sep 17 00:00:00 2001 From: VVT789 <sdxt_0802@163.com> Date: 星期二, 08 四月 2025 11:18:59 +0800 Subject: [PATCH] Update HomePageServiceImpl.java --- zhitan-system/src/main/java/com/zhitan/home/service/HomePageServiceImpl.java | 27 +++++++++++++-------------- 1 files changed, 13 insertions(+), 14 deletions(-) diff --git a/zhitan-system/src/main/java/com/zhitan/home/service/HomePageServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/home/service/HomePageServiceImpl.java index d6079dc..86ce5c5 100644 --- a/zhitan-system/src/main/java/com/zhitan/home/service/HomePageServiceImpl.java +++ b/zhitan-system/src/main/java/com/zhitan/home/service/HomePageServiceImpl.java @@ -247,12 +247,8 @@ List<String> xdataList = new ArrayList<>(); // 鏌ヨ鎵�鏈夎兘婧愮被鍨� List<SysEnergy> sysEnergies = sysEnergyMapper.selectSysEnergyList(new SysEnergy()); - final Map<String, Object> energyCollectMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getCoefficient)); - final Map<String, String> energyNameMap = sysEnergies.stream().collect(Collectors.toMap(SysEnergy::getEnersno, SysEnergy::getEnername)); - Date queryTime = new Date(); -// Date queryTime = DateUtil.parseDateTime("2023-03-28 00:00:00"); Date beginTime; Date endTime; String shixuTimeType; @@ -294,22 +290,30 @@ .filter(l -> StringUtils.isNotEmpty(l.getEnergyId())).collect(Collectors.groupingBy( EnergyIndex::getEnergyId, Collectors.mapping(EnergyIndex::getIndexId, Collectors.toList()) )); + + List<String> lengList = new ArrayList<>(); + while (!beginTime.after(endTime)) { final String currentTime = DateUtil.format(beginTime, timeFormat); xdataList.add(currentTime); final List<DataItem> dataItems = dataItemMap.get(currentTime); List<Double> energyCount = new ArrayList<>(); - energyTypeMap.forEach((energyType, IndexIdList) -> { + + sysEnergies.forEach(x -> { + if(!lengList.contains(x.getEnername())){ + lengList.add(x.getEnername()); + } + List<String> indexIdList = energyTypeMap.get(x.getEnersno()); double sum; - if (null == dataItems) { + if (null == dataItems || CollectionUtils.isEmpty(indexIdList)) { sum = 0; } else { - sum = dataItems.stream().filter(li -> IndexIdList.contains(li.getIndexId())).mapToDouble(DataItem::getValue).sum(); + sum = dataItems.stream().filter(li -> indexIdList.contains(li.getIndexId())).mapToDouble(DataItem::getValue).sum(); } - final BigDecimal coefficient = (BigDecimal) energyCollectMap.get(energyType); - energyCount.add(sum * coefficient.doubleValue()); + energyCount.add(sum * x.getCoefficient().doubleValue()); }); ydataList.add(energyCount); + switch (TimeType.valueOf(timeType)) { case DAY: beginTime = DateUtil.offsetHour(beginTime, 1); @@ -324,11 +328,6 @@ } vo.setXdata(xdataList.toArray(new String[0])); Double[][] array = new Double[sysEnergies.size()][xdataList.size()]; - List<String> lengList = new ArrayList<>(); - energyCollectMap.keySet().forEach(key -> { - final String name = energyNameMap.get(key); - lengList.add(name); - }); for (int i = 0; i < ydataList.size(); i++) { final List<Double> doubleList = ydataList.get(i); -- Gitblit v1.9.3