Commit 5591a1ca authored by wujiang's avatar wujiang

修改接口慢

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