From 88934d7068d4d3285c09e7ac2f466030330062bc Mon Sep 17 00:00:00 2001 From: HuangHuiKang Date: Wed, 4 Feb 2026 18:32:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E9=85=8D=E6=96=B9?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RecipeDeviceRecordController.java | 93 ++++++++++--------- 1 file changed, 49 insertions(+), 44 deletions(-) diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/recipedevicerecord/RecipeDeviceRecordController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/recipedevicerecord/RecipeDeviceRecordController.java index 8c412b939..461513499 100644 --- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/recipedevicerecord/RecipeDeviceRecordController.java +++ b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/recipedevicerecord/RecipeDeviceRecordController.java @@ -159,60 +159,65 @@ public class RecipeDeviceRecordController { @RequestParam("id") Long recipeId) { - RecipePlanDetailDO recipePlanDetailDO = recipePlanDetailService.getRecipePlanDetail(recipeId); - //RecipeRespVO recipeRespVO = recipeService.getRecipeWithDeviceId(recipePlanDetailDO.getRecipeId()); + try { + RecipePlanDetailDO recipePlanDetailDO = recipePlanDetailService.getRecipePlanDetail(recipeId); + //RecipeRespVO recipeRespVO = recipeService.getRecipeWithDeviceId(recipePlanDetailDO.getRecipeId()); - //RecipeDO recipeDO = recipeService.getRecipe(recipePlanDetailDO.getRecipeId()); - // ========== 第一步:查询配方关联的点位属性信息 ========== - // 1.1 根据recipeId查询iot_recipe_device_attribute表记录 + //RecipeDO recipeDO = recipeService.getRecipe(recipePlanDetailDO.getRecipeId()); + // ========== 第一步:查询配方关联的点位属性信息 ========== + // 1.1 根据recipeId查询iot_recipe_device_attribute表记录 - recipePlanDetailDO.setRecipeId(recipeId); - List attributeList = recipeDeviceAttributeService.getByRecipeId(recipePlanDetailDO.getRecipeId()); + recipePlanDetailDO.setRecipeId(recipeId); + List attributeList = recipeDeviceAttributeService.getByRecipeId(recipePlanDetailDO.getRecipeId()); - //先删除在添加 - List recipeDeviceRecordDOS = recipeDeviceRecordService.getListByRecipeId(recipeId); - if (!recipeDeviceRecordDOS.isEmpty()){ - recipeDeviceRecordService.deleteByIds(recipeDeviceRecordDOS); - } - RecipeDO recipe = recipeService.getRecipe(recipeId); - if (recipe == null){ - throw exception(RECIPE_NOT_EXISTS); - } + //先删除在添加 + List recipeDeviceRecordDOS = recipeDeviceRecordService.getListByRecipeId(recipeId); + if (!recipeDeviceRecordDOS.isEmpty()){ + recipeDeviceRecordService.deleteByIds(recipeDeviceRecordDOS); + } + RecipeDO recipe = recipeService.getRecipe(recipeId); + if (recipe == null){ + throw exception(RECIPE_NOT_EXISTS); + } - DeviceRespVO device = deviceService.getDevice(recipe.getMachineId()); - if (device== null ){ - throw exception(DEVICE_NOT_EXISTS); - } + DeviceRespVO device = deviceService.getDevice(recipe.getMachineId()); + if (device== null ){ + throw exception(DEVICE_NOT_EXISTS); + } - Map deviceContactModelMap = new HashMap<>(); - List deviceContactModelDOS = deviceContactModelService.selectListByDeviceId(device.getId()); - if (!deviceContactModelDOS.isEmpty()){ - deviceContactModelMap = deviceContactModelDOS.stream() - .collect(Collectors.toMap( - DeviceContactModelDO::getId, - Function.identity() - )); - } - - OpcUtils.connect(device.getUrl(),device.getUsername(),device.getPassword(),10); - - for (RecipeDeviceAttributeDO attributeDO : attributeList) { - DeviceContactModelDO deviceContactModelDO = deviceContactModelMap.get(attributeDO.getAttributeId()); - if (deviceContactModelDO == null){ - continue; + Map deviceContactModelMap = new HashMap<>(); + List deviceContactModelDOS = deviceContactModelService.selectListByDeviceId(device.getId()); + if (!deviceContactModelDOS.isEmpty()){ + deviceContactModelMap = deviceContactModelDOS.stream() + .collect(Collectors.toMap( + DeviceContactModelDO::getId, + Function.identity() + )); } - // 创建 - RecipeDeviceRecordDO recipeDeviceRecordDO = new RecipeDeviceRecordDO(); - recipeDeviceRecordDO.setRecipeId(recipeId); - recipeDeviceRecordDO.setAttributeCode(deviceContactModelDO.getAttributeName()); - recipeDeviceRecordDO.setDataType(deviceContactModelDO.getDataType()); - recipeDeviceRecordDO.setDataUnit(deviceContactModelDO.getDataUnit()); - recipeDeviceRecordDO.setValue((String) OpcUtils.readValue(deviceContactModelDO.getAddress())); - recipeDeviceRecordService.createRecipeDeviceRecord(BeanUtils.toBean(recipeDeviceRecordDO, RecipeDeviceRecordSaveReqVO.class)); + OpcUtils.connect(device.getUrl(),device.getUsername(),device.getPassword(),10); + + for (RecipeDeviceAttributeDO attributeDO : attributeList) { + DeviceContactModelDO deviceContactModelDO = deviceContactModelMap.get(attributeDO.getAttributeId()); + if (deviceContactModelDO == null){ + continue; + } + // 创建 + RecipeDeviceRecordDO recipeDeviceRecordDO = new RecipeDeviceRecordDO(); + recipeDeviceRecordDO.setRecipeId(recipeId); + recipeDeviceRecordDO.setAttributeCode(deviceContactModelDO.getAttributeName()); + recipeDeviceRecordDO.setDataType(deviceContactModelDO.getDataType()); + recipeDeviceRecordDO.setDataUnit(deviceContactModelDO.getDataUnit()); + recipeDeviceRecordDO.setValue((String) OpcUtils.readValue(deviceContactModelDO.getAddress())); + + recipeDeviceRecordService.createRecipeDeviceRecord(BeanUtils.toBean(recipeDeviceRecordDO, RecipeDeviceRecordSaveReqVO.class)); + } + } finally { + OpcUtils.disconnect(); } + return success(true); }