From 210bf45c81a744ffcbddeb684c724251abb17768 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Thu, 18 Sep 2025 14:08:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A3=85=E5=A4=87=E4=B8=93?= =?UTF-8?q?=E4=B8=9A=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E8=A3=85=E5=A4=87=E7=8A=B6=E6=80=81=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/controller/DevInfoController.java | 13 ++++++-- .../device/service/DevInfoService.java | 2 ++ .../service/impl/DevInfoServiceImpl.java | 33 +++++++++++++++++-- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java index 0982988..c95aa90 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevInfoController.java @@ -196,14 +196,23 @@ public class DevInfoController extends BaseController { } /** - * 统计装备 + * 装备状态统计 */ - @ApiOperation(value = "装备统计") + @ApiOperation(value = "装备状态统计") @GetMapping("/sumType") public AjaxResult sumType() { return success(devInfoService.sumType()); } + /** + * 装备专业统计 + */ + @ApiOperation(value = "装备专业统计") + @GetMapping("/sumProfession") + public AjaxResult sumProfession() { + return success(devInfoService.sumProfession()); + } + /** * 导出设备信息列表 */ diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java index 66b76c2..5d6205f 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevInfoService.java @@ -90,6 +90,8 @@ public interface DevInfoService { Map sumType(); + Map sumProfession(); + List selectDevInfoLists(DevInfoVo devInfo); /** diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java index 58c5fd0..a404555 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevInfoServiceImpl.java @@ -679,7 +679,7 @@ public class DevInfoServiceImpl implements DevInfoService { /** - * 统计装备 + * 装备状态统计 */ @Override public Map sumType() { @@ -687,15 +687,42 @@ public class DevInfoServiceImpl implements DevInfoService { Map sumTypeMap = new IdentityHashMap<>(); //获取所有的装备信息 List devInfoList = devInfoMapper.selectDevInfoList(devInfoVo); - //获取每种状态列表 + //获取每种状态列表(过滤掉状态为null的记录) Map> groupedByMaStatus = devInfoList.stream() + .filter(dev -> dev.getMaStatus() != null) .collect(Collectors.groupingBy(DevInfo::getMaStatus)); //获取所有的key Set keys = groupedByMaStatus.keySet(); //根据key计算每种状态的数量 for (Integer key : keys) { List deviceList = groupedByMaStatus.get(key); - sumTypeMap.put(MaStatusEnum.getNameByCode(key), deviceList.size()); + String statusName = MaStatusEnum.getNameByCode(key); + if (statusName != null) { + sumTypeMap.put(statusName, deviceList.size()); + } + } + return sumTypeMap; + } + + /** + * 装备专业统计 + */ + @Override + public Map sumProfession() { + DevInfoVo devInfoVo = new DevInfoVo(); + Map sumTypeMap = new IdentityHashMap<>(); + //获取所有的装备信息 + List devInfoList = devInfoMapper.selectDevInfoList(devInfoVo); + // 获取每种专业的列表(过滤掉专业为null的记录) + Map> groupedByProfession = devInfoList.stream() + .filter(dev -> dev.getProfession() != null) + .collect(Collectors.groupingBy(DevInfoVo::getProfession)); + //获取所有的key + Set professionKeys = groupedByProfession.keySet(); + //根据key计算每种专业的数量 + for (String professionKey : professionKeys) { + List professionList = groupedByProfession.get(professionKey); + sumTypeMap.put(professionKey, professionList.size()); } return sumTypeMap; }