From 03267d87fade82578087123a1be515b6fde20bfb Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期二, 17 五月 2022 14:19:01 +0800
Subject: [PATCH] 日志
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java | 103 +++++++++++++++++++++++++++++++++------------------
1 files changed, 67 insertions(+), 36 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
index e497560..205a1c2 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -41,10 +41,9 @@
import java.math.BigDecimal;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -228,6 +227,20 @@
}
}
+ /**
+ * 鏈嶅姟绔壒閲忔帶鐏棩蹇楄褰曞紑濮�
+ */
+ String content = "{鎺х伅璇锋眰锛�" + paramList.toString()
+ + "锛� 鎺х伅缁撴灉锛�" + resultList.toString() + "}";
+ List<String> codeList = new ArrayList<>();
+ for (LightControlParam bean : paramList) {
+ codeList.add(bean.getDeviceCode());
+ }
+ StoreOperationRecordsUtils.storeOperationData(codeList, null, "鏈嶅姟绔壒閲忔帶鐏�", content);
+ /**
+ * 鏈嶅姟绔壒閲忔帶鐏棩蹇楄褰曠粨鏉�
+ */
+
return resultList;
}
@@ -236,7 +249,7 @@
*
* @return
*/
- public Map controlEnergySaving() {
+ public List controlEnergySaving() {
//鑾峰彇鍒版鍦ㄦ墽琛岀殑浠诲姟鍒楄〃
List<LightTaskDto> lightTaskDtos = SpringContextHolder.getBean(LightTaskService.class).listTask();
LocalDateTime now = LocalDateTime.now();
@@ -251,7 +264,6 @@
for (LightTaskDto lightTaskDto : lightTaskDtos) {
List<Integer> weekList = lightTaskDto.getWeekList();
- System.out.println(weekList + "===========================");
for (Integer one : weekList) {
switch (one) {
case 1:
@@ -280,21 +292,29 @@
}
}
- Integer week = now.getDayOfWeek().getValue();
- Map map = new HashMap();
+ //鑾峰彇褰撳墠鏄熸湡鍑� 1-7
+
+ int currentWeekValue = now.getDayOfWeek().getValue();
+ Map map;
+ List<Map> temp = new ArrayList<>();
+ //鑾峰彇鏃ユ湡 绮剧‘鍒板ぉ
+ LocalDateTime localDateTime = now.with(LocalTime.MIN);
for (int i = 1; i < 8; i++) {
- week--;
- if (week < 1) {
- week = 7;
+ currentWeekValue--;
+ if (currentWeekValue < 1) {
+ currentWeekValue = 7;
}
- map.put(i, getlist(week));
+ map = new LinkedHashMap();
+ map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ map.put("value", getlist(currentWeekValue));
+ temp.add(map);
}
- return map;
+ return temp;
}
@@ -303,7 +323,7 @@
*
* @return
*/
- public Map controlEnergy() {
+ public List controlEnergy() {
//鑾峰彇鍒版鍦ㄦ墽琛岀殑浠诲姟鍒楄〃
List<LightTaskDto> lightTaskDtos = SpringContextHolder.getBean(LightTaskService.class).listTask();
LocalDateTime now = LocalDateTime.now();
@@ -347,21 +367,26 @@
}
}
- Integer week = now.getDayOfWeek().getValue();
-
- Map map = new HashMap();
+ Integer currentWeekValue = now.getDayOfWeek().getValue();
+ Map map;
+ List<Map> temp = new ArrayList<>();
+ //鑾峰彇褰撳墠鏃ユ湡 鏍煎紡涓簓yyy-MM-dd
+ LocalDateTime localDateTime = now.with(LocalTime.MIN);
for (int i = 1; i < 8; i++) {
- week--;
- if (week < 1) {
- week = 7;
+ currentWeekValue--;
+ if (currentWeekValue < 1) {
+ currentWeekValue = 7;
}
- map.put(i, getlistEnergy(week));
+ map = new LinkedHashMap();
+ map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ map.put("value", getlistEnergy(currentWeekValue));
+ temp.add(map);
}
- return map;
+ return temp;
}
@@ -526,7 +551,7 @@
bigDecimalResult[0] = bigDecimalResult[0].add(bigDecimal);
if (controlLightCommandVOS.size() == (i + 1)) {
BigDecimal bigDecimal1 = calculateEnergySaving(controlLightCommandVOS.get(i), endTime);
- System.out.println(bigDecimal1 + "===========================");
+// System.out.println(bigDecimal1 + "===========================");
// saving.add(bigDecimal1);
bigDecimalResult[0] = bigDecimalResult[0].add(bigDecimal1);
break;
@@ -671,28 +696,33 @@
public BigDecimal calculateEnergySaving(ControlLightCommandVO v1, ControlLightCommandVO v2) {
// BigDecimal hour = BigDecimal.valueOf((v2.getHour() - v1.getHour()));
- BigDecimal hour;
+// BigDecimal hour;
+ double hour;
+ double min;
+ //璁$畻鏃堕暱
if (v2.getHour() > v1.getHour()) {
- hour = BigDecimal.valueOf((v2.getHour() - v1.getHour()));
+ hour = v2.getHour() - v1.getHour();
} else if (v2.getHour() < v1.getHour()) {
- hour = BigDecimal.valueOf((v2.getHour() + 24 - v1.getHour()));
+ hour = 24 + (v2.getHour() - v1.getHour());
} else {
- hour = BigDecimal.valueOf(0);
+ hour = 0;
}
-// BigDecimal min = BigDecimal.valueOf((v2.getMin() - v1.getMin()) / 60);
- BigDecimal min;
+ //璁$畻鍒嗛挓
+
if (v2.getMin() > v1.getMin()) {
- min = BigDecimal.valueOf((v2.getMin() - v1.getMin()) / 60);
+ min = v2.getMin() - v1.getMin();
} else if (v2.getMin() < v1.getMin()) {
- min = BigDecimal.valueOf((v2.getMin() + 60 - v1.getMin()) / 60);
+ min = 60 + (v1.getMin() - v2.getMin());
+ hour = hour - 1;
} else {
- min = BigDecimal.valueOf(0);
+ min = 0;
}
+ //璁$畻鏃堕暱
+ BigDecimal totalTime = BigDecimal.valueOf(hour * 60 + min);
- BigDecimal totalTime = (hour.add(min));
-
- BigDecimal energySaving = BigDecimal.valueOf((100 - v1.getBrightness())).divide(BigDecimal.valueOf(100)).multiply(totalTime).divide(BigDecimal.valueOf(24));
- System.out.println(energySaving);
+ //璁$畻鑺傝兘鐜� ( (1-v1.getBrightness()/100)*totalTime/3600 ) 淇濈暀涓や綅灏忔暟
+ BigDecimal energySaving = BigDecimal.valueOf((1 - v1.getBrightness() / 100) * totalTime.doubleValue() / 3600).setScale(2, BigDecimal.ROUND_HALF_UP);
+ System.out.println(energySaving + "鑺傝兘鐜�");
return energySaving;
}
@@ -713,6 +743,7 @@
min = BigDecimal.valueOf((v2.getMin() - v1.getMin()) / 60);
} else if (v2.getMin() < v1.getMin()) {
min = BigDecimal.valueOf((v2.getMin() + 60 - v1.getMin()) / 60);
+ hour = hour.subtract(BigDecimal.valueOf(1));
} else {
min = BigDecimal.valueOf(0);
}
--
Gitblit v1.9.3