Commit 63475c9f authored by lilongyang's avatar lilongyang

1、全域、片区设备健康指数代码修改

parent 47e12325
......@@ -17,7 +17,6 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
......@@ -461,7 +460,7 @@ public class TDBigScreenAnalyseController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "全域片区设备健康状态指数 ", notes = "全域片区设备健康状态指数 ")
@GetMapping(value = "/getAreaHealthInfoByMinute")
public ResponseModel<Map<String, Object>> getHealthInfoByAreaAndMinute() {
public ResponseModel<Map<String, Object>> getAreaHealthInfoByMinute() {
LambdaQueryWrapper<FanHealthIndex> wrapper = new LambdaQueryWrapper<FanHealthIndex>();
wrapper.orderByDesc(FanHealthIndex::getTs);
wrapper.eq(FanHealthIndex::getAnalysisType, "按10分钟");
......@@ -475,12 +474,10 @@ public class TDBigScreenAnalyseController extends BaseController {
.get()).collect(Collectors.toMap(FanHealthIndex::getArea, Function.identity()));
List<String> axisData = latestData.values().stream().map(t -> t.getArea()).collect(Collectors.toList());
List<String> list = Arrays.asList("华北区域", "东北区域", "华东区域", "华南区域", "西南区域", "西北区域", "华中区域");
List<String> finalList = Stream.concat(axisData.stream(),list.stream()).distinct().collect(Collectors.toList());
List<String> finalList = Stream.concat(list.stream(),axisData.stream()).distinct().collect(Collectors.toList());
List<Object> seriesData = new ArrayList<>();
latestData.values().forEach(item -> {
Predicate<String> condition = finalList::contains;
seriesData.add(condition.test(item.getArea()) ? String.valueOf(BigDecimal.valueOf(item.getHealthIndex())) : "100.0");
});
finalList.forEach(item ->
seriesData.add(latestData.get(item) == null ? "100.0":String.valueOf(BigDecimal.valueOf(latestData.get(item).getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP))));
resultMap.put("axisData", finalList);
resultMap.put("seriesData", seriesData);
return ResponseHelper.buildResponse(resultMap);
......@@ -491,7 +488,7 @@ public class TDBigScreenAnalyseController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "片区场站设备健康状态指数 ", notes = "片区场站设备健康状态指数 ")
@GetMapping(value = "/getStationHealthInfoByMinute")
public ResponseModel<Map<String, Object>> getHealthInfoByStationAndMinute(@RequestParam(required = false) String areaCode) {
public ResponseModel<Map<String, Object>> getStationHealthInfoByMinute(@RequestParam(required = false) String areaCode) {
LambdaQueryWrapper<FanHealthIndex> wrapper = new LambdaQueryWrapper<FanHealthIndex>();
wrapper.orderByDesc(FanHealthIndex::getTs);
wrapper.eq(FanHealthIndex::getAnalysisType, "按10分钟");
......@@ -509,10 +506,10 @@ public class TDBigScreenAnalyseController extends BaseController {
List<PvHealthIndex> pvHealthIndexList = pvHealthIndexMapper.selectList(pvWrapper);
Map<String, List<FanHealthIndex>> fanHealthGroupedData = fanHealthIndexList.stream()
.collect(Collectors.groupingBy(FanHealthIndex::getArea));
.collect(Collectors.groupingBy(FanHealthIndex::getStation));
Map<String, FanHealthIndex> fanHealthLatestData = fanHealthGroupedData.values().stream().map(list -> list.stream()
.max(Comparator.comparing(FanHealthIndex::getTs))
.get()).collect(Collectors.toMap(FanHealthIndex::getArea, Function.identity()));
.get()).collect(Collectors.toMap(FanHealthIndex::getStation, Function.identity()));
Map<String, List<PvHealthIndex>> pvHealthGroupedData = pvHealthIndexList.stream()
.collect(Collectors.groupingBy(PvHealthIndex::getStation));
......@@ -522,10 +519,10 @@ public class TDBigScreenAnalyseController extends BaseController {
List<String> finalAxisData = new ArrayList<>();
List<Object> finaleSeriesData = new ArrayList<>();
finalAxisData.addAll(fanHealthLatestData.values().stream().map(t -> t.getArea()).collect(Collectors.toList()));
finalAxisData.addAll(pvHealthLatestData.values().stream().map(t -> t.getArea()).collect(Collectors.toList()));
finaleSeriesData.addAll(fanHealthLatestData.values().stream().map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex()))).collect(Collectors.toList()));
finaleSeriesData.addAll(pvHealthLatestData.values().stream().map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex()))).collect(Collectors.toList()));
finalAxisData.addAll(fanHealthLatestData.values().stream().map(t -> t.getStation()).collect(Collectors.toList()));
finalAxisData.addAll(pvHealthLatestData.values().stream().map(t -> t.getStation()).collect(Collectors.toList()));
finaleSeriesData.addAll(fanHealthLatestData.values().stream().map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP))).collect(Collectors.toList()));
finaleSeriesData.addAll(pvHealthLatestData.values().stream().map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP))).collect(Collectors.toList()));
resultMap.put("axisData", finalAxisData);
resultMap.put("seriesData", finaleSeriesData);
return ResponseHelper.buildResponse(resultMap);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment