diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java index 7f28a62..514e0e8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/impl/board/NoticeBoardServiceImpl.java @@ -167,6 +167,7 @@ QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("is_del","0"); + queryWrapper.isNotNull(columnName); if(CollUtil.isNotEmpty(deptIds)){ queryWrapper.in("dept_id",deptIds); } @@ -178,13 +179,16 @@ queryWrapper.last("limit 8"); List> resMap = equipmentInfoService.listMaps(queryWrapper); - List resList = EquipmentCommonAggr.mapToObjects(resMap); - if(StrUtil.isNotEmpty(dictConvert)){ - for (EquipmentCommonAggr commonAggr : resList) { - commonAggr.setName(dictService.getDictNameByCode(dictConvert,commonAggr.getName())); + List resList = new ArrayList<>(); + if(CollUtil.isNotEmpty(resMap)){ + resList = EquipmentCommonAggr.mapToObjects(resMap); + if(StrUtil.isNotEmpty(dictConvert)){ + for (EquipmentCommonAggr commonAggr : resList) { + commonAggr.setName(dictService.getDictNameByCode(dictConvert,commonAggr.getName())); + } } + resList = resList.stream().filter(i->StrUtil.isNotEmpty(i.getName())).collect(Collectors.toList()); } - resList = resList.stream().filter(i->StrUtil.isNotEmpty(i.getName())).collect(Collectors.toList()); return resList; } @@ -215,6 +219,9 @@ public EquipmentMultiAggr toCheckMultiStatistic(List deptIds) { EquipmentMultiAggr res = new EquipmentMultiAggr(); List list = this.toCheckEquipmentList(deptIds); + if(CollUtil.isEmpty(list)){ + return res; + } list.forEach(i->{ i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); i.setDeptName(permissionContext.getDeptService().getDeptName(i.getDeptId())); @@ -228,10 +235,12 @@ //受检单位/负责人排行榜;单位/部门列表 // 按company排序 - List companyAggrList = getEquipmentRemindCommonAggrs(list,EquipmentRemindList::getCompanyName); + List companyAggrList = getEquipmentRemindCommonAggrs(list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCompanyName())).collect(Collectors.toList()), + EquipmentRemindList::getCompanyName); res.setCompanyAggrList(companyAggrList); // 按负责人排序 - List directorAggrList = getEquipmentRemindCommonAggrs(list,EquipmentRemindList::getDirectorName); + List directorAggrList = getEquipmentRemindCommonAggrs(list.stream().filter(i->ObjectUtil.isNotEmpty(i.getDirectorName())).collect(Collectors.toList()), + EquipmentRemindList::getDirectorName); res.setDircetorAggrList(directorAggrList); // 按设备名称-规格型号-所属单位排序 @@ -281,6 +290,9 @@ QueryWrapper queryWrapper = inCheckQueryWrapper(deptIds); List list = this.noticeBoardMapper.inCheckEquipmentList(queryWrapper); + if(CollUtil.isEmpty(list)){ + return res; + } list.forEach(i->{ i.setCompanyName(permissionContext.getDeptService().getDeptName(i.getCompanyId())); i.setDeptName(permissionContext.getDeptService().getDeptName(i.getDeptId())); @@ -296,10 +308,12 @@ //受检单位/负责人排行榜;单位/部门列表 // 按company排序 - List companyAggrList = getEquipmentCommonAggrs(list,EquipmentBoardList::getCompanyName); + List companyAggrList = getEquipmentCommonAggrs(list.stream().filter(i->ObjectUtil.isNotEmpty(i.getCompanyName())).collect(Collectors.toList()), + EquipmentBoardList::getCompanyName); res.setCompanyAggrList(companyAggrList); // 按负责人排序 - List directorAggrList = getEquipmentCommonAggrs(list,EquipmentBoardList::getDirectorName); + List directorAggrList = getEquipmentCommonAggrs(list.stream().filter(i->ObjectUtil.isNotEmpty(i.getDirectorName())).collect(Collectors.toList()), + EquipmentBoardList::getDirectorName); res.setDircetorAggrList(directorAggrList); // 按设备名称-规格型号-所属单位排序 @@ -334,39 +348,45 @@ @NotNull private List getEquipmentRemindCommonAggrs(List list, Function classifier) { List companyAggrList = new ArrayList<>(); - Map> groupMap = list.stream().collect(Collectors.groupingBy(classifier)); - for (String key : groupMap.keySet()) { - companyAggrList.add(new EquipmentCommonAggr(key,groupMap.get(key).size())); + if (CollUtil.isNotEmpty(list)){ + Map> groupMap = list.stream().collect(Collectors.groupingBy(classifier)); + for (String key : groupMap.keySet()) { + companyAggrList.add(new EquipmentCommonAggr(key,groupMap.get(key).size())); + } + companyAggrList.sort((o1, o2) -> o2.getCount()-o1.getCount()); } - companyAggrList.sort((o1, o2) -> o2.getCount()-o1.getCount()); return companyAggrList; } @NotNull private List getEquipmentCommonAggrs(List list, Function classifier) { List companyAggrList = new ArrayList<>(); - Map> groupMap = list.stream().collect(Collectors.groupingBy(classifier)); - for (String key : groupMap.keySet()) { - companyAggrList.add(new EquipmentCommonAggr(key,groupMap.get(key).size())); + if (CollUtil.isNotEmpty(list)){ + Map> groupMap = list.stream().collect(Collectors.groupingBy(classifier)); + for (String key : groupMap.keySet()) { + companyAggrList.add(new EquipmentCommonAggr(key,groupMap.get(key).size())); + } + companyAggrList.sort((o1, o2) -> o2.getCount()-o1.getCount()); } - companyAggrList.sort((o1, o2) -> o2.getCount()-o1.getCount()); return companyAggrList; } @NotNull private List getEquipmentCommonAggrs(List list, Function classifier,String dictConvert) { List companyAggrList = new ArrayList<>(); - Map> groupMap = list.stream().collect(Collectors.groupingBy(classifier)); - for (String key : groupMap.keySet()) { - String keyName = key; - if(StrUtil.isNotEmpty(dictConvert)){ - keyName = dictService.getDictNameByCode(dictConvert,key); + if(CollUtil.isNotEmpty(list)){ + Map> groupMap = list.stream().collect(Collectors.groupingBy(classifier)); + for (String key : groupMap.keySet()) { + String keyName = key; + if(StrUtil.isNotEmpty(dictConvert)){ + keyName = dictService.getDictNameByCode(dictConvert,key); + } + if(StrUtil.isNotEmpty(keyName)){ + companyAggrList.add(new EquipmentCommonAggr(keyName,groupMap.get(key).size())); + } } - if(StrUtil.isNotEmpty(keyName)){ - companyAggrList.add(new EquipmentCommonAggr(keyName,groupMap.get(key).size())); - } + companyAggrList.sort((o1, o2) -> o2.getCount()-o1.getCount()); } - companyAggrList.sort((o1, o2) -> o2.getCount()-o1.getCount()); return companyAggrList; } @@ -400,6 +420,7 @@ @Override public EquipmentMultiAggr inUseMultiStatistic(List deptIds) { + EquipmentMultiAggr res = new EquipmentMultiAggr(); EquipmentQueryForm queryForm = new EquipmentQueryForm(); if(CollUtil.isEmpty(deptIds)){ deptIds = getScopeOrCurrentDeptIds(); @@ -407,8 +428,11 @@ queryForm.setDeptIds(deptIds); queryForm.setUsageStatus(EquipmentStatusTypeEnum.UNSEAL); List list = equipmentInfoService.list(queryForm); + if(CollUtil.isEmpty(list)){ + return res; + } - EquipmentMultiAggr res = new EquipmentMultiAggr(); + res.setStatistic(getEquipmentCommonAggrs(list,EquipmentInfo::getCategory, MeterDictCode.EQUIPMENT_CATEGORY)); res.setNameAggrList(getEquipmentCommonAggrs(list,EquipmentInfo::getEquipmentName, null)); res.setMeterAggrList(getEquipmentCommonAggrs(list,EquipmentInfo::getMeterIdentify, MeterDictCode.EQUIPMENT_METER_IDENTITY));