Commit 5591a1ca authored by wujiang's avatar wujiang

修改接口慢

parent c0abace9
......@@ -55,7 +55,7 @@
LEFT JOIN hygf_work_order ON hygf_work_order.sequence_nbr = bga.work_order_id
<where>
bga.is_delete = 0
AND bga.acceptance_status IS NOT NULL AND bga.acceptance_status != ''
AND bga.acceptance_status IS NOT NULL AND bga.acceptance_status != '' AND bga.acceptance_status !=12
<if test="param != null">
<if test="param.sequenceNbr != null and param.sequenceNbr != ''">
AND bga.sequence_nbr = #{param.sequenceNbr}
......
......@@ -162,7 +162,7 @@ public class TDBigScreenAnalyseController extends BaseController {
wrapper.eq(FanHealthIndex::getAnalysisObjType, "场站");
wrapper.eq(FanHealthIndex::getGatewayId, stationCode);
FanHealthIndex fanHealthIndex = fanHealthIndexMapper.selectOne(wrapper);
//预防空指针
// 预防空指针
if (Objects.isNull(fanHealthIndex)) {
stringBigDecimalHashMap.put("value", "");
} else {
......@@ -176,7 +176,7 @@ public class TDBigScreenAnalyseController extends BaseController {
pvwrapper.orderByDesc(PvHealthIndex::getTs);
pvwrapper.last("limit 1");
PvHealthIndex pvHealthIndex = pvHealthIndexMapper.selectOne(pvwrapper);
//预防空指针
// 预防空指针
if (Objects.isNull(pvHealthIndex)) {
stringBigDecimalHashMap.put("value", "");
} else {
......@@ -196,7 +196,8 @@ public class TDBigScreenAnalyseController extends BaseController {
}
FanHealthIndex fanHealthIndex = fanHealthIndexMapper.selectOne(wrapper);
stringBigDecimalHashMap.put("value", BigDecimal.valueOf(fanHealthIndex.getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP));
stringBigDecimalHashMap.put("value",
BigDecimal.valueOf(fanHealthIndex.getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP));
return ResponseHelper.buildResponse(stringBigDecimalHashMap);
}
......@@ -287,7 +288,6 @@ public class TDBigScreenAnalyseController extends BaseController {
return ResponseHelper.buildResponse(resultMap);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "场站设备健康状态指数与趋势 - 折线图", notes = "场站设备健康状态指数与趋势 - 折线图")
@GetMapping(value = "/getHealthListInfoByMinute")
......@@ -333,8 +333,10 @@ public class TDBigScreenAnalyseController extends BaseController {
wrapper.eq(FanHealthIndex::getAnalysisObjType, "场站");
wrapper.eq(FanHealthIndex::getGatewayId, finalStationCode);
List<FanHealthIndex> fanHealthIndexList = fanHealthIndexMapper.selectList(wrapper);
valueList = fanHealthIndexList.stream().map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex())
.setScale(1, BigDecimal.ROUND_HALF_UP))).collect(Collectors.toList());
valueList = fanHealthIndexList.stream()
.map(t -> String
.valueOf(BigDecimal.valueOf(t.getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP)))
.collect(Collectors.toList());
dateList = fanHealthIndexList.stream().map(t -> t.getRecDate()).collect(Collectors.toList());
} else {
......@@ -344,8 +346,10 @@ public class TDBigScreenAnalyseController extends BaseController {
pvwrapper.orderByDesc(PvHealthIndex::getTs);
pvwrapper.last("limit 15");
List<PvHealthIndex> pvHealthIndexList = pvHealthIndexMapper.selectList(pvwrapper);
valueList = pvHealthIndexList.stream().map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex())
.setScale(1, BigDecimal.ROUND_HALF_UP))).collect(Collectors.toList());
valueList = pvHealthIndexList.stream()
.map(t -> String
.valueOf(BigDecimal.valueOf(t.getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP)))
.collect(Collectors.toList());
dateList = pvHealthIndexList.stream().map(t -> t.getRecDate()).collect(Collectors.toList());
}
stringStringHashMap.put("data", valueList);
......@@ -362,8 +366,9 @@ public class TDBigScreenAnalyseController extends BaseController {
}
List<FanHealthIndex> fanHealthIndexList = fanHealthIndexMapper.selectList(wrapper);
valueList = fanHealthIndexList.stream().map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex())
.setScale(1, BigDecimal.ROUND_HALF_UP))).collect(Collectors.toList());
valueList = fanHealthIndexList.stream()
.map(t -> String.valueOf(BigDecimal.valueOf(t.getHealthIndex()).setScale(1, BigDecimal.ROUND_HALF_UP)))
.collect(Collectors.toList());
dateList = fanHealthIndexList.stream().map(t -> t.getRecDate()).collect(Collectors.toList());
stringStringHashMap.put("data", valueList);
arrayList.add(stringStringHashMap);
......@@ -455,7 +460,6 @@ public class TDBigScreenAnalyseController extends BaseController {
List<String> list = new ArrayList<>();
list = Arrays.asList("华北区域", "东北区域", "华东区域", "华南区域", "西南区域", "西北区域", "华中区域");
List<Object> seriesData = new ArrayList<>();
......@@ -465,7 +469,6 @@ public class TDBigScreenAnalyseController extends BaseController {
return ResponseHelper.buildResponse(resultMap);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "全域片区设备健康状态指数 ", notes = "全域片区设备健康状态指数 ")
@GetMapping(value = "/getAreaHealthInfoByMinute")
......@@ -474,69 +477,97 @@ public class TDBigScreenAnalyseController extends BaseController {
wrapper.orderByDesc(FanHealthIndex::getTs);
wrapper.eq(FanHealthIndex::getAnalysisType, "按10分钟");
wrapper.eq(FanHealthIndex::getAnalysisObjType, "片区");
List<FanHealthIndex> fanHealthIndexList = fanHealthIndexMapper.selectList(wrapper);
wrapper.last("limit 1");
FanHealthIndex fanHealthIndex = fanHealthIndexMapper.selectOne(wrapper);
LambdaQueryWrapper<FanHealthIndex> wrapperl = new LambdaQueryWrapper<FanHealthIndex>();
wrapperl.eq(FanHealthIndex::getAnalysisType, "按10分钟");
wrapperl.eq(FanHealthIndex::getAnalysisObjType, "片区");
wrapperl.eq(FanHealthIndex::getAnalysisTime, fanHealthIndex.getAnalysisTime());
List<FanHealthIndex> fanHealthIndexList = fanHealthIndexMapper.selectList(wrapperl);
Map<String, Object> resultMap = new HashMap<>();
Map<String, List<FanHealthIndex>> groupedData = fanHealthIndexList.stream()
.collect(Collectors.groupingBy(FanHealthIndex::getArea));
Map<String, FanHealthIndex> latestData = groupedData.values().stream().map(list -> list.stream()
.max(Comparator.comparing(FanHealthIndex::getTs))
.get()).collect(Collectors.toMap(FanHealthIndex::getArea, Function.identity()));
Map<String, FanHealthIndex> latestData = groupedData.values().stream()
.map(list -> list.stream().max(Comparator.comparing(FanHealthIndex::getTs)).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(list.stream(), axisData.stream()).distinct().collect(Collectors.toList());
List<String> finalList = Stream.concat(list.stream(), axisData.stream()).distinct()
.collect(Collectors.toList());
List<Object> seriesData = new ArrayList<>();
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))));
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);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "片区场站设备健康状态指数 ", notes = "片区场站设备健康状态指数 ")
@GetMapping(value = "/getStationHealthInfoByMinute")
public ResponseModel<Map<String, Object>> getStationHealthInfoByMinute(@RequestParam(required = false) String areaCode) {
public ResponseModel<Map<String, Object>> getStationHealthInfoByMinute(
@RequestParam(required = false) String areaCode) {
Map<String, Object> resultMap = new HashMap<>();
LambdaQueryWrapper<FanHealthIndex> wrapper = new LambdaQueryWrapper<FanHealthIndex>();
wrapper.orderByDesc(FanHealthIndex::getTs);
wrapper.eq(FanHealthIndex::getAnalysisType, "按10分钟");
wrapper.eq(FanHealthIndex::getAnalysisObjType, "场站");
wrapper.like(FanHealthIndex::getArea, "%" + areaCode + "%");
wrapper.eq(FanHealthIndex::getAnalysisObjType, "片区");
wrapper.last("limit 1");
FanHealthIndex fanHealthIndex = fanHealthIndexMapper.selectOne(wrapper);
Map<String, Object> resultMap = new HashMap<>();
LambdaQueryWrapper<FanHealthIndex> wrapperl = new LambdaQueryWrapper<FanHealthIndex>();
wrapperl.eq(FanHealthIndex::getAnalysisType, "按10分钟");
wrapperl.eq(FanHealthIndex::getAnalysisObjType, "场站");
wrapperl.like(FanHealthIndex::getArea, areaCode);
wrapperl.eq(FanHealthIndex::getAnalysisTime, fanHealthIndex.getAnalysisTime());
List<FanHealthIndex> fanHealthIndexList = fanHealthIndexMapper.selectList(wrapper);
LambdaQueryWrapper<PvHealthIndex> wrapper1 = new LambdaQueryWrapper<PvHealthIndex>();
wrapper1.orderByDesc(PvHealthIndex::getTs);
wrapper1.eq(PvHealthIndex::getAnalysisType, "按10分钟");
wrapper1.eq(PvHealthIndex::getAnalysisObjType, "片区");
wrapper1.last("limit 1");
PvHealthIndex pvHealthIndex = pvHealthIndexMapper.selectOne(wrapper1);
LambdaQueryWrapper<PvHealthIndex> pvWrapper = new LambdaQueryWrapper<PvHealthIndex>();
pvWrapper.orderByDesc(PvHealthIndex::getTs);
pvWrapper.eq(PvHealthIndex::getAnalysisType, "按10分钟");
pvWrapper.eq(PvHealthIndex::getAnalysisObjType, "场站");
pvWrapper.like(PvHealthIndex::getArea, "%" + areaCode + "%");
pvWrapper.like(PvHealthIndex::getArea, areaCode);
pvWrapper.eq(PvHealthIndex::getAnalysisTime, pvHealthIndex.getAnalysisTime());
List<PvHealthIndex> pvHealthIndexList = pvHealthIndexMapper.selectList(pvWrapper);
Map<String, List<FanHealthIndex>> fanHealthGroupedData = fanHealthIndexList.stream()
.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::getStation, Function.identity()));
Map<String, FanHealthIndex> fanHealthLatestData = fanHealthGroupedData.values().stream()
.map(list -> list.stream().max(Comparator.comparing(FanHealthIndex::getTs)).get())
.collect(Collectors.toMap(FanHealthIndex::getStation, Function.identity()));
Map<String, List<PvHealthIndex>> pvHealthGroupedData = pvHealthIndexList.stream()
.collect(Collectors.groupingBy(PvHealthIndex::getStation));
Map<String, PvHealthIndex> pvHealthLatestData = pvHealthGroupedData.values().stream().map(list -> list.stream()
.max(Comparator.comparing(PvHealthIndex::getTs))
.get()).collect(Collectors.toMap(PvHealthIndex::getStation, Function.identity()));
Map<String, PvHealthIndex> pvHealthLatestData = pvHealthGroupedData.values().stream()
.map(list -> list.stream().max(Comparator.comparing(PvHealthIndex::getTs)).get())
.collect(Collectors.toMap(PvHealthIndex::getStation, Function.identity()));
List<String> finalAxisData = new ArrayList<>();
List<Object> finaleSeriesData = new ArrayList<>();
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()));
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);
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "全域各场站设备实时预警处置信息", notes = "全域各场站设备实时预警处置信息")
@GetMapping(value = "/getEquipWarningInfoByPage")
......@@ -1594,7 +1625,6 @@ public class TDBigScreenAnalyseController extends BaseController {
Map<String, Object> resultMap = new HashMap<>();
List<FanHealthIndex> fanHealthIndexList = fanHealthIndexMapper.selectList(lambdaQueryWrapper);
List<String> time = new ArrayList<>();
List<Object> valueList = new ArrayList<>();
fanHealthIndexList.forEach(item -> {
......
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