春风项目四线(合箱线、总装线)
jiang
2024-01-30 d82e4465e5e3c9e9f93a8ce7ce3b8c0f73fdf991
提交 | 用户 | 时间
e4c3b0 1 package com.jcdm.main.da.opcuaconfig.init;
Y 2
3 import com.google.common.collect.Lists;
4 import com.jcdm.main.da.opcuaconfig.client.ClientHandler;
5 import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig;
6 import com.jcdm.main.da.opcuaconfig.domain.NodeEntity;
7 import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService;
8 import lombok.extern.slf4j.Slf4j;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.springframework.boot.CommandLineRunner;
11 import org.springframework.stereotype.Component;
12 import java.util.List;
13
14 @Component
15 @Slf4j
16 public class OpcusConfigInit implements CommandLineRunner {
17
18     @Autowired
19     private ClientHandler clientHandler;
20
21     @Autowired
22     private IDaOpcuaConfigService daOpcuaConfigService;
23
24     @Override
25     public void run(String... args) throws Exception {
26         try {
27             DaOpcuaConfig daOpcuaConfig=new DaOpcuaConfig();
28cd73 28             daOpcuaConfig.setSubscribe("Y"); //设置查询条件,是否订阅状态为Y的所有数据.
e4c3b0 29             List<DaOpcuaConfig> nodeslist=daOpcuaConfigService.selectDaOpcuaConfigList(daOpcuaConfig);
Y 30             clientHandler.connect();
31             if (nodeslist != null && nodeslist.size() > 0) {
32                 List<NodeEntity> NodeList = Lists.transform(nodeslist, (DaOpcuaConfig) -> {
33                     NodeEntity nodeEntity = new NodeEntity();
34                     nodeEntity.setIndex(2);
35                     nodeEntity.setIdentifier(DaOpcuaConfig.getNode());
36                     return nodeEntity;
37                 });
38                 clientHandler.subscribe(NodeList);
39             }
f0b395 40             log.info("OPCUA初始化成功,并完成"+ nodeslist.size() +"个节点订阅");
e4c3b0 41         } catch (Exception e) {
Y 42             e.printStackTrace();
43             log.info("系统提示,OPCUA订阅失败!");
44         }
45     }
46 }