Browse Source

修改事件分类统计

master
luyan 2 years ago
parent
commit
24401318b6
  1. 17
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java
  2. 44
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java
  3. 2
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java
  4. 44
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java

17
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 lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.Map;
/** /**
* @author yan Lu * @author yan Lu
@ -25,11 +24,21 @@ public class EventAnalysisResultDTO implements Serializable {
/** /**
* 网格化平台数量 * 网格化平台数量
*/ */
private Integer wangGeHua; private Integer wangGeHua;
/**
* 红灯占比
*/
private Double daiChuLiRate;
/**
* 黄灯占比
*/
private Double chuLiZhongRate;
/** /**
* 分类统计数量 * 蓝灯占比
*/ */
private Map<String, Integer> categoryCount; private Double yiJieAnRate;
} }

44
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 lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @author yan Lu * @author yan Lu
@ -24,26 +25,53 @@ public class EventRateResultDTO implements Serializable {
* 红灯数量 * 红灯数量
*/ */
private Integer hongDeng; private Integer hongDeng;
/**
* 红灯占比
*/
private Double hongDengRate;
/** /**
* 黄灯数量 * 黄灯数量
*/ */
private Integer huangDeng; private Integer huangDeng;
/**
* 黄灯占比
*/
private Double huangDengRate;
/** /**
* 蓝灯数量 * 蓝灯数量
*/ */
private Integer lanDeng; private Integer lanDeng;
/**
* 红灯占比
*/
private Double hongDengRate;
/**
* 黄灯占比
*/
private Double huangDengRate;
/** /**
* 蓝灯占比 * 蓝灯占比
*/ */
private Double lanDengRate; private Double lanDengRate;
/**
* 分类统计数量
*/
private List<EventRateResultDTO.Category> category;
@Data
public static class Category {
/**
* 分类编码
*/
private String code;
/**
* 分类名称
*/
private String name;
/**
* 分类数量
*/
private Integer value;
}
} }

2
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 * @param * @param null
* @return Result * @return Result
* @throws * @throws

44
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<IcEventDao, IcEventEntit
@Override @Override
public EventRateResultDTO getEventRate(String orgId, String orgType) { public EventRateResultDTO getEventRate(String orgId, String orgType) {
return baseDao.getEventRate(getOrgPath(orgId, orgType)); EventRateResultDTO erDto = baseDao.getEventRate(getOrgPath(orgId, orgType));//事件总量和灯数量,占比
List<Map<String, Integer>> dataMap = baseDao.getAnalysis(getOrgPath(orgId, orgType));//按分类获取数量
Map<String, Integer> temp = new HashMap<>();
if (null != dataMap && dataMap.size() > 0) {
for (Map<String, Integer> map : dataMap) {
temp.put(String.valueOf(map.get("code")), Integer.valueOf(String.valueOf(map.get("total"))));
}
}
Result<Map<String, String>> categoryMap = govIssueOpenFeignClient.getCategoryMap(EpmetRequestHolder.getLoginUserCustomerId());
if (null != categoryMap && categoryMap.getData().size() > 0) {
Map<String, String> map = categoryMap.getData();
List<EventRateResultDTO.Category> 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 @Override
public EventAnalysisResultDTO getEventAnalysis(String orgId, String orgType) { public EventAnalysisResultDTO getEventAnalysis(String orgId, String orgType) {
EventAnalysisResultDTO dto = baseDao.getEventAnalysis(getOrgPath(orgId,orgType)); EventRateResultDTO erDto = baseDao.getEventRate(getOrgPath(orgId, orgType));//事件总量和灯数量,占比
Result<Map<String, String>> categoryMap = govIssueOpenFeignClient.getCategoryMap(EpmetRequestHolder.getLoginUserCustomerId()); EventAnalysisResultDTO dto = baseDao.getEventAnalysis(getOrgPath(orgId, orgType));
if (null != categoryMap && categoryMap.getData().size() > 0) { dto.setDaiChuLiRate(erDto.getHongDengRate() == null ? 0 : erDto.getHongDengRate());
List<Map<String,Integer>> dataMap = baseDao.getAnalysis(getOrgPath(orgId,orgType)); dto.setChuLiZhongRate(erDto.getHuangDengRate() == null ? 0 : erDto.getHuangDengRate());
if (null != dataMap && dataMap.size() > 0) { dto.setYiJieAnRate(erDto.getLanDengRate() == null ? 0 : erDto.getLanDengRate());
Map<String, Integer> merged = new HashMap<>();
dataMap.forEach(merged::putAll);
dto.setCategoryCount(merged);
}
}
return dto; return dto;
} }

Loading…
Cancel
Save