From 24401318b66758bbba06a5b5af2cf0e0e56dc21e Mon Sep 17 00:00:00 2001 From: luyan Date: Thu, 18 May 2023 14:39:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=8B=E4=BB=B6=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/result/EventAnalysisResultDTO.java | 17 +++++-- .../epmet/dto/result/EventRateResultDTO.java | 44 +++++++++++++++---- .../epmet/controller/IcEventController.java | 2 +- .../service/impl/IcEventServiceImpl.java | 44 ++++++++++++++----- 4 files changed, 83 insertions(+), 24 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java index 80f8b2f938..906e984e35 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java @@ -3,7 +3,6 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; -import java.util.Map; /** * @author yan Lu @@ -25,11 +24,21 @@ public class EventAnalysisResultDTO implements Serializable { /** * 网格化平台数量 */ - private Integer wangGeHua; + + /** + * 红灯占比 + */ + private Double daiChuLiRate; + + /** + * 黄灯占比 + */ + private Double chuLiZhongRate; + /** - * 分类统计数量 + * 蓝灯占比 */ - private Map categoryCount; + private Double yiJieAnRate; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java index a931447009..bea7f93e10 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @author yan Lu @@ -24,26 +25,53 @@ public class EventRateResultDTO implements Serializable { * 红灯数量 */ private Integer hongDeng; - /** - * 红灯占比 - */ - private Double hongDengRate; + /** * 黄灯数量 */ private Integer huangDeng; - /** - * 黄灯占比 - */ - private Double huangDengRate; + /** * 蓝灯数量 */ private Integer lanDeng; + + /** + * 红灯占比 + */ + private Double hongDengRate; + + /** + * 黄灯占比 + */ + private Double huangDengRate; + /** * 蓝灯占比 */ private Double lanDengRate; + /** + * 分类统计数量 + */ + private List category; + + @Data + public static class Category { + /** + * 分类编码 + */ + private String code; + + /** + * 分类名称 + */ + private String name; + + /** + * 分类数量 + */ + private Integer value; + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java index 60e5b7b12c..dd31462f70 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java @@ -560,7 +560,7 @@ public class IcEventController { } /** - * @description 获取事件数量和占比率 + * @description 获取事件数量和分类数量 * @param * @param null * @return Result * @throws diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index 73648097d0..0b2fbb6e0f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -1925,21 +1925,43 @@ public class IcEventServiceImpl extends BaseServiceImpl> dataMap = baseDao.getAnalysis(getOrgPath(orgId, orgType));//按分类获取数量 + Map temp = new HashMap<>(); + if (null != dataMap && dataMap.size() > 0) { + for (Map map : dataMap) { + temp.put(String.valueOf(map.get("code")), Integer.valueOf(String.valueOf(map.get("total")))); + } + } + Result> categoryMap = govIssueOpenFeignClient.getCategoryMap(EpmetRequestHolder.getLoginUserCustomerId()); + if (null != categoryMap && categoryMap.getData().size() > 0) { + Map map = categoryMap.getData(); + List categoryList = new ArrayList<>(); + map.keySet().forEach(key -> { + EventRateResultDTO.Category category = new EventRateResultDTO.Category(); + if (null != temp.get(key)) { + category.setCode(key); + category.setName(map.get(key)); + category.setValue(Integer.valueOf(temp.get(key))); + } else { + category.setCode(key); + category.setName(map.get(key)); + category.setValue(0); + } + categoryList.add(category); + }); + erDto.setCategory(categoryList); + } + return erDto; } @Override public EventAnalysisResultDTO getEventAnalysis(String orgId, String orgType) { - EventAnalysisResultDTO dto = baseDao.getEventAnalysis(getOrgPath(orgId,orgType)); - Result> categoryMap = govIssueOpenFeignClient.getCategoryMap(EpmetRequestHolder.getLoginUserCustomerId()); - if (null != categoryMap && categoryMap.getData().size() > 0) { - List> dataMap = baseDao.getAnalysis(getOrgPath(orgId,orgType)); - if (null != dataMap && dataMap.size() > 0) { - Map merged = new HashMap<>(); - dataMap.forEach(merged::putAll); - dto.setCategoryCount(merged); - } - } + EventRateResultDTO erDto = baseDao.getEventRate(getOrgPath(orgId, orgType));//事件总量和灯数量,占比 + EventAnalysisResultDTO dto = baseDao.getEventAnalysis(getOrgPath(orgId, orgType)); + dto.setDaiChuLiRate(erDto.getHongDengRate() == null ? 0 : erDto.getHongDengRate()); + dto.setChuLiZhongRate(erDto.getHuangDengRate() == null ? 0 : erDto.getHuangDengRate()); + dto.setYiJieAnRate(erDto.getLanDengRate() == null ? 0 : erDto.getLanDengRate()); return dto; }