diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 660952b..a66a631 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -145,7 +145,7 @@ Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); }); - return ResponseData.success(alarmRecordService.typeStatistics(alarmStatisticsDTO)); + return ResponseData.success(alarmRecordService.typeStatistics(alarmStatisticsDTO)); } /** diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java index 660952b..a66a631 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordController.java @@ -145,7 +145,7 @@ Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); }); - return ResponseData.success(alarmRecordService.typeStatistics(alarmStatisticsDTO)); + return ResponseData.success(alarmRecordService.typeStatistics(alarmStatisticsDTO)); } /** diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml index 194dc2e..7e97d2e 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRecordMapper.xml @@ -139,7 +139,7 @@ SELECT ALARM_TYPE AS alarmType ,count(ar.id) AS count FROM alarm_record ar - JOIN ( + JOIN ( SELECT id,STATION_ID FROM bus_monipoi_info WHERE VALID = 0 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java index df9fb2e..a571338 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRecordServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDictService; @@ -199,19 +200,19 @@ */ private List doAlarmStatisticsByType(List> typeStatisticMaps) { List dictList = dictService.findInDictByCode(DictEnum.ALARM_TYPE); - Map alarmTypeMap = dictList.stream().collect( - Collectors.toMap(Dict::getCode, Dict::getName)); + Map alarmTypeMap = typeStatisticMaps.stream().collect( + Collectors.toMap(e1 -> String.valueOf(e1.get("alarmType")), e2 -> String.valueOf(e2.get("count")))); + List alarmTypeStatisticsVOS = new ArrayList<>(); - for (Map typeStatisticMap : typeStatisticMaps) { - AlarmTypeStatisticsVO alarmTypeStatisticsVO = new AlarmTypeStatisticsVO(); - String alarmType = String.valueOf(typeStatisticMap.get("alarmType")); - if (StringUtils.isNotEmpty(alarmType) && alarmTypeMap.containsKey(alarmType)) { - alarmTypeStatisticsVO.setType(alarmTypeMap.get(alarmType)); - alarmTypeStatisticsVO.setNum(typeStatisticMap.containsKey("count") - ? Integer.valueOf(String.valueOf(typeStatisticMap.get("count"))) : 0); - alarmTypeStatisticsVOS.add(alarmTypeStatisticsVO); - } - } + dictList.forEach( + dict -> { + Object alarmCount = alarmTypeMap.get(dict.getCode()); + AlarmTypeStatisticsVO alarmTypeStatisticsVO = new AlarmTypeStatisticsVO(); + alarmTypeStatisticsVO.setType(dict.getName()); + alarmTypeStatisticsVO.setNum(ObjectUtils.isNotEmpty(alarmCount)? Integer.valueOf(String.valueOf(alarmCount)) : 0); + alarmTypeStatisticsVOS.add(alarmTypeStatisticsVO); + } + ); return alarmTypeStatisticsVOS; }