From 9d6bfce5d688dcb2af1ae416b43e149ed3fa5506 Mon Sep 17 00:00:00 2001
From: VVT789 <67089238+VVT789@users.noreply.github.com>
Date: 星期二, 08 四月 2025 11:21:00 +0800
Subject: [PATCH] Merge pull request #47 from zhitan-cloud/wt_from_develop1.0
---
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