zbj//1.稳态指标超标占比(负荷类型)

This commit is contained in:
zhangbaojian
2023-04-07 14:17:51 +08:00
parent 26b19bbb0a
commit 24a12ec54f
7 changed files with 116 additions and 13 deletions

View File

@@ -14,4 +14,7 @@ import java.util.List;
public interface LargeScreenService {
List<HomeostasisAreaVO> getHomeostasisArea(LargeScreenParam largeScreenParam);
List<HomeostasisAreaVO> getHomeostasisLoad(LargeScreenParam largeScreenParam);
}

View File

@@ -62,21 +62,77 @@ public class LargeScreenServiceImpl implements LargeScreenService {
List<Map<String, Object>> homeostasisArea = largeScreenMapper.getHomeostasisArea(indexIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
float f = 0.0f;
for (int i = 0; i < generalDeviceDTOList.size(); i++) {
for (Map<String, Object> map : homeostasisArea) {
if (Objects.equals(generalDeviceDTO.getIndex(), map.get("id"))) {
if (Objects.equals(generalDeviceDTOList.get(i).getIndex(), map.get("id"))) {
HomeostasisAreaVO homeostasisAreaVO = new HomeostasisAreaVO();
homeostasisAreaVO.setName(generalDeviceDTO.getName());
homeostasisAreaVO.setAvg(map.get("avg").toString());
homeostasisAreaVO.setName(generalDeviceDTOList.get(i).getName());
f = Float.parseFloat(map.get("avg").toString()) * 100;
homeostasisAreaVO.setAvg(String.valueOf(f));
result.add(homeostasisAreaVO);
} else {
HomeostasisAreaVO homeostasisAreaVO = new HomeostasisAreaVO();
homeostasisAreaVO.setName(generalDeviceDTO.getName());
homeostasisAreaVO.setAvg("0");
result.add(homeostasisAreaVO);
}
}
}
}
List<String> collect = result.stream().map(HomeostasisAreaVO::getName).collect(Collectors.toList());
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
if (!collect.contains(generalDeviceDTO.getName())) {
HomeostasisAreaVO homeostasisAreaVO = new HomeostasisAreaVO();
homeostasisAreaVO.setName(generalDeviceDTO.getName());
homeostasisAreaVO.setAvg("0");
result.add(homeostasisAreaVO);
}
}
return result;
}
/**
* 稳态指标超标占比(负荷类型)
*/
@Override
public List<HomeostasisAreaVO> getHomeostasisLoad(LargeScreenParam largeScreenParam) {
//创建返回VO
List<HomeostasisAreaVO> result = new ArrayList<>();
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
//部门索引
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
//统计类型
SimpleDTO simpleDTO = new SimpleDTO();
simpleDTO.setCode(String.valueOf(StatisticsEnum.LOAD_TYPE));
deviceInfoParam.setStatisticalType(simpleDTO);
//添加时间
deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime());
deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime());
// 获取所有数据
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//部门id集合
List<String> indexIds = generalDeviceDTOList.stream().map(GeneralDeviceDTO::getIndex).collect(Collectors.toList());
List<Map<String, Object>> homeostasisArea = largeScreenMapper.getHomeostasisLoad(indexIds, largeScreenParam.getSearchBeginTime(), largeScreenParam.getSearchEndTime());
float f = 0.0f;
for (int i = 0; i < generalDeviceDTOList.size(); i++) {
for (Map<String, Object> map : homeostasisArea) {
if (Objects.equals(generalDeviceDTOList.get(i).getIndex(), map.get("id"))) {
HomeostasisAreaVO homeostasisAreaVO = new HomeostasisAreaVO();
homeostasisAreaVO.setName(generalDeviceDTOList.get(i).getName());
f = Float.parseFloat(map.get("avg").toString()) * 100;
homeostasisAreaVO.setAvg(String.valueOf(f));
result.add(homeostasisAreaVO);
}
}
}
List<String> collect = result.stream().map(HomeostasisAreaVO::getName).collect(Collectors.toList());
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
if (!collect.contains(generalDeviceDTO.getName())) {
HomeostasisAreaVO homeostasisAreaVO = new HomeostasisAreaVO();
homeostasisAreaVO.setName(generalDeviceDTO.getName());
homeostasisAreaVO.setAvg("0");
result.add(homeostasisAreaVO);
}
}
return result;
}
}