diff --git a/pqs-event/event-common/src/main/java/com/njcn/event/common/service/impl/EventAnalysisServiceImpl.java b/pqs-event/event-common/src/main/java/com/njcn/event/common/service/impl/EventAnalysisServiceImpl.java index 673103e52..6fb18c827 100644 --- a/pqs-event/event-common/src/main/java/com/njcn/event/common/service/impl/EventAnalysisServiceImpl.java +++ b/pqs-event/event-common/src/main/java/com/njcn/event/common/service/impl/EventAnalysisServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.config.GeneralInfo; @@ -940,37 +941,28 @@ public class EventAnalysisServiceImpl implements EventAnalysisService { .le(StringUtils.isNotBlank(statisticsParam.getEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(statisticsParam.getEndTime()))) ); - HttpResult> reason = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()); - HttpResult> type = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()); - List reasonData = reason.getData(); - List typeData = type.getData(); - - Map reasonMap = new LinkedHashMap<>(); - Map typeMap = new LinkedHashMap<>(); - + List reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData(); + Map reasonData = reasonList.stream().collect(Collectors.toMap(DictData::getId, DictData::getName)); + Map reasonMap = convertMap(reasonData); + List advanceTypeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData(); + Map advanceTypeData = advanceTypeList.stream().collect(Collectors.toMap(DictData::getId, DictData::getName)); + Map typeMap = convertMap(advanceTypeData); //添加detail for (RmpEventDetailPO detail : info) { - EventDetail details = null; - if (typeList.contains(detail.getEventType())) { - for (DictData data : reasonData) { - reasonMap.put(data.getName(), 0); - if (detail.getAdvanceReason().equals(data.getId())) { - details = BeanUtil.copyProperties(detail, EventDetail.class); - details.setAdvanceReason(data.getName()); - } - } - for (DictData data : typeData) { - typeMap.put(data.getName(), 0); - if (detail.getAdvanceType().equals(data.getId())) { -// details = BeanUtil.copyProperties(detail, EventDetail.class); - details.setAdvanceType(data.getName()); - } - } - list.add(details); + EventDetail details = BeanUtil.copyProperties(detail, EventDetail.class); + if(StrUtil.isNotBlank(detail.getAdvanceType())){ + details.setAdvanceType(advanceTypeData.get(detail.getAdvanceType())); + }else { + details.setAdvanceType(DicDataEnum.OTHER.getName()); } + if(StrUtil.isNotBlank(detail.getAdvanceReason())){ + details.setAdvanceReason(reasonData.get(detail.getAdvanceReason())); + }else { + details.setAdvanceReason(DicDataEnum.OTHER.getName()); + } + list.add(details); } - //添加reason到map for (EventDetail data : list) { if (reasonMap.get(data.getAdvanceReason()) != null) { @@ -993,10 +985,29 @@ public class EventAnalysisServiceImpl implements EventAnalysisService { } result.setTypes(typesVOS); result.setReason(reasonsVOS); - //result.setDetail(list); return result; } + + /** + * 将原Map的value作为新Map的key,0作为新Map的value + * @param originalMap 原始Map(key和value唯一) + * @return 转换后的新Map + */ + public static Map convertMap(Map originalMap) { + // 创建新的HashMap存储结果 + Map newMap = new HashMap<>(); + + // 遍历原始Map的所有entry + for (Map.Entry entry : originalMap.entrySet()) { + // 原value作为新key,0作为新value + V originalValue = entry.getValue(); + newMap.put(originalValue, 0); + } + + return newMap; + } + /** * 暂降幅值的概率分布函数 *