From f103eb4fde47b0229b561329f66574db81257dd5 Mon Sep 17 00:00:00 2001 From: zhuguifei <312353457@qq.com> Date: 星期三, 20 十一月 2024 10:46:45 +0800 Subject: [PATCH] Merge branch 'herb' of https://gitee.com/baoshwi/herb into herb --- 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