|
@@ -95,6 +95,8 @@ public class OpcUaExceedTask extends TimerTask {
|
|
|
Integer isDriverItem = item.getIsDriverItem();
|
|
|
NodeId n = new NodeId(item.getNodeIndex(), itemId);
|
|
|
DataModel dm = map.get(itemId);
|
|
|
+ Object redisValue = redisUtil.get(ConstantStr.VALUE + id + itemId);
|
|
|
+ BigDecimal oldValue = JSON.parseObject(redisValue.toString(), BigDecimal.class);
|
|
|
try {
|
|
|
DataValue dataValue = opcUaClient.readValue(0.0, TimestampsToReturn.Both, n).get();
|
|
|
if (isDriverItem.equals(ConstantStr.IS_DRIVER_ITEM)) {
|
|
@@ -155,6 +157,40 @@ public class OpcUaExceedTask extends TimerTask {
|
|
|
currentYmdhmss, index, currentYmdh, ConstantStr.NOT_RECORD, new Date());
|
|
|
opcAsyncTask.addCursorRawData(cursorRawData);
|
|
|
}
|
|
|
+ } else if (eventMode == ConstantStr.EVENT_TRENDS_EXCEED) {
|
|
|
+ if (oldValue.compareTo(bigDecimal1) != 1) {
|
|
|
+ if (dmData.compareTo(bigDecimal1) == 1) {
|
|
|
+ CursorRawData cursorRawData = new CursorRawData(id, dataSourceId, itemId, javaType, JSON.toJSONString(bigDecimal), JSON.toJSONString(dmData),
|
|
|
+ currentYmdhmss, index, currentYmdh, ConstantStr.IS_RECORD, new Date());
|
|
|
+ opcAsyncTask.addCursorRawData(cursorRawData);
|
|
|
+ } else {
|
|
|
+ CursorRawData cursorRawData = new CursorRawData(id, dataSourceId, itemId, javaType, JSON.toJSONString(bigDecimal), JSON.toJSONString(dmData),
|
|
|
+ currentYmdhmss, index, currentYmdh, ConstantStr.NOT_RECORD, new Date());
|
|
|
+ opcAsyncTask.addCursorRawData(cursorRawData);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ CursorRawData cursorRawData = new CursorRawData(id, dataSourceId, itemId, javaType, JSON.toJSONString(bigDecimal), JSON.toJSONString(dmData),
|
|
|
+ currentYmdhmss, index, currentYmdh, ConstantStr.NOT_RECORD, new Date());
|
|
|
+ opcAsyncTask.addCursorRawData(cursorRawData);
|
|
|
+ }
|
|
|
+ redisUtil.set(ConstantStr.VALUE + id + itemId, dmData, ConstantStr.TWO_HOUR);
|
|
|
+ } else if (eventMode == ConstantStr.EVENT_TRENDS_LOWER) {
|
|
|
+ if (oldValue.compareTo(bigDecimal1) != -1) {
|
|
|
+ if (dmData.compareTo(bigDecimal1) == -1) {
|
|
|
+ CursorRawData cursorRawData = new CursorRawData(id, dataSourceId, itemId, javaType, JSON.toJSONString(bigDecimal), JSON.toJSONString(dmData),
|
|
|
+ currentYmdhmss, index, currentYmdh, ConstantStr.IS_RECORD, new Date());
|
|
|
+ opcAsyncTask.addCursorRawData(cursorRawData);
|
|
|
+ } else {
|
|
|
+ CursorRawData cursorRawData = new CursorRawData(id, dataSourceId, itemId, javaType, JSON.toJSONString(bigDecimal), JSON.toJSONString(dmData),
|
|
|
+ currentYmdhmss, index, currentYmdh, ConstantStr.NOT_RECORD, new Date());
|
|
|
+ opcAsyncTask.addCursorRawData(cursorRawData);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ CursorRawData cursorRawData = new CursorRawData(id, dataSourceId, itemId, javaType, JSON.toJSONString(bigDecimal), JSON.toJSONString(dmData),
|
|
|
+ currentYmdhmss, index, currentYmdh, ConstantStr.NOT_RECORD, new Date());
|
|
|
+ opcAsyncTask.addCursorRawData(cursorRawData);
|
|
|
+ }
|
|
|
+ redisUtil.set(ConstantStr.VALUE + id + itemId, dmData, ConstantStr.TWO_HOUR);
|
|
|
}
|
|
|
} else {
|
|
|
CursorRawData cursorRawData = new CursorRawData(id, dataSourceId, itemId, javaType, JSON.toJSONString(bigDecimal), JSON.toJSONString(dmData),
|