Commit 4676d3f7 authored by zhangsen's avatar zhangsen

bug修改

parent 6728a876
...@@ -977,4 +977,17 @@ public class BigScreenAnalyseController extends BaseController { ...@@ -977,4 +977,17 @@ public class BigScreenAnalyseController extends BaseController {
} }
return ResponseHelper.buildResponse(maps); return ResponseHelper.buildResponse(maps);
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "风电-场站风速")
@GetMapping("/getFanWindSpeedInfo")
public ResponseModel<Map<String, String>> getFanWindSpeedInfo(@RequestParam("stationId") String stationId) throws Exception {
if (StrUtil.isNotEmpty(stationId)) {
StationBasic stationBasic = stationBasicMapper.selectById(stationId);
stationId = stationBasic.getFanGatewayId();
}
return ResponseHelper.buildResponse(null);
}
} }
...@@ -132,7 +132,15 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -132,7 +132,15 @@ public class HealthStatusIndicatorServiceImpl {
Map<String, Map<String, List<IdxBizPvHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizPvHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizPvHealthIndex::getIndexAddress))); Map<String, Map<String, List<IdxBizPvHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizPvHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizPvHealthIndex::getIndexAddress)));
List<IdxBizPvWarningRecord> idxBizPvWarningRecordList = new ArrayList<>(); List<IdxBizPvWarningRecord> idxBizPvWarningRecordList = new ArrayList<>();
HashMap<String, StationBasic> stationMap = new HashMap<>();
for (String gateWayId : gateWayMaps.keySet()) { for (String gateWayId : gateWayMaps.keySet()) {
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>();
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, gateWayId);
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
stationMap.put(gateWayId, stationBasic);
Map<String, List<IdxBizPvHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId); Map<String, List<IdxBizPvHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) { for (String address : healthDataMaps.keySet()) {
List<IdxBizPvHealthIndex> idxBizPvHealthIndices = healthDataMaps.get(address); List<IdxBizPvHealthIndex> idxBizPvHealthIndices = healthDataMaps.get(address);
...@@ -227,7 +235,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -227,7 +235,7 @@ public class HealthStatusIndicatorServiceImpl {
} }
idxBizPvWarningRecordService.saveBatch(idxBizPvWarningRecordList); idxBizPvWarningRecordService.saveBatch(idxBizPvWarningRecordList);
// 触发风险模型生成预警处置模块的预警记录 // 触发风险模型生成预警处置模块的预警记录
fetchDataPv(idxBizPvWarningRecordList); fetchDataPv(idxBizPvWarningRecordList, stationMap);
} }
...@@ -263,7 +271,15 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -263,7 +271,15 @@ public class HealthStatusIndicatorServiceImpl {
Map<String, Map<String, List<IdxBizPvHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizPvHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizPvHealthIndex::getIndexAddress))); Map<String, Map<String, List<IdxBizPvHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizPvHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizPvHealthIndex::getIndexAddress)));
List<IdxBizPvWarningRecord> idxBizPvWarningRecordList = new ArrayList<>(); List<IdxBizPvWarningRecord> idxBizPvWarningRecordList = new ArrayList<>();
HashMap<String, StationBasic> stationMap = new HashMap<>();
for (String gateWayId : gateWayMaps.keySet()) { for (String gateWayId : gateWayMaps.keySet()) {
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>();
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, gateWayId);
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
stationMap.put(gateWayId, stationBasic);
Map<String, List<IdxBizPvHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId); Map<String, List<IdxBizPvHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) { for (String address : healthDataMaps.keySet()) {
List<IdxBizPvHealthIndex> idxBizPvHealthIndices = healthDataMaps.get(address); List<IdxBizPvHealthIndex> idxBizPvHealthIndices = healthDataMaps.get(address);
...@@ -361,7 +377,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -361,7 +377,7 @@ public class HealthStatusIndicatorServiceImpl {
} }
idxBizPvWarningRecordService.saveBatch(idxBizPvWarningRecordList); idxBizPvWarningRecordService.saveBatch(idxBizPvWarningRecordList);
// 触发风险模型生成预警处置模块的预警记录 // 触发风险模型生成预警处置模块的预警记录
fetchDataPv(idxBizPvWarningRecordList); fetchDataPv(idxBizPvWarningRecordList, stationMap);
} }
/*** /***
...@@ -396,7 +412,15 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -396,7 +412,15 @@ public class HealthStatusIndicatorServiceImpl {
List<IdxBizPvWarningRuleSet> idxBizPvWarningRules = idxBizPvWarningRuleSetMapper.selectList(queryWrapper); List<IdxBizPvWarningRuleSet> idxBizPvWarningRules = idxBizPvWarningRuleSetMapper.selectList(queryWrapper);
Map<String, Map<String, List<IdxBizPvHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizPvHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizPvHealthIndex::getIndexAddress))); Map<String, Map<String, List<IdxBizPvHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizPvHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizPvHealthIndex::getIndexAddress)));
List<IdxBizPvWarningRecord> idxBizPvWarningRecordList = new ArrayList<>(); List<IdxBizPvWarningRecord> idxBizPvWarningRecordList = new ArrayList<>();
HashMap<String, StationBasic> stationMap = new HashMap<>();
for (String gateWayId : gateWayMaps.keySet()) { for (String gateWayId : gateWayMaps.keySet()) {
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>();
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, gateWayId);
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
stationMap.put(gateWayId, stationBasic);
Map<String, List<IdxBizPvHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId); Map<String, List<IdxBizPvHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) { for (String address : healthDataMaps.keySet()) {
List<IdxBizPvHealthIndex> idxBizPvHealthIndices = healthDataMaps.get(address); List<IdxBizPvHealthIndex> idxBizPvHealthIndices = healthDataMaps.get(address);
...@@ -490,7 +514,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -490,7 +514,7 @@ public class HealthStatusIndicatorServiceImpl {
} }
idxBizPvWarningRecordService.saveBatch(idxBizPvWarningRecordList); idxBizPvWarningRecordService.saveBatch(idxBizPvWarningRecordList);
// 触发风险模型生成预警处置模块的预警记录 // 触发风险模型生成预警处置模块的预警记录
fetchDataPv(idxBizPvWarningRecordList); fetchDataPv(idxBizPvWarningRecordList, stationMap);
} }
...@@ -521,7 +545,14 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -521,7 +545,14 @@ public class HealthStatusIndicatorServiceImpl {
Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress))); Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
List<IdxBizFanWarningRecord> idxBizFanWarningRecordList = new ArrayList<>(); List<IdxBizFanWarningRecord> idxBizFanWarningRecordList = new ArrayList<>();
HashMap<String, StationBasic> stationMap = new HashMap<>();
for (String gateWayId : gateWayMaps.keySet()) { for (String gateWayId : gateWayMaps.keySet()) {
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>();
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, gateWayId);
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
stationMap.put(gateWayId, stationBasic);
Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId); Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) { for (String address : healthDataMaps.keySet()) {
List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address); List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address);
...@@ -622,7 +653,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -622,7 +653,7 @@ public class HealthStatusIndicatorServiceImpl {
} }
idxBizFanWarningRecordService.saveBatch(idxBizFanWarningRecordList); idxBizFanWarningRecordService.saveBatch(idxBizFanWarningRecordList);
// 触发风险模型生成预警处置模块的预警记录 // 触发风险模型生成预警处置模块的预警记录
fetchDataFan(idxBizFanWarningRecordList); fetchDataFan(idxBizFanWarningRecordList, stationMap);
} }
/*** /***
...@@ -657,7 +688,15 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -657,7 +688,15 @@ public class HealthStatusIndicatorServiceImpl {
Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress))); Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
List<IdxBizFanWarningRecord> idxBizFanWarningRecordList = new ArrayList<>(); List<IdxBizFanWarningRecord> idxBizFanWarningRecordList = new ArrayList<>();
HashMap<String, StationBasic> stationMap = new HashMap<>();
for (String gateWayId : gateWayMaps.keySet()) { for (String gateWayId : gateWayMaps.keySet()) {
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>();
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, gateWayId);
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
stationMap.put(gateWayId, stationBasic);
Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId); Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) { for (String address : healthDataMaps.keySet()) {
List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address); List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address);
...@@ -751,7 +790,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -751,7 +790,7 @@ public class HealthStatusIndicatorServiceImpl {
} }
idxBizFanWarningRecordService.saveBatch(idxBizFanWarningRecordList); idxBizFanWarningRecordService.saveBatch(idxBizFanWarningRecordList);
// 触发风险模型生成预警处置模块的预警记录 // 触发风险模型生成预警处置模块的预警记录
fetchDataFan(idxBizFanWarningRecordList); fetchDataFan(idxBizFanWarningRecordList, stationMap);
} }
/*** /***
...@@ -786,7 +825,15 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -786,7 +825,15 @@ public class HealthStatusIndicatorServiceImpl {
Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress))); Map<String, Map<String, List<IdxBizFanHealthIndex>>> gateWayMaps = healthIndices.stream().collect(Collectors.groupingBy(IdxBizFanHealthIndex::getGatewayId, Collectors.groupingBy(IdxBizFanHealthIndex::getIndexAddress)));
List<IdxBizFanWarningRecord> idxBizFanWarningRecordList = new ArrayList<>(); List<IdxBizFanWarningRecord> idxBizFanWarningRecordList = new ArrayList<>();
HashMap<String, StationBasic> stationMap = new HashMap<>();
for (String gateWayId : gateWayMaps.keySet()) { for (String gateWayId : gateWayMaps.keySet()) {
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>();
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, gateWayId);
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
stationMap.put(gateWayId, stationBasic);
Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId); Map<String, List<IdxBizFanHealthIndex>> healthDataMaps = gateWayMaps.get(gateWayId);
for (String address : healthDataMaps.keySet()) { for (String address : healthDataMaps.keySet()) {
List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address); List<IdxBizFanHealthIndex> idxBizFanHealthIndices = healthDataMaps.get(address);
...@@ -884,7 +931,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -884,7 +931,7 @@ public class HealthStatusIndicatorServiceImpl {
idxBizFanWarningRecordService.saveBatch(idxBizFanWarningRecordList); idxBizFanWarningRecordService.saveBatch(idxBizFanWarningRecordList);
// 触发风险模型生成预警处置模块的预警记录 // 触发风险模型生成预警处置模块的预警记录
fetchDataFan(idxBizFanWarningRecordList); fetchDataFan(idxBizFanWarningRecordList, stationMap);
} }
...@@ -894,7 +941,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -894,7 +941,7 @@ public class HealthStatusIndicatorServiceImpl {
* @return * @return
*/ */
@Async @Async
public void fetchDataPv(List<IdxBizPvWarningRecord> idxBizPvWarningRecords) { public void fetchDataPv(List<IdxBizPvWarningRecord> idxBizPvWarningRecords, HashMap<String, StationBasic> stationMap) {
log.info("===开始触发风险预警模型===数量为:{}", idxBizPvWarningRecords.size()); log.info("===开始触发风险预警模型===数量为:{}", idxBizPvWarningRecords.size());
idxBizPvWarningRecords.stream().forEach(idxBizPvWarningRecord -> { idxBizPvWarningRecords.stream().forEach(idxBizPvWarningRecord -> {
BizMessage bizMessage = new BizMessage(); BizMessage bizMessage = new BizMessage();
...@@ -904,11 +951,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -904,11 +951,7 @@ public class HealthStatusIndicatorServiceImpl {
RiskBizInfoVo riskBizInfoVo = new RiskBizInfoVo(); RiskBizInfoVo riskBizInfoVo = new RiskBizInfoVo();
riskBizInfoVo.setWarningObjectName(idxBizPvWarningRecord.getEquipmentName()); riskBizInfoVo.setWarningObjectName(idxBizPvWarningRecord.getEquipmentName());
riskBizInfoVo.setWarningObjectCode(idxBizPvWarningRecord.getSequenceNbr()); riskBizInfoVo.setWarningObjectCode(idxBizPvWarningRecord.getSequenceNbr());
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>(); riskBizInfoVo.setSourceAttribution(stationMap.get(idxBizPvWarningRecord.getGatewayId()).getProjectOrgCode());
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, idxBizPvWarningRecord.getGatewayId());
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
riskBizInfoVo.setSourceAttribution(stationBasic.getProjectOrgCode());
riskBizInfoVo.setSourceAttributionDesc(idxBizPvWarningRecord.getStation()); riskBizInfoVo.setSourceAttributionDesc(idxBizPvWarningRecord.getStation());
riskBizInfoVo.setWarningObjectType("pv"); riskBizInfoVo.setWarningObjectType("pv");
List<RiskDynamicDetailsVo> detailsVos = new ArrayList<>(); List<RiskDynamicDetailsVo> detailsVos = new ArrayList<>();
...@@ -932,7 +975,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -932,7 +975,7 @@ public class HealthStatusIndicatorServiceImpl {
* @return * @return
*/ */
@Async @Async
public void fetchDataFan(List<IdxBizFanWarningRecord> idxBizFanWarningRecords) { public void fetchDataFan(List<IdxBizFanWarningRecord> idxBizFanWarningRecords, HashMap<String, StationBasic> stationMap) {
log.info("===开始触发风险预警模型===数量为:{}", idxBizFanWarningRecords.size()); log.info("===开始触发风险预警模型===数量为:{}", idxBizFanWarningRecords.size());
idxBizFanWarningRecords.stream().forEach(idxBizFanWarningRecord -> { idxBizFanWarningRecords.stream().forEach(idxBizFanWarningRecord -> {
BizMessage bizMessage = new BizMessage(); BizMessage bizMessage = new BizMessage();
...@@ -942,11 +985,7 @@ public class HealthStatusIndicatorServiceImpl { ...@@ -942,11 +985,7 @@ public class HealthStatusIndicatorServiceImpl {
RiskBizInfoVo riskBizInfoVo = new RiskBizInfoVo(); RiskBizInfoVo riskBizInfoVo = new RiskBizInfoVo();
riskBizInfoVo.setWarningObjectName(idxBizFanWarningRecord.getEquipmentName()); riskBizInfoVo.setWarningObjectName(idxBizFanWarningRecord.getEquipmentName());
riskBizInfoVo.setWarningObjectCode(idxBizFanWarningRecord.getSequenceNbr()); riskBizInfoVo.setWarningObjectCode(idxBizFanWarningRecord.getSequenceNbr());
LambdaQueryWrapper<StationBasic> basicLambdaQueryWrapper = new LambdaQueryWrapper<>(); riskBizInfoVo.setSourceAttribution(stationMap.get(idxBizFanWarningRecord.getGatewayId()).getProjectOrgCode());
basicLambdaQueryWrapper.eq(StationBasic::getFanGatewayId, idxBizFanWarningRecord.getGatewayId());
basicLambdaQueryWrapper.last("limit 1");
StationBasic stationBasic = stationBasicMapper.selectOne(basicLambdaQueryWrapper);
riskBizInfoVo.setSourceAttribution(stationBasic.getProjectOrgCode());
riskBizInfoVo.setSourceAttributionDesc(idxBizFanWarningRecord.getStation()); riskBizInfoVo.setSourceAttributionDesc(idxBizFanWarningRecord.getStation());
riskBizInfoVo.setWarningObjectType("fan"); riskBizInfoVo.setWarningObjectType("fan");
List<RiskDynamicDetailsVo> detailsVos = new ArrayList<>(); List<RiskDynamicDetailsVo> detailsVos = new ArrayList<>();
......
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