|
@@ -1,8 +1,11 @@
|
|
|
package com.sooka.sponest.monitor.device.controller;
|
|
package com.sooka.sponest.monitor.device.controller;
|
|
|
|
|
|
|
|
import com.dahuatech.hutool.core.bean.BeanUtil;
|
|
import com.dahuatech.hutool.core.bean.BeanUtil;
|
|
|
|
|
+import com.dahuatech.hutool.json.JSONArray;
|
|
|
import com.dahuatech.hutool.json.JSONObject;
|
|
import com.dahuatech.hutool.json.JSONObject;
|
|
|
|
|
+import com.dahuatech.hutool.json.JSONUtil;
|
|
|
import com.ruoyi.common.core.domain.R;
|
|
import com.ruoyi.common.core.domain.R;
|
|
|
|
|
+import com.ruoyi.common.core.utils.DateUtils;
|
|
|
import com.ruoyi.common.core.utils.StringUtils;
|
|
import com.ruoyi.common.core.utils.StringUtils;
|
|
|
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
|
import com.ruoyi.common.core.utils.poi.ExcelUtil;
|
|
|
import com.ruoyi.common.core.web.controller.BaseController;
|
|
import com.ruoyi.common.core.web.controller.BaseController;
|
|
@@ -52,12 +55,8 @@ public class CentermonitorTTemperatureControlDeviceController extends BaseContro
|
|
|
// 转换为实体类
|
|
// 转换为实体类
|
|
|
CentermonitorTMonitoringDeviceData deviceData = com.dahuatech.hutool.json.JSONUtil.toBean(
|
|
CentermonitorTMonitoringDeviceData deviceData = com.dahuatech.hutool.json.JSONUtil.toBean(
|
|
|
jsonStr, CentermonitorTMonitoringDeviceData.class);
|
|
jsonStr, CentermonitorTMonitoringDeviceData.class);
|
|
|
- String deviceId = UUID.randomUUID().toString().replaceAll("-", "");
|
|
|
|
|
- deviceData.setDeviceId(deviceId);
|
|
|
|
|
// 设置时间
|
|
// 设置时间
|
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
- deviceData.setCreateTime(java.util.Date.from(now.atZone(java.time.ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
- deviceData.setUploadTime(java.util.Date.from(now.atZone(java.time.ZoneId.systemDefault()).toInstant()));
|
|
|
|
|
|
|
+ deviceData.setUploadTime(DateUtils.getTime());
|
|
|
|
|
|
|
|
// 保存数据
|
|
// 保存数据
|
|
|
int result = centermonitorTMonitoringDeviceService.insertTemperatureControlData(deviceData);
|
|
int result = centermonitorTMonitoringDeviceService.insertTemperatureControlData(deviceData);
|
|
@@ -93,66 +92,123 @@ public class CentermonitorTTemperatureControlDeviceController extends BaseContro
|
|
|
@Log(title = "传感器", businessType = BusinessType.OTHER)
|
|
@Log(title = "传感器", businessType = BusinessType.OTHER)
|
|
|
@ApiOperation(value = "获取温控设备温度图表数据", notes = "获取温控设备的温度折线图数据")
|
|
@ApiOperation(value = "获取温控设备温度图表数据", notes = "获取温控设备的温度折线图数据")
|
|
|
@GetMapping("/getTemperatureChartData")
|
|
@GetMapping("/getTemperatureChartData")
|
|
|
- public AjaxResult getTemperatureChartData(String deviceId) {
|
|
|
|
|
|
|
+ public AjaxResult getTemperatureChartData(String uploadTime) {
|
|
|
try {
|
|
try {
|
|
|
// 创建查询参数
|
|
// 创建查询参数
|
|
|
CentermonitorTMonitoringDeviceData query = new CentermonitorTMonitoringDeviceData();
|
|
CentermonitorTMonitoringDeviceData query = new CentermonitorTMonitoringDeviceData();
|
|
|
- query.setDeviceId(StringUtils.isNotBlank(deviceId) ? deviceId: null);
|
|
|
|
|
|
|
+ query.setUploadTime(StringUtils.isNotBlank(uploadTime) ? uploadTime: null);
|
|
|
// 查询数据
|
|
// 查询数据
|
|
|
List<CentermonitorTMonitoringDeviceData> dataList = centermonitorTMonitoringDeviceService.selectTemperatureControlMonitoringData(query);
|
|
List<CentermonitorTMonitoringDeviceData> dataList = centermonitorTMonitoringDeviceService.selectTemperatureControlMonitoringData(query);
|
|
|
- // 构建返回结果
|
|
|
|
|
- Map<String, Object> result = new HashMap<>();
|
|
|
|
|
- // 准备categories(时间轴)
|
|
|
|
|
- List<String> categories = new ArrayList<>();
|
|
|
|
|
- // 准备series(温度数据系列)
|
|
|
|
|
- List<Map<String, Object>> series = new ArrayList<>();
|
|
|
|
|
- Map<String, List<Double>> tempDataMap = new HashMap<>();
|
|
|
|
|
- // 初始化5个温度层级的数据列表
|
|
|
|
|
- for (int i = 1; i <= 5; i++) {
|
|
|
|
|
- String seriesName = "温度层级" + i;
|
|
|
|
|
- tempDataMap.put(seriesName, new ArrayList<>());
|
|
|
|
|
- }
|
|
|
|
|
- // 填充数据
|
|
|
|
|
- if (dataList != null && !dataList.isEmpty()) {
|
|
|
|
|
- for (CentermonitorTMonitoringDeviceData data : dataList) {
|
|
|
|
|
- // 添加时间到categories
|
|
|
|
|
- categories.add(String.valueOf(data.getUploadTime() != null ? data.getUploadTime() : data.getCreateTime()));
|
|
|
|
|
-
|
|
|
|
|
- // 处理电缆1的5个温度层级
|
|
|
|
|
- if (data.getT1_01() != null) tempDataMap.get("温度层级1").add(Double.parseDouble(data.getT1_01()));
|
|
|
|
|
- if (data.getT1_02() != null) tempDataMap.get("温度层级2").add(Double.parseDouble(data.getT1_02()));
|
|
|
|
|
- if (data.getT1_03() != null) tempDataMap.get("温度层级3").add(Double.parseDouble(data.getT1_03()));
|
|
|
|
|
- if (data.getT1_04() != null) tempDataMap.get("温度层级4").add(Double.parseDouble(data.getT1_04()));
|
|
|
|
|
- if (data.getT1_05() != null) tempDataMap.get("温度层级5").add(Double.parseDouble(data.getT1_05()));
|
|
|
|
|
-
|
|
|
|
|
- // 处理电缆1的5个温度层级
|
|
|
|
|
- if (data.getT2_01() != null) tempDataMap.get("温度层级1").add(Double.parseDouble(data.getT2_01()));
|
|
|
|
|
- if (data.getT2_02() != null) tempDataMap.get("温度层级2").add(Double.parseDouble(data.getT2_02()));
|
|
|
|
|
- if (data.getT2_03() != null) tempDataMap.get("温度层级3").add(Double.parseDouble(data.getT2_03()));
|
|
|
|
|
- if (data.getT2_04() != null) tempDataMap.get("温度层级4").add(Double.parseDouble(data.getT2_04()));
|
|
|
|
|
- if (data.getT2_05() != null) tempDataMap.get("温度层级5").add(Double.parseDouble(data.getT2_05()));
|
|
|
|
|
-
|
|
|
|
|
- // 处理电缆1的5个温度层级
|
|
|
|
|
- if (data.getT3_01() != null) tempDataMap.get("温度层级1").add(Double.parseDouble(data.getT3_01()));
|
|
|
|
|
- if (data.getT3_02() != null) tempDataMap.get("温度层级2").add(Double.parseDouble(data.getT3_02()));
|
|
|
|
|
- if (data.getT3_03() != null) tempDataMap.get("温度层级3").add(Double.parseDouble(data.getT3_03()));
|
|
|
|
|
- if (data.getT3_04() != null) tempDataMap.get("温度层级4").add(Double.parseDouble(data.getT3_04()));
|
|
|
|
|
- if (data.getT3_05() != null) tempDataMap.get("温度层级5").add(Double.parseDouble(data.getT3_05()));
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ Map <String, Map <String, List<String>>> map0 = new HashMap<>();
|
|
|
|
|
+ Map <String, List<String>> map1 = new HashMap<>();
|
|
|
|
|
+ Map <String, List<String>> map2 = new HashMap<>();
|
|
|
|
|
+ Map <String, List<String>> map3 = new HashMap<>();
|
|
|
|
|
+ //T1_01 data
|
|
|
|
|
+ List<String> dataArray11 = new ArrayList<>();
|
|
|
|
|
+ //T1_02 data
|
|
|
|
|
+ List<String> dataArray12 = new ArrayList<>();
|
|
|
|
|
+ //T1_03 data
|
|
|
|
|
+ List<String> dataArray13 = new ArrayList<>();
|
|
|
|
|
+ //T1_04 data
|
|
|
|
|
+ List<String> dataArray14 = new ArrayList<>();
|
|
|
|
|
+ //T1_05 data
|
|
|
|
|
+ List<String> dataArray15 = new ArrayList<>();
|
|
|
|
|
+ //Name1
|
|
|
|
|
+ List<String> nameArray1 = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ //T2_01 data
|
|
|
|
|
+ List<String> dataArray21 = new ArrayList<>();
|
|
|
|
|
+ //T2_02 data
|
|
|
|
|
+ List<String> dataArray22 = new ArrayList<>();
|
|
|
|
|
+ //T2_03 data
|
|
|
|
|
+ List<String> dataArray23 = new ArrayList<>();
|
|
|
|
|
+ //T2_04 data
|
|
|
|
|
+ List<String> dataArray24 = new ArrayList<>();
|
|
|
|
|
+ //T2_05 data
|
|
|
|
|
+ List<String> dataArray25 = new ArrayList<>();
|
|
|
|
|
+ //Name2
|
|
|
|
|
+ List<String> nameArray2 = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ //T3_01 data
|
|
|
|
|
+ List<String> dataArray31 = new ArrayList<>();
|
|
|
|
|
+ //T3_02 data
|
|
|
|
|
+ List<String> dataArray32 = new ArrayList<>();
|
|
|
|
|
+ //T3_03 data
|
|
|
|
|
+ List<String> dataArray33 = new ArrayList<>();
|
|
|
|
|
+ //T3_04 data
|
|
|
|
|
+ List<String> dataArray34 = new ArrayList<>();
|
|
|
|
|
+ //T3_05 data
|
|
|
|
|
+ List<String> dataArray35 = new ArrayList<>();
|
|
|
|
|
+ //Name3
|
|
|
|
|
+ List<String> nameArray3 = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ for (int i = 0; i < dataList.size(); i++) {
|
|
|
|
|
+ // T1系列数据除以10
|
|
|
|
|
+ dataArray11.add(i, dataList.get(i).getT1_01() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT1_01()) / 10) : null);
|
|
|
|
|
+ dataArray12.add(i, dataList.get(i).getT1_02() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT1_02()) / 10) : null);
|
|
|
|
|
+ dataArray13.add(i, dataList.get(i).getT1_03() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT1_03()) / 10) : null);
|
|
|
|
|
+ dataArray14.add(i, dataList.get(i).getT1_04() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT1_04()) / 10) : null);
|
|
|
|
|
+ dataArray15.add(i, dataList.get(i).getT1_05() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT1_05()) / 10) : null);
|
|
|
|
|
+ nameArray1.add(i, dataList.get(i).getUploadTime());
|
|
|
|
|
+
|
|
|
|
|
+ // T2系列数据除以10
|
|
|
|
|
+ dataArray21.add(i, dataList.get(i).getT2_01() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT2_01()) / 10) : null);
|
|
|
|
|
+ dataArray22.add(i, dataList.get(i).getT2_02() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT2_02()) / 10) : null);
|
|
|
|
|
+ dataArray23.add(i, dataList.get(i).getT2_03() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT2_03()) / 10) : null);
|
|
|
|
|
+ dataArray24.add(i, dataList.get(i).getT2_04() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT2_04()) / 10) : null);
|
|
|
|
|
+ dataArray25.add(i, dataList.get(i).getT2_05() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT2_05()) / 10) : null);
|
|
|
|
|
+ nameArray2.add(i, dataList.get(i).getUploadTime());
|
|
|
|
|
+
|
|
|
|
|
+ // T3系列数据除以10
|
|
|
|
|
+ dataArray31.add(i, dataList.get(i).getT3_01() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT3_01()) / 10) : null);
|
|
|
|
|
+ dataArray32.add(i, dataList.get(i).getT3_02() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT3_02()) / 10) : null);
|
|
|
|
|
+ dataArray33.add(i, dataList.get(i).getT3_03() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT3_03()) / 10) : null);
|
|
|
|
|
+ dataArray34.add(i, dataList.get(i).getT3_04() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT3_04()) / 10) : null);
|
|
|
|
|
+ dataArray35.add(i, dataList.get(i).getT3_05() != null ?
|
|
|
|
|
+ String.valueOf(Double.parseDouble(dataList.get(i).getT3_05()) / 10) : null);
|
|
|
|
|
+ nameArray3.add(i, dataList.get(i).getUploadTime());
|
|
|
|
|
|
|
|
- // 构建series对象
|
|
|
|
|
- for (Map.Entry<String, List<Double>> entry : tempDataMap.entrySet()) {
|
|
|
|
|
- Map<String, Object> seriesItem = new HashMap<>();
|
|
|
|
|
- seriesItem.put("name", entry.getKey());
|
|
|
|
|
- seriesItem.put("data", entry.getValue());
|
|
|
|
|
- series.add(seriesItem);
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- result.put("categories", categories);
|
|
|
|
|
- result.put("series", series);
|
|
|
|
|
-
|
|
|
|
|
- return AjaxResult.success(result);
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ map1.put("t1_01", dataArray11);
|
|
|
|
|
+ map1.put("t1_02", dataArray12);
|
|
|
|
|
+ map1.put("t1_03", dataArray13);
|
|
|
|
|
+ map1.put("t1_04", dataArray14);
|
|
|
|
|
+ map1.put("t1_05", dataArray15);
|
|
|
|
|
+ map1.put("t1_time", nameArray1);
|
|
|
|
|
+
|
|
|
|
|
+ map2.put("t2_01", dataArray21);
|
|
|
|
|
+ map2.put("t2_02", dataArray22);
|
|
|
|
|
+ map2.put("t2_03", dataArray23);
|
|
|
|
|
+ map2.put("t2_04", dataArray24);
|
|
|
|
|
+ map2.put("t2_05", dataArray25);
|
|
|
|
|
+ map2.put("t2_time", nameArray2);
|
|
|
|
|
+
|
|
|
|
|
+ map3.put("t3_01", dataArray31);
|
|
|
|
|
+ map3.put("t3_02", dataArray32);
|
|
|
|
|
+ map3.put("t3_03", dataArray33);
|
|
|
|
|
+ map3.put("t3_04", dataArray34);
|
|
|
|
|
+ map3.put("t3_05", dataArray35);
|
|
|
|
|
+ map3.put("t3_time", nameArray3);
|
|
|
|
|
+
|
|
|
|
|
+ map0.put("t1",map1);
|
|
|
|
|
+ map0.put("t2",map2);
|
|
|
|
|
+ map0.put("t3",map3);
|
|
|
|
|
+ return AjaxResult.success(map0);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
log.error("获取温控设备温度图表数据异常: {}", e.getMessage());
|
|
log.error("获取温控设备温度图表数据异常: {}", e.getMessage());
|
|
|
return AjaxResult.error("获取数据异常,请稍后重试");
|
|
return AjaxResult.error("获取数据异常,请稍后重试");
|