diff --git a/src/main/java/com/ruoyi/device/controller/DeviceAirTypeGeneralEnumController.java b/src/main/java/com/ruoyi/device/controller/DeviceAirTypeGeneralEnumController.java index 1b2f8ed..0979f08 100644 --- a/src/main/java/com/ruoyi/device/controller/DeviceAirTypeGeneralEnumController.java +++ b/src/main/java/com/ruoyi/device/controller/DeviceAirTypeGeneralEnumController.java @@ -51,14 +51,55 @@ public class DeviceAirTypeGeneralEnumController extends BaseController List voList = DeviceAirTypeGeneralEnumVOConvert.fromList(list); return R.ok(voList); } - /** - * 按厂商分组查询无人机类型(厂商 -> 分类 -> 设备类型) + * 按厂商分组查询无人机类型 * * @return 按厂商分组的无人机类型列表 */ @GetMapping("/vendorGroup") public R> selectAirTypeGeneralEnumGroupByVendor() + { + // 从数据字典获取无人机厂商类型 + R> dictResult = remoteDictService.getDictDataByType("air_vendor_type", SecurityConstants.INNER); + List vendorGroupList = new ArrayList<>(); + + if (dictResult.getData() != null) + { + // 获取所有无人机类型数据 + List allList = airTypeGeneralEnumService.selectAirTypeGeneralEnumList(new DeviceAirTypeGeneralEnumDTO()); + List allVoList = DeviceAirTypeGeneralEnumVOConvert.fromList(allList); + + // 为每个字典项创建分组 + for (SysDictData dictData : dictResult.getData()) + { + AirTypeVendorGroupVO groupVO = new AirTypeVendorGroupVO(); + groupVO.setLabel(dictData.getDictLabel()); + groupVO.setValue(dictData.getDictValue()); + + // 筛选属于当前厂商的无人机类型 + List vendorAirTypes = new ArrayList<>(); + for (AirTypeGeneralEnumVO vo : allVoList) + { + if (dictData.getDictValue().equals(vo.getVendorId().toString())) + { + vendorAirTypes.add(vo); + } + } + + groupVO.setAirTypeList(vendorAirTypes); + vendorGroupList.add(groupVO); + } + } + + return R.ok(vendorGroupList); + } + /** + * 按厂商分组查询无人机类型(厂商 -> 分类 -> 设备类型) + * + * @return 按厂商分组的无人机类型列表 + */ + @GetMapping("/vendorGroupNew") + public R> selectAirTypeGeneralEnumGroupByVendorNew() { // 从数据字典获取无人机厂商类型 R> dictResult = remoteDictService.getDictDataByType("air_vendor_type", SecurityConstants.INNER);