From 712821ebd8aaf2d2d94b36bf8373d2008711df6c Mon Sep 17 00:00:00 2001 From: yangxiaozhong <429869597@qq.com> Date: Fri, 19 Dec 2025 19:36:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=AE=BE=E5=A4=87=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=8A=A5=E9=94=99=EF=BC=8C=E8=AE=BE=E5=A4=87=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=8A=A5=E9=94=99=E7=AD=89=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=8C=89=E7=85=A7=E5=88=9B=E5=BB=BA=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/IotDeviceController.java | 5 ++- .../controller/IotSensorController.java | 6 ++-- .../dromara/hazard/domain/vo/IotDeviceVo.java | 6 ++-- .../service/impl/IotDeviceServiceImpl.java | 31 ++++++++++++------- 4 files changed, 29 insertions(+), 19 deletions(-) diff --git a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotDeviceController.java b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotDeviceController.java index e3c8dedc4..d0682d261 100644 --- a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotDeviceController.java +++ b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotDeviceController.java @@ -2,7 +2,6 @@ package org.dromara.hazard.controller; import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; @@ -57,7 +56,6 @@ public class IotDeviceController extends BaseController { List list = iotDeviceService.queryList(bo); ExcelUtil.exportExcel(list, "设备", IotDeviceVo.class, response); } - /** * 获取设备详细信息 * @@ -108,7 +106,8 @@ public class IotDeviceController extends BaseController { public R edit(@Validated(EditGroup.class) @RequestBody IotDeviceBo bo) { String deviceCode = bo.getDeviceCode(); IotDeviceVo deviceVo = iotDeviceService.queryByDeviceCode(deviceCode); - if (deviceVo!=null && deviceVo.getDeviceCode() != null){ + String deviceCode1 = iotDeviceService.queryById(bo.getId()).getDeviceCode(); + if (!deviceCode1.equals(deviceCode) && deviceVo!=null && deviceVo.getDeviceCode() != null){ return R.fail("设备编号已存在"); } return toAjax(iotDeviceService.updateByBo(bo)); diff --git a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotSensorController.java b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotSensorController.java index 5da907ca0..015da666a 100644 --- a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotSensorController.java +++ b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/controller/IotSensorController.java @@ -116,12 +116,14 @@ public class IotSensorController extends BaseController { public R edit(@Validated(EditGroup.class) @RequestBody IotSensorBo bo) { String code = bo.getCode(); String name = bo.getName(); + String orginName = iotSensorService.queryById(bo.getId()).getName(); + String orginCode = iotSensorService.queryById(bo.getId()).getCode(); IotSensorVo iotSensorVo = iotSensorService.queryByCode(code); IotSensorVo iotSensorVo1 = iotSensorService.queryByName(name); - if (iotSensorVo!=null && iotSensorVo.getCode()!=null){ + if (iotSensorVo!=null && iotSensorVo.getCode()!=null && !iotSensorVo.getCode().equals(orginCode)){ return R.fail("传感器已存在"); } - if (iotSensorVo1!=null && iotSensorVo1.getName()!=null){ + if (iotSensorVo1!=null && iotSensorVo1.getName()!=null && !iotSensorVo1.getName().equals(orginName)){ return R.fail("传感器已存在"); } return toAjax(iotSensorService.updateByBo(bo)); diff --git a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/domain/vo/IotDeviceVo.java b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/domain/vo/IotDeviceVo.java index fb28d793b..4e6403049 100644 --- a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/domain/vo/IotDeviceVo.java +++ b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/domain/vo/IotDeviceVo.java @@ -45,6 +45,7 @@ public class IotDeviceVo implements Serializable { */ @ExcelProperty(value = "拥有传感器(多个逗号分割)") private String sensorCode; + private List sensorCodes; /** * 状态(在线/离线) @@ -68,8 +69,8 @@ public class IotDeviceVo implements Serializable { /** * $column.columnComment */ - @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "$column.readConverterExp()") + @ExcelProperty(value = "备注") +// @ExcelDictFormat(readConverterExp = "$column.readConverterExp()") private String remark; /** @@ -99,6 +100,7 @@ public class IotDeviceVo implements Serializable { /** * 租户id */ + @ExcelProperty(value = "租户id") private String tenantId; } diff --git a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/service/impl/IotDeviceServiceImpl.java b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/service/impl/IotDeviceServiceImpl.java index 05d6fd748..55fc3b275 100644 --- a/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/service/impl/IotDeviceServiceImpl.java +++ b/ruoyi-modules/ruoyi-hazard/src/main/java/org/dromara/hazard/service/impl/IotDeviceServiceImpl.java @@ -82,7 +82,7 @@ public class IotDeviceServiceImpl implements IIotDeviceService { private LambdaQueryWrapper buildQueryWrapper(IotDeviceBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.orderByAsc(IotDevice::getId); + lqw.orderByAsc(IotDevice::getCreateTime); lqw.like(StringUtils.isNotBlank(bo.getName()), IotDevice::getName, bo.getName()); lqw.eq(StringUtils.isNotBlank(bo.getSensorCode()), IotDevice::getSensorCode, bo.getSensorCode()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), IotDevice::getStatus, bo.getStatus()); @@ -92,6 +92,7 @@ public class IotDeviceServiceImpl implements IIotDeviceService { lqw.eq(StringUtils.isNotBlank(bo.getTxt1()), IotDevice::getTxt1, bo.getTxt1()); lqw.eq(StringUtils.isNotBlank(bo.getTxt2()), IotDevice::getTxt2, bo.getTxt2()); lqw.eq(StringUtils.isNotBlank(bo.getTxt3()), IotDevice::getTxt3, bo.getTxt3()); + return lqw; } @@ -106,23 +107,29 @@ public class IotDeviceServiceImpl implements IIotDeviceService { public Boolean insertByBo(IotDeviceBo bo) { IotDevice add = MapstructUtils.convert(bo, IotDevice.class); validEntityBeforeSave(add); - String join = String.join(",", bo.getSensorCodes()); - if (add != null) { - add.setStatus("0"); - add.setSensorCode(join); + if (bo.getSensorCodes()!=null && bo.getSensorCodes().length>0){ + String join = String.join(",", bo.getSensorCodes()); + if (add != null) { + add.setStatus("0"); + add.setSensorCode(join); + } } + boolean flag = baseMapper.insert(add) > 0; if (flag) { bo.setId(add.getId()); //将设备id保存到传感器的绑定设备字段中去device_bound - List list = Arrays.stream(bo.getSensorCodes()).toList(); - for (String s : list) { - IotSensorVo iotSensorVo = iotSensorService.queryById(Long.valueOf(s)); - IotSensorBo iotSensorBo = new IotSensorBo(); - BeanUtils.copyProperties(iotSensorVo,iotSensorBo); - iotSensorBo.setDeviceBound(String.valueOf(bo.getId())); - iotSensorService.updateByBo(iotSensorBo); + if (bo.getSensorCodes()!=null && bo.getSensorCodes().length>0){ + List list = Arrays.stream(bo.getSensorCodes()).toList(); + for (String s : list) { + IotSensorVo iotSensorVo = iotSensorService.queryById(Long.valueOf(s)); + IotSensorBo iotSensorBo = new IotSensorBo(); + BeanUtils.copyProperties(iotSensorVo,iotSensorBo); + iotSensorBo.setDeviceBound(String.valueOf(bo.getId())); + iotSensorService.updateByBo(iotSensorBo); + } } + } return flag; }