From 18c8b245140247455e2ec0a336d3bc0f1ee9494b Mon Sep 17 00:00:00 2001 From: zhouxinyu <121470181@qq.com> Date: Wed, 12 Feb 2025 09:11:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/DeviceTypeController.java | 35 +++++++++++++++++-- .../business/mapper/DeviceTypeMapper.java | 8 +++++ .../business/mapper/DeviceTypeMapper.xml | 16 +++++++++ .../modules/business/pojo/dto/DeviceDTO.java | 3 ++ .../modules/business/pojo/entity/Device.java | 5 +++ .../business/service/IDeviceTypeService.java | 8 +++++ .../service/impl/DeviceTypeServiceImpl.java | 6 ++-- 7 files changed, 76 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/springblade/modules/business/contraller/DeviceTypeController.java b/src/main/java/org/springblade/modules/business/contraller/DeviceTypeController.java index 63c1333..9eb97af 100644 --- a/src/main/java/org/springblade/modules/business/contraller/DeviceTypeController.java +++ b/src/main/java/org/springblade/modules/business/contraller/DeviceTypeController.java @@ -55,9 +55,10 @@ import java.util.stream.Collectors; public class DeviceTypeController extends BladeController { private final IDeviceTypeService typeService; + private final IDeviceService deviceService; /** - * 设备表 详情 + * 详情 */ @GetMapping("/detail") @ApiOperationSupport(order = 1) @@ -83,7 +84,7 @@ public class DeviceTypeController extends BladeController { /** - * 设备表 新增或修改 + * 新增或修改 */ @PostMapping("/submit") @ApiOperationSupport(order = 6) @@ -94,14 +95,42 @@ public class DeviceTypeController extends BladeController { } /** - * 设备表 删除 + * 删除 */ @PostMapping("/remove") @ApiOperationSupport(order = 7) public R remove(@RequestParam String ids) { + for (Long id : Func.toLongList(ids)) { + // 是否存在关联子项 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(DeviceType.class); + wrapper.eq(DeviceType::getParentId,id); + List list = typeService.list(wrapper); + if (list.size() > 0) { + DeviceType type = typeService.getById(id); + return R.fail(type.getTypeName() + "存在子项,请先解除设备类型关联再进行删除!"); + } + + // 是否存在设备已选择此类型 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(Device.class); + queryWrapper.like(Device::getType,id); + List deviceList = deviceService.list(queryWrapper); + if (deviceList.size() > 0) { + return R.fail("已有设备选择此类型,请勿删除"); + } + } return R.status(typeService.deleteLogic(Func.toLongList(ids))); } + /** + * 获取部门树形结构 + */ + @GetMapping("/tree") + @ApiOperationSupport(order = 4) + @Operation(summary = "树形结构", description = "树形结构") + public R> tree(String tenantId) { + List tree = typeService.tree(tenantId); + return R.data(tree); + } } diff --git a/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.java b/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.java index 8757a91..915d676 100644 --- a/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.java +++ b/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.java @@ -32,4 +32,12 @@ public interface DeviceTypeMapper extends BaseMapper { * @return */ List lazyList(Long parentId, Map param); + + /** + * 获取树形节点 + * + * @param tenantId + * @return + */ + List tree(String tenantId); } diff --git a/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.xml b/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.xml index 635d08c..1692e22 100644 --- a/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/DeviceTypeMapper.xml @@ -16,6 +16,15 @@ + + + + + + + + + + diff --git a/src/main/java/org/springblade/modules/business/pojo/dto/DeviceDTO.java b/src/main/java/org/springblade/modules/business/pojo/dto/DeviceDTO.java index 6440ba1..eb5241c 100644 --- a/src/main/java/org/springblade/modules/business/pojo/dto/DeviceDTO.java +++ b/src/main/java/org/springblade/modules/business/pojo/dto/DeviceDTO.java @@ -35,6 +35,9 @@ public class DeviceDTO extends Device { // 设备类型 private String type; + // 设备类型名称 + private String typeName; + // 供应商 private String supplier; diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/Device.java b/src/main/java/org/springblade/modules/business/pojo/entity/Device.java index c68e8f6..8681b0c 100644 --- a/src/main/java/org/springblade/modules/business/pojo/entity/Device.java +++ b/src/main/java/org/springblade/modules/business/pojo/entity/Device.java @@ -40,6 +40,11 @@ public class Device extends BaseEntity { */ private String type; + /** + * 设备类型名称 + */ + private String typeName; + /** * 设备位置 */ diff --git a/src/main/java/org/springblade/modules/business/service/IDeviceTypeService.java b/src/main/java/org/springblade/modules/business/service/IDeviceTypeService.java index 1ac782a..19c419e 100644 --- a/src/main/java/org/springblade/modules/business/service/IDeviceTypeService.java +++ b/src/main/java/org/springblade/modules/business/service/IDeviceTypeService.java @@ -33,4 +33,12 @@ public interface IDeviceTypeService extends BaseService { */ List lazyList(Long parentId, Map param); + /** + * 树形结构 + * + * @param tenantId + * @return + */ + List tree(String tenantId); + } diff --git a/src/main/java/org/springblade/modules/business/service/impl/DeviceTypeServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/DeviceTypeServiceImpl.java index df0881e..73c9cac 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/DeviceTypeServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/DeviceTypeServiceImpl.java @@ -59,8 +59,6 @@ public class DeviceTypeServiceImpl extends BaseServiceImpl lazyList(Long parentId, Map param) { - Object o = param.get(PARENT_ID); - int size = param.size(); // 判断点击搜索但是没有查询条件的情况 if (Func.isEmpty(param.get(PARENT_ID)) && param.size() == 1) { parentId = 0L; @@ -80,4 +78,8 @@ public class DeviceTypeServiceImpl extends BaseServiceImpl tree(String tenantId) { + return ForestNodeMerger.merge(baseMapper.tree(tenantId)); + } }