From 75bf8cb4a77095a1f15a65a5d560219e93b3b58b Mon Sep 17 00:00:00 2001 From: huguanghan Date: Thu, 21 Nov 2024 09:59:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=91=8A=E8=AD=A6level=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/das/modules/data/service/impl/DataServiceImpl.java | 4 ++++ .../das/modules/node/service/impl/NodeMessageServiceImpl.java | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java b/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java index 9c4a109b..14c6a467 100644 --- a/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java +++ b/das/src/main/java/com/das/modules/data/service/impl/DataServiceImpl.java @@ -63,6 +63,8 @@ public class DataServiceImpl implements DataService { //key:modelCode value:FiledCode,dataType public ConcurrentHashMap> calculateIotFieldMap = new ConcurrentHashMap<>(10000); + public ConcurrentHashMap> eventLevelMap = new ConcurrentHashMap<>(10000); + /** * 读取实时数据快照 * @param paramList 设备id及设备属性列表 @@ -216,6 +218,7 @@ public class DataServiceImpl implements DataService { Map HighModelFieldList = allIotModelField.stream().filter(field -> field.getHighSpeed() == 1 && field.getAttributeType() != 199).collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getDataType, (value1, value2) -> value1)); Map calculateFieldList = allIotModelField.stream().filter(field -> field.getAttributeType() == 199).collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getDataType, (value1, value2) -> value1)); Map fieldCodeNameList = allIotModelField.stream().collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getAttributeName, (value1, value2) -> value1)); + Map eventLevelList = allIotModelField.stream().filter(field -> field.getAttributeType() == 140 && field.getLevel() != null).collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getLevel, (value1, value2) -> value1)); Map map = new HashMap<>(); for (String field : HighModelFieldList.keySet()) { map.put(field, HighModelFieldList.get(field)); @@ -226,6 +229,7 @@ public class DataServiceImpl implements DataService { lowMap.put(field, LowModelFieldList.get(field)); } lowIotFieldMap.put(item.getIotModelCode(), lowMap); + eventLevelMap.put(item.getIotModelCode(),eventLevelList); fieldCodeNameMap.put(item.getIotModelCode(),fieldCodeNameList); calculateIotFieldMap.put(item.getIotModelCode(), calculateFieldList); } diff --git a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java index fdad5bd4..04a19599 100644 --- a/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java +++ b/das/src/main/java/com/das/modules/node/service/impl/NodeMessageServiceImpl.java @@ -359,16 +359,18 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node log.debug("未查询到物模型属性code,设备id:{}", item.getDeviceId()); } deviceEventInfo.setEventType(item.getEventType()); - deviceEventInfo.setEventLevel(0); deviceEventInfo.setConfirmed(0); if (!StringUtils.isEmpty(eventType) && eventType.equals("遥信变位")) { if (item.getAttrValue().equals(0)) { deviceEventInfo.setEventText(fieldName + " 复归"); + deviceEventInfo.setEventLevel(0); } else { deviceEventInfo.setEventText(fieldName + " 动作"); + deviceEventInfo.setEventLevel(dataService.eventLevelMap.get(model).get(fieldName)); } } else { deviceEventInfo.setEventText(fieldName + eventType + ",属性值为:" + item.getAttrValue() + ",越限值为:" + item.getLimitValue()); + deviceEventInfo.setEventLevel(1); } valueList.add(deviceEventInfo); }