|
@@ -147,18 +147,56 @@ public class OpcDaFrequencyTask extends TimerTask {
|
|
|
autoReconnectController.connect();
|
|
|
}
|
|
|
String sqlCurrentYmdh = "";
|
|
|
+ Group group = null;
|
|
|
+ org.openscada.opc.lib.da.Item[] itemArr = null;
|
|
|
+ try {
|
|
|
+ System.out.println("状态:"+server.getServerState());
|
|
|
+ while (true) {
|
|
|
+ if (Blank.isNotEmpty(server.getServerState())) {
|
|
|
+ group = server.addGroup();
|
|
|
+ Map<String, org.openscada.opc.lib.da.Item> itemResult = group.addItems(items);
|
|
|
+ Set itemSet = new HashSet(itemResult.values());
|
|
|
+ itemArr = new org.openscada.opc.lib.da.Item[itemSet.size()];
|
|
|
+ itemSet.toArray(itemArr);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ }catch (Exception e) {
|
|
|
+ Boolean flage = (Boolean) redisUtil.get(ConstantStr.ITEM_GROUP + id);
|
|
|
+ if (Blank.isEmpty(flage)) {
|
|
|
+ flage = false;
|
|
|
+ }
|
|
|
+ if (!flage) {
|
|
|
+ //执行组装数据库的数据,以及生成驱动报表
|
|
|
+ sqlCurrentYmdh = String.valueOf(redisUtil.get(ConstantStr.VALUE_BELONG_TIME + id));
|
|
|
+ opcAsyncTask.packageRawDataList(itemList, dataSourceId, sqlCurrentYmdh);
|
|
|
+ redisUtil.del(ConstantStr.VALUE_BELONG_TIME + id);
|
|
|
+ if (Blank.isNotEmpty(server)) {
|
|
|
+ server.dispose();
|
|
|
+ }
|
|
|
+ if (Blank.isNotEmpty(autoReconnectController)) {
|
|
|
+ autoReconnectController.removeListener(listener);
|
|
|
+ autoReconnectController.disconnect();
|
|
|
+ }
|
|
|
+ itemGroupDao.stopItemGroupById(itemGroup.getId(), ConstantStr.STOP_IT);
|
|
|
+ cronTaskRegister.removeCronTask(cronId);
|
|
|
+ timer.cancel();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ System.out.println("===========3开始读取数据======"+group);
|
|
|
int count = (int) (Math.round(itemGroup.getModeValue() * 1000));
|
|
|
while (true) {
|
|
|
try {
|
|
|
Thread.sleep(count);
|
|
|
- try {
|
|
|
- if (Blank.isNotEmpty(server.getServerState())) {
|
|
|
- Group group = server.addGroup();
|
|
|
- Map<String, org.openscada.opc.lib.da.Item> itemResult = group.addItems(items);
|
|
|
- Set itemSet = new HashSet(itemResult.values());
|
|
|
- org.openscada.opc.lib.da.Item[] itemArr = new org.openscada.opc.lib.da.Item[itemSet.size()];
|
|
|
- itemSet.toArray(itemArr);
|
|
|
+// try {
|
|
|
+ if (Blank.isNotEmpty(group)) {
|
|
|
+ System.out.println("===========3开始读取数据");
|
|
|
+// Group group = server.addGroup();
|
|
|
+// Map<String, org.openscada.opc.lib.da.Item> itemResult = group.addItems(items);
|
|
|
+// Set itemSet = new HashSet(itemResult.values());
|
|
|
+// org.openscada.opc.lib.da.Item[] itemArr = new org.openscada.opc.lib.da.Item[itemSet.size()];
|
|
|
+// itemSet.toArray(itemArr);
|
|
|
|
|
|
Boolean flage = (Boolean) redisUtil.get(ConstantStr.ITEM_GROUP + id);
|
|
|
if (Blank.isEmpty(flage)) {
|
|
@@ -203,7 +241,7 @@ public class OpcDaFrequencyTask extends TimerTask {
|
|
|
try {
|
|
|
Map<org.openscada.opc.lib.da.Item, ItemState> resultMap = group.read(true, itemArr);
|
|
|
index++;
|
|
|
-
|
|
|
+ System.out.println("读取到的数据大小:"+resultMap.size());
|
|
|
List<CursorRawData> cursorRawDataList = new ArrayList<>();
|
|
|
for (org.openscada.opc.lib.da.Item key : resultMap.keySet()) {
|
|
|
String keyId = key.getId();
|
|
@@ -286,29 +324,29 @@ public class OpcDaFrequencyTask extends TimerTask {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
- Boolean flage = (Boolean) redisUtil.get(ConstantStr.ITEM_GROUP + id);
|
|
|
- if (Blank.isEmpty(flage)) {
|
|
|
- flage = false;
|
|
|
- }
|
|
|
- if (!flage) {
|
|
|
- //执行组装数据库的数据,以及生成驱动报表
|
|
|
- sqlCurrentYmdh = String.valueOf(redisUtil.get(ConstantStr.VALUE_BELONG_TIME + id));
|
|
|
- opcAsyncTask.packageRawDataList(itemList, dataSourceId, sqlCurrentYmdh);
|
|
|
- redisUtil.del(ConstantStr.VALUE_BELONG_TIME + id);
|
|
|
- if (Blank.isNotEmpty(server)) {
|
|
|
- server.dispose();
|
|
|
- }
|
|
|
- if (Blank.isNotEmpty(autoReconnectController)) {
|
|
|
- autoReconnectController.removeListener(listener);
|
|
|
- autoReconnectController.disconnect();
|
|
|
- }
|
|
|
- itemGroupDao.stopItemGroupById(itemGroup.getId(), ConstantStr.STOP_IT);
|
|
|
- cronTaskRegister.removeCronTask(cronId);
|
|
|
- timer.cancel();
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+// } catch (Exception e) {
|
|
|
+// Boolean flage = (Boolean) redisUtil.get(ConstantStr.ITEM_GROUP + id);
|
|
|
+// if (Blank.isEmpty(flage)) {
|
|
|
+// flage = false;
|
|
|
+// }
|
|
|
+// if (!flage) {
|
|
|
+// //执行组装数据库的数据,以及生成驱动报表
|
|
|
+// sqlCurrentYmdh = String.valueOf(redisUtil.get(ConstantStr.VALUE_BELONG_TIME + id));
|
|
|
+// opcAsyncTask.packageRawDataList(itemList, dataSourceId, sqlCurrentYmdh);
|
|
|
+// redisUtil.del(ConstantStr.VALUE_BELONG_TIME + id);
|
|
|
+// if (Blank.isNotEmpty(server)) {
|
|
|
+// server.dispose();
|
|
|
+// }
|
|
|
+// if (Blank.isNotEmpty(autoReconnectController)) {
|
|
|
+// autoReconnectController.removeListener(listener);
|
|
|
+// autoReconnectController.disconnect();
|
|
|
+// }
|
|
|
+// itemGroupDao.stopItemGroupById(itemGroup.getId(), ConstantStr.STOP_IT);
|
|
|
+// cronTaskRegister.removeCronTask(cronId);
|
|
|
+// timer.cancel();
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|