From 0c38037ff515a568a005f555436ad74cbaaed2db Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期二, 05 十一月 2024 08:24:34 +0800
Subject: [PATCH] 合并opc ua部分
---
jeecg-module-dry/jeecg-module-dry-api/pom.xml | 10
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOpcDeviceController.java | 410 +++++++++++++++++-----------------
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/runner/OpcCustomRunner.java | 116 ++++----
jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java | 132 +++++-----
4 files changed, 334 insertions(+), 334 deletions(-)
diff --git a/jeecg-module-dry/jeecg-module-dry-api/pom.xml b/jeecg-module-dry/jeecg-module-dry-api/pom.xml
index fd4d4a0..8bce88b 100644
--- a/jeecg-module-dry/jeecg-module-dry-api/pom.xml
+++ b/jeecg-module-dry/jeecg-module-dry-api/pom.xml
@@ -42,11 +42,11 @@
<!-- <artifactId>bcprov-jdk15on</artifactId>-->
<!-- <version>1.70</version>-->
<!-- </dependency>-->
-<!-- <dependency>-->
-<!-- <groupId>com.kangaroohy</groupId>-->
-<!-- <artifactId>milo-spring-boot-starter</artifactId>-->
-<!-- <version>3.0.4</version>-->
-<!-- </dependency>-->
+ <dependency>
+ <groupId>com.kangaroohy</groupId>
+ <artifactId>milo-spring-boot-starter</artifactId>
+ <version>3.0.4</version>
+ </dependency>
<dependency>
<groupId>ai.djl.pytorch</groupId>
<artifactId>pytorch-engine</artifactId>
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOpcDeviceController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOpcDeviceController.java
index 58dbb08..767677f 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOpcDeviceController.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryOpcDeviceController.java
@@ -1,205 +1,205 @@
-//package org.jeecg.modules.dry.controller;
-//
-//import java.util.Arrays;
-//import java.util.List;
-//import java.util.Map;
-//import java.util.stream.Collectors;
-//import java.io.IOException;
-//import java.io.UnsupportedEncodingException;
-//import java.net.URLDecoder;
-//import javax.servlet.http.HttpServletRequest;
-//import javax.servlet.http.HttpServletResponse;
-//
-//import com.kangaroohy.milo.model.ReadWriteEntity;
-//import com.kangaroohy.milo.service.MiloService;
-//import org.jeecg.common.api.vo.Result;
-//import org.jeecg.common.system.query.QueryGenerator;
-//import org.jeecg.common.util.oConvertUtils;
-//import org.jeecg.modules.dry.entity.DryOpcDevice;
-//import org.jeecg.modules.dry.service.IDryOpcDeviceService;
-//
-//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-//import com.baomidou.mybatisplus.core.metadata.IPage;
-//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-//import lombok.extern.slf4j.Slf4j;
-//
-//import org.jeecgframework.poi.excel.ExcelImportUtil;
-//import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-//import org.jeecgframework.poi.excel.entity.ExportParams;
-//import org.jeecgframework.poi.excel.entity.ImportParams;
-//import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-//import org.jeecg.common.system.base.controller.JeecgController;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.*;
-//import org.springframework.web.multipart.MultipartFile;
-//import org.springframework.web.multipart.MultipartHttpServletRequest;
-//import org.springframework.web.servlet.ModelAndView;
-//import com.alibaba.fastjson.JSON;
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import org.jeecg.common.aspect.annotation.AutoLog;
-//import org.apache.shiro.authz.annotation.RequiresPermissions;
-//
-// /**
-// * @Description: dry_opc_device
-// * @Author: jeecg-boot
-// * @Date: 2023-11-28
-// * @Version: V1.0
-// */
-//@Api(tags="dry_opc_device")
-//@RestController
-//@RequestMapping("/dry/dryOpcDevice")
-//@Slf4j
-//public class DryOpcDeviceController extends JeecgController<DryOpcDevice, IDryOpcDeviceService> {
-// @Autowired
-// private IDryOpcDeviceService dryOpcDeviceService;
-//
-//
-// @Autowired
-// private MiloService miloService;
-//
-//
-// /**
-// * 鍒嗛〉鍒楄〃鏌ヨ
-// *
-// * @param dryOpcDevice
-// * @param pageNo
-// * @param pageSize
-// * @param req
-// * @return
-// */
-// //@AutoLog(value = "dry_opc_device-鍒嗛〉鍒楄〃鏌ヨ")
-// @ApiOperation(value="dry_opc_device-鍒嗛〉鍒楄〃鏌ヨ", notes="dry_opc_device-鍒嗛〉鍒楄〃鏌ヨ")
-// @GetMapping(value = "/list")
-// public Result<IPage<DryOpcDevice>> queryPageList(DryOpcDevice dryOpcDevice,
-// @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-// @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-// HttpServletRequest req) {
-// QueryWrapper<DryOpcDevice> queryWrapper = QueryGenerator.initQueryWrapper(dryOpcDevice, req.getParameterMap());
-// Page<DryOpcDevice> page = new Page<DryOpcDevice>(pageNo, pageSize);
-// IPage<DryOpcDevice> pageList = dryOpcDeviceService.page(page, queryWrapper);
-// return Result.OK(pageList);
-// }
-//
-// @GetMapping(value = "/listAll")
-// public Result<List<DryOpcDevice>> queryList(DryOpcDevice dryOpcDevice,
-//
-// HttpServletRequest req) {
-// QueryWrapper<DryOpcDevice> queryWrapper = QueryGenerator.initQueryWrapper(dryOpcDevice, req.getParameterMap());
-// queryWrapper.orderByAsc("sort_order");
-// List<DryOpcDevice> list = dryOpcDeviceService.list(queryWrapper);
-// list.forEach(item -> {
-// try {
-// ReadWriteEntity readWriteEntity = miloService.readFromOpcUa(item.getIdentifier());
-// item.setValue((Boolean) readWriteEntity.getValue());
-// } catch (Exception e) {
-// throw new RuntimeException(e);
-// }
-// });
-// return Result.OK(list);
-// }
-//
-//
-// /**
-// * 娣诲姞
-// *
-// * @param dryOpcDevice
-// * @return
-// */
-// @AutoLog(value = "dry_opc_device-娣诲姞")
-// @ApiOperation(value="dry_opc_device-娣诲姞", notes="dry_opc_device-娣诲姞")
-// @RequiresPermissions("dry:dry_opc_device:add")
-// @PostMapping(value = "/add")
-// public Result<String> add(@RequestBody DryOpcDevice dryOpcDevice) {
-// dryOpcDeviceService.save(dryOpcDevice);
-// return Result.OK("娣诲姞鎴愬姛锛�");
-// }
-//
-// /**
-// * 缂栬緫
-// *
-// * @param dryOpcDevice
-// * @return
-// */
-// @AutoLog(value = "dry_opc_device-缂栬緫")
-// @ApiOperation(value="dry_opc_device-缂栬緫", notes="dry_opc_device-缂栬緫")
-// @RequiresPermissions("dry:dry_opc_device:edit")
-// @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
-// public Result<String> edit(@RequestBody DryOpcDevice dryOpcDevice) {
-// dryOpcDeviceService.updateById(dryOpcDevice);
-// return Result.OK("缂栬緫鎴愬姛!");
-// }
-//
-// /**
-// * 閫氳繃id鍒犻櫎
-// *
-// * @param id
-// * @return
-// */
-// @AutoLog(value = "dry_opc_device-閫氳繃id鍒犻櫎")
-// @ApiOperation(value="dry_opc_device-閫氳繃id鍒犻櫎", notes="dry_opc_device-閫氳繃id鍒犻櫎")
-// @RequiresPermissions("dry:dry_opc_device:delete")
-// @DeleteMapping(value = "/delete")
-// public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-// dryOpcDeviceService.removeById(id);
-// return Result.OK("鍒犻櫎鎴愬姛!");
-// }
-//
-// /**
-// * 鎵归噺鍒犻櫎
-// *
-// * @param ids
-// * @return
-// */
-// @AutoLog(value = "dry_opc_device-鎵归噺鍒犻櫎")
-// @ApiOperation(value="dry_opc_device-鎵归噺鍒犻櫎", notes="dry_opc_device-鎵归噺鍒犻櫎")
-// @RequiresPermissions("dry:dry_opc_device:deleteBatch")
-// @DeleteMapping(value = "/deleteBatch")
-// public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-// this.dryOpcDeviceService.removeByIds(Arrays.asList(ids.split(",")));
-// return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
-// }
-//
-// /**
-// * 閫氳繃id鏌ヨ
-// *
-// * @param id
-// * @return
-// */
-// //@AutoLog(value = "dry_opc_device-閫氳繃id鏌ヨ")
-// @ApiOperation(value="dry_opc_device-閫氳繃id鏌ヨ", notes="dry_opc_device-閫氳繃id鏌ヨ")
-// @GetMapping(value = "/queryById")
-// public Result<DryOpcDevice> queryById(@RequestParam(name="id",required=true) String id) {
-// DryOpcDevice dryOpcDevice = dryOpcDeviceService.getById(id);
-// if(dryOpcDevice==null) {
-// return Result.error("鏈壘鍒板搴旀暟鎹�");
-// }
-// return Result.OK(dryOpcDevice);
-// }
-//
-// /**
-// * 瀵煎嚭excel
-// *
-// * @param request
-// * @param dryOpcDevice
-// */
-// @RequiresPermissions("dry:dry_opc_device:exportXls")
-// @RequestMapping(value = "/exportXls")
-// public ModelAndView exportXls(HttpServletRequest request, DryOpcDevice dryOpcDevice) {
-// return super.exportXls(request, dryOpcDevice, DryOpcDevice.class, "dry_opc_device");
-// }
-//
-// /**
-// * 閫氳繃excel瀵煎叆鏁版嵁
-// *
-// * @param request
-// * @param response
-// * @return
-// */
-// @RequiresPermissions("dry:dry_opc_device:importExcel")
-// @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-// public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-// return super.importExcel(request, response, DryOpcDevice.class);
-// }
-//
-//}
+package org.jeecg.modules.dry.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.dry.entity.DryOpcDevice;
+import org.jeecg.modules.dry.service.IDryOpcDeviceService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+ /**
+ * @Description: dry_opc_device
+ * @Author: jeecg-boot
+ * @Date: 2023-11-28
+ * @Version: V1.0
+ */
+@Api(tags="dry_opc_device")
+@RestController
+@RequestMapping("/dry/dryOpcDevice")
+@Slf4j
+public class DryOpcDeviceController extends JeecgController<DryOpcDevice, IDryOpcDeviceService> {
+ @Autowired
+ private IDryOpcDeviceService dryOpcDeviceService;
+
+
+ @Autowired
+ private MiloService miloService;
+
+
+ /**
+ * 鍒嗛〉鍒楄〃鏌ヨ
+ *
+ * @param dryOpcDevice
+ * @param pageNo
+ * @param pageSize
+ * @param req
+ * @return
+ */
+ //@AutoLog(value = "dry_opc_device-鍒嗛〉鍒楄〃鏌ヨ")
+ @ApiOperation(value="dry_opc_device-鍒嗛〉鍒楄〃鏌ヨ", notes="dry_opc_device-鍒嗛〉鍒楄〃鏌ヨ")
+ @GetMapping(value = "/list")
+ public Result<IPage<DryOpcDevice>> queryPageList(DryOpcDevice dryOpcDevice,
+ @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+ @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+ HttpServletRequest req) {
+ QueryWrapper<DryOpcDevice> queryWrapper = QueryGenerator.initQueryWrapper(dryOpcDevice, req.getParameterMap());
+ Page<DryOpcDevice> page = new Page<DryOpcDevice>(pageNo, pageSize);
+ IPage<DryOpcDevice> pageList = dryOpcDeviceService.page(page, queryWrapper);
+ return Result.OK(pageList);
+ }
+
+ @GetMapping(value = "/listAll")
+ public Result<List<DryOpcDevice>> queryList(DryOpcDevice dryOpcDevice,
+
+ HttpServletRequest req) {
+ QueryWrapper<DryOpcDevice> queryWrapper = QueryGenerator.initQueryWrapper(dryOpcDevice, req.getParameterMap());
+ queryWrapper.orderByAsc("sort_order");
+ List<DryOpcDevice> list = dryOpcDeviceService.list(queryWrapper);
+ list.forEach(item -> {
+ try {
+ ReadWriteEntity readWriteEntity = miloService.readFromOpcUa(item.getIdentifier());
+ item.setValue((Boolean) readWriteEntity.getValue());
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ });
+ return Result.OK(list);
+ }
+
+
+ /**
+ * 娣诲姞
+ *
+ * @param dryOpcDevice
+ * @return
+ */
+ @AutoLog(value = "dry_opc_device-娣诲姞")
+ @ApiOperation(value="dry_opc_device-娣诲姞", notes="dry_opc_device-娣诲姞")
+ @RequiresPermissions("dry:dry_opc_device:add")
+ @PostMapping(value = "/add")
+ public Result<String> add(@RequestBody DryOpcDevice dryOpcDevice) {
+ dryOpcDeviceService.save(dryOpcDevice);
+ return Result.OK("娣诲姞鎴愬姛锛�");
+ }
+
+ /**
+ * 缂栬緫
+ *
+ * @param dryOpcDevice
+ * @return
+ */
+ @AutoLog(value = "dry_opc_device-缂栬緫")
+ @ApiOperation(value="dry_opc_device-缂栬緫", notes="dry_opc_device-缂栬緫")
+ @RequiresPermissions("dry:dry_opc_device:edit")
+ @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+ public Result<String> edit(@RequestBody DryOpcDevice dryOpcDevice) {
+ dryOpcDeviceService.updateById(dryOpcDevice);
+ return Result.OK("缂栬緫鎴愬姛!");
+ }
+
+ /**
+ * 閫氳繃id鍒犻櫎
+ *
+ * @param id
+ * @return
+ */
+ @AutoLog(value = "dry_opc_device-閫氳繃id鍒犻櫎")
+ @ApiOperation(value="dry_opc_device-閫氳繃id鍒犻櫎", notes="dry_opc_device-閫氳繃id鍒犻櫎")
+ @RequiresPermissions("dry:dry_opc_device:delete")
+ @DeleteMapping(value = "/delete")
+ public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+ dryOpcDeviceService.removeById(id);
+ return Result.OK("鍒犻櫎鎴愬姛!");
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎
+ *
+ * @param ids
+ * @return
+ */
+ @AutoLog(value = "dry_opc_device-鎵归噺鍒犻櫎")
+ @ApiOperation(value="dry_opc_device-鎵归噺鍒犻櫎", notes="dry_opc_device-鎵归噺鍒犻櫎")
+ @RequiresPermissions("dry:dry_opc_device:deleteBatch")
+ @DeleteMapping(value = "/deleteBatch")
+ public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+ this.dryOpcDeviceService.removeByIds(Arrays.asList(ids.split(",")));
+ return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
+ }
+
+ /**
+ * 閫氳繃id鏌ヨ
+ *
+ * @param id
+ * @return
+ */
+ //@AutoLog(value = "dry_opc_device-閫氳繃id鏌ヨ")
+ @ApiOperation(value="dry_opc_device-閫氳繃id鏌ヨ", notes="dry_opc_device-閫氳繃id鏌ヨ")
+ @GetMapping(value = "/queryById")
+ public Result<DryOpcDevice> queryById(@RequestParam(name="id",required=true) String id) {
+ DryOpcDevice dryOpcDevice = dryOpcDeviceService.getById(id);
+ if(dryOpcDevice==null) {
+ return Result.error("鏈壘鍒板搴旀暟鎹�");
+ }
+ return Result.OK(dryOpcDevice);
+ }
+
+ /**
+ * 瀵煎嚭excel
+ *
+ * @param request
+ * @param dryOpcDevice
+ */
+ @RequiresPermissions("dry:dry_opc_device:exportXls")
+ @RequestMapping(value = "/exportXls")
+ public ModelAndView exportXls(HttpServletRequest request, DryOpcDevice dryOpcDevice) {
+ return super.exportXls(request, dryOpcDevice, DryOpcDevice.class, "dry_opc_device");
+ }
+
+ /**
+ * 閫氳繃excel瀵煎叆鏁版嵁
+ *
+ * @param request
+ * @param response
+ * @return
+ */
+ @RequiresPermissions("dry:dry_opc_device:importExcel")
+ @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+ public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+ return super.importExcel(request, response, DryOpcDevice.class);
+ }
+
+}
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java
index 84e7484..02852d6 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java
@@ -1,66 +1,66 @@
-//package org.jeecg.modules.dry.controller;
-//
-//import com.kangaroohy.milo.model.ReadWriteEntity;
-//import com.kangaroohy.milo.service.MiloService;
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import lombok.extern.slf4j.Slf4j;
-//import org.eclipse.milo.opcua.sdk.client.OpcUaClient;
-//import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
-//import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId;
-//import org.eclipse.milo.opcua.stack.core.types.builtin.StatusCode;
-//import org.eclipse.milo.opcua.stack.core.types.builtin.Variant;
-//import org.jeecg.common.api.vo.Result;
-//import org.jeecg.modules.dry.entity.DryOpcDevice;
-//import org.jeecg.modules.dry.service.IDryOpcDeviceService;
-//import org.jeecg.modules.dry.vo.CommandMessageVo;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.PostMapping;
-//import org.springframework.web.bind.annotation.RequestBody;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//
-//import java.util.List;
-//import java.util.concurrent.ExecutionException;
-//
-///**
-// * opc鎺у埗鍣紝鐢ㄤ簬鎺у埗鐜板満鎽勫儚澶寸數婧愶紝鐏殑寮�鍏�
-// */
-//
-//@Api(tags="OPC鎺у埗鍣�")
-//@RestController
-//@RequestMapping("/dry/opc")
-//@Slf4j
-//public class OpcController {
-//
-// @Autowired
-// private MiloService miloService;
-//
-// @Autowired
-// private IDryOpcDeviceService opcDeviceService;
-//
-//
-// @ApiOperation(value="鍙戦�佹帶鍒舵寚浠�", notes="鍚戞湇鍔$鍙戦�佹帶鍒舵寚浠わ紝鐢辨湇鍔$杞彂缁欐帶鍒舵ā鍧�")
-// @PostMapping("/sendWriteCommand")
-// public Result<?> sendWriteCommand(@RequestBody CommandMessageVo msgVo) throws Exception {
-//
-// miloService.writeToOpcUa(ReadWriteEntity.builder()
-// .identifier(msgVo.getCode())
-// //Kep涓槸Boolean绫诲瀷
-// .value(Boolean.valueOf(msgVo.getMsg()))
-// .build());
-// return Result.OK();
-// }
-//
-// @ApiOperation(value="鍙戦�佹帶鍒舵寚浠�", notes="鍚戞湇鍔$鍙戦�佹帶鍒舵寚浠わ紝鐢辨湇鍔$杞彂缁欐帶鍒舵ā鍧�")
-// @PostMapping("/initDevice")
-// public Result<?> initDevice() throws Exception {
-// List<DryOpcDevice> list = opcDeviceService.list();
-//
-// list.forEach(item -> {
-//
-// });
-//
-// return Result.OK();
-// }
-//}
+package org.jeecg.modules.dry.controller;
+
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.eclipse.milo.opcua.sdk.client.OpcUaClient;
+import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
+import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId;
+import org.eclipse.milo.opcua.stack.core.types.builtin.StatusCode;
+import org.eclipse.milo.opcua.stack.core.types.builtin.Variant;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.dry.entity.DryOpcDevice;
+import org.jeecg.modules.dry.service.IDryOpcDeviceService;
+import org.jeecg.modules.dry.vo.CommandMessageVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+
+/**
+ * opc鎺у埗鍣紝鐢ㄤ簬鎺у埗鐜板満鎽勫儚澶寸數婧愶紝鐏殑寮�鍏�
+ */
+
+@Api(tags="OPC鎺у埗鍣�")
+@RestController
+@RequestMapping("/dry/opc")
+@Slf4j
+public class OpcController {
+
+ @Autowired
+ private MiloService miloService;
+
+ @Autowired
+ private IDryOpcDeviceService opcDeviceService;
+
+
+ @ApiOperation(value="鍙戦�佹帶鍒舵寚浠�", notes="鍚戞湇鍔$鍙戦�佹帶鍒舵寚浠わ紝鐢辨湇鍔$杞彂缁欐帶鍒舵ā鍧�")
+ @PostMapping("/sendWriteCommand")
+ public Result<?> sendWriteCommand(@RequestBody CommandMessageVo msgVo) throws Exception {
+
+ miloService.writeToOpcUa(ReadWriteEntity.builder()
+ .identifier(msgVo.getCode())
+ //Kep涓槸Boolean绫诲瀷
+ .value(Boolean.valueOf(msgVo.getMsg()))
+ .build());
+ return Result.OK();
+ }
+
+ @ApiOperation(value="鍙戦�佹帶鍒舵寚浠�", notes="鍚戞湇鍔$鍙戦�佹帶鍒舵寚浠わ紝鐢辨湇鍔$杞彂缁欐帶鍒舵ā鍧�")
+ @PostMapping("/initDevice")
+ public Result<?> initDevice() throws Exception {
+ List<DryOpcDevice> list = opcDeviceService.list();
+
+ list.forEach(item -> {
+
+ });
+
+ return Result.OK();
+ }
+}
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/runner/OpcCustomRunner.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/runner/OpcCustomRunner.java
index 98bb58d..e9149dd 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/runner/OpcCustomRunner.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/runner/OpcCustomRunner.java
@@ -1,58 +1,58 @@
-//package org.jeecg.modules.dry.runner;
-//
-//import com.alibaba.fastjson.JSON;
-//import com.kangaroohy.milo.service.MiloService;
-//import lombok.extern.slf4j.Slf4j;
-//import org.jeecg.modules.dry.entity.DryOpcDevice;
-//import org.jeecg.modules.dry.service.IDryOpcDeviceService;
-//import org.jeecg.modules.dry.vo.DryOpcMsgVo;
-//import org.jeecg.modules.dry.websocket.DrySocket;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.boot.ApplicationArguments;
-//import org.springframework.boot.ApplicationRunner;
-//import org.springframework.stereotype.Component;
-//
-//import java.util.ArrayList;
-//import java.util.List;
-//
-//@Component
-//@Slf4j
-//public class OpcCustomRunner implements ApplicationRunner {
-// @Autowired
-// private MiloService miloService;
-//
-//
-// @Autowired
-// private IDryOpcDeviceService dryOpcDeviceService;
-//
-// @Autowired
-// private DrySocket drySocket;
-// @Override
-// public void run(ApplicationArguments args) throws Exception {
-//
-// subscript();
-//
-// }
-//
-// private void subscript() throws Exception {
-// List<String> ids = new ArrayList<>();
-// List<DryOpcDevice> list = dryOpcDeviceService.list();
-// list.forEach(item -> {
-// ids.add(item.getIdentifier());
-// });
-//// ids.add("閫氶亾 1.璁惧 1.鏍囪 1");
-//// ids.add("閫氶亾 1.璁惧 1.鏍囪 2");
-//// ids.add("channel1.device1.tag1");
-//// ids.add("channel1.device1.tag2");
-//// ids.add("channel1.device1.tag3");
-//// ids.add("channel1.device1.tag4");
-//// ids.add("channel1.device1.tag5");
-//// ids.add("channel1.device1.tag6");
-// miloService.subscriptionFromOpcUa(ids, (id,value)->{
-// log.info("subscription 鐐逛綅锛歿} 璁㈤槄鍒版秷鎭細{}", id, value);
-//
-// DryOpcMsgVo dryOpcMsgVo = new DryOpcMsgVo(id, (Boolean) value);
-// drySocket.pushMessage("1003", JSON.toJSONString(dryOpcMsgVo));
-// } );
-// }
-//}
+package org.jeecg.modules.dry.runner;
+
+import com.alibaba.fastjson.JSON;
+import com.kangaroohy.milo.service.MiloService;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.modules.dry.entity.DryOpcDevice;
+import org.jeecg.modules.dry.service.IDryOpcDeviceService;
+import org.jeecg.modules.dry.vo.DryOpcMsgVo;
+import org.jeecg.modules.dry.websocket.DrySocket;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Component
+@Slf4j
+public class OpcCustomRunner implements ApplicationRunner {
+ @Autowired
+ private MiloService miloService;
+
+
+ @Autowired
+ private IDryOpcDeviceService dryOpcDeviceService;
+
+ @Autowired
+ private DrySocket drySocket;
+ @Override
+ public void run(ApplicationArguments args) throws Exception {
+
+ subscript();
+
+ }
+
+ private void subscript() throws Exception {
+ List<String> ids = new ArrayList<>();
+ List<DryOpcDevice> list = dryOpcDeviceService.list();
+ list.forEach(item -> {
+ ids.add(item.getIdentifier());
+ });
+// ids.add("閫氶亾 1.璁惧 1.鏍囪 1");
+// ids.add("閫氶亾 1.璁惧 1.鏍囪 2");
+// ids.add("channel1.device1.tag1");
+// ids.add("channel1.device1.tag2");
+// ids.add("channel1.device1.tag3");
+// ids.add("channel1.device1.tag4");
+// ids.add("channel1.device1.tag5");
+// ids.add("channel1.device1.tag6");
+ miloService.subscriptionFromOpcUa(ids, (id,value)->{
+ log.info("subscription 鐐逛綅锛歿} 璁㈤槄鍒版秷鎭細{}", id, value);
+
+ DryOpcMsgVo dryOpcMsgVo = new DryOpcMsgVo(id, (Boolean) value);
+ drySocket.pushMessage("1003", JSON.toJSONString(dryOpcMsgVo));
+ } );
+ }
+}
--
Gitblit v1.9.3