From 4f58ba24b9a7e24dc38aa8eb9ca0b92c83e161ac Mon Sep 17 00:00:00 2001 From: yantian yue <306727702@qq.com> Date: 星期五, 20 十月 2023 15:48:14 +0800 Subject: [PATCH] OPCUA更新 --- guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/init/OpcusConfigInit.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/init/OpcusConfigInit.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/init/OpcusConfigInit.java new file mode 100644 index 0000000..d676e28 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/init/OpcusConfigInit.java @@ -0,0 +1,48 @@ +package cn.stylefeng.guns.opcua.init; + +import cn.stylefeng.guns.opcua.client.ClientHandler; +import cn.stylefeng.guns.opcua.controller.OpcuaConfController; +import cn.stylefeng.guns.opcua.entity.NodeEntity; +import cn.stylefeng.guns.opcua.model.params.OpcuaConfParam; +import cn.stylefeng.guns.opcua.model.result.OpcuaConfResult; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +@Component +@Slf4j +public class OpcusConfigInit implements CommandLineRunner { + + @Autowired + private ClientHandler clientHandler; + + @Autowired + private OpcuaConfController opcuaConfController; + + @Override + public void run(String... args) throws Exception { + try { + OpcuaConfParam opcuaConfParam=new OpcuaConfParam(); + opcuaConfParam.setSubscribe(1); //璁剧疆鏌ヨ鏉′欢锛屾槸鍚﹁闃呯姸鎬佷负1鐨勬墍鏈夋暟鎹�. + List<OpcuaConfResult> nodeslist=opcuaConfController.mylist(opcuaConfParam); + clientHandler.connect(); + if (nodeslist != null && nodeslist.size() > 0) { + for (OpcuaConfResult opcuaConfResult : nodeslist) { + List<NodeEntity> nodes = Stream.of(opcuaConfResult.getNode()) + .map(id -> NodeEntity.builder().index(2).identifier(id).build()).collect(Collectors.toList()); + clientHandler.subscribe(nodes); + } + log.info("鍒濆鍖朞PC璁㈤槄" + nodeslist.size() + "鏉★紒"); + } + } catch (Exception e) { + e.printStackTrace(); + log.info("楠氳揣锛屾垜鍚姩澶辫触浜嗭紒"); + } + log.info("楠氳揣锛屾垜鍚姩鎴愬姛浜嗭紒"); + } +} -- Gitblit v1.9.3