update - 振动传感器实时监控接口可传多个点位优化

master
yinq 1 day ago
parent e0eebd89a9
commit 5289bc404c

@ -6,6 +6,7 @@
<th:block th:include="include :: ztree-css"/>
<th:block th:include="include :: datetimepicker-css"/>
</head>
<style>
.chartDiv {
width: 24.5%;
@ -131,7 +132,6 @@
});
let time1 = null
let time2 = null
function queryDeptTree() {
var url = ctx + "system/Monitor/treeData?monitorType=" + 20;
@ -150,7 +150,8 @@
function onCheck(event, treeId, treeNode) {
const intervalFun = () => {
$.post(ctx + 'system/TVibrationsensorData/realTimeMonitor', {sensorId: $.tree.getCheckedNodes()}, (e) => {
var checkedIds = getCheckedSensorIds();
$.post(ctx + 'system/TVibrationsensorData/realTimeMonitor', {sensorId: checkedIds}, (e) => {
let data = e.data || []
// let data = [{}, {}, {}]
@ -172,13 +173,13 @@
}
intervalFun()
if (time2) {
clearInterval(time2)
time2 = null
if (time1) {
clearInterval(time1)
time1 = null
}
time1 = setInterval(() => {
intervalFun()
}, 1000 * 60)
}, 10000)
}
function zOnClick(event, treeId, treeNode) {
@ -373,10 +374,26 @@
})
}
})
}, 5000 * 1000)
}, 10000)
}
}
// 兼容后端逗号分隔参数将选中的树节点ID拼成 "id1,id2,id3"
function getCheckedSensorIds() {
var treeObj = $.fn.zTree.getZTreeObj("tree");
if (!treeObj) {
return "";
}
var checkedNode = treeObj.getCheckedNodes(true);
var ids = [];
checkedNode.forEach(function (node) {
if (node && node.id !== undefined && node.id !== null && node.id !== "") {
ids.push(node.id);
}
});
return ids.join(",");
}
</script>
</body>

@ -1,8 +1,7 @@
package com.ruoyi.system.service.impl;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -24,16 +23,6 @@ public class TVibrationSensorHourlyReportServiceImpl implements ITVibrationSenso
@Override
public List<TVibrationSensorHourlyReport> selectTVibrationSensorHourlyReportList(TVibrationSensorHourlyReport query) {
if (query != null && query.getSensorId() != null && !query.getSensorId().trim().isEmpty()) {
List<String> sensorIdList = Arrays.stream(query.getSensorId().split(","))
.map(String::trim)
.filter(item -> !item.isEmpty())
.distinct()
.collect(Collectors.toList());
if (!sensorIdList.isEmpty()) {
query.getParams().put("sensorIdList", sensorIdList);
}
}
return tVibrationSensorHourlyReportMapper.selectTVibrationSensorHourlyReportList(query);
}

@ -2,6 +2,7 @@ package com.ruoyi.system.service.impl;
import java.util.*;
import java.text.SimpleDateFormat;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
@ -91,6 +92,14 @@ public class TVibrationsensorDataServiceImpl implements ITVibrationsensorDataSer
@Override
public List<TVibrationsensorData> selectRealTimeMonitor(TVibrationsensorData tVibrationsensorData) {
String sensorId = tVibrationsensorData.getSensorId();
if (StringUtils.isNotBlank(sensorId)) {
List<String> sensorIdList = Arrays.stream(sensorId.split(","))
.map(String::trim)
.filter(StringUtils::isNotBlank)
.collect(Collectors.toList());
tVibrationsensorData.getParams().put("sensorIdList", sensorIdList);
}
return tVibrationsensorDataMapper.selectRealTimeMonitor(tVibrationsensorData);
}

@ -40,13 +40,7 @@
<if test="params.beginReportTime != null and params.beginReportTime != '' and params.endReportTime != null and params.endReportTime != ''">
and r.reportTime between #{params.beginReportTime} and #{params.endReportTime}
</if>
<if test="params.sensorIdList != null and params.sensorIdList.size > 0">
and r.sensor_id in
<foreach collection="params.sensorIdList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="(params.sensorIdList == null or params.sensorIdList.size == 0) and sensorId != null and sensorId != ''">and r.sensor_id = #{sensorId}</if>
<if test="sensorId != null and sensorId != ''">and r.sensor_id = #{sensorId}</if>
<if test="speed != null">and r.speed = #{speed}</if>
<if test="displacement != null">and r.displacement = #{displacement}</if>
<if test="acceleration != null">and r.acceleration = #{acceleration}</if>

@ -114,8 +114,11 @@
FROM T_VibrationSensor_Data
WHERE 1=1
-- AND collectTime > (GETDATE() - 1)
<if test="sensorId != null and sensorId != ''">
and sensor_id in (select monitorId from T_Monitor where monitorId like concat(#{sensorId}, '%'))
<if test="params.sensorIdList != null and params.sensorIdList.size() > 0">
and sensor_id in
<foreach collection="params.sensorIdList" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
)
SELECT m.monitorName, t.*

Loading…
Cancel
Save