From abab19b27adb4f816e6f9de3a98f86dcb41a210b Mon Sep 17 00:00:00 2001 From: xins Date: Wed, 27 Sep 2023 16:17:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8B=A5=E4=BE=9D=E5=BE=AE=E6=9C=8D=E5=8A=A11.?= =?UTF-8?q?3.8=201=E3=80=81=E7=94=B5=E5=AD=90=E5=9B=B4=E6=A0=8F=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=97=B6=E8=BF=9E=E5=90=8C=E5=8C=BA=E5=9F=9F=E4=B8=80?= =?UTF-8?q?=E8=B5=B7=E5=88=A0=E9=99=A4=202=E3=80=81=E7=9B=91=E6=8E=A7?= =?UTF-8?q?=E5=8D=95=E5=85=83=E5=AE=8C=E5=96=84=203=E3=80=81=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=AE=A1=E7=90=86=E4=BF=AE=E5=A4=8Dbug=204=E3=80=81?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=E7=AE=A1=E7=90=86=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/HwDictConstants.java | 7 ++- .../controller/HwDeviceController.java | 57 ++++++++----------- .../controller/HwMonitorUnitController.java | 21 +++++-- .../ruoyi/business/domain/HwMonitorUnit.java | 6 +- .../ruoyi/business/mapper/HwDeviceMapper.java | 14 ++++- .../mapper/HwElectronicFenceMapper.java | 8 +++ .../business/mapper/HwMonitorUnitMapper.java | 25 ++++++++ .../business/service/IHwDeviceService.java | 9 ++- .../service/IHwMonitorUnitService.java | 24 ++++++++ .../business/service/IHwSceneService.java | 3 - .../service/impl/HwDeviceModeServiceImpl.java | 4 +- .../service/impl/HwDeviceServiceImpl.java | 16 +++++- .../impl/HwElectronicFenceServiceImpl.java | 5 +- .../impl/HwMonitorUnitServiceImpl.java | 44 ++++++++++++++ .../service/impl/HwSceneServiceImpl.java | 38 +++++++------ .../mapper/business/HwDeviceMapper.xml | 7 ++- .../business/HwElectronicFenceMapper.xml | 10 +++- .../mapper/business/HwMonitorUnitMapper.xml | 11 ++++ .../mapper/business/HwSceneMapper.xml | 3 +- ruoyi-ui/src/api/business/device.js | 4 +- ruoyi-ui/src/views/business/device/index.vue | 29 ++++------ .../business/deviceMode/editDeviceMode.vue | 2 +- .../views/business/electronicFence/index.vue | 27 ++------- .../src/views/business/monitorUnit/index.vue | 15 +++-- .../views/business/monitorUnitType/index.vue | 24 ++++---- ruoyi-ui/src/views/business/scene/index.vue | 34 +++++------ ruoyi-ui/src/views/business/tenant/index.vue | 1 + 27 files changed, 296 insertions(+), 152 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java index 6c3c769..d9fc5e3 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/HwDictConstants.java @@ -89,7 +89,8 @@ public class HwDictConstants { public static final String ALARM_HANDLE_STATUS_YES = "1";//已处理 public static final String ALARM_HANDLE_STATUS_NO = "0";//未处理 - public static final String SCENE_STATUS_NORMAL = "1";//正常状态 + public static final String SCENE_STATUS_NORMAL = "1";//场景正常状态 + public static final String SCENE_STATUS_DELETED = "9";//场景删除状态 public static final String CONTROL_COMMAND_REDIS_KEY = "mqtt:channel:down";//下发控制指令到redis的key public static final String CONTROL_COMMAND_TOPIC_VALUE = "/v1/{}/device/command";//下发控制指令的topic @@ -107,4 +108,8 @@ public class HwDictConstants { public static final String TENANT_IS_REGISTER_EXTERNAL = "0";//租户是否外部注册:否 + public static final String MONITOR_UNIT_STATUS_NORMAL = "1";//监控单元状态:正常 + public static final String MONITORY_UNIT_STATUS_DELETE = "9";//监控单元状态,删除 + + } diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwDeviceController.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwDeviceController.java index 9967c01..60b9dd0 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwDeviceController.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwDeviceController.java @@ -47,8 +47,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo; */ @RestController @RequestMapping("/device") -public class HwDeviceController extends BaseController -{ +public class HwDeviceController extends BaseController { @Autowired private IHwDeviceService hwDeviceService; @@ -66,24 +65,20 @@ public class HwDeviceController extends BaseController */ @RequiresPermissions("business:device:list") @GetMapping("/list") - public TableDataInfo list(HwDevice hwDevice) - { + public TableDataInfo list(HwDevice hwDevice) { startPage(); List list = hwDeviceService.selectHwDeviceJoinList(hwDevice); return getDataTable(list); } - - /** * 导出设备信息列表 */ @RequiresPermissions("business:device:export") @Log(title = "设备信息", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, HwDevice hwDevice) - { + public void export(HttpServletResponse response, HwDevice hwDevice) { List list = hwDeviceService.selectHwDeviceJoinList(hwDevice); ExcelUtil util = new ExcelUtil(HwDevice.class); util.exportExcel(response, list, "设备信息数据"); @@ -94,8 +89,7 @@ public class HwDeviceController extends BaseController */ @RequiresPermissions("business:device:query") @GetMapping(value = "/{deviceId}") - public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId) - { + public AjaxResult getInfo(@PathVariable("deviceId") Long deviceId) { return success(hwDeviceService.selectHwDeviceByDeviceId(deviceId)); } @@ -105,8 +99,7 @@ public class HwDeviceController extends BaseController @RequiresPermissions("business:device:add") @Log(title = "设备信息", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody HwDevice hwDevice) - { + public AjaxResult add(@RequestBody HwDevice hwDevice) { LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = loginUser.getSysUser(); hwDevice.setTenantId(user.getTenantId()); @@ -120,8 +113,7 @@ public class HwDeviceController extends BaseController @RequiresPermissions("business:device:edit") @Log(title = "设备信息", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody HwDevice hwDevice) - { + public AjaxResult edit(@RequestBody HwDevice hwDevice) { hwDevice.setUpdateBy(SecurityUtils.getUsername()); return toAjax(hwDeviceService.updateHwDevice(hwDevice)); } @@ -131,24 +123,26 @@ public class HwDeviceController extends BaseController */ @RequiresPermissions("business:device:remove") @Log(title = "设备信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{deviceIds}") - public AjaxResult remove(@PathVariable Long[] deviceIds) - { - return toAjax(hwDeviceService.deleteHwDeviceByDeviceIds(deviceIds)); - } + @DeleteMapping("/{deviceId}/{deviceType}") + public AjaxResult remove(@PathVariable("deviceId") Long deviceId + , @PathVariable("deviceType") String deviceType) { + if (deviceType.equals(HwDictConstants.DEVICE_TYPE_GATEWAY_DEVICE) + && hwDeviceService.checkExistSubDevice(deviceId)) { + return warn("存在子设备,不允许删除"); + } + return toAjax(hwDeviceService.deleteHwDeviceByDeviceId(deviceId)); + } @RequiresPermissions("business:device:list") @GetMapping("/getScenes") - public AjaxResult getScenes(HwScene scene) - { + public AjaxResult getScenes(HwScene scene) { return success(hwSceneService.selectHwSceneList(scene)); } @RequiresPermissions("business:device:list") @GetMapping("/getEditedScenes") - public AjaxResult getEditedScenes(HwScene scene) - { + public AjaxResult getEditedScenes(HwScene scene) { return success(hwSceneService.selectHwSceneList4Select(scene)); } @@ -157,8 +151,7 @@ public class HwDeviceController extends BaseController */ @RequiresPermissions("business:device:list") @GetMapping(value = {"/monitorUnitTree/", "/monitorUnitTree/{sceneId}"}) - public AjaxResult monitorUnitTree(@PathVariable(value = "sceneId", required = false) Long sceneId) - { + public AjaxResult monitorUnitTree(@PathVariable(value = "sceneId", required = false) Long sceneId) { HwMonitorUnit queryMonitorUnit = new HwMonitorUnit(); queryMonitorUnit.setSceneId(sceneId); return success(hwMonitorUnitService.selectMonitorTreeList(queryMonitorUnit)); @@ -166,8 +159,7 @@ public class HwDeviceController extends BaseController @RequiresPermissions("business:device:list") @GetMapping(value = {"/getDeviceModes/", "/getDeviceModes/{sceneId}"}) - public AjaxResult getDeviceModes(@PathVariable(value = "sceneId", required = false) Long sceneId) - { + public AjaxResult getDeviceModes(@PathVariable(value = "sceneId", required = false) Long sceneId) { HwDeviceMode queryDeviceMode = new HwDeviceMode(); queryDeviceMode.setSceneId(sceneId); return success(hwDeviceModeService.selectHwDeviceModeList(queryDeviceMode)); @@ -175,8 +167,7 @@ public class HwDeviceController extends BaseController @RequiresPermissions("business:device:list") @GetMapping(value = {"/getGatewayDevices/", "/getGatewayDevices/{sceneId}"}) - public AjaxResult getGatewayDevices(@PathVariable(value = "sceneId", required = false) Long sceneId) - { + public AjaxResult getGatewayDevices(@PathVariable(value = "sceneId", required = false) Long sceneId) { HwDevice queryHwDevice = new HwDevice(); queryHwDevice.setSceneId(sceneId); queryHwDevice.setDeviceType(HwDictConstants.DEVICE_TYPE_GATEWAY_DEVICE); @@ -190,8 +181,7 @@ public class HwDeviceController extends BaseController @RequiresPermissions("business:device:edit") @Log(title = "设备管理", businessType = BusinessType.UPDATE) @PutMapping("/changeDeviceStatus") - public AjaxResult changeDeviceStatus(@RequestBody HwDevice device) - { + public AjaxResult changeDeviceStatus(@RequestBody HwDevice device) { device.setUpdateBy(SecurityUtils.getUsername()); device.setUpdateTime(new Date()); return toAjax(hwDeviceService.changeDeviceStatus(device)); @@ -203,14 +193,13 @@ public class HwDeviceController extends BaseController @RequiresPermissions("business:device:edit") @Log(title = "下发设备控制指令", businessType = BusinessType.UPDATE) @PutMapping("/publishControlCommand") - public AjaxResult publishControlCommand(@RequestBody DeviceControlVo deviceControlVo) - { + public AjaxResult publishControlCommand(@RequestBody DeviceControlVo deviceControlVo) { hwDeviceService.publishControlCommand(deviceControlVo); return success(); } @GetMapping("/computeOnlineDevicecCount/{days}") - public void computeOnlineDevicecCount(@PathVariable("days") int days){ + public void computeOnlineDevicecCount(@PathVariable("days") int days) { hwDeviceService.computeOnlineDevicecCount(days); } } diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwMonitorUnitController.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwMonitorUnitController.java index 95f2ae7..afcf795 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwMonitorUnitController.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/controller/HwMonitorUnitController.java @@ -113,10 +113,18 @@ public class HwMonitorUnitController extends BaseController */ @RequiresPermissions("business:monitorUnit:remove") @Log(title = "监控单元", businessType = BusinessType.DELETE) - @DeleteMapping("/{monitorUnitIds}") - public AjaxResult remove(@PathVariable Long[] monitorUnitIds) + @DeleteMapping("/{monitorUnitId}") + public AjaxResult remove(@PathVariable Long monitorUnitId) { - return toAjax(hwMonitorUnitService.deleteHwMonitorUnitByMonitorUnitIds(monitorUnitIds)); + if (hwMonitorUnitService.hasChildByMonitorUnitId(monitorUnitId)) + { + return warn("存在下级监单元,不允许删除"); + } + if (hwMonitorUnitService.checkMonitorUnitExistDevice(monitorUnitId)) + { + return warn("监控单元存在设备,不允许删除"); + } + return toAjax(hwMonitorUnitService.deleteHwMonitorUnitByMonitorUnitId(monitorUnitId)); } @@ -151,9 +159,10 @@ public class HwMonitorUnitController extends BaseController @GetMapping("/getEditedMonitorUnits") public AjaxResult getEditedMonitorUnits(HwMonitorUnit hwMonitorUnit) { - LoginUser loginUser = SecurityUtils.getLoginUser(); - SysUser user = loginUser.getSysUser(); - hwMonitorUnit.setTenantId(user.getTenantId()); +// LoginUser loginUser = SecurityUtils.getLoginUser(); +// SysUser user = loginUser.getSysUser(); +// hwMonitorUnit.setTenantId(user.getTenantId()); + //前端传场景ID,根据场景ID过滤 List list = hwMonitorUnitService.selectHwMonitorUnitList(hwMonitorUnit); return success(list); } diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/domain/HwMonitorUnit.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/domain/HwMonitorUnit.java index 885517d..68fbb69 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/domain/HwMonitorUnit.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/domain/HwMonitorUnit.java @@ -59,7 +59,7 @@ public class HwMonitorUnit extends BaseEntity /** 状态 */ @Excel(name = "状态") - private Long monitorUnitStatus; + private String monitorUnitStatus; /** 预留字段 */ @Excel(name = "预留字段") @@ -181,12 +181,12 @@ public class HwMonitorUnit extends BaseEntity { return preserveTime; } - public void setMonitorUnitStatus(Long monitorUnitStatus) + public void setMonitorUnitStatus(String monitorUnitStatus) { this.monitorUnitStatus = monitorUnitStatus; } - public Long getMonitorUnitStatus() + public String getMonitorUnitStatus() { return monitorUnitStatus; } diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwDeviceMapper.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwDeviceMapper.java index ff8246e..f0801ac 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwDeviceMapper.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwDeviceMapper.java @@ -58,7 +58,7 @@ public interface HwDeviceMapper public int updateHwDevice(HwDevice hwDevice); /** - * 删除设备信息 + * 删除设备信息(逻辑更新状态) * * @param deviceId 设备信息主键 * @return 结果 @@ -66,7 +66,7 @@ public interface HwDeviceMapper public int deleteHwDeviceByDeviceId(Long deviceId); /** - * 批量删除设备信息 + * 批量删除设备信息(物理删除) * * @param deviceIds 需要删除的数据主键集合 * @return 结果 @@ -88,4 +88,14 @@ public interface HwDeviceMapper * @return 设备信息集合 */ public List selectHwDeviceJoinList(HwDevice hwDevice); + + + /** + * @param: releatedDeviceId + * @description 校验网关设备是否有子设备 + * @author xins + * @date 2023-09-27 15:29 + * @return int + */ + public int checkExistSubDevice(Long releatedDeviceId); } diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwElectronicFenceMapper.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwElectronicFenceMapper.java index 6932694..2e504fa 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwElectronicFenceMapper.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwElectronicFenceMapper.java @@ -68,6 +68,14 @@ public interface HwElectronicFenceMapper */ public int deleteHwElectronicFenceByElectronicFenceId(Long electronicFenceId); + /** + * @param: electronicFenceIds + * @description 删除fencearea + * @author xins + * @date 2023-09-27 16:10 + * @return int + */ + public int deleteHwFenceAreaByElectronicFenceIds(Long[] electronicFenceIds); /** * 批量删除电子围栏 * diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwMonitorUnitMapper.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwMonitorUnitMapper.java index ebf9580..059de52 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwMonitorUnitMapper.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/mapper/HwMonitorUnitMapper.java @@ -138,4 +138,29 @@ public interface HwMonitorUnitMapper */ public HwMonitorUnit selectHwMonitorUnitJoinByMonitorUnitId(Long monitorUnitId); + + /** + * 是否存在子节点 + * + * @param monitorUnitId 监控单元ID + * @return 结果 + */ + public int hasChildByMonitorUnitId(Long monitorUnitId); + + /** + * 查询部门是否存在用户 + * + * @param monitorUnitId 监控单元ID + * @return 结果 + */ + public int checkMonitorUnitExistDevice(Long monitorUnitId); + + /** + * 删除部门管理信息 + * + * @param monitorUnitId 监控单元ID + * @return 结果 + */ + public int deleteMonitorUnitById(Long monitorUnitId); + } \ No newline at end of file diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwDeviceService.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwDeviceService.java index ef2fa6e..5ef469b 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwDeviceService.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwDeviceService.java @@ -89,6 +89,14 @@ public interface IHwDeviceService */ public int deleteHwDeviceByDeviceIds(Long[] deviceIds); + /** + * 查询网关设备是否存在子设备 + * + * @param releatedDeviceId 网关设备ID + * @return 结果 true 存在 false 不存在 + */ + public boolean checkExistSubDevice(Long releatedDeviceId); + /** * 删除设备信息信息 * @@ -97,7 +105,6 @@ public interface IHwDeviceService */ public int deleteHwDeviceByDeviceId(Long deviceId); - /** * @return Map> * @description 设备监测页面,根据监控单元获取设备监控信息 diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwMonitorUnitService.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwMonitorUnitService.java index 4b57930..57e44dd 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwMonitorUnitService.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwMonitorUnitService.java @@ -90,6 +90,30 @@ public interface IHwMonitorUnitService */ public int updateHwMonitorUnit(HwMonitorUnit hwMonitorUnit); + /** + * 是否存在子节点 + * + * @param monitorUnitId 监控单元ID + * @return 结果 + */ + public boolean hasChildByMonitorUnitId(Long monitorUnitId); + + /** + * 查询部门是否存在用户 + * + * @param monitorUnitId 监控单元ID + * @return 结果 true 存在 false 不存在 + */ + public boolean checkMonitorUnitExistDevice(Long monitorUnitId); + + /** + * 删除部门管理信息 + * + * @param monitorUnitId 监控单元ID + * @return 结果 + */ + public int deleteMonitorUnitById(Long monitorUnitId); + /** * 批量删除监控单元 * diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwSceneService.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwSceneService.java index 48388eb..fdf7f25 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwSceneService.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/IHwSceneService.java @@ -20,9 +20,6 @@ public interface IHwSceneService */ public HwScene selectHwSceneBySceneId(Long sceneId); - - public List selectHwSceneBySceneModeId(Long sceneModeId); - /** * 查询场景信息列表 * diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java index 55e04aa..79e6616 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceModeServiceImpl.java @@ -263,10 +263,12 @@ public class HwDeviceModeServiceImpl implements IHwDeviceModeService { queryHwDevice.setDeviceStatus(HwDictConstants.DEVICE_STATUS_PUBLISH); List hwDevices = hwDeviceMapper.selectHwDeviceList(queryHwDevice); if (hwDevices.size() > 0) { - throw new ServiceException("已有已发布状态设备关联,不能修改"); + throw new ServiceException("此设备模型已存在设备,不能修改"); } + //校验有没有重复标识符 checkDuplicateIdentifiers(hwDeviceModeFunction); + hwDeviceModeMapper.deleteHwDeviceModeParameterByModeFunctionId(hwDeviceModeFunction.getModeFunctionId()); List hwDeviceModeFunctions = new ArrayList<>(); hwDeviceModeFunctions.add(hwDeviceModeFunction); diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java index 788e7a3..98ff80f 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwDeviceServiceImpl.java @@ -446,13 +446,27 @@ public class HwDeviceServiceImpl implements IHwDeviceService { } /** - * 删除设备信息信息 + * 查询网关设备是否存在子设备 + * + * @param releatedDeviceId 网关设备ID + * @return 结果 true 存在 false 不存在 + */ + @Override + public boolean checkExistSubDevice(Long releatedDeviceId) + { + int result = hwDeviceMapper.checkExistSubDevice(releatedDeviceId); + return result > 0; + } + + /** + * 删除设备信息信息(逻辑更新状态) * * @param deviceId 设备信息主键 * @return 结果 */ @Override public int deleteHwDeviceByDeviceId(Long deviceId) { + return hwDeviceMapper.deleteHwDeviceByDeviceId(deviceId); } diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwElectronicFenceServiceImpl.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwElectronicFenceServiceImpl.java index a4ba245..2a83f04 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwElectronicFenceServiceImpl.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwElectronicFenceServiceImpl.java @@ -312,8 +312,11 @@ public class HwElectronicFenceServiceImpl implements IHwElectronicFenceService { * @return 结果 */ @Override + @Transactional public int deleteHwElectronicFenceByElectronicFenceIds(Long[] electronicFenceIds) { - return hwElectronicFenceMapper.deleteHwElectronicFenceByElectronicFenceIds(electronicFenceIds); + int rows = hwElectronicFenceMapper.deleteHwElectronicFenceByElectronicFenceIds(electronicFenceIds); + hwElectronicFenceMapper.deleteHwFenceAreaByElectronicFenceIds(electronicFenceIds); + return rows; } /** diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwMonitorUnitServiceImpl.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwMonitorUnitServiceImpl.java index c75d35d..f792dd7 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwMonitorUnitServiceImpl.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwMonitorUnitServiceImpl.java @@ -9,6 +9,7 @@ import com.ruoyi.business.mapper.HwDeviceMapper; import com.ruoyi.business.mapper.HwElectronicFenceMapper; import com.ruoyi.business.mapper.HwMonitorUnitMapper; import com.ruoyi.business.service.IHwMonitorUnitService; +import com.ruoyi.common.core.constant.HwDictConstants; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.NumberUtils; @@ -172,6 +173,7 @@ public class HwMonitorUnitServiceImpl implements IHwMonitorUnitService { */ @Override public List selectHwMonitorUnitList(HwMonitorUnit hwMonitorUnit) { + hwMonitorUnit.setMonitorUnitStatus(HwDictConstants.MONITOR_UNIT_STATUS_NORMAL); return hwMonitorUnitMapper.selectHwMonitorUnitList(hwMonitorUnit); } @@ -250,6 +252,9 @@ public class HwMonitorUnitServiceImpl implements IHwMonitorUnitService { public int insertHwMonitorUnit(HwMonitorUnit hwMonitorUnit) { this.checkRelatedDevices(hwMonitorUnit); hwMonitorUnit.setCreateTime(DateUtils.getNowDate()); + if(hwMonitorUnit.getParentId()==null){ + hwMonitorUnit.setParentId(0L); + } return hwMonitorUnitMapper.insertHwMonitorUnit(hwMonitorUnit); } @@ -266,6 +271,44 @@ public class HwMonitorUnitServiceImpl implements IHwMonitorUnitService { return hwMonitorUnitMapper.updateHwMonitorUnit(hwMonitorUnit); } + /** + * 是否存在子节点 + * + * @param monitorUnitId 监控单元ID + * @return 结果 + */ + @Override + public boolean hasChildByMonitorUnitId(Long monitorUnitId) + { + int result = hwMonitorUnitMapper.hasChildByMonitorUnitId(monitorUnitId); + return result > 0; + } + + /** + * 查询部门是否存在用户 + * + * @param monitorUnitId 监控单元ID + * @return 结果 true 存在 false 不存在 + */ + @Override + public boolean checkMonitorUnitExistDevice(Long monitorUnitId) + { + int result = hwMonitorUnitMapper.checkMonitorUnitExistDevice(monitorUnitId); + return result > 0; + } + + /** + * 删除部门管理信息 + * + * @param monitorUnitId 监控单元ID + * @return 结果 + */ + @Override + public int deleteMonitorUnitById(Long monitorUnitId) + { + return hwMonitorUnitMapper.deleteMonitorUnitById(monitorUnitId); + } + /** * 批量删除监控单元 * @@ -384,6 +427,7 @@ public class HwMonitorUnitServiceImpl implements IHwMonitorUnitService { @Override @DataScope(tenantAlias = "hmu") public List selectHwMonitorUnitJoinList(HwMonitorUnit hwMonitorUnit) { + hwMonitorUnit.setMonitorUnitStatus(HwDictConstants.MONITOR_UNIT_STATUS_NORMAL); return hwMonitorUnitMapper.selectHwMonitorUnitJoinList(hwMonitorUnit); } diff --git a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwSceneServiceImpl.java b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwSceneServiceImpl.java index 38d9fa6..5ffc531 100644 --- a/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwSceneServiceImpl.java +++ b/ruoyi-modules/hw-business/src/main/java/com/ruoyi/business/service/impl/HwSceneServiceImpl.java @@ -64,12 +64,6 @@ public class HwSceneServiceImpl implements IHwSceneService { return hwSceneMapper.selectHwSceneBySceneId(sceneId); } - @Override - public List selectHwSceneBySceneModeId(Long sceneModeId) { - List hwScenes = hwSceneMapper.selectHwSceneBySceneModeId(sceneModeId); - - return hwScenes; - } /** * 查询场景信息列表 @@ -80,6 +74,7 @@ public class HwSceneServiceImpl implements IHwSceneService { @Override @DataScope(tenantAlias = "hs") public List selectHwSceneList(HwScene hwScene) { + hwScene.setSceneStatus(HwDictConstants.SCENE_STATUS_NORMAL); List scenes = hwSceneMapper.selectHwSceneList(hwScene); boolean defaultFlag = false; for (HwScene scene : scenes) { @@ -215,11 +210,13 @@ public class HwSceneServiceImpl implements IHwSceneService { */ @Override public int deleteHwSceneBySceneIds(Long[] sceneIds) { - List list = new ArrayList<>(); - for (int i = 0; i < sceneIds.length; i++) { - list.add(sceneIds[i]); + for (Long sceneId : sceneIds) { + HwScene scene = hwSceneMapper.selectHwSceneBySceneId(sceneId); + scene.setSceneStatus(HwDictConstants.SCENE_STATUS_DELETED); + hwSceneMapper.updateHwScene(scene); + //TODO:后面可以增加更新redis的auth信息,并且删除tdengine的database } - return hwSceneMapper.deleteHwSceneBySceneIds(sceneIds); + return 1; } /** @@ -243,15 +240,20 @@ public class HwSceneServiceImpl implements IHwSceneService { public List selectHwSceneList4Select(HwScene hwScene) { LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser user = loginUser.getSysUser(); - hwScene.setTenantId(user.getTenantId()); + //如果不是管理租户,需要过滤 + if(!user.getTenantId().equals(HwDictConstants.ADMINISTRATOR_TENANT_ID)){ + hwScene.setTenantId(user.getTenantId()); + } List scenes = hwSceneMapper.selectHwSceneList(hwScene); - scenes.forEach(s -> { - if (!s.getTenantId().equals(user.getTenantId())) { - s.setSelectedDisable("1"); - } - }); - + //如果是管理员租户,则需要过滤不是自己的只能显示,不能选择 + if(user.getTenantId().equals(HwDictConstants.ADMINISTRATOR_TENANT_ID)) { + scenes.forEach(s -> { + if (!s.getTenantId().equals(user.getTenantId())) { + s.setSelectedDisable("1"); + } + }); + } return scenes; } @@ -268,7 +270,7 @@ public class HwSceneServiceImpl implements IHwSceneService { List dbScenes = hwSceneMapper.selectHwSceneList(queryScene); if (dbScenes != null && !dbScenes.isEmpty()) { dbScenes.forEach(dbScene -> { - if (hwScene.getSceneId()==null || (hwScene.getSceneId() != null && + if (hwScene.getSceneId() == null || (hwScene.getSceneId() != null && !hwScene.getSceneId().equals(dbScene.getSceneId()))) { dbScene.setDefaultFlag(HwDictConstants.SCENE_DEFAULT_FLAG_NO); hwSceneMapper.updateHwScene(dbScene); diff --git a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml index 9a63d28..a619e5f 100644 --- a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml +++ b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwDeviceMapper.xml @@ -217,7 +217,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from hw_device where device_id = #{deviceId} + update hw_device set device_status = '9' where device_id = #{deviceId} @@ -260,6 +260,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join hw_device_mode hdmf on hd.device_mode_id = hdmf.device_mode_id left join hw_tenant ht on hd.tenant_id=ht.tenant_id + and hd.device_status != '9' and hd.device_code like concat('%', #{deviceCode}, '%') and hd.device_name like concat('%', #{deviceName}, '%') and hd.scene_id = #{sceneId} @@ -273,7 +274,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${params.tenantDataScope} + order by hd.device_id desc + \ No newline at end of file diff --git a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwElectronicFenceMapper.xml b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwElectronicFenceMapper.xml index 7324b3f..da75e1b 100644 --- a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwElectronicFenceMapper.xml +++ b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwElectronicFenceMapper.xml @@ -142,7 +142,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{electronicFenceId} - + + + delete from hw_fence_area where electronic_fence_id in + + #{electronicFenceId} + + + delete from hw_fence_target where electronic_fence_id in @@ -201,6 +208,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${params.tenantDataScope} + order by hef.electronic_fence_id desc \ No newline at end of file diff --git a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwMonitorUnitMapper.xml b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwMonitorUnitMapper.xml index 9fb0b4e..f4580e5 100644 --- a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwMonitorUnitMapper.xml +++ b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwMonitorUnitMapper.xml @@ -321,6 +321,17 @@ + + + + + update hw_monitor_unit set monitor_unit_status = '9' where monitor_unit_id = #{monitorUnitId} + \ No newline at end of file diff --git a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwSceneMapper.xml b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwSceneMapper.xml index 92c625f..fc55935 100644 --- a/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwSceneMapper.xml +++ b/ruoyi-modules/hw-business/src/main/resources/mapper/business/HwSceneMapper.xml @@ -67,7 +67,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and b.contact_phone like concat('%', #{contactPhone}, '%') and a.scene_mode_id = #{sceneModeId} and a.default_flag = #{defaultFlag} - and a.tenant_id = #{tenantId} + and a.tenant_id = #{tenantId} + and scene_status = #{sceneStatus} order by a.scene_id desc diff --git a/ruoyi-ui/src/api/business/device.js b/ruoyi-ui/src/api/business/device.js index 2226a7b..461f1c4 100644 --- a/ruoyi-ui/src/api/business/device.js +++ b/ruoyi-ui/src/api/business/device.js @@ -37,9 +37,9 @@ export function updateDevice(data) { } // 删除设备信息 -export function delDevice(deviceId) { +export function delDevice(deviceId, deviceType) { return request({ - url: '/business/device/' + deviceId, + url: '/business/device/' + deviceId + "/" + deviceType, method: 'delete' }) } diff --git a/ruoyi-ui/src/views/business/device/index.vue b/ruoyi-ui/src/views/business/device/index.vue index 3679bd7..502f662 100644 --- a/ruoyi-ui/src/views/business/device/index.vue +++ b/ruoyi-ui/src/views/business/device/index.vue @@ -28,7 +28,7 @@ - + - - - - - - - 搜索 重置 @@ -296,7 +284,7 @@ - + { this.editedScenes = response.data; }); @@ -709,9 +702,11 @@ export default { }, /** 删除按钮操作 */ handleDelete(row) { - const deviceIds = row.deviceId || this.ids; - this.$modal.confirm('是否确认删除设备信息编号为"' + deviceIds + '"的数据项?').then(function () { - return delDevice(deviceIds); + const deviceId = row.deviceId; + const deviceType = row.deviceType; + const deviceCode = row.deviceCode; + this.$modal.confirm('是否确认删除设备信息编号为"' + deviceCode + '"的数据项?').then(function () { + return delDevice(deviceId,deviceType); }).then(() => { this.getList(); this.$modal.msgSuccess("删除成功"); diff --git a/ruoyi-ui/src/views/business/deviceMode/editDeviceMode.vue b/ruoyi-ui/src/views/business/deviceMode/editDeviceMode.vue index 8b785ed..6c1dd12 100644 --- a/ruoyi-ui/src/views/business/deviceMode/editDeviceMode.vue +++ b/ruoyi-ui/src/views/business/deviceMode/editDeviceMode.vue @@ -257,7 +257,7 @@ - + diff --git a/ruoyi-ui/src/views/business/electronicFence/index.vue b/ruoyi-ui/src/views/business/electronicFence/index.vue index 7718747..bd7dfce 100644 --- a/ruoyi-ui/src/views/business/electronicFence/index.vue +++ b/ruoyi-ui/src/views/business/electronicFence/index.vue @@ -1,6 +1,6 @@