deviceEvent修改描述根据stateDesc配置
This commit is contained in:
parent
14d49d08bf
commit
8a345f178e
@ -25,6 +25,7 @@ import org.springframework.util.StopWatch;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -71,6 +72,10 @@ public class DataServiceImpl implements DataService {
|
|||||||
|
|
||||||
public ConcurrentHashMap<String, Map<String, Integer>> eventLevelMap = new ConcurrentHashMap<>(10000);
|
public ConcurrentHashMap<String, Map<String, Integer>> eventLevelMap = new ConcurrentHashMap<>(10000);
|
||||||
|
|
||||||
|
public ConcurrentHashMap<String, Map<String, String>> stateDescMap = new ConcurrentHashMap<>(10000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 读取实时数据快照
|
* 读取实时数据快照
|
||||||
* @param paramList 设备id及设备属性列表
|
* @param paramList 设备id及设备属性列表
|
||||||
@ -234,6 +239,7 @@ public class DataServiceImpl implements DataService {
|
|||||||
Map<String, String> calculateFieldList = allIotModelField.stream().filter(field -> field.getAttributeType() == 199).collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getDataType, (value1, value2) -> value1));
|
Map<String, String> calculateFieldList = allIotModelField.stream().filter(field -> field.getAttributeType() == 199).collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getDataType, (value1, value2) -> value1));
|
||||||
Map<String, String> fieldCodeNameList = allIotModelField.stream().collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getAttributeName, (value1, value2) -> value1));
|
Map<String, String> fieldCodeNameList = allIotModelField.stream().collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getAttributeName, (value1, value2) -> value1));
|
||||||
Map<String, Integer> eventLevelList = allIotModelField.stream().collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getLevel, (value1, value2) -> value1));
|
Map<String, Integer> eventLevelList = allIotModelField.stream().collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getLevel, (value1, value2) -> value1));
|
||||||
|
Map<String, String> stateDescList = allIotModelField.stream().collect(Collectors.toMap(SysIotModelField::getAttributeCode, SysIotModelField::getStateDesc, (value1, value2) -> value1));
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
for (String field : HighModelFieldList.keySet()) {
|
for (String field : HighModelFieldList.keySet()) {
|
||||||
map.put(field, HighModelFieldList.get(field));
|
map.put(field, HighModelFieldList.get(field));
|
||||||
@ -247,6 +253,8 @@ public class DataServiceImpl implements DataService {
|
|||||||
eventLevelMap.put(item.getIotModelCode(),eventLevelList);
|
eventLevelMap.put(item.getIotModelCode(),eventLevelList);
|
||||||
fieldCodeNameMap.put(item.getIotModelCode(),fieldCodeNameList);
|
fieldCodeNameMap.put(item.getIotModelCode(),fieldCodeNameList);
|
||||||
calculateIotFieldMap.put(item.getIotModelCode(), calculateFieldList);
|
calculateIotFieldMap.put(item.getIotModelCode(), calculateFieldList);
|
||||||
|
stateDescMap.put(item.getIotModelCode(),stateDescList);
|
||||||
|
|
||||||
}
|
}
|
||||||
tdEngineService.initIotModel(allIotModel, highIotFieldMap, lowIotFieldMap, calculateIotFieldMap);
|
tdEngineService.initIotModel(allIotModel, highIotFieldMap, lowIotFieldMap, calculateIotFieldMap);
|
||||||
}
|
}
|
||||||
|
@ -635,6 +635,16 @@ public class SysIotModelServiceImpl implements SysIotModelService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if (sysIotModelField.getStateDesc() != null){
|
||||||
|
Map<String, String> stateDescMap = dataService.stateDescMap.get(modelCode);
|
||||||
|
if (stateDescMap == null) {
|
||||||
|
Map<String, String> calMap = new HashMap<>();
|
||||||
|
calMap.put(sysIotModelField.getAttributeCode(), sysIotModelField.getStateDesc());
|
||||||
|
dataService.stateDescMap.put(modelCode, calMap);
|
||||||
|
} else {
|
||||||
|
stateDescMap.put(sysIotModelField.getAttributeCode(), sysIotModelField.getStateDesc());
|
||||||
|
}
|
||||||
|
}
|
||||||
if (sysIotModelField.getAttributeType() == 199) {
|
if (sysIotModelField.getAttributeType() == 199) {
|
||||||
Map<String, String> map = dataService.calculateIotFieldMap.get(modelCode);
|
Map<String, String> map = dataService.calculateIotFieldMap.get(modelCode);
|
||||||
if (map == null) {
|
if (map == null) {
|
||||||
@ -686,6 +696,9 @@ public class SysIotModelServiceImpl implements SysIotModelService {
|
|||||||
if (sysIotModelField.getLevel() != null){
|
if (sysIotModelField.getLevel() != null){
|
||||||
dataService.eventLevelMap.remove(sysIotModelField.getAttributeCode());
|
dataService.eventLevelMap.remove(sysIotModelField.getAttributeCode());
|
||||||
}
|
}
|
||||||
|
if (sysIotModelField.getStateDesc() != null){
|
||||||
|
dataService.stateDescMap.remove(sysIotModelField.getAttributeCode());
|
||||||
|
}
|
||||||
if (sysIotModelField.getAttributeType() == 199) {
|
if (sysIotModelField.getAttributeType() == 199) {
|
||||||
Map<String, String> map = dataService.calculateIotFieldMap.get(modelCode);
|
Map<String, String> map = dataService.calculateIotFieldMap.get(modelCode);
|
||||||
map.remove(sysIotModelField.getAttributeCode());
|
map.remove(sysIotModelField.getAttributeCode());
|
||||||
|
@ -369,12 +369,20 @@ public class NodeMessageServiceImpl extends TextWebSocketHandler implements Node
|
|||||||
deviceEventInfo.setEventType(item.getEventType());
|
deviceEventInfo.setEventType(item.getEventType());
|
||||||
deviceEventInfo.setConfirmed(0);
|
deviceEventInfo.setConfirmed(0);
|
||||||
if (!StringUtils.isEmpty(eventType) && eventType.equals("遥信变位")) {
|
if (!StringUtils.isEmpty(eventType) && eventType.equals("遥信变位")) {
|
||||||
|
String stateDesc = dataService.stateDescMap.get(model).get(item.getAttrCode());
|
||||||
if (item.getAttrValue().equals(0)) {
|
if (item.getAttrValue().equals(0)) {
|
||||||
deviceEventInfo.setEventText(item.getAttrCode()+fieldName + " 复归");
|
deviceEventInfo.setEventText(item.getAttrCode()+fieldName + " 复归");
|
||||||
|
if (StringUtils.isNotEmpty(stateDesc)){
|
||||||
|
List<String> descList = Arrays.stream(stateDesc.split("\\|")).toList();
|
||||||
|
deviceEventInfo.setEventText(item.getAttrCode()+fieldName + descList.get(0));
|
||||||
|
}
|
||||||
deviceEventInfo.setEventLevel(0);
|
deviceEventInfo.setEventLevel(0);
|
||||||
} else {
|
} else {
|
||||||
deviceEventInfo.setEventText(item.getAttrCode()+fieldName + " 动作");
|
deviceEventInfo.setEventText(item.getAttrCode()+fieldName + " 动作");
|
||||||
|
if (StringUtils.isNotEmpty(stateDesc)){
|
||||||
|
List<String> descList = Arrays.stream(stateDesc.split("\\|")).toList();
|
||||||
|
deviceEventInfo.setEventText(item.getAttrCode()+fieldName + descList.get(1));
|
||||||
|
}
|
||||||
Integer level = dataService.eventLevelMap.get(model).get(item.getAttrCode());
|
Integer level = dataService.eventLevelMap.get(model).get(item.getAttrCode());
|
||||||
log.info("level:{}",level);
|
log.info("level:{}",level);
|
||||||
log.info("fieldname{}",fieldName);
|
log.info("fieldname{}",fieldName);
|
||||||
|
Loading…
Reference in New Issue
Block a user