diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TVibrationsensorDataController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TVibrationsensorDataController.java index d1b8807..64e4809 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TVibrationsensorDataController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TVibrationsensorDataController.java @@ -126,6 +126,15 @@ public class TVibrationsensorDataController extends BaseController { return prefix + "/RealTimeMonitor"; } + /** + * 堆垛机实时监控页面 + * @return + */ + @GetMapping("stackerRealTimeMonitorView") + public String stackerRealTimeMonitorView() { + return prefix + "/StackerRealTimeMonitor"; + } + /** * 振动传感器实时监控 * @param tVibrationsensorData @@ -138,6 +147,19 @@ public class TVibrationsensorDataController extends BaseController { return AjaxResult.success(list); } + /** + * 堆垛机振动传感器实时监控(仅secondType=1) + * @param tVibrationsensorData + * @return + */ + @PostMapping("/stackerRealTimeMonitor") + @ResponseBody + public AjaxResult stackerRealTimeMonitor(TVibrationsensorData tVibrationsensorData) { + tVibrationsensorData.setSecondType(1); + List list = tVibrationsensorDataService.selectRealTimeMonitor(tVibrationsensorData); + return AjaxResult.success(list); + } + /** * 振动数据曲线接口 * 单一、多条 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/T_MonitorController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/T_MonitorController.java index 74032d2..bd38bb9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/T_MonitorController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/T_MonitorController.java @@ -4,7 +4,6 @@ import java.io.File; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; import com.alibaba.fastjson.JSONArray; import com.ruoyi.common.utils.http.HttpUtils; @@ -422,5 +421,44 @@ public class T_MonitorController extends BaseController { return ztreeslist; } + /** + * 加载测控点信息树列表(仅secondType=1) + */ + @GetMapping("/treeDataSecondTypeOne") + @ResponseBody + public List treeDataSecondTypeOne(Integer monitorType) { + List ztreeslist = new ArrayList<>(); + try { + T_Monitor query = new T_Monitor(); + query.setMonitorType(monitorType); + query.setSecondType(1); + List secondTypeOneMonitors = t_MonitorService.selectT_MonitorList(query); + if (secondTypeOneMonitors == null || secondTypeOneMonitors.isEmpty()) { + return ztreeslist; + } + + BigDecimal maxNumber = secondTypeOneMonitors.stream() + .map(item -> new BigDecimal(item.getGrade())) + .max((x1, x2) -> x1.compareTo(x2)) + .get(); + for (T_Monitor node : secondTypeOneMonitors) { + Ztree ztree1 = new Ztree(); + ztree1.setId(node.getMonitorId()); + ztree1.setName(node.getMonitorName()); + ztree1.setTitle(node.getMonitorName()); + ztree1.setpId(node.getpMonitorid()); + ztree1.setIcon("http://caesar-bao.oss-cn-qingdao.aliyuncs.com/imagefiles/883DF83513144B648EA1DC6CD822477B.png"); + if (!new BigDecimal(node.getGrade()).equals(maxNumber)) { + ztree1.setIcon("http://caesar-bao.oss-cn-qingdao.aliyuncs.com/imagefiles/17D33854A7D447749274A05232925D46.png"); + ztree1.setNocheck(true); + } + ztreeslist.add(ztree1); + } + } catch (Exception ex) { + String info = ex.getMessage(); + } + return ztreeslist; + } + } diff --git a/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorAdd.html b/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorAdd.html index c0c05a2..4e68226 100644 --- a/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorAdd.html +++ b/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorAdd.html @@ -48,14 +48,14 @@ - - - - - - - - +
+ +
+ +
+
diff --git a/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorEdit.html b/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorEdit.html index 217f705..6fb7a14 100644 --- a/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorEdit.html +++ b/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorEdit.html @@ -46,14 +46,14 @@ - - - - - - - - +
+ +
+ +
+
diff --git a/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorMonitor.html b/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorMonitor.html index ea093e5..0907003 100644 --- a/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorMonitor.html +++ b/ruoyi-admin/src/main/resources/templates/system/Monitor/vibrationSensorMonitor.html @@ -69,6 +69,7 @@ var removeFlag = [[${@permission.hasPermi('system:Monitor:remove')}]]; var isKeyMonitorDatas = [[${@dict.getType('isKey')}]]; var monitorStatusDatas = [[${@dict.getType('monitorStatus')}]]; + var vSecondTypeDatas = [[${@dict.getType('vSecondType')}]]; var prefix = ctx + "system/Monitor"; $(function() { @@ -106,9 +107,12 @@ width: '30%' }, { - field: 'monitorType', - title: '类型', - align: 'left' + field: 'secondType', + title: '振动采集类型', + align: 'left', + formatter: function(value, row, index) { + return $.table.selectDictLabel(vSecondTypeDatas, value); + } }, { field: 'monitorAddr', diff --git a/ruoyi-admin/src/main/resources/templates/system/TVibrationsensorData/StackerRealTimeMonitor.html b/ruoyi-admin/src/main/resources/templates/system/TVibrationsensorData/StackerRealTimeMonitor.html new file mode 100644 index 0000000..70cf4a0 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/TVibrationsensorData/StackerRealTimeMonitor.html @@ -0,0 +1,401 @@ + + + + + + + + + + + + +
+
+
+
+ 测控点信息 +
+
+ + + + +
+
+
+
+
+
+
+ +
+
+
+
+ +
+ +
+ +
+ +
+
+
+ + + + + + + + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TVibrationsensorData.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TVibrationsensorData.java index 2c3a9fe..232b049 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TVibrationsensorData.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TVibrationsensorData.java @@ -71,6 +71,11 @@ public class TVibrationsensorData extends BaseEntity { */ private Integer isThreshold; + /** + * 振动采集类型(1堆垛机 2其他) + */ + private Integer secondType; + public Integer getIsThreshold() { return isThreshold; @@ -80,6 +85,14 @@ public class TVibrationsensorData extends BaseEntity { this.isThreshold = isThreshold; } + public Integer getSecondType() { + return secondType; + } + + public void setSecondType(Integer secondType) { + this.secondType = secondType; + } + public String getMonitorName() { return monitorName; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TVibrationsensorDataServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TVibrationsensorDataServiceImpl.java index 65a7455..a084ee4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TVibrationsensorDataServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TVibrationsensorDataServiceImpl.java @@ -93,6 +93,9 @@ public class TVibrationsensorDataServiceImpl implements ITVibrationsensorDataSer @Override public List selectRealTimeMonitor(TVibrationsensorData tVibrationsensorData) { String sensorId = tVibrationsensorData.getSensorId(); + if (sensorId.isEmpty()) { + return null; + } if (StringUtils.isNotBlank(sensorId)) { List sensorIdList = Arrays.stream(sensorId.split(",")) .map(String::trim) diff --git a/ruoyi-system/src/main/resources/mapper/system/TVibrationsensorDataMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TVibrationsensorDataMapper.xml index 8559078..bbeefd7 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TVibrationsensorDataMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TVibrationsensorDataMapper.xml @@ -115,10 +115,21 @@ WHERE 1=1 -- AND collectTime > (GETDATE() - 1) - and sensor_id in - - #{id} - + and exists ( + select 1 + from T_Monitor m1 + where m1.monitorId = sensor_id + and ( + m1.monitorId in + + #{id} + + or m1.p_monitorId in + + #{id} + + ) + ) ) SELECT m.monitorName, t.*, @@ -131,6 +142,9 @@ left join T_SetMonitorThresholdValue ts on ts.monitorId = t.sensor_id WHERE t.rn = 1 AND m.monitorId IS NOT NULL + + AND m.secondType = #{secondType} + ORDER BY sensor_id 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 c602bef..a441e99 100644 --- a/ruoyi-system/src/main/resources/mapper/system/T_MonitorMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/T_MonitorMapper.xml @@ -71,6 +71,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and isKeyMonitor = #{isKeyMonitor} and collectDeviceId = #{collectDeviceId} and monitorStatus = #{monitorStatus} + and secondType = #{secondType} and monitorName = #{monitorName} AND monitorId NOT IN ('ML1','ML2','ML3','ML4','ML5','ML6','ML7','ML8','JTCW','MiLian')