Browse Source

完善opc展示页面

hfxc226 2 years ago
parent
commit
703f00ac44

+ 2 - 2
platform-opc/src/main/java/com/platform/opc/servie/OpcInit.java

@@ -63,7 +63,7 @@ public class OpcInit {
             List<String> uniqueStr = list.stream().distinct().collect(Collectors.toList());
             if (!CollectionUtils.isEmpty(uniqueStr)) {
                 addGroupAndItems(findAllItems(false, uniqueStr));
-                log.info("开始添加新点位:");
+                log.info("添加新点位:");
             }
         }
         RedisUtils.del(RedisKeyConstants.redis_opc_wait_add_list);
@@ -75,7 +75,7 @@ public class OpcInit {
                 List<RemoteOpc> uniqueStr = remoteOpcList.stream().distinct().collect(Collectors.toList());
                 if (!CollectionUtils.isEmpty(uniqueStr)) {
                     OpcDAClient.removeItems(remoteOpcList.stream().collect(Collectors.groupingBy(RemoteOpc::getLine)));
-                    log.info("开始除删除点位:");
+                    log.info("移除点位:");
                 }
             }
         }

+ 20 - 6
platform-opc/src/main/java/com/platform/opc/util/OpcDAClient.java

@@ -140,19 +140,22 @@ public class OpcDAClient {
                 Group group = null;
                 if (!CollectionUtils.isEmpty(groupList)) {
                     for (Group checkGroup : groupList) {
-                        if (checkGroup.getName().equals(entry.getKey() + "")) {
+                        if (checkGroup.getName().equals(entry.getKey())) {
+                            log.info("已存在分组line id: " + entry.getKey());
                             group = checkGroup;
                             break;
                         }
                     }
                     if (group == null) {
-                        log.info("追加分组line id: " + entry.getKey() + "");
-                        group = server.addGroup(entry.getKey() + "");
-                        groupList.add(group);
+                        log.info("追加分组line id: " + entry.getKey());
+                        if(server.findGroup(entry.getKey()) == null){
+                            group = server.addGroup(entry.getKey());
+                            groupList.add(group);
+                        }
                     }
                 } else {
-                    log.info("新增分组line id: " + entry.getKey() + "");
-                    group = server.addGroup(entry.getKey() + "");
+                    log.info("groupList为空,新增分组line id: " + entry.getKey());
+                    group = server.addGroup(entry.getKey());
                     groupList.add(group);
                 }
 
@@ -182,17 +185,28 @@ public class OpcDAClient {
             Map<String, Integer> errorsItemMap = e.getErrors();
             // e.printStackTrace();
             log.error("添加点位出错,有不存在的点位,等待下次启动添加");
+            for (Group checkGroup : groupList) {
+                try {
+                    server.removeGroup(checkGroup, true);
+                } catch (JIException ex) {
+                    ex.printStackTrace();
+                    log.error("清除分组报错,等待下次启动添加");
+                }
+            }
             groupList = new ArrayList<>();
             itemArrList = new HashMap<>();
             return e;
         } catch (DuplicateGroupException e) {
             e.printStackTrace();
+            log.error(e.getMessage());
         } catch (NotConnectedException e) {
             e.printStackTrace();
         } catch (UnknownHostException e) {
             e.printStackTrace();
         } catch (JIException e) {
             e.printStackTrace();
+        } catch (UnknownGroupException e) {
+            e.printStackTrace();
         }
         return null;
     }