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; }