Commit d68bbb88 authored by tangwei's avatar tangwei

解决冲突

parents 753df955 f8215b2e
...@@ -621,7 +621,7 @@ public class MonitorFanIdxController extends BaseController { ...@@ -621,7 +621,7 @@ public class MonitorFanIdxController extends BaseController {
for (String column : columnList) { for (String column : columnList) {
Double result = commonServiceImpl.getTotalByIndicatior(gatewayId, column); Double result = commonServiceImpl.getTotalByIndicatior(gatewayId, column);
columnMap.put(column, String.format("%.2f",result)); columnMap.put(column, String.format("%.4f",result * CommonConstans.pvGenPoweActor));
} }
for (String column : syLists) { for (String column : syLists) {
Double result = commonServiceImpl.getNumByIndicatior(boosterGatewayId, column); Double result = commonServiceImpl.getNumByIndicatior(boosterGatewayId, column);
...@@ -898,7 +898,7 @@ public class MonitorFanIdxController extends BaseController { ...@@ -898,7 +898,7 @@ public class MonitorFanIdxController extends BaseController {
monthDataFJ.add(monthMap); monthDataFJ.add(monthMap);
yearDataFJ.add(yearMap); yearDataFJ.add(yearMap);
} else { } else {
querySql = " and frontModule = '逆变器'"; querySql = " and frontModule =~/逆变器/";
Map<String, Object> map = monitorFanIndicator.generatingCapacity(gatewayId,querySql); Map<String, Object> map = monitorFanIndicator.generatingCapacity(gatewayId,querySql);
Map<String, Object> dayMap = new HashMap<>(); Map<String, Object> dayMap = new HashMap<>();
Map<String, Object> monthMap = new HashMap<>(); Map<String, Object> monthMap = new HashMap<>();
...@@ -991,10 +991,12 @@ public class MonitorFanIdxController extends BaseController { ...@@ -991,10 +991,12 @@ public class MonitorFanIdxController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "设备发电量 ") @ApiOperation(value = "设备发电量 ")
@GetMapping("/equipGeneratingCapacity") @GetMapping("/equipGeneratingCapacity")
public ResponseModel<ResultsData> equipGeneratingCapacity(@RequestParam(value = "current") int current, public ResponseModel<IPage<Map<String,Object>>> equipGeneratingCapacity(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "stationId") String stationId) { @RequestParam(value = "stationId") String stationId) {
Page<ESEquipments> result = new Page<ESEquipments>(current, size); StationBasic stationBasic = stationBasicMapper.selectById(stationId);
String gatewayId = stationBasic.getFanGatewayId();
BoolQueryBuilder boolMustAll = QueryBuilders.boolQuery(); BoolQueryBuilder boolMustAll = QueryBuilders.boolQuery();
//警情状态 //警情状态
...@@ -1002,7 +1004,12 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1002,7 +1004,12 @@ public class MonitorFanIdxController extends BaseController {
String[] keys = new String[] {"日发电量","月发电量","年发电量"}; String[] keys = new String[] {"日发电量","月发电量","年发电量"};
List<String> list = Arrays.asList(keys); List<String> list = Arrays.asList(keys);
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.must((QueryBuilders.termsQuery("equipmentIndexName.keyword", list))).must(QueryBuilders.matchQuery("gatewayId.keyword","1668801435891929089")); if (!stationBasic.getStationType().equals("FDZ")){
boolQueryBuilder.must((QueryBuilders.termsQuery("equipmentIndexName.keyword", list))).must(QueryBuilders.matchQuery("gatewayId.keyword",gatewayId)).must(QueryBuilders.matchQuery("frontModule","逆变器"));
}else {
boolQueryBuilder.must((QueryBuilders.termsQuery("equipmentIndexName.keyword", list))).must(QueryBuilders.matchQuery("gatewayId.keyword",gatewayId));
}
should.add(boolQueryBuilder); should.add(boolQueryBuilder);
// 创建查询构造器 // 创建查询构造器
...@@ -1035,30 +1042,43 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1035,30 +1042,43 @@ public class MonitorFanIdxController extends BaseController {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
map.put("name",key); map.put("name",key);
for (ESEquipments equip : resultMap.get(key)) { for (ESEquipments equip : resultMap.get(key)) {
if (!stationBasic.getStationType().equals("FDZ")){
float value = equip.getValueDouble();
float v = CommonConstans.pvGenPoweActor.floatValue();
equip.setValueDouble(value * v);
}
String value = String.format("%.4f", equip.getValueDouble());
switch(equip.getEquipmentIndexName()){ switch(equip.getEquipmentIndexName()){
case "日发电量": case "日发电量":
map.put("dayNum",equip.getValueDouble()); map.put("dayNum",value);
break; break;
case "月发电量": case "月发电量":
map.put("monthNum",equip.getValueDouble()); map.put("monthNum",value);
break; break;
case "年发电量": case "年发电量":
map.put("yearNum",equip.getValueDouble()); map.put("yearNum",value);
break; break;
} }
} }
esEquipmentsMap.add(map); esEquipmentsMap.add(map);
} }
IPage<Map<String,Object>> page = new Page<>();
page.setTotal(esEquipmentsMap.size());
page.setSize(999);
page.setCurrent(1);
page.setRecords(esEquipmentsMap);
//构建平台数据 return ResponseHelper.buildResponse(page);
DataGridMock DataGridMock = new DataGridMock(current, esEquipmentsMap.size(), false, current, esEquipmentsMap); // //构建平台数据
ColModel colModelEquipmentNumber = new ColModel("name", "name", "设备名称", "设备名称", "dataGrid", "name"); // DataGridMock DataGridMock = new DataGridMock(current, esEquipmentsMap.size(), false, current, esEquipmentsMap);
ColModel colModelPower = new ColModel("dayNum", "dayNum", "日发电量", "日发电量", "dataGrid", "dayNum"); // ColModel colModelEquipmentNumber = new ColModel("name", "name", "设备名称", "设备名称", "dataGrid", "name");
ColModel colModelWindSpeed = new ColModel("monthNum", "monthNum", "月发电量", "月发电量", "dataGrid", "monthNum"); // ColModel colModelPower = new ColModel("dayNum", "dayNum", "日发电量", "日发电量", "dataGrid", "dayNum");
ColModel colModelWind = new ColModel("yearNum", "yearNum", "年发电量", "年发电量", "dataGrid", "yearNum"); // ColModel colModelWindSpeed = new ColModel("monthNum", "monthNum", "月发电量", "月发电量", "dataGrid", "monthNum");
List<ColModel> listColModel = Arrays.asList(colModelEquipmentNumber, colModelPower, colModelWindSpeed, colModelWind); // ColModel colModelWind = new ColModel("yearNum", "yearNum", "年发电量", "年发电量", "dataGrid", "yearNum");
ResultsData resultsData = new ResultsData(DataGridMock, listColModel); // List<ColModel> listColModel = Arrays.asList(colModelEquipmentNumber, colModelPower, colModelWindSpeed, colModelWind);
return ResponseHelper.buildResponse(resultsData); // ResultsData resultsData = new ResultsData(DataGridMock, listColModel);
// return ResponseHelper.buildResponse(resultsData);
} }
...@@ -1117,7 +1137,7 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1117,7 +1137,7 @@ public class MonitorFanIdxController extends BaseController {
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@Scheduled(cron = "0 0/10 * * * ? ") @Scheduled(cron = "0/30 * * * * ? ")
@ApiOperation(value = "接入情况 ") @ApiOperation(value = "接入情况 ")
@GetMapping("/accessSituation") @GetMapping("/accessSituation")
public ResponseModel<Map<String,Object>> accessSituation(){ public ResponseModel<Map<String,Object>> accessSituation(){
...@@ -1137,11 +1157,11 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1137,11 +1157,11 @@ public class MonitorFanIdxController extends BaseController {
} catch (MqttException e) { } catch (MqttException e) {
} }
return ResponseHelper.buildResponse(map); return CommonResponseUtil.success();
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@Scheduled(cron = "0 0/10 * * * ? ") @Scheduled(cron = "0/30 * * * * ? ")
@ApiOperation(value = "区域接入情况 ") @ApiOperation(value = "区域接入情况 ")
@GetMapping("/qyAccessSituation") @GetMapping("/qyAccessSituation")
public ResponseModel<Map<String,Object>> qyAccessSituation(){ public ResponseModel<Map<String,Object>> qyAccessSituation(){
...@@ -1165,8 +1185,50 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1165,8 +1185,50 @@ public class MonitorFanIdxController extends BaseController {
} }
} }
return ResponseHelper.buildResponse(map); return CommonResponseUtil.success();
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "健康运行百分比 ")
@GetMapping("/getFanStatusByZC")
public ResponseModel<Map<String,Object>> getFanStatusByZC(@RequestParam(value = "stationId", required = false) String stationId
) {
List<IndexDto> fanStatusList = monitorFanIndicator.getFanStatusStatistics(stationId);
int healthNum = 0;
int sum = 0;
for (IndexDto indexDto : fanStatusList) {
if (indexDto.getEquipmentIndexName().equals("正常运行")){
healthNum = Integer.parseInt(indexDto.getCountString());
} }
sum += Integer.parseInt(indexDto.getCountString());
}
Map<String, Object> hashMap = new HashMap<>() ;
double percent = (double) healthNum / sum * 100;
int value = (int) percent;
String[] values = new String[]{String.valueOf(value)};
hashMap.put("seriesData",values);
hashMap.put("title",healthNum+"/"+sum);
return ResponseHelper.buildResponse(hashMap);
}
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "单个风机状态")
@GetMapping("/getFanStatusByEquipNum")
public ResponseModel<Map<String,Object>> getFanStatusList(@RequestParam(value = "stationId", required = false) String stationId,
@RequestParam(value="equip")String equipNum) {
List<IndexDto> fanStatusList = monitorFanIndicator.getFanStatusList(stationId);
Map<String, Object> hashMap = new HashMap<>() ;
String status = "";
for (IndexDto indexDto : fanStatusList) {
if (indexDto.getEquipmentNumber().equals(equipNum)){
status =indexDto.getState();
}
}
hashMap.put("title",status);
return ResponseHelper.buildResponse(hashMap);
}
} }
...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic; ...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.MonitorFanIndicatorMapper; import com.yeejoin.amos.boot.module.jxiop.api.mapper.MonitorFanIndicatorMapper;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.RegionMapper; import com.yeejoin.amos.boot.module.jxiop.api.mapper.RegionMapper;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper; import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.constants.CommonConstans;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.*; import com.yeejoin.amos.boot.module.jxiop.biz.dto.*;
import com.yeejoin.amos.boot.module.jxiop.biz.entity.*; import com.yeejoin.amos.boot.module.jxiop.biz.entity.*;
import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.AlarmEventMapper; import com.yeejoin.amos.boot.module.jxiop.biz.mapper2.AlarmEventMapper;
...@@ -222,9 +223,9 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -222,9 +223,9 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
Page<IndexDto> page = new Page<>(current, size); Page<IndexDto> page = new Page<>(current, size);
String sql = ""; String sql = "";
if (StringUtils.isNotEmpty(systemType)) { if (StringUtils.isNotEmpty(systemType)) {
sql = String.format("SELECT equipmentIndexName, value, frontModule, unit FROM \"indicators_%s\" WHERE equipmentNumber = '%s' and frontModule =~/%s/ and systemType =~/%s/ ", stationBasic.getFanGatewayId(), equipNum, frontModule, systemType); sql = String.format("SELECT equipmentIndexName, value, frontModule,systemType, unit FROM \"indicators_%s\" WHERE equipmentNumber = '%s' and frontModule =~/%s/ and systemType =~/%s/ ", stationBasic.getFanGatewayId(), equipNum, frontModule, systemType);
} else { } else {
sql = String.format("SELECT equipmentIndexName, value, frontModule, unit FROM \"indicators_%s\" WHERE equipmentNumber = '%s' and frontModule =~/%s/", stationBasic.getFanGatewayId(), equipNum, frontModule); sql = String.format("SELECT equipmentIndexName, value, frontModule,systemType, unit FROM \"indicators_%s\" WHERE equipmentNumber = '%s' and frontModule =~/%s/", stationBasic.getFanGatewayId(), equipNum, frontModule);
} }
List<IndexDto> influxDBList = influxDButils.getListData(sql, IndexDto.class); List<IndexDto> influxDBList = influxDButils.getListData(sql, IndexDto.class);
influxDBList.stream().forEach(e->{ influxDBList.stream().forEach(e->{
...@@ -313,41 +314,50 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -313,41 +314,50 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
public List<IndexDto> getFanStatusList(String stationId) { public List<IndexDto> getFanStatusList(String stationId) {
// StationBasic stationBasic = getOneByStationNumber(stationId);
// String sql = String.format("SELECT equipmentNumber, equipmentIndexName as state FROM \"indicators_%s\" WHERE equipmentIndexName =~/^报警状态|停机状态|故障状态|待机状态|维护状态|正常发电状态$/ and value = 'true'", stationBasic.getFanGatewayId());
// List<IndexDto> influxDBList = influxDButils.getListData(sql, IndexDto.class);
// Map<String, String> collect = influxDBList.stream().collect(Collectors.toMap(IndexDto::getEquipmentNumber, IndexDto::getState, (item1, item2) -> item1));
// String sqlEquipNumList = String.format("SELECT (DISTINCT equipmentNumber) as equipmentNumber FROM \"indicators_%s\"", stationBasic.getFanGatewayId());
// List<IndexDto> equipNumList = influxDButils.getListData(sqlEquipNumList, IndexDto.class);
// List<Map<String, String>> fanConfigPower = monitorFanIndicatorregionMapper.getFanConfigPower(stationBasic.getFanGatewayId(), null);
// String equipmentSpecificNames = fanConfigPower.stream().map(t -> t.get("equipmentSpecificName")).collect(Collectors.joining("|"));
// String powerSql = String.format("SELECT equipmentNumber, value FROM \"indicators_%s\" WHERE equipmentSpecificName =~/^%s$/ and value = '9.0'", stationBasic.getFanGatewayId(), equipmentSpecificNames);
// List<IndexDto> powerNum = influxDButils.getListData(powerSql, IndexDto.class);
// List<String> powList = powerNum.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList());
// Date currentDayStartTime = DateUtils.dateAddMinutes(new Date(), -15);
// String time = "";
// try {
// time = DateUtils.dateFormat(currentDayStartTime, DateUtils.DATE_TIME_PATTERN);
// } catch (ParseException e) {
// e.printStackTrace();
// }
//
// String timeSql = String.format("select distinct equipmentNumber from \"indicators_%s\" where time >= '%s'", stationBasic.getFanGatewayId(), time);
// List<IndexDto> timeSqlList = influxDButils.getListData(timeSql, IndexDto.class);
// List<String> timeList = timeSqlList.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList());
// equipNumList.forEach(item -> {
// item.setState(collect.get(item.getEquipmentNumber()));
// if (!collect.containsKey(item.getEquipmentNumber())) {
// item.setState("正常运行");
// } else if (powList.contains(item.getEquipmentNumber())) {
// item.setState("限功率");
// } else if (!timeList.contains(item.getEquipmentNumber())) {
// item.setState("通讯中断");
// }
// });
StationBasic stationBasic = getOneByStationNumber(stationId); StationBasic stationBasic = getOneByStationNumber(stationId);
String sql = String.format("SELECT equipmentNumber, equipmentIndexName as state FROM \"indicators_%s\" WHERE equipmentIndexName =~/^报警状态|停机状态|故障状态|待机状态|维护状态|正常发电状态$/ and value = 'true'", stationBasic.getFanGatewayId()); String sql = String.format("SELECT equipmentNumber, equipmentIndexName as state FROM \"indicators_%s\" WHERE (equipmentIndexName =~/^发电状态|报警状态|停机状态|故障状态|待机状态|维护状态|正常发电状态$/ and value = 'true') or (equipmentIndexName ='实时故障22' and value='9')", stationBasic.getFanGatewayId());
List<IndexDto> influxDBList = influxDButils.getListData(sql, IndexDto.class); List<IndexDto> influxDBList = influxDButils.getListData(sql, IndexDto.class);
Map<String, String> collect = influxDBList.stream().collect(Collectors.toMap(IndexDto::getEquipmentNumber, IndexDto::getState, (item1, item2) -> item1));
String sqlEquipNumList = String.format("SELECT (DISTINCT equipmentNumber) as equipmentNumber FROM \"indicators_%s\"", stationBasic.getFanGatewayId()); String sqlEquipNumList = String.format("SELECT (DISTINCT equipmentNumber) as equipmentNumber FROM \"indicators_%s\"", stationBasic.getFanGatewayId());
List<IndexDto> equipNumList = influxDButils.getListData(sqlEquipNumList, IndexDto.class); List<IndexDto> equipNumList = influxDButils.getListData(sqlEquipNumList, IndexDto.class);
List<Map<String, String>> fanConfigPower = monitorFanIndicatorregionMapper.getFanConfigPower(stationBasic.getFanGatewayId(), null); Map<String, String> collect = influxDBList.stream().collect(Collectors.toMap(IndexDto::getEquipmentNumber, IndexDto::getState, (item1, item2) -> item1));
String equipmentSpecificNames = fanConfigPower.stream().map(t -> t.get("equipmentSpecificName")).collect(Collectors.joining("|"));
String powerSql = String.format("SELECT equipmentNumber, value FROM \"indicators_%s\" WHERE equipmentSpecificName =~/^%s$/ and value = '9.0'", stationBasic.getFanGatewayId(), equipmentSpecificNames);
List<IndexDto> powerNum = influxDButils.getListData(powerSql, IndexDto.class);
List<String> powList = powerNum.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList());
Date currentDayStartTime = DateUtils.dateAddMinutes(new Date(), -15);
String time = "";
try {
time = DateUtils.dateFormat(currentDayStartTime, DateUtils.DATE_TIME_PATTERN);
} catch (ParseException e) {
e.printStackTrace();
}
String timeSql = String.format("select distinct equipmentNumber from \"indicators_%s\" where time >= '%s'", stationBasic.getFanGatewayId(), time);
List<IndexDto> timeSqlList = influxDButils.getListData(timeSql, IndexDto.class);
List<String> timeList = timeSqlList.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList());
equipNumList.forEach(item -> { equipNumList.forEach(item -> {
item.setState(collect.get(item.getEquipmentNumber())); String status = ObjectUtils.isEmpty(CommonConstans.fanStatus.get(collect.get(item.getEquipmentNumber()))) ? "通讯中断" : CommonConstans.fanStatus.get(collect.get(item.getEquipmentNumber()));
if (!collect.containsKey(item.getEquipmentNumber())) { item.setState(status);
item.setState("正常运行");
} else if (powList.contains(item.getEquipmentNumber())) {
item.setState("限功率");
} else if (!timeList.contains(item.getEquipmentNumber())) {
item.setState("通讯中断");
}
}); });
return equipNumList; return equipNumList;
} }
public List<IndexDto> getFanStatusListOptimize(String stationId) { public List<IndexDto> getFanStatusListOptimize(String stationId) {
StationBasic stationBasic = getOneByStationNumber(stationId); StationBasic stationBasic = getOneByStationNumber(stationId);
...@@ -394,45 +404,46 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -394,45 +404,46 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
return equipNumList; return equipNumList;
} }
public List<IndexDto> getFanStatusStatistics(String stationId) { public List<IndexDto> getFanStatusStatistics(String stationId) {
StationBasic stationBasic = getOneByStationNumber(stationId); // StationBasic stationBasic = getOneByStationNumber(stationId);
String sql = String.format("SELECT equipmentNumber, equipmentIndexName as state FROM \"indicators_%s\" WHERE equipmentIndexName =~/^报警状态|停机状态|故障状态|待机状态|维护状态|正常发电状态$/ and value = 'true'", stationBasic.getFanGatewayId()); // String sql = String.format("SELECT equipmentNumber, equipmentIndexName as state FROM \"indicators_%s\" WHERE equipmentIndexName =~/^报警状态|停机状态|故障状态|待机状态|维护状态|正常发电状态$/ and value = 'true'", stationBasic.getFanGatewayId());
List<IndexDto> influxDBList = influxDButils.getListData(sql, IndexDto.class); // List<IndexDto> influxDBList = influxDButils.getListData(sql, IndexDto.class);
Map<String, String> collect = influxDBList.stream().collect(Collectors.toMap(IndexDto::getEquipmentNumber, IndexDto::getState, (item1, item2) -> item1)); // Map<String, String> collect = influxDBList.stream().collect(Collectors.toMap(IndexDto::getEquipmentNumber, IndexDto::getState, (item1, item2) -> item1));
String sqlEquipNumList = String.format("SELECT (DISTINCT equipmentNumber) as equipmentNumber FROM \"indicators_%s\"", stationBasic.getFanGatewayId()); // String sqlEquipNumList = String.format("SELECT (DISTINCT equipmentNumber) as equipmentNumber FROM \"indicators_%s\"", stationBasic.getFanGatewayId());
List<IndexDto> equipNumList = influxDButils.getListData(sqlEquipNumList, IndexDto.class); // List<IndexDto> equipNumList = influxDButils.getListData(sqlEquipNumList, IndexDto.class);
List<Map<String, String>> fanConfigPower = monitorFanIndicatorregionMapper.getFanConfigPower(stationBasic.getFanGatewayId(), null); // List<Map<String, String>> fanConfigPower = monitorFanIndicatorregionMapper.getFanConfigPower(stationBasic.getFanGatewayId(), null);
String equipmentSpecificNames = fanConfigPower.stream().map(t -> t.get("equipmentSpecificName")).collect(Collectors.joining("|")); // String equipmentSpecificNames = fanConfigPower.stream().map(t -> t.get("equipmentSpecificName")).collect(Collectors.joining("|"));
String powerSql = String.format("SELECT equipmentNumber, value FROM \"indicators_%s\" WHERE equipmentSpecificName =~/^%s$/ and value = '9.0'", stationBasic.getFanGatewayId(), equipmentSpecificNames); // String powerSql = String.format("SELECT equipmentNumber, value FROM \"indicators_%s\" WHERE equipmentSpecificName =~/^%s$/ and value = '9.0'", stationBasic.getFanGatewayId(), equipmentSpecificNames);
List<IndexDto> powerNum = influxDButils.getListData(powerSql, IndexDto.class); // List<IndexDto> powerNum = influxDButils.getListData(powerSql, IndexDto.class);
List<String> powList = powerNum.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList()); // List<String> powList = powerNum.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList());
Date currentDayStartTime = DateUtils.dateAddMinutes(new Date(), -15); // Date currentDayStartTime = DateUtils.dateAddMinutes(new Date(), -15);
String time = ""; // String time = "";
try { // try {
time = DateUtils.dateFormat(currentDayStartTime, DateUtils.DATE_TIME_PATTERN); // time = DateUtils.dateFormat(currentDayStartTime, DateUtils.DATE_TIME_PATTERN);
} catch (ParseException e) { // } catch (ParseException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
String timeSql = String.format("select distinct equipmentNumber from \"indicators_%s\" where time >= '%s'", stationBasic.getFanGatewayId(), time); // String timeSql = String.format("select distinct equipmentNumber from \"indicators_%s\" where time >= '%s'", stationBasic.getFanGatewayId(), time);
List<IndexDto> timeSqlList = influxDButils.getListData(timeSql, IndexDto.class); // List<IndexDto> timeSqlList = influxDButils.getListData(timeSql, IndexDto.class);
List<String> timeList = timeSqlList.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList()); // List<String> timeList = timeSqlList.stream().map(IndexDto::getEquipmentNumber).collect(Collectors.toList());
equipNumList.forEach(item -> { // equipNumList.forEach(item -> {
item.setState(collect.get(item.getEquipmentNumber())); // item.setState(collect.get(item.getEquipmentNumber()));
if (!collect.containsKey(item.getEquipmentNumber())) { // if (!collect.containsKey(item.getEquipmentNumber())) {
item.setState("正常运行"); // item.setState("正常运行");
} else if (powList.contains(item.getEquipmentNumber())) { // } else if (powList.contains(item.getEquipmentNumber())) {
item.setState("限功率"); // item.setState("限功率");
} else if (!timeList.contains(item.getEquipmentNumber())) { // } else if (!timeList.contains(item.getEquipmentNumber())) {
item.setState("通讯中断"); // item.setState("通讯中断");
} // }
}); // });
List<IndexDto> equipNumList = getFanStatusList(stationId);
Map<String, Long> countMap = equipNumList.stream().collect(Collectors.groupingBy(IndexDto::getState, Collectors.counting())); Map<String, Long> countMap = equipNumList.stream().collect(Collectors.groupingBy(IndexDto::getState, Collectors.counting()));
List<IndexDto> resultList = new ArrayList<>(); List<IndexDto> resultList = new ArrayList<>();
List<String> list = Arrays.asList("正常运行", "告警运行", "正常停机", "故障停机", "限功率", "待机状态", "维护状态", "通讯中断"); List<String> list = Arrays.asList("正常运行", "报警运行", "停机状态", "故障状态", "限功率", "待机状态", "维护状态", "通讯中断");
HashMap<String, String> colorMap = new HashMap<>(); HashMap<String, String> colorMap = new HashMap<>();
colorMap.put("正常运行", "#00aa00"); colorMap.put("正常运行", "#00aa00");
colorMap.put("警运行", "#ffc400"); colorMap.put("警运行", "#ffc400");
colorMap.put("正常停机", "#0055ff"); colorMap.put("停机状态", "#0055ff");
colorMap.put("故障停机", "#00aaff"); colorMap.put("故障状态", "#00aaff");
colorMap.put("限功率", "#a3f5aa"); colorMap.put("限功率", "#a3f5aa");
colorMap.put("待机状态", "#ff0000"); colorMap.put("待机状态", "#ff0000");
colorMap.put("维护状态", "#ff00ff"); colorMap.put("维护状态", "#ff00ff");
...@@ -1859,7 +1870,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1859,7 +1870,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
public Map<String, Object> generatingCapacity (String gatewayId,String query){ public Map<String, Object> generatingCapacity (String gatewayId,String query){
String querySql = " SELECT * FROM indicators_"+gatewayId+" WHERE equipmentIndexName='日发电量' or equipmentIndexName='月发电量' or equipmentIndexName='年发电量'"; String querySql = " SELECT * FROM indicators_"+gatewayId+" WHERE equipmentIndexName=~/发电量/";
if (null != query){ if (null != query){
querySql = querySql + " "+ query; querySql = querySql + " "+ query;
} }
......
/*
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl; package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -50,9 +51,11 @@ public class MonitoringServiceIMQTTmpl { ...@@ -50,9 +51,11 @@ public class MonitoringServiceIMQTTmpl {
private final String fanCurrentDataCron = "0 0/1 * * * *"; private final String fanCurrentDataCron = "0 0/1 * * * *";
@Value("${fan.statuts.stattuspath}") @Value("${fan.statuts.stattuspath}")
private String fanStatusImagePathPrefix; private String fanStatusImagePathPrefix;
/**
* 场站mapper
*/ */
/**
* 场站mapper
*//*
@Autowired @Autowired
StationBasicMapper stationBasicMapper; StationBasicMapper stationBasicMapper;
...@@ -74,9 +77,11 @@ public class MonitoringServiceIMQTTmpl { ...@@ -74,9 +77,11 @@ public class MonitoringServiceIMQTTmpl {
private MonitorFanIndicatorMapper monitorFanIndicatorregionMapper; private MonitorFanIndicatorMapper monitorFanIndicatorregionMapper;
/**
* 社会贡献定时消息发送 1分钟推送一次
*/ */
/**
* 社会贡献定时消息发送 1分钟推送一次
*//*
@Scheduled(cron = totalSocialContributionCron) @Scheduled(cron = totalSocialContributionCron)
public void getTotalSocialContribution() { public void getTotalSocialContribution() {
Page<SocialContributionDto> socialContributionDtoPage = new Page<SocialContributionDto>(); Page<SocialContributionDto> socialContributionDtoPage = new Page<SocialContributionDto>();
...@@ -97,12 +102,14 @@ public class MonitoringServiceIMQTTmpl { ...@@ -97,12 +102,14 @@ public class MonitoringServiceIMQTTmpl {
SocialContributionDto toner = new SocialContributionDto(); SocialContributionDto toner = new SocialContributionDto();
//二氧化硫贡献度 //二氧化硫贡献度
SocialContributionDto so2 = new SocialContributionDto(); SocialContributionDto so2 = new SocialContributionDto();
/** 社会贡献原始计算公式,后边的数据已经经过处理 */
/** 社会贡献原始计算公式,后边的数据已经经过处理
//二氧化碳计算公式 *10000*832/10000/1000/1000 //二氧化碳计算公式 *10000*832/10000/1000/1000
//标准煤计算公式 *10000*304.9/10000/1000/1000 //标准煤计算公式 *10000*304.9/10000/1000/1000
//碳粉尘计算公式 *10000*0.032/1000/1000 //碳粉尘计算公式 *10000*0.032/1000/1000
//二氧化硫计算公式 =A2*10000*0.16/1000/1000 //二氧化硫计算公式 =A2*10000*0.16/1000/1000
*/ *//*
co2.setUnit("二氧化碳减排量(万t)"); co2.setUnit("二氧化碳减排量(万t)");
co2.setTitle(String.format("%.2f",totalSocialContribution.get() * 0.000832)); co2.setTitle(String.format("%.2f",totalSocialContribution.get() * 0.000832));
socialContributionDtoList.add(co2); socialContributionDtoList.add(co2);
...@@ -126,9 +133,11 @@ public class MonitoringServiceIMQTTmpl { ...@@ -126,9 +133,11 @@ public class MonitoringServiceIMQTTmpl {
} }
} }
/**
* 区域实时数据消息推送-30s一次
*/ */
/**
* 区域实时数据消息推送-30s一次
*//*
// @Scheduled(cron = completionOfPowerIndicatorsByProvinceNameCron) // @Scheduled(cron = completionOfPowerIndicatorsByProvinceNameCron)
public void getCompletionOfPowerIndicatorsByProvinceName() { public void getCompletionOfPowerIndicatorsByProvinceName() {
Page<SocialContributionDto> socialContributionDtoPage = new Page<SocialContributionDto>(); Page<SocialContributionDto> socialContributionDtoPage = new Page<SocialContributionDto>();
...@@ -183,9 +192,11 @@ public class MonitoringServiceIMQTTmpl { ...@@ -183,9 +192,11 @@ public class MonitoringServiceIMQTTmpl {
} }
} }
/**
* 实时推送-风电站风机状态统计数据
*/ */
/**
* 实时推送-风电站风机状态统计数据
*//*
@Scheduled(cron = fanStatusStatisticsCron) @Scheduled(cron = fanStatusStatisticsCron)
public void getFanStatusStatistics() { public void getFanStatusStatistics() {
List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ")); List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ"));
...@@ -206,9 +217,11 @@ public class MonitoringServiceIMQTTmpl { ...@@ -206,9 +217,11 @@ public class MonitoringServiceIMQTTmpl {
}); });
} }
/**
* 实时推送-风电站风场总概览
*/ */
/**
* 实时推送-风电站风场总概览
*//*
@Scheduled(cron = fanstationOverviewCron) @Scheduled(cron = fanstationOverviewCron)
public void getFanstationOverview() { public void getFanstationOverview() {
List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ")); List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ"));
...@@ -269,9 +282,11 @@ public class MonitoringServiceIMQTTmpl { ...@@ -269,9 +282,11 @@ public class MonitoringServiceIMQTTmpl {
}); });
} }
/**
* 实时推送-场站功率曲线总概览
*/ */
/**
* 实时推送-场站功率曲线总概览
*//*
@Scheduled(cron = fanStationPowerBightCron) @Scheduled(cron = fanStationPowerBightCron)
public void getFanStationPowerBight() { public void getFanStationPowerBight() {
List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ")); List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ"));
...@@ -287,9 +302,11 @@ public class MonitoringServiceIMQTTmpl { ...@@ -287,9 +302,11 @@ public class MonitoringServiceIMQTTmpl {
}); });
} }
/**
* 实时同送-获取各场站的风机列表
*/ */
/**
* 实时同送-获取各场站的风机列表
*//*
@Scheduled(cron = fanStatusListCron) @Scheduled(cron = fanStatusListCron)
public void getFanStatusList() { public void getFanStatusList() {
List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ")); List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ"));
...@@ -394,11 +411,13 @@ public class MonitoringServiceIMQTTmpl { ...@@ -394,11 +411,13 @@ public class MonitoringServiceIMQTTmpl {
}); });
} }
/** */
/**
* @param collect 根据网关id查询出来的数据 * @param collect 根据网关id查询出来的数据
* @return 加工后风机实时运行状态图列表数据 * @return 加工后风机实时运行状态图列表数据
* @deprecated 根据查询出来的风机状态返回风机的状态图片 * @deprecated 根据查询出来的风机状态返回风机的状态图片
*/ *//*
public IPage<HashMap<String, String>> getFanStatusListImages(List<IndexDto> collect) { public IPage<HashMap<String, String>> getFanStatusListImages(List<IndexDto> collect) {
IPage<HashMap<String, String>> page = new Page<>(); IPage<HashMap<String, String>> page = new Page<>();
HashMap<String, String> hashMap = new HashMap<>(); HashMap<String, String> hashMap = new HashMap<>();
...@@ -460,3 +479,4 @@ public class MonitoringServiceIMQTTmpl { ...@@ -460,3 +479,4 @@ public class MonitoringServiceIMQTTmpl {
} }
} }
} }
*/
...@@ -25,7 +25,7 @@ public class ESEquipments { ...@@ -25,7 +25,7 @@ public class ESEquipments {
@Field(type = FieldType.Text, index = false) @Field(type = FieldType.Text, index = false)
private String address; private String address;
@Field(type = FieldType.Text, index = false) @Field(type = FieldType.Text)
private String dataType; private String dataType;
@Field(type = FieldType.Text) @Field(type = FieldType.Text)
private String equipmentSpecificName; private String equipmentSpecificName;
...@@ -37,11 +37,11 @@ public class ESEquipments { ...@@ -37,11 +37,11 @@ public class ESEquipments {
private Date createdTime; private Date createdTime;
@Field(type = FieldType.Text , index = false) @Field(type = FieldType.Text , index = false)
private String unit; private String unit;
@Field(type = FieldType.Text, index = false) @Field(type = FieldType.Text)
private String value; private String value;
@Field(type = FieldType.Float, index = false) @Field(type = FieldType.Float, index = false)
private Float valueDouble; private Float valueDouble;
@Field(type = FieldType.Text , index = false) @Field(type = FieldType.Text)
private String valueLabel; private String valueLabel;
@Field(type = FieldType.Text , index = false) @Field(type = FieldType.Text , index = false)
private String traceId; private String traceId;
...@@ -55,7 +55,7 @@ public class ESEquipments { ...@@ -55,7 +55,7 @@ public class ESEquipments {
private String systemType; private String systemType;
@Field(type = FieldType.Text , index = false) @Field(type = FieldType.Text , index = false)
private String pictureName; private String pictureName;
@Field(type = FieldType.Text , index = false) @Field(type = FieldType.Text)
private String displayName; private String displayName;
......
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