Commit 63475c9f authored by lilongyang's avatar lilongyang

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

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