From d35545d88b9123b92b50aaf1b0fa4e3f20fd2209 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 20 五月 2022 11:23:50 +0800
Subject: [PATCH] 摄像头
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 47 insertions(+), 12 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 205a1c2..8babd79 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
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.HexUtil;
import cn.hutool.core.util.StrUtil;
+import com.aliyuncs.iot.model.v20180120.BatchGetDeviceStateResponse;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.domain.CommonPage;
@@ -105,6 +106,31 @@
// 鑾峰彇鏈�杩戠殑涓婃姤鏃堕棿
List<String> deviceCodeList = listLight.stream().map(Light::getDeviceCode).collect(Collectors.toList());
+ //鎷嗗垎list
+ List<List<String>> split = CollectionUtil.split(deviceCodeList, 100);
+
+ List<BatchGetDeviceStateResponse.DeviceStatus> deviceStatuses = null;
+ for (List<String> splist : split) {
+ deviceStatuses = MainBoardInvokeSyncService.getInstance().batchGetDeviceState(splist);
+ if (deviceStatuses != null) {
+ for (LightBo lightBo : listLight) {
+ for (BatchGetDeviceStateResponse.DeviceStatus deviceStatus : deviceStatuses) {
+
+ if (lightBo.getDeviceCode() != null && lightBo.getDeviceCode().equals(deviceStatus.getDeviceName())) {
+ if ("ONLINE".equals(deviceStatus.getStatus())) {
+ lightBo.setOnlineStatus(0);
+ } else if ("OFFLINE".equals(deviceStatus.getStatus())) {
+ lightBo.setOnlineStatus(1);
+ } else {
+ lightBo.setOnlineStatus(2);
+ }
+
+ }
+ }
+
+ }
+ }
+ }
if (CollectionUtil.isNotEmpty(deviceCodeList)) {
List<LightReportData> reportDataList = lightReportDataService.getNewestReportByDeviceCode(deviceCodeList);
for (LightBo lightBo : listLight) {
@@ -204,7 +230,9 @@
map.put("deviceCode", param.getDeviceCode());
WrapResponseCommonFrame<A5LightBrightnessRespInnerFrame> frame
= MainBoardInvokeSyncService.getInstance().sendRRPC(param.getDeviceCode(), a5Frame, A5LightBrightnessRespInnerFrame.class);
+ //瀛樺偍鎺у埗甯ф寚浠�
StoreOperationRecordsUtils.storeInnerFrameData(param.getDeviceCode(), "鍗曠伅甯�-浜害鎺у埗", a5Frame, frame);
+
if (frame == null) {
map.put("status", DeviceRespStatusEnums.OTHER_ERROR.getCode());
resultList.add(map);
@@ -308,7 +336,7 @@
currentWeekValue = 7;
}
map = new LinkedHashMap();
- map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ map.put("time", localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
map.put("value", getlist(currentWeekValue));
temp.add(map);
}
@@ -380,7 +408,7 @@
currentWeekValue = 7;
}
map = new LinkedHashMap();
- map.put("time",localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ map.put("time", localDateTime.minusDays(i).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
map.put("value", getlistEnergy(currentWeekValue));
temp.add(map);
}
@@ -597,20 +625,22 @@
for (int i = 0; i < controlLightCommandVOS.size(); i++) {
//寰楀埌鏃堕暱*浜害
BigDecimal bigEnergy1 = calculateEnergyConsumption(startTime, controlLightCommandVOS.get(i));
-// //璁$畻鑳借��(鎬� 鏃堕暱*浜害*鍔熺巼)
- BigDecimal totalEnergy = totalEnergy(bigEnergy1, Task.getLightAdress(), poleTaskLightPowerBos);
- bigEnergy[0] = bigEnergy[0].add(totalEnergy);
-// BigDecimal totalEnergy4 = totalEnergy(bigEnergy1, Task.getLightAdress(), poleTaskLightPowerBos);
-// bigEnergy[0] = bigEnergy[0].add(totalEnergy4);
+ //鍒ゆ柇 Energy==0 鍒欎笉璁$畻
+ if (bigEnergy1.compareTo(new BigDecimal(0)) != 0) {
+ //璁$畻鑳借��(鎬� 鏃堕暱*浜害*鍔熺巼)
+ BigDecimal totalEnergy = totalEnergy(bigEnergy1, Task.getLightAdress(), poleTaskLightPowerBos);
+ bigEnergy[0] = bigEnergy[0].add(totalEnergy);
+ }
if (controlLightCommandVOS.size() == (i + 1)) {
BigDecimal bigEnergy2 = calculateEnergyConsumption(controlLightCommandVOS.get(i), endTime);
System.out.println(bigEnergy2 + "鏃堕暱*浜害===========================");
//璁$畻鑳借��(鎬� 鏃堕暱*浜害*鍔熺巼)
- BigDecimal totalEnergy3 = totalEnergy(bigEnergy2, Task.getLightAdress(), poleTaskLightPowerBos);
-// saving.add(bigDecimal1);
- bigEnergy[0] = bigEnergy[0].add(totalEnergy3);
+ if(bigEnergy2.compareTo(new BigDecimal(0)) != 0){
+ BigDecimal totalEnergy3 = totalEnergy(bigEnergy2, Task.getLightAdress(), poleTaskLightPowerBos);
+ bigEnergy[0] = bigEnergy[0].add(totalEnergy3);
+ }
break;
}
startTime = controlLightCommandVOS.get(i);
@@ -620,9 +650,14 @@
//璁$畻鑳借��(閮ㄥ垎 鏃堕暱*浜害)
BigDecimal Energy = calculateEnergyConsumption(startTime, endTime);
//璁$畻鑳借��(鎬� 鏃堕暱*浜害*鍔熺巼)
- BigDecimal totalEnergy = totalEnergy(Energy, Task.getLightAdress(), poleTaskLightPowerBos);
+ //鍒ゆ柇 Energy==0 鍒欎笉璁$畻
+ if (Energy.compareTo(new BigDecimal(0)) != 0) {
+ BigDecimal totalEnergy = totalEnergy(Energy, Task.getLightAdress(), poleTaskLightPowerBos);
+ bigEnergy[0] = bigEnergy[0].add(totalEnergy);
+ }
+
// saving.add(bigDecimal);
- bigEnergy[0] = bigEnergy[0].add(totalEnergy);
+
}
});
return bigEnergy[0];
--
Gitblit v1.9.3