|
|
|
@ -398,26 +398,26 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
.alertTime(System.currentTimeMillis())
|
|
|
|
.alertTime(System.currentTimeMillis())
|
|
|
|
.details("您的设备【" + device.getDeviceName() + "】触发事件 事件类型为:【" + map.get("eventTypeValue").toString() + "】。")
|
|
|
|
.details("您的设备【" + device.getDeviceName() + "】触发事件 事件类型为:【" + map.get("eventTypeValue").toString() + "】。")
|
|
|
|
.build());
|
|
|
|
.build());
|
|
|
|
if (ObjectUtil.isNotEmpty(deviceInfoArrayList1)) {
|
|
|
|
// if (ObjectUtil.isNotEmpty(deviceInfoArrayList1)) {
|
|
|
|
for (int j = 0; j < deviceInfoArrayList1.size(); j++) {
|
|
|
|
// for (int j = 0; j < deviceInfoArrayList1.size(); j++) {
|
|
|
|
String deviceName = deviceInfoArrayList1.get(j).getNodeStatus().equals("1")?device.getDeviceName(): deviceInfoArrayList1.get(j).getNodeDevice();
|
|
|
|
// String deviceName = deviceInfoArrayList1.get(j).getNodeStatus().equals("1")?device.getDeviceName(): deviceInfoArrayList1.get(j).getNodeDevice();
|
|
|
|
idAlertRecordData.save(AlertRecord.builder()
|
|
|
|
// idAlertRecordData.save(AlertRecord.builder()
|
|
|
|
.level(config1.get(i).getLevel())
|
|
|
|
// .level(config1.get(i).getLevel())
|
|
|
|
.name(config1.get(i).getName())
|
|
|
|
// .name(config1.get(i).getName())
|
|
|
|
.reasonForRemovalFlag(0)
|
|
|
|
// .reasonForRemovalFlag(0)
|
|
|
|
.productKey(device.getProductKey())
|
|
|
|
// .productKey(device.getProductKey())
|
|
|
|
.levelStatus(eventTypeValue1)
|
|
|
|
// .levelStatus(eventTypeValue1)
|
|
|
|
.deviceName(deviceInfoArrayList1.get(j).getDeviceName())
|
|
|
|
// .deviceName(deviceInfoArrayList1.get(j).getDeviceName())
|
|
|
|
.site(deviceInfoArrayList1.get(j).getSite())
|
|
|
|
// .site(deviceInfoArrayList1.get(j).getSite())
|
|
|
|
.tenantId(deviceInfoArrayList1.get(j).getTenantId())
|
|
|
|
// .tenantId(deviceInfoArrayList1.get(j).getTenantId())
|
|
|
|
.uid(deviceInfoArrayList1.get(j).getUid())
|
|
|
|
// .uid(deviceInfoArrayList1.get(j).getUid())
|
|
|
|
.deptAreaId(deviceInfoArrayList1.get(j).getDeptAreaId())
|
|
|
|
// .deptAreaId(deviceInfoArrayList1.get(j).getDeptAreaId())
|
|
|
|
.readFlg(false)
|
|
|
|
// .readFlg(false)
|
|
|
|
.alertTime(System.currentTimeMillis())
|
|
|
|
// .alertTime(System.currentTimeMillis())
|
|
|
|
.details("您的设备【" + deviceInfoArrayList1.get(j).getDeviceName() + "】,节点" + deviceInfoArrayList1.get(j).getNode() + "触发事件,事件类型:【联动箱输出】," + "告警设备:" + deviceName)
|
|
|
|
// .details("您的设备【" + deviceInfoArrayList1.get(j).getDeviceName() + "】,节点" + deviceInfoArrayList1.get(j).getNode() + "触发事件,事件类型:【联动箱输出】," + "告警设备:" + deviceName)
|
|
|
|
.build());
|
|
|
|
// .build());
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
ruleExecutor.execute1(thingModelMessage, config1);
|
|
|
|
ruleExecutor.execute1(thingModelMessage, config1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -447,26 +447,26 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
.alertTime(System.currentTimeMillis())
|
|
|
|
.alertTime(System.currentTimeMillis())
|
|
|
|
.details("您的设备【" + device.getDeviceName() + "】触发事件 事件类型为:【" + map.get("eventTypeValue").toString() + "】。")
|
|
|
|
.details("您的设备【" + device.getDeviceName() + "】触发事件 事件类型为:【" + map.get("eventTypeValue").toString() + "】。")
|
|
|
|
.build());
|
|
|
|
.build());
|
|
|
|
if (ObjectUtil.isNotEmpty(deviceInfoArrayList1)) {
|
|
|
|
// if (ObjectUtil.isNotEmpty(deviceInfoArrayList1)) {
|
|
|
|
for (int j = 0; j < deviceInfoArrayList1.size(); j++) {
|
|
|
|
// for (int j = 0; j < deviceInfoArrayList1.size(); j++) {
|
|
|
|
String deviceName = deviceInfoArrayList1.get(j).getNodeStatus().equals("1")?device.getDeviceName(): deviceInfoArrayList1.get(j).getNodeDevice();
|
|
|
|
// String deviceName = deviceInfoArrayList1.get(j).getNodeStatus().equals("1")?device.getDeviceName(): deviceInfoArrayList1.get(j).getNodeDevice();
|
|
|
|
idAlertRecordData.save(AlertRecord.builder()
|
|
|
|
// idAlertRecordData.save(AlertRecord.builder()
|
|
|
|
.level(config.get(i).getLevel())
|
|
|
|
// .level(config.get(i).getLevel())
|
|
|
|
.name(config.get(i).getName())
|
|
|
|
// .name(config.get(i).getName())
|
|
|
|
.site(deviceInfoArrayList1.get(j).getSite())
|
|
|
|
// .site(deviceInfoArrayList1.get(j).getSite())
|
|
|
|
.reasonForRemovalFlag(0)
|
|
|
|
// .reasonForRemovalFlag(0)
|
|
|
|
.productKey(device.getProductKey())
|
|
|
|
// .productKey(device.getProductKey())
|
|
|
|
.levelStatus(eventTypeValue1)
|
|
|
|
// .levelStatus(eventTypeValue1)
|
|
|
|
.deviceName(deviceInfoArrayList1.get(j).getDeviceName())
|
|
|
|
// .deviceName(deviceInfoArrayList1.get(j).getDeviceName())
|
|
|
|
.tenantId(deviceInfoArrayList1.get(j).getTenantId())
|
|
|
|
// .tenantId(deviceInfoArrayList1.get(j).getTenantId())
|
|
|
|
.uid(deviceInfoArrayList1.get(j).getUid())
|
|
|
|
// .uid(deviceInfoArrayList1.get(j).getUid())
|
|
|
|
.deptAreaId(deviceInfoArrayList1.get(j).getDeptAreaId())
|
|
|
|
// .deptAreaId(deviceInfoArrayList1.get(j).getDeptAreaId())
|
|
|
|
.readFlg(false)
|
|
|
|
// .readFlg(false)
|
|
|
|
.alertTime(System.currentTimeMillis())
|
|
|
|
// .alertTime(System.currentTimeMillis())
|
|
|
|
.details("您的设备【" + deviceInfoArrayList1.get(j).getDeviceName() + "】,节点" + deviceInfoArrayList1.get(j).getNode() + "触发事件,事件类型:【联动箱输出】," + "告警设备:" + deviceName)
|
|
|
|
// .details("您的设备【" + deviceInfoArrayList1.get(j).getDeviceName() + "】,节点" + deviceInfoArrayList1.get(j).getNode() + "触发事件,事件类型:【联动箱输出】," + "告警设备:" + deviceName)
|
|
|
|
.build());
|
|
|
|
// .build());
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
ruleExecutor.execute1(thingModelMessage, config);
|
|
|
|
ruleExecutor.execute1(thingModelMessage, config);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// RuleExecutor ruleExecutor = new RuleExecutor();
|
|
|
|
// RuleExecutor ruleExecutor = new RuleExecutor();
|
|
|
|
@ -493,7 +493,21 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
flag = false;
|
|
|
|
flag = false;
|
|
|
|
if (deviceInfo2.getNodeOneStatus().equals("1")) {
|
|
|
|
if (deviceInfo2.getNodeOneStatus().equals("1")) {
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeOne());
|
|
|
|
String[] deviceNames = {
|
|
|
|
|
|
|
|
deviceInfo2.getNodeOneDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeTwoDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeThreeDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFourDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFiveDevice()
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean matchFound = Arrays.stream(deviceNames)
|
|
|
|
|
|
|
|
.filter(Objects::nonNull)
|
|
|
|
|
|
|
|
.anyMatch(name -> name.equals(device.getDeviceName()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (matchFound) {
|
|
|
|
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeOne());
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeOneDevice().split(",");
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeOneDevice().split(",");
|
|
|
|
@ -515,7 +529,21 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
flag = false;
|
|
|
|
flag = false;
|
|
|
|
if (deviceInfo2.getNodeTwoStatus().equals("1")) {
|
|
|
|
if (deviceInfo2.getNodeTwoStatus().equals("1")) {
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeTwo());
|
|
|
|
String[] deviceNames = {
|
|
|
|
|
|
|
|
deviceInfo2.getNodeOneDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeTwoDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeThreeDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFourDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFiveDevice()
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean matchFound = Arrays.stream(deviceNames)
|
|
|
|
|
|
|
|
.filter(Objects::nonNull)
|
|
|
|
|
|
|
|
.anyMatch(name -> name.equals(device.getDeviceName()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (matchFound) {
|
|
|
|
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeOne());
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeTwoDevice().split(",");
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeTwoDevice().split(",");
|
|
|
|
@ -534,7 +562,21 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
flag = false;
|
|
|
|
flag = false;
|
|
|
|
if (deviceInfo2.getNodeThreeStatus().equals("1")) {
|
|
|
|
if (deviceInfo2.getNodeThreeStatus().equals("1")) {
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeThree());
|
|
|
|
String[] deviceNames = {
|
|
|
|
|
|
|
|
deviceInfo2.getNodeOneDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeTwoDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeThreeDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFourDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFiveDevice()
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean matchFound = Arrays.stream(deviceNames)
|
|
|
|
|
|
|
|
.filter(Objects::nonNull)
|
|
|
|
|
|
|
|
.anyMatch(name -> name.equals(device.getDeviceName()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (matchFound) {
|
|
|
|
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeOne());
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeThreeDevice().split(",");
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeThreeDevice().split(",");
|
|
|
|
@ -553,7 +595,21 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
flag = false;
|
|
|
|
flag = false;
|
|
|
|
if (deviceInfo2.getNodeFourStatus().equals("1")) {
|
|
|
|
if (deviceInfo2.getNodeFourStatus().equals("1")) {
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeFour());
|
|
|
|
String[] deviceNames = {
|
|
|
|
|
|
|
|
deviceInfo2.getNodeOneDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeTwoDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeThreeDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFourDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFiveDevice()
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean matchFound = Arrays.stream(deviceNames)
|
|
|
|
|
|
|
|
.filter(Objects::nonNull)
|
|
|
|
|
|
|
|
.anyMatch(name -> name.equals(device.getDeviceName()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (matchFound) {
|
|
|
|
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeOne());
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeFourDevice().split(",");
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeFourDevice().split(",");
|
|
|
|
@ -572,7 +628,21 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
flag = false;
|
|
|
|
flag = false;
|
|
|
|
if (deviceInfo2.getNodeFiveStatus().equals("1")) {
|
|
|
|
if (deviceInfo2.getNodeFiveStatus().equals("1")) {
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
//选中的任意一个设备报警就发送联动控制指令
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeFive());
|
|
|
|
String[] deviceNames = {
|
|
|
|
|
|
|
|
deviceInfo2.getNodeOneDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeTwoDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeThreeDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFourDevice(),
|
|
|
|
|
|
|
|
deviceInfo2.getNodeFiveDevice()
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean matchFound = Arrays.stream(deviceNames)
|
|
|
|
|
|
|
|
.filter(Objects::nonNull)
|
|
|
|
|
|
|
|
.anyMatch(name -> name.equals(device.getDeviceName()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (matchFound) {
|
|
|
|
|
|
|
|
flag = deviceLinkageControlSend(deviceInfo2, deviceInfo2.getNodeOne());
|
|
|
|
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
//满足所有的设备告警才触发联动控制
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeFiveDevice().split(",");
|
|
|
|
String[] nodeOneDevice = deviceInfo2.getNodeFiveDevice().split(",");
|
|
|
|
@ -669,12 +739,27 @@ public class ThingServiceImpl implements IThingService {
|
|
|
|
"controlOutput", node + "0001"
|
|
|
|
"controlOutput", node + "0001"
|
|
|
|
))
|
|
|
|
))
|
|
|
|
.build();
|
|
|
|
.build();
|
|
|
|
|
|
|
|
idAlertRecordData.save(AlertRecord.builder()
|
|
|
|
|
|
|
|
.level("1")
|
|
|
|
|
|
|
|
.name("联动控制箱下发")
|
|
|
|
|
|
|
|
.reasonForRemovalFlag(0)
|
|
|
|
|
|
|
|
.productKey(device.getProductKey())
|
|
|
|
|
|
|
|
.levelStatus("联动控制箱下发")
|
|
|
|
|
|
|
|
.deviceName(device.getDeviceName())
|
|
|
|
|
|
|
|
.site(device.getSite())
|
|
|
|
|
|
|
|
.tenantId(device.getTenantId())
|
|
|
|
|
|
|
|
.uid(device.getUid())
|
|
|
|
|
|
|
|
.deptAreaId(device.getDeptAreaId())
|
|
|
|
|
|
|
|
.readFlg(false)
|
|
|
|
|
|
|
|
.alertTime(System.currentTimeMillis())
|
|
|
|
|
|
|
|
.details("您的设备【" + device.getDeviceName() + "】,节点" + node + "触发事件,事件类型:【联动箱输出】。")
|
|
|
|
|
|
|
|
.build());
|
|
|
|
//联动控制箱下发指令
|
|
|
|
//联动控制箱下发指令
|
|
|
|
deviceService.invoke(thingService);
|
|
|
|
deviceService.invoke(thingService);
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//浓度变化
|
|
|
|
//浓度变化,事件类型:
|
|
|
|
public void extractDetectorData(DeviceInfo device, Map<String, Object> baseInfo) {
|
|
|
|
public void extractDetectorData(DeviceInfo device, Map<String, Object> baseInfo) {
|
|
|
|
for (Map.Entry<String, Object> entry : baseInfo.entrySet()) {
|
|
|
|
for (Map.Entry<String, Object> entry : baseInfo.entrySet()) {
|
|
|
|
if (entry.getKey().startsWith("dataDetectorValue")) {
|
|
|
|
if (entry.getKey().startsWith("dataDetectorValue")) {
|
|
|
|
|