diff --git a/ruoyi-admin/src/main/resources/templates/system/ArrayTemperatureData/ArrayTemperatureData.html b/ruoyi-admin/src/main/resources/templates/system/ArrayTemperatureData/ArrayTemperatureData.html
index bfe06b9..f9c8d56 100644
--- a/ruoyi-admin/src/main/resources/templates/system/ArrayTemperatureData/ArrayTemperatureData.html
+++ b/ruoyi-admin/src/main/resources/templates/system/ArrayTemperatureData/ArrayTemperatureData.html
@@ -141,6 +141,15 @@
queryDeptTree()
+
+ const getData = () => {
+ postData()
+ }
+ getData()
+ setInterval(getData, 1000 * 10)
+ })
+
+ function postData() {
function getGradientColor(level, sum) {
// 确保级别在1到50之间
level = Math.max(1, Math.min(sum, level));
@@ -193,87 +202,82 @@
// 返回格式化的CSS颜色字符串
return `rgb(${rgb.r}, ${rgb.g}, ${rgb.b})`;
}
-
- const getData = () => {
- $.post(prefix + '/newDataStreak', {monitorId}, (e) => {
- $(".centerDiv").css({'display': 'none'})
- for (let index = 1; index <= e.data.length; index++) {
- $('.centerDiv' + index).css({'display': 'inline-block'})
- let getColorByTemperature = {}
- $('#temInfo' + index).html(`最高温度:${e.data?.[index - 1]?.maxTemperature || ''}℃ 最低温度:${e.data?.[index - 1]?.minTemperature || ''}℃ 平均温度:${e.data?.[index - 1]?.avgTemperature || ''}℃`)
- $('#timeInfo' + index).html(`名称:${e.data?.[index - 1]?.monitorName || ''} 采集时间:${e.data?.[index - 1]?.collectTime || ''} `)
- let colors = []
- let tems = []
- for (i in e.data[index - 1]) {
- if (i.includes('site')) {
- tems.push(e?.data?.[index - 1]?.[i])
- }
- }
- let sum = Math.max(...tems) - Math.min(...tems)
- getColorByTemperature = {}
-
- for (var i = 0; i <= sum; i++) {
- getColorByTemperature[(Math.min(...tems)) + i] = getGradientColor(i, sum)
+ $.post(prefix + '/newDataStreak', {monitorId}, (e) => {
+ $(".centerDiv").css({'display': 'none'})
+ for (let index = 1; index <= e.data.length; index++) {
+ $('.centerDiv' + index).css({'display': 'inline-block'})
+ let getColorByTemperature = {}
+ $('#temInfo' + index).html(`最高温度:${e.data?.[index - 1]?.maxTemperature || ''}℃ 最低温度:${e.data?.[index - 1]?.minTemperature || ''}℃ 平均温度:${e.data?.[index - 1]?.avgTemperature || ''}℃`)
+ $('#timeInfo' + index).html(`名称:${e.data?.[index - 1]?.monitorName || ''} 采集时间:${e.data?.[index - 1]?.collectTime || ''} `)
+ let colors = []
+ let tems = []
+ for (i in e.data[index - 1]) {
+ if (i.includes('site')) {
+ tems.push(e?.data?.[index - 1]?.[i])
}
+ }
+ let sum = Math.max(...tems) - Math.min(...tems)
+ getColorByTemperature = {}
- for (let i = 1; i <= 768; i++) {
- colors.push(getColorByTemperature[e?.data?.[index - 1]?.['site' + i]])
- }
+ for (var i = 0; i <= sum; i++) {
+ getColorByTemperature[(Math.min(...tems)) + i] = getGradientColor(i, sum)
+ }
- const canvas = document.getElementById('canvas' + index);
- const ctx = canvas.getContext('2d');
+ for (let i = 1; i <= 768; i++) {
+ colors.push(getColorByTemperature[e?.data?.[index - 1]?.['site' + i]])
+ }
- // 设置canvas的宽度和高度
- const width = $('#canvasDiv' + index).width();
- const height = ($('#canvasDiv' + index).width() / 32) * 24;
- canvas.width = width;
- canvas.height = height;
+ const canvas = document.getElementById('canvas' + index);
+ const ctx = canvas.getContext('2d');
- const gridWidth = width / 32;
- const gridHeight = height / 24;
- ctx.clearRect(0, 0, width, height)
+ // 设置canvas的宽度和高度
+ const width = $('#canvasDiv' + index).width();
+ const height = ($('#canvasDiv' + index).width() / 32) * 24;
+ canvas.width = width;
+ canvas.height = height;
- // 遍历颜色数组,绘制矩形
- for (let i = 1; i <= 768; i++) {
- const color = colors[i - 1]; // 获取当前颜色
- const x = ((i - 1) % 32) * gridWidth; // 计算x坐标
- const y = Math.floor((i - 1) / 32) * gridHeight; // 计算y坐标
+ const gridWidth = width / 32;
+ const gridHeight = height / 24;
+ ctx.clearRect(0, 0, width, height)
+ // 遍历颜色数组,绘制矩形
+ for (let i = 1; i <= 768; i++) {
+ const color = colors[i - 1]; // 获取当前颜色
+ const x = ((i - 1) % 32) * gridWidth; // 计算x坐标
+ const y = Math.floor((i - 1) / 32) * gridHeight; // 计算y坐标
- // 绘制格子
- ctx.fillStyle = color; // 设置填充颜色为十六进制颜色值
- ctx.fillRect(x, y, gridWidth, gridHeight); // 绘制矩形格子
- }
- for (let i = 1; i <= 768; i++) {
- const x = ((i - 1) % 32) * gridWidth; // 计算x坐标
- const y = Math.floor((i - 1) / 32) * gridHeight; // 计算y坐标
- if (Math.min(...tems) === e.data[index - 1]['site' + i]) {
- ctx.font = '12px Arial';
- ctx.fillStyle = 'blue';
- ctx.fillText('I', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
- ctx.strokeStyle = 'blue';
- ctx.lineWidth = 1;
- ctx.strokeText('I', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
- }
+ // 绘制格子
+ ctx.fillStyle = color; // 设置填充颜色为十六进制颜色值
+ ctx.fillRect(x, y, gridWidth, gridHeight); // 绘制矩形格子
+ }
+ for (let i = 1; i <= 768; i++) {
+ const x = ((i - 1) % 32) * gridWidth; // 计算x坐标
+ const y = Math.floor((i - 1) / 32) * gridHeight; // 计算y坐标
- if (Math.max(...tems) === e.data[index - 1]['site' + i]) {
- ctx.font = '12px Arial';
- ctx.fillStyle = '#fff';
- ctx.fillText('A', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
- ctx.strokeStyle = '#fff';
- ctx.lineWidth = 1;
- ctx.strokeText('A', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
- }
+ if (Math.min(...tems) === e.data[index - 1]['site' + i]) {
+ ctx.font = '12px Arial';
+ ctx.fillStyle = 'blue';
+ ctx.fillText('I', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
+ ctx.strokeStyle = 'blue';
+ ctx.lineWidth = 1;
+ ctx.strokeText('I', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
+ }
+ if (Math.max(...tems) === e.data[index - 1]['site' + i]) {
+ ctx.font = '12px Arial';
+ ctx.fillStyle = '#fff';
+ ctx.fillText('A', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
+ ctx.strokeStyle = '#fff';
+ ctx.lineWidth = 1;
+ ctx.strokeText('A', x + gridWidth / 2 - 6, y + gridHeight / 2 + 6);
}
+
}
+ }
- })
- }
- getData()
- setInterval(getData, 1000 * 4)
- })
+ })
+ }
function queryDeptTree() {
var url = ctx + "system/Monitor/treeData?monitorType=" + 30;
@@ -286,7 +290,8 @@
function zOnClick(event, treeId, treeNode) {
monitorId = treeNode.id;
- console.log(111, monitorId)
+ console.log('zOnClick:', monitorId)
+ postData()
}
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TArraytemperaturedata.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TArraytemperaturedata.java
index d1e3fd4..52bf324 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TArraytemperaturedata.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TArraytemperaturedata.java
@@ -2,6 +2,7 @@ package com.ruoyi.system.domain;
import java.math.BigDecimal;
import java.util.Date;
+import java.util.List;
import com.ruoyi.common.annotation.Excel;
@@ -4677,6 +4678,16 @@ public class TArraytemperaturedata extends BaseEntity {
@Excel(name = "位置768")
private BigDecimal Site768;
+ private List monitorList;
+
+ public List getMonitorList() {
+ return monitorList;
+ }
+
+ public void setMonitorList(List monitorList) {
+ this.monitorList = monitorList;
+ }
+
public String getMonitorName() {
return monitorName;
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TArraytemperaturedataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TArraytemperaturedataServiceImpl.java
index 911abbc..cc2e813 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TArraytemperaturedataServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TArraytemperaturedataServiceImpl.java
@@ -2,6 +2,11 @@ package com.ruoyi.system.service.impl;
import java.util.HashMap;
import java.util.List;
+import java.util.stream.Collectors;
+
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.T_Monitor;
+import com.ruoyi.system.mapper.T_MonitorMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.TArraytemperaturedataMapper;
@@ -21,6 +26,9 @@ public class TArraytemperaturedataServiceImpl implements ITArraytemperaturedataS
@Autowired
private TArraytemperaturedataMapper tArraytemperaturedataMapper;
+ @Autowired
+ private T_MonitorMapper t_MonitorMapper;
+
/**
* 查询温度传感器阵列报
*
@@ -100,6 +108,18 @@ public class TArraytemperaturedataServiceImpl implements ITArraytemperaturedataS
*/
@Override
public List selectNewDataStreak(TArraytemperaturedata tArraytemperaturedata) {
+ String monitorId = tArraytemperaturedata.getMonitorId();
+ if (StringUtils.isEmpty(monitorId)){
+ return null;
+ }
+ T_Monitor monitor = new T_Monitor();
+ monitor.setpMonitorid(monitorId);
+ List tMonitors = t_MonitorMapper.selectT_MonitorList(monitor);
+ if (tMonitors.size() == 0){
+ return null;
+ }
+ List monitorList = tMonitors.stream().map(T_Monitor::getMonitorId).collect(Collectors.toList());
+ tArraytemperaturedata.setMonitorList(monitorList);
return tArraytemperaturedataMapper.selectNewDataStreak(tArraytemperaturedata);
}
diff --git a/ruoyi-system/src/main/resources/mapper/system/TArraytemperaturedataMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TArraytemperaturedataMapper.xml
index 05a0bfc..3155430 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TArraytemperaturedataMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TArraytemperaturedataMapper.xml
@@ -1592,7 +1592,13 @@
ROW_NUMBER() OVER (PARTITION BY monitorId ORDER BY collectTime DESC) AS rn
FROM T_ArrayTemperatureData
WHERE collectTime > (GETDATE() - 1)
- and monitorId like concat(#{monitorId}, '%')
+
+
+ and monitorId IN
+
+ #{monitorId}
+
+
)
SELECT m.monitorName,t.*
FROM RankedData t
diff --git a/ruoyi-system/src/main/resources/mapper/system/T_MonitorMapper.xml b/ruoyi-system/src/main/resources/mapper/system/T_MonitorMapper.xml
index 19b1094..1ed5781 100644
--- a/ruoyi-system/src/main/resources/mapper/system/T_MonitorMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/T_MonitorMapper.xml
@@ -66,6 +66,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and monitorId = #{monitorId}
+ and (p_monitorId = #{pMonitorid} OR monitorId = #{pMonitorid})
and monitorType = #{monitorType}
and isKeyMonitor = #{isKeyMonitor}
and monitorStatus = #{monitorStatus}