From a69d63feef10e3d13e91e3647274a889a311db5a Mon Sep 17 00:00:00 2001
From: yyt <306727702@qq.com>
Date: 星期一, 19 二月 2024 08:10:23 +0800
Subject: [PATCH] 更新OPCUA

---
 jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java
index 4a207b8..fc78ab0 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/client/ClientHandler.java
@@ -157,7 +157,7 @@
 	public void handle(NodeId id, Variant value){
 		if (b == null || 0 > b.size()) {
 			DaOpcuaConfig opcuaConfParam=new DaOpcuaConfig();
-		    opcuaConfParam.setSubscribe(1L);
+		    opcuaConfParam.setSubscribe("Y");
 		    b=daOpcuaConfigService.selectDaOpcuaConfigList(opcuaConfParam);
 		}
 		//浣跨敤Stream API鍦↙ist<T>涓煡鎵惧厓绱�
@@ -168,8 +168,13 @@
 		try {
 			Class<?> clazz = Class.forName("com.jcdm.main.da.opcuaconfig.cert.MethodName");
 			Method method = clazz.getMethod(daOpcuaConfig.getrFunction(), new Class[] { String.class, String.class });
+			if (value.isNull()){
+				method.invoke(clazz.newInstance(),new Object[] {
+						new String(id.getIdentifier().toString()), new String("") });
+			}else{
 			method.invoke(clazz.newInstance(),new Object[] {
 					new String(id.getIdentifier().toString()), new String(value.getValue().toString()) });
+			}
 		} catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | InstantiationException |
 				 InvocationTargetException e) {
 			e.printStackTrace();
@@ -257,11 +262,14 @@
 		log.info("Value={}", value);
 
 		Variant variant = value.getValue();
-		log.info("Variant={}", variant.getValue());
 
-		log.info("BackingClass={}", BuiltinDataType.getBackingClass(variant.getDataType().get()));
+		if(null == variant.getValue())
+		{
+			return null;
+		}else{
+			return variant.getValue().toString();
+		}
 
-		return variant.getValue().toString();
 	}
 
 

--
Gitblit v1.9.3