From f4a3430eb6b6800d4ef7330293dd8fb834eee196 Mon Sep 17 00:00:00 2001 From: yantian yue <306727702@qq.com> Date: 星期三, 18 十月 2023 14:32:04 +0800 Subject: [PATCH] OPCUA更新 --- guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/controller/OpcuaConfController.java | 8 ++++++++ guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/service/impl/OpcuaConfServiceImpl.java | 3 ++- guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientHandler.java | 29 ++++++++++++++++++++++------- guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/mapper/OpcuaConfMapper.java | 1 + 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientHandler.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientHandler.java index 008716b..683c3ce 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientHandler.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/client/ClientHandler.java @@ -1,8 +1,19 @@ package cn.stylefeng.guns.opcua.client; +import cn.stylefeng.guns.base.pojo.page.LayuiPageFactory; +import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; +import cn.stylefeng.guns.opcua.controller.OpcuaConfController; +import cn.stylefeng.guns.opcua.entity.OpcuaConf; +import cn.stylefeng.guns.opcua.mapper.OpcuaConfMapper; +import cn.stylefeng.guns.opcua.model.params.OpcuaConfParam; +import cn.stylefeng.guns.opcua.model.result.OpcuaConfResult; +import cn.stylefeng.guns.opcua.service.OpcuaConfService; +import cn.stylefeng.roses.kernel.model.response.ResponseData; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.google.common.collect.ImmutableList; import cn.stylefeng.guns.opcua.entity.NodeEntity; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; import org.eclipse.milo.opcua.sdk.client.OpcUaClient; import org.eclipse.milo.opcua.sdk.client.api.nodes.VariableNode; import org.eclipse.milo.opcua.sdk.client.api.subscriptions.UaSubscription; @@ -42,6 +53,10 @@ @Autowired private ClientRunner clientRunner; + + @Autowired + private OpcuaConfController opcuaConfController; + List<OpcuaConfResult> a = null; /** * @@ -147,21 +162,21 @@ */ public void handle(NodeId id, Variant value){ - String className = "cn.stylefeng.guns.opcua.cert.MethodName"; - String methodName = "a"; + OpcuaConfParam opcuaConfParam=new OpcuaConfParam(); + opcuaConfParam.setNode(id.getIdentifier().toString()); + if(a == null || a.size() == 0) { + a=opcuaConfController.mylist(opcuaConfParam); + } String str1 = id.getIdentifier().toString()+":"+value.getValue().toString(); try { - Class<?> clazz = Class.forName(className); - Method method = clazz.getMethod(methodName, String.class); + Class<?> clazz = Class.forName(a.get(0).getRModule()); + Method method = clazz.getMethod(a.get(0).getRFunction(), String.class); method.invoke(clazz.newInstance(), str1); } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) { e.printStackTrace(); } - //if(id.getIdentifier().toString().equals("my.device.x1")){ - // log.info("item={}, value={},{}", id.getIdentifier().toString(), value,"杩斿洖涓�涓猄N鍙�"); - //} } /** diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/controller/OpcuaConfController.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/controller/OpcuaConfController.java index a9d154d..488d967 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/controller/OpcuaConfController.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/controller/OpcuaConfController.java @@ -3,6 +3,7 @@ import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; import cn.stylefeng.guns.opcua.entity.OpcuaConf; import cn.stylefeng.guns.opcua.model.params.OpcuaConfParam; +import cn.stylefeng.guns.opcua.model.result.OpcuaConfResult; import cn.stylefeng.guns.opcua.service.OpcuaConfService; import cn.stylefeng.roses.core.base.controller.BaseController; import cn.stylefeng.roses.kernel.model.response.ResponseData; @@ -12,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; +import java.util.List; /** @@ -131,6 +133,12 @@ public LayuiPageInfo list(OpcuaConfParam opcuaConfParam) { return this.opcuaConfService.findPageBySpec(opcuaConfParam); } + @ResponseBody + @RequestMapping("/mylist") + @DataSource(name = "self") + public List<OpcuaConfResult> mylist(OpcuaConfParam opcuaConfParam) { + return this.opcuaConfService.findListBySpec(opcuaConfParam); + } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/mapper/OpcuaConfMapper.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/mapper/OpcuaConfMapper.java index d5ce050..d9b511f 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/mapper/OpcuaConfMapper.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/mapper/OpcuaConfMapper.java @@ -3,6 +3,7 @@ import cn.stylefeng.guns.opcua.entity.OpcuaConf; import cn.stylefeng.guns.opcua.model.params.OpcuaConfParam; import cn.stylefeng.guns.opcua.model.result.OpcuaConfResult; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/service/impl/OpcuaConfServiceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/service/impl/OpcuaConfServiceImpl.java index d5ee5b2..abcc3fd 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/service/impl/OpcuaConfServiceImpl.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/opcua/service/impl/OpcuaConfServiceImpl.java @@ -53,7 +53,8 @@ @Override public List<OpcuaConfResult> findListBySpec(OpcuaConfParam param){ - return null; + + return this.baseMapper.customList(param); } @Override -- Gitblit v1.9.3