Commit adbe99e1 authored by wujiang's avatar wujiang

Merge branch 'developer' of http://39.98.45.134:8090/moa/amos-boot-biz into developer

# Conflicts: # amos-boot-system-jxiop/amos-boot-module-jxiop-monitor-biz/src/main/java/com/yeejoin/amos/boot/module/jxiop/biz/service/impl/MonitorFanIndicatorImpl.java
parents 97a7b34b ba5d6b6b
...@@ -26,6 +26,7 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -26,6 +26,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttException;
import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchPhraseQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder; import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.aggregations.Aggregation; import org.elasticsearch.search.aggregations.Aggregation;
...@@ -121,7 +122,7 @@ public class MonitorFanIdxController extends BaseController { ...@@ -121,7 +122,7 @@ public class MonitorFanIdxController extends BaseController {
list.add(date1); list.add(date1);
Map<String, Object> queryCondtion = new HashMap<>(); Map<String, Object> queryCondtion = new HashMap<>();
queryCondtion.put("color",stationBasic.getQrcodeColor()); queryCondtion.put("color",stationBasic.getQrcodeColor());
queryCondtion.put("date",list); queryCondtion.put("data",list);
return ResponseHelper.buildResponse(queryCondtion); return ResponseHelper.buildResponse(queryCondtion);
} }
...@@ -1083,7 +1084,13 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1083,7 +1084,13 @@ public class MonitorFanIdxController extends BaseController {
List<String> list = Arrays.asList(keys); List<String> list = Arrays.asList(keys);
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
if (!stationBasic.getStationType().equals("FDZ")) { if (!stationBasic.getStationType().equals("FDZ")) {
boolQueryBuilder.must((QueryBuilders.termsQuery("equipmentIndexName.keyword", CommonConstans.taiHeGenIndicator))).must(QueryBuilders.matchQuery("gatewayId.keyword", stationBasic.getBoosterGatewayId()));
MatchPhraseQueryBuilder queryBuilder1 = QueryBuilders.matchPhraseQuery(CommonConstans.QueryStringFrontMoudleNotKeyWord, "*逆变器*");
boolQueryBuilder.must((QueryBuilders.termsQuery("equipmentIndexName.keyword", list))
).must(QueryBuilders.matchQuery("gatewayId.keyword", stationBasic.getFanGatewayId()));
boolQueryBuilder.must(queryBuilder1);
} else { } else {
boolQueryBuilder.must((QueryBuilders.termsQuery("equipmentIndexName.keyword", list))).must(QueryBuilders.matchQuery("gatewayId.keyword", gatewayId)); boolQueryBuilder.must((QueryBuilders.termsQuery("equipmentIndexName.keyword", list))).must(QueryBuilders.matchQuery("gatewayId.keyword", gatewayId));
...@@ -1117,33 +1124,56 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1117,33 +1124,56 @@ public class MonitorFanIdxController extends BaseController {
map.put("num", key); map.put("num", key);
for (ESEquipments equip : resultMap.get(key)) { for (ESEquipments equip : resultMap.get(key)) {
String value = String.format("%.4f", equip.getValueF()); String value = String.format("%.4f", equip.getValueF());
map.put("name", equip.getEquipmentSpecificName().substring(0, equip.getEquipmentSpecificName().indexOf("#"))+"/"+key); if (stationBasic.getStationType().equals("FDZ")) {
map.put("name", equip.getEquipmentSpecificName().substring(0, equip.getEquipmentSpecificName().indexOf("#"))+"/"+key);
switch (equip.getEquipmentIndexName()) {
case "日发电量": }else{
map.put("dayNum", value); map.put("name", key);
break;
case "月发电量":
map.put("monthNum", value);
break;
case "年发电量":
map.put("yearNum", value);
case CommonConstans.taiHeGenIndicatorDay:
map.put("dayNum", value);
break;
case CommonConstans.taiHeGenIndicatorMonth:
map.put("monthNum", value);
break;
case CommonConstans.taiHeGenIndicatorYear:
map.put("yearNum", value);
break;
} }
if (!stationBasic.getStationType().equals("FDZ")) {
switch (equip.getEquipmentIndexName()) {
case "日发电量":
map.put("dayNum", String.format(CommonConstans.Fourdecimalplaces, Double.valueOf(value) * CommonConstans.pvGenPoweActor * CommonConstans.pvGenPoweActorDay));
break;
case "月发电量":
map.put("monthNum", String.format(CommonConstans.Fourdecimalplaces, Double.valueOf(value) * CommonConstans.pvGenPoweActorCurrentData));
break;
case "年发电量":
map.put("yearNum", String.format(CommonConstans.Fourdecimalplaces, Double.valueOf(value) * CommonConstans.pvGenPoweActorCurrentData));
}
}else{
switch (equip.getEquipmentIndexName()) {
case "日发电量":
map.put("dayNum", value);
break;
case "月发电量":
map.put("monthNum", value);
break;
case "年发电量":
map.put("yearNum", value);
// case CommonConstans.taiHeGenIndicatorDay:
// map.put("dayNum", value);
// break;
// case CommonConstans.taiHeGenIndicatorMonth:
// map.put("monthNum", value);
// break;
// case CommonConstans.taiHeGenIndicatorYear:
// map.put("yearNum", value);
// break;
}
}
} }
esEquipmentsMap.add(map); esEquipmentsMap.add(map);
} }
if (stationBasic.getStationType().equals("FDZ")) {
this.sortByFeild(esEquipmentsMap, "num");
}else{
this.sortByFeildString(esEquipmentsMap, "num");
this.sortByFeild(esEquipmentsMap,"num"); }
IPage<Map<String, Object>> page = new Page<>(); IPage<Map<String, Object>> page = new Page<>();
page.setTotal(esEquipmentsMap.size()); page.setTotal(esEquipmentsMap.size());
page.setSize(999); page.setSize(999);
...@@ -1172,6 +1202,14 @@ public class MonitorFanIdxController extends BaseController { ...@@ -1172,6 +1202,14 @@ public class MonitorFanIdxController extends BaseController {
return list; return list;
} }
public static List<Map<String, Object>> sortByFeildString(List<Map<String, Object>> list, String feild) {
if (CollectionUtils.isNotEmpty(list)) {
Collections.sort(list, (m1, m2)-> String.valueOf(m1.get(feild).toString()).compareTo(String.valueOf(m2.get(feild).toString())));
}
return list;
}
//@Scheduled(cron = "0/10 * * * * ? ") //@Scheduled(cron = "0/10 * * * * ? ")
......
...@@ -217,8 +217,15 @@ public class LargeScreenImpl { ...@@ -217,8 +217,15 @@ public class LargeScreenImpl {
mapdta.put("NJHWC", 0d); mapdta.put("NJHWC", 0d);
//平均数 //平均数
List<String> value = new ArrayList<>(); List<String> value = new ArrayList<>();
List<String> ids =new ArrayList<>();
for (StationCacheInfoDto stationCacheInfoDto : gatewayId) {
ids.add(stationCacheInfoDto.getFanGatewayId());
ids.add(stationCacheInfoDto.getBoosterGatewayId());
}
// List<String> ids = gatewayId.stream().map(StationCacheInfoDto::getFanGatewayId).collect(Collectors.toList());
List<String> ids = gatewayId.stream().map(StationCacheInfoDto::getFanGatewayId).collect(Collectors.toList());
value.add(SS); value.add(SS);
value.add(ZFS); value.add(ZFS);
value.add(ZFSLJ); value.add(ZFSLJ);
......
...@@ -123,4 +123,8 @@ public class CommonConstans { ...@@ -123,4 +123,8 @@ public class CommonConstans {
public static final String taiHeGenIndicatorMonth = "泰和月发电量总和"; public static final String taiHeGenIndicatorMonth = "泰和月发电量总和";
public static final String taiHeGenIndicatorYear = "泰和年发电量总和"; public static final String taiHeGenIndicatorYear = "泰和年发电量总和";
public static final String taiheActivePowerPoint = "南瑞光差保护_313P";
public static final String taiheIrradiationPonit = "WTX-801_25_WTX-801_总辐射";
public static final String xiazaoActivePowerPoint = "220kV夏雩线212线路测控装置PCS-9705TA有功功率一次值";
public static final String xiazaoWindSpeedrPoint = "瞬时风速";
} }
...@@ -291,19 +291,9 @@ public class MonitorFanIdxController extends BaseController { ...@@ -291,19 +291,9 @@ public class MonitorFanIdxController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "概览-全站功率曲线") @ApiOperation(value = "概览-全站功率曲线")
@GetMapping("/overviewWindSpeed") @GetMapping("/overviewWindSpeed")
public ResponseModel<Map<String, Object>> getOverviewWindSpeed(@RequestParam(value = "stationId", required = false) String stationId, @RequestParam(value = "type", required = false) String type, @RequestParam(value = "areaCode", required = false) String areaCode) { public void getOverviewWindSpeed(@RequestParam(value = "stationId", required = true) String stationId, @RequestParam(value = "type", required = false) String type, @RequestParam(value = "areaCode", required = false) String areaCode) {
String gatewayId = ""; StationBasic stationBasic = stationBasicMapper.selectById(stationId);
if (null != stationId) { monitorFanIndicator.getDetailsWindSpeedAll(stationBasic);
StationBasic stationBasic = stationBasicMapper.selectById(stationId);
gatewayId = stationBasic.getBoosterGatewayId();
if (null == type) {
gatewayId = stationBasic.getFanGatewayId();
}
}
Map<String, Object> detailsWindSpeed = monitorFanIndicator.getDetailsWindSpeedAll(gatewayId);
return ResponseHelper.buildResponse(detailsWindSpeed);
} }
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
...@@ -676,7 +666,7 @@ public class MonitorFanIdxController extends BaseController { ...@@ -676,7 +666,7 @@ public class MonitorFanIdxController extends BaseController {
Double todayPower = Double.valueOf(columnMap.get(CommonConstans.taiHeGenIndicatorDay).toString()); Double todayPower = Double.valueOf(columnMap.get(CommonConstans.taiHeGenIndicatorDay).toString());
Double total = commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射累计"); Double total = commonService.getSumByEquipmentIndxName(result1, "WTX-801_25_WTX-801_总辐射累计");
if (todayPower > 0 && total > 0) { if (todayPower > 0 && total > 0) {
Double overallEfficiency = todayPower*CommonConstans.wkwhToMv / ((total / 3.6) * capacityl); Double overallEfficiency = todayPower * CommonConstans.wkwhToMv / ((total / 3.6) * capacityl);
data9.put("title", String.format("%.2f", overallEfficiency * 100) + "%");//综合效率 data9.put("title", String.format("%.2f", overallEfficiency * 100) + "%");//综合效率
} else { } else {
data9.put("title", "0.00%");//综合效率 data9.put("title", "0.00%");//综合效率
......
...@@ -363,16 +363,16 @@ public class CommonServiceImpl { ...@@ -363,16 +363,16 @@ public class CommonServiceImpl {
氮氧化物减排量(t)=发电量(万kW·h)*1.69 氮氧化物减排量(t)=发电量(万kW·h)*1.69
*/ */
co2.setUnit("二氧化碳减排量(t)"); co2.setUnit("二氧化碳减排量(t)");
co2.setTitle(String.format("%.2f", totalSocialContribution * CommonConstans.carbonDioxide*CommonConstans.kgToT)); co2.setTitle(String.format("%.2f", totalSocialContribution * CommonConstans.carbonDioxide));
socialContributionDtoList.add(co2); socialContributionDtoList.add(co2);
coal.setUnit("节约标准煤(t)"); coal.setUnit("节约标准煤(t)");
coal.setTitle(String.format("%.2f", (totalSocialContribution * CommonConstans.standardCoal*CommonConstans.kgToT))); coal.setTitle(String.format("%.2f", (totalSocialContribution * CommonConstans.standardCoal)));
socialContributionDtoList.add(coal); socialContributionDtoList.add(coal);
toner.setUnit("碳粉尘减排量(t)"); toner.setUnit("碳粉尘减排量(t)");
toner.setTitle(String.format("%.2f", (totalSocialContribution * CommonConstans.toner * CommonConstans.kgToT))); toner.setTitle(String.format("%.2f", (totalSocialContribution * CommonConstans.toner )));
socialContributionDtoList.add(toner); socialContributionDtoList.add(toner);
so2.setUnit("二氧化硫减排量(t)"); so2.setUnit("二氧化硫减排量(t)");
so2.setTitle(String.format("%.2f", (totalSocialContribution * CommonConstans.sulfurDioxide * CommonConstans.kgToT))); so2.setTitle(String.format("%.2f", (totalSocialContribution * CommonConstans.sulfurDioxide )));
socialContributionDtoList.add(so2); socialContributionDtoList.add(so2);
socialContributionDtoPage.setRecords(socialContributionDtoList); socialContributionDtoPage.setRecords(socialContributionDtoList);
socialContributionDtoPage.setTotal(100); socialContributionDtoPage.setTotal(100);
......
...@@ -76,7 +76,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -76,7 +76,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
TpriDmpDatabookServiceImpl tpriDmpDatabookServiceImpl; TpriDmpDatabookServiceImpl tpriDmpDatabookServiceImpl;
@Autowired @Autowired
TemporaryDataMapper temporaryDataMapper; TemporaryDataMapper temporaryDataMapper;
// @Autowired // @Autowired
// InfluxDButils influxDButils; // InfluxDButils influxDButils;
@Autowired @Autowired
AlarmEventMapper alarmEventMapper; AlarmEventMapper alarmEventMapper;
...@@ -460,21 +460,58 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -460,21 +460,58 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
public Map<String, Object> getDetailsWindSpeedAll(String gatewayId) { public void getDetailsWindSpeedAll(StationBasic stationBasic) {
List<Map<String, Object>> list = temporaryDataMapper.timingTemporarysSorageData(gatewayId);
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
List<String> values = new ArrayList<>(); List<String> values = new ArrayList<>();
List<String> valueList = new ArrayList<>(); List<String> valueList = new ArrayList<>();
Set<String> time = new TreeSet<>(); Map<Date, Double> groupMap = new HashMap<>();
List<String> time = new ArrayList<>();
for (Map<String, Object> stringStringMap : list) { Map<String, Object> activePowerInfo = new HashMap<>();
if (stringStringMap.get("equipmentIndexName").toString().equals("有功功率")) { Map<String, Object> otherInfo = new HashMap<>();
values.add(stringStringMap.get("value").toString()); List<IndicatorData> activePowerList = new ArrayList<>();
List<IndicatorData> otherList = new ArrayList<>();
String startTime = DateUtil.today() + " 00:00:00";
String endTime = DateUtil.today() + " 23:59:59";
Double installedCapacity = commonServiceImpl.getStationCapactityByStationWerks(stationBasic.getStationNumber());
if ("FDZ".equals(stationBasic.getStationType())) {
activePowerList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime(CommonConstans.xiazaoActivePowerPoint, startTime, endTime, stationBasic.getBoosterGatewayId());
otherList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime(CommonConstans.xiazaoWindSpeedrPoint, startTime, endTime, stationBasic.getFanGatewayId());
groupMap = otherList.stream().collect(Collectors.groupingBy(IndicatorData::getCreatedTime, Collectors.averagingDouble(IndicatorData::getValueF)));
} else {
activePowerList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime(CommonConstans.taiheActivePowerPoint, startTime, endTime, stationBasic.getBoosterGatewayId());
otherList = indicatorDataMapper.selectDataByequipmentIndexNameAndtime(CommonConstans.taiheIrradiationPonit, startTime, endTime, stationBasic.getBoosterGatewayId());
}
for (int i = 0; i < activePowerList.size(); i++) {
IndicatorData indicatorData = activePowerList.get(i);
time.add(DateUtil.format(indicatorData.getCreatedTime(), "HH:mm"));
if ("FDZ".equals(stationBasic.getStationType())) {
values.add(String.format(CommonConstans.Twodecimalplaces, indicatorData.getValueF()));
valueList.add(String.format(CommonConstans.Twodecimalplaces, groupMap.get(indicatorData.getCreatedTime())));
} else { } else {
valueList.add(stringStringMap.get("value").toString()); values.add(String.format(CommonConstans.Twodecimalplaces, indicatorData.getValueF() * CommonConstans.kwToMv));
time.add(stringStringMap.get("createdTime").toString()); valueList.add(String.format(CommonConstans.Twodecimalplaces, otherList.get(i).getValueF()));
} }
} }
String max = String.format(CommonConstans.Twodecimalplaces, values.stream().mapToDouble(Double::parseDouble).max().getAsDouble());
String min = String.format(CommonConstans.Twodecimalplaces, values.stream().mapToDouble(Double::parseDouble).min().getAsDouble());
String mean = String.format(CommonConstans.Twodecimalplaces, values.stream().mapToDouble(Double::parseDouble).average().getAsDouble());
activePowerInfo.put("mean", mean);
activePowerInfo.put("max", max);
activePowerInfo.put("min", min);
activePowerInfo.put("maxTime", time.get(values.lastIndexOf(max)));
activePowerInfo.put("minTime", time.get(values.lastIndexOf(min)));
activePowerInfo.put("load", String.format(CommonConstans.Twodecimalplaces, Double.valueOf(values.get(values.size() - 1)) / installedCapacity));
max = String.format(CommonConstans.Twodecimalplaces, valueList.stream().mapToDouble(Double::parseDouble).max().getAsDouble());
min = String.format(CommonConstans.Twodecimalplaces, valueList.stream().mapToDouble(Double::parseDouble).min().getAsDouble());
mean = String.format(CommonConstans.Twodecimalplaces, valueList.stream().mapToDouble(Double::parseDouble).average().getAsDouble());
otherInfo.put("mean", mean);
otherInfo.put("max", max);
otherInfo.put("min", min);
otherInfo.put("maxTime", time.get(valueList.lastIndexOf(max)));
otherInfo.put("minTime", time.get(valueList.lastIndexOf(min)));
otherInfo.put("load", "");
List<Map<String, Object>> seriesData = new ArrayList<>(); List<Map<String, Object>> seriesData = new ArrayList<>();
Map<String, Object> map3 = new HashMap<>(); Map<String, Object> map3 = new HashMap<>();
...@@ -486,8 +523,16 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -486,8 +523,16 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
seriesData.add(map1); seriesData.add(map1);
map.put("seriesData", seriesData); map.put("seriesData", seriesData);
map.put("axisData", time); map.put("axisData", time);
try {
log.info("---------------------推送全站图表信息开始------------------------------");
emqKeeper.getMqttClient().publish(stationBasic.getSequenceNbr()+"_activePower_table", JSON.toJSON(map).toString().getBytes("UTF-8"),1,true);
emqKeeper.getMqttClient().publish(stationBasic.getSequenceNbr()+"_activePower_info", JSON.toJSON(activePowerInfo).toString().getBytes("UTF-8"),1,true);
emqKeeper.getMqttClient().publish(stationBasic.getSequenceNbr()+"_other_info", JSON.toJSON(otherInfo).toString().getBytes("UTF-8"),1,true);
log.info("---------------------推送全站图表信息结束------------------------------");
}catch (Exception exception){
log.info("---------------------推送全站图表信息失败------------------------------");
}
return map;
} }
public Map<String, Object> getDetailsWindSpeed(String gatewayId, String name) { public Map<String, Object> getDetailsWindSpeed(String gatewayId, String name) {
...@@ -2080,119 +2125,99 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -2080,119 +2125,99 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
return deaviationRateDtoPage; return deaviationRateDtoPage;
} }
@Scheduled(cron = "0 */10 * * * ?") @Scheduled(cron = "0 */5 * * * ?")
//@Scheduled(cron = "0/1 * * * * ?") public void addNbqAlarmEvent() {
public void addNbqAlarmEvent() {
LambdaQueryWrapper<StationBasic> wrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<StationBasic> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(BaseEntity::getIsDelete, false);
wrapper.eq(BaseEntity::getIsDelete, false); List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper);
wrapper.like(StationBasic::getStationType, "GFDZ"); for (StationBasic stationBasic : stationBasics) {
List<StationBasic> stationBasics = stationBasicMapper.selectList(wrapper); Map<String, List<String>> queryCondtion = new HashMap<>();
for (StationBasic stationBasic : stationBasics) { Map<String, String> shouldCondtion = new HashMap<>();
Map<String, List<String>> queryCondtion = new HashMap<>(); queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getFanGatewayId()));
Map<String, String> shouldCondtion = new HashMap<>(); queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("待机", "停机", "告警运行", "限额运行", "降额运行", "故障停机", "通讯故障", "运行"));
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getFanGatewayId())); queryCondtion.put(CommonConstans.QueryStringValueKeyword, Arrays.asList("true"));
queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName,
Arrays.asList("待机", "停机", "告警运行", "限额运行", "降额运行", "故障停机", "通讯故障", "运行")); /**
queryCondtion.put(CommonConstans.QueryStringValueKeyword, Arrays.asList("true")); * 逆变器
*/
/** List<ESEquipments> indicatorsDtoList = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
* 逆变器 /**
*/ * 汇流箱
List<ESEquipments> indicatorsDtoList = commonServiceImpl.getListDataByCondtions(queryCondtion, null, */
ESEquipments.class); queryCondtion.remove(CommonConstans.QueryStringEquipmentIndexName);
Collections.sort(indicatorsDtoList, (a, b) -> (b.getCreatedTime()) queryCondtion.remove(CommonConstans.QueryStringValueKeyword);
.compareTo(a.getCreatedTime())); queryCondtion.put(CommonConstans.QueryStringDataType, Arrays.asList("state"));
shouldCondtion.put(CommonConstans.QueryStringFrontMoudle, "汇流箱");
//过滤重复状态 List<ESEquipments> indicatorsDtoListHLX = commonServiceImpl.getListDataByCondtions(queryCondtion, shouldCondtion, ESEquipments.class);
List<ESEquipments> nindicatorsDtoList=indicatorsDtoList.stream().collect(Collectors.collectingAndThen( /**
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(ESEquipments::getDisplayName))), ArrayList::new)); * 箱变
*/
shouldCondtion.put(CommonConstans.QueryStringFrontMoudle, "箱变");
List<ESEquipments> indicatorsDtoListXB = commonServiceImpl.getListDataByCondtions(queryCondtion, shouldCondtion, ESEquipments.class);
/** ;
* 汇流箱 indicatorsDtoList.addAll(indicatorsDtoListHLX);
*/ indicatorsDtoList.addAll(indicatorsDtoListXB);
queryCondtion.remove(CommonConstans.QueryStringEquipmentIndexName);
queryCondtion.remove(CommonConstans.QueryStringValueKeyword); List<EquipAlarmEvent> newEquipAlarmEvents = new ArrayList<>();
queryCondtion.put(CommonConstans.QueryStringDataType, Arrays.asList("state")); List<EquipAlarmEvent> newEquipAlarmEvent = new ArrayList<>();
shouldCondtion.put(CommonConstans.QueryStringFrontMoudle, "汇流箱"); long time = new Date().getTime();
List<ESEquipments> indicatorsDtoListHLX = commonServiceImpl.getListDataByCondtions(queryCondtion, if (CollectionUtils.isNotEmpty(indicatorsDtoList)){
shouldCondtion, ESEquipments.class); for (ESEquipments esEquipments : indicatorsDtoList) {
/** EquipAlarmEvent equipAlarmEvent = new EquipAlarmEvent();
* 箱变 equipAlarmEvent.setEquipIndex(esEquipments.getEquipmentNumber());
*/ equipAlarmEvent.setEquipName(esEquipments.getEquipmentSpecificName());
shouldCondtion.put(CommonConstans.QueryStringFrontMoudle, "箱变"); equipAlarmEvent.setAlarmDesc(AlarmDesc.getCode(esEquipments.getEquipmentIndexName()));
List<ESEquipments> indicatorsDtoListXB = commonServiceImpl.getListDataByCondtions(queryCondtion, equipAlarmEvent.setAlarmDesc(StringUtils.isEmpty(equipAlarmEvent.getAlarmDesc()) ? esEquipments.getEquipmentIndexName() : equipAlarmEvent.getAlarmDesc());
shouldCondtion, ESEquipments.class); equipAlarmEvent.setCreatedTime(esEquipments.getCreatedTime());
nindicatorsDtoList.addAll(indicatorsDtoListHLX); equipAlarmEvent.setGatewayId(stationBasic.getFanGatewayId());
nindicatorsDtoList.addAll(indicatorsDtoListXB); equipAlarmEvent.setSort(time);
equipAlarmEvent.setFrontModule(esEquipments.getFrontModule());
List<EquipAlarmEvent> newEquipAlarmEvents = new ArrayList<>(); equipAlarmEvent.setValue(esEquipments.getValue());
List<EquipAlarmEvent> newEquipAlarmEvent = new ArrayList<>(); newEquipAlarmEvents.add(equipAlarmEvent);
long time = new Date().getTime(); newEquipAlarmEvent.add(equipAlarmEvent);
if (CollectionUtils.isNotEmpty(nindicatorsDtoList)) { }
for (ESEquipments esEquipments : nindicatorsDtoList) { }
EquipAlarmEvent equipAlarmEvent = new EquipAlarmEvent();
equipAlarmEvent.setEquipIndex(esEquipments.getEquipmentNumber());
equipAlarmEvent.setEquipName(esEquipments.getEquipmentSpecificName()); String lastSort = equipAlarmEventMapper.getLastDataBySort(stationBasic.getFanGatewayId());
equipAlarmEvent.setAlarmDesc(AlarmDesc.getCode(esEquipments.getEquipmentIndexName())); if (null != lastSort) {
equipAlarmEvent.setAlarmDesc( List<EquipAlarmEvent> oldEquipAlarmEvents = equipAlarmEventMapper.getOldDataBySort(lastSort, stationBasic.getFanGatewayId());
StringUtils.isEmpty(equipAlarmEvent.getAlarmDesc()) ? esEquipments.getEquipmentIndexName() for (EquipAlarmEvent oldEquipAlarmEvent : oldEquipAlarmEvents) {
: equipAlarmEvent.getAlarmDesc()); for (EquipAlarmEvent equipAlarmEvent : newEquipAlarmEvents) {
equipAlarmEvent.setCreatedTime(esEquipments.getCreatedTime()); if (oldEquipAlarmEvent.getEquipIndex().equals(equipAlarmEvent.getEquipIndex()) &&
equipAlarmEvent.setGatewayId(stationBasic.getFanGatewayId()); oldEquipAlarmEvent.getAlarmDesc().equals(equipAlarmEvent.getAlarmDesc()) &&
equipAlarmEvent.setSort(time); oldEquipAlarmEvent.getValue().equals(equipAlarmEvent.getValue())) {
equipAlarmEvent.setFrontModule(esEquipments.getFrontModule()); newEquipAlarmEvent.remove(equipAlarmEvent);
equipAlarmEvent.setValue(esEquipments.getValue()); }
newEquipAlarmEvents.add(equipAlarmEvent); }
newEquipAlarmEvent.add(equipAlarmEvent); }
} }
} equipAlarmEventService.saveBatch(newEquipAlarmEvent);
String lastSort = equipAlarmEventMapper.getLastDataBySort(stationBasic.getFanGatewayId()); }
if (null != lastSort) { }
List<EquipAlarmEvent> oldEquipAlarmEvents = equipAlarmEventMapper.getOldDataBySort(lastSort,
stationBasic.getFanGatewayId()); public HashMap<String, String> getPvNBQStationBy(String gatewayId) {
for (EquipAlarmEvent oldEquipAlarmEvent : oldEquipAlarmEvents) { HashMap<String, String> result = new HashMap<>();
for (EquipAlarmEvent equipAlarmEvent : newEquipAlarmEvents) { Map<String, List<String>> queryCondition = new HashMap<>();
if (oldEquipAlarmEvent.getEquipIndex().equals(equipAlarmEvent.getEquipIndex()) queryCondition.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("运行"));
&& oldEquipAlarmEvent.getAlarmDesc().equals(equipAlarmEvent.getAlarmDesc()) queryCondition.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
&& oldEquipAlarmEvent.getValue().equals(equipAlarmEvent.getValue())) { Map<String, String> shouldCondition = new HashMap<>();
newEquipAlarmEvent.remove(equipAlarmEvent); shouldCondition.put(CommonConstans.QueryStringFrontMoudle, "逆变器");
} List<ESEquipments> totalEquipmentList = commonServiceImpl.getListDataByCondtions(queryCondition, shouldCondition, ESEquipments.class);
} totalEquipmentList.forEach(indicatorsDto -> result.put(indicatorsDto.getEquipmentNumber(), "正常运行"));
} Map<String, List<String>> queryCondition1 = new HashMap<>();
} queryCondition1.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("运行", "待机", "故障停机", "告警运行", "限额运行", "停机", "通讯故障", "'降额运行'"));
equipAlarmEventService.saveBatch(newEquipAlarmEvent); queryCondition1.put(CommonConstans.QueryStringValueKeyword, Arrays.asList("true"));
queryCondition1.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
} List<ESEquipments> indicatorsDtoList = commonServiceImpl.getListDataByCondtions(queryCondition1, shouldCondition, ESEquipments.class);
} indicatorsDtoList.forEach(esEquipments -> {
if (!"运行".equals(esEquipments.getEquipmentIndexName())) {
public HashMap<String, String> getPvNBQStationBy(String gatewayId) { result.put(esEquipments.getEquipmentNumber(), CommonConstans.pvStatus.get(esEquipments.getEquipmentIndexName()));
HashMap<String, String> result = new HashMap<>(); }
Map<String, List<String>> queryCondition = new HashMap<>(); });
queryCondition.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("运行")); return result;
queryCondition.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId)); }
Map<String, String> shouldCondition = new HashMap<>();
shouldCondition.put(CommonConstans.QueryStringFrontMoudle, "逆变器");
List<ESEquipments> totalEquipmentList = commonServiceImpl.getListDataByCondtions(queryCondition,
shouldCondition, ESEquipments.class);
totalEquipmentList.forEach(indicatorsDto -> result.put(indicatorsDto.getEquipmentNumber(), "正常运行"));
Map<String, List<String>> queryCondition1 = new HashMap<>();
queryCondition1.put(CommonConstans.QueryStringEquipmentIndexName,
Arrays.asList("运行", "待机", "故障停机", "告警运行", "限额运行", "停机", "通讯故障", "'降额运行'"));
queryCondition1.put(CommonConstans.QueryStringValueKeyword, Arrays.asList("true"));
queryCondition1.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
List<ESEquipments> indicatorsDtoList = commonServiceImpl.getListDataByCondtions(queryCondition1,
shouldCondition, ESEquipments.class);
indicatorsDtoList.forEach(esEquipments -> {
if (!"运行".equals(esEquipments.getEquipmentIndexName())) {
result.put(esEquipments.getEquipmentNumber(),
CommonConstans.pvStatus.get(esEquipments.getEquipmentIndexName()));
}
});
return result;
}
} }
...@@ -283,20 +283,20 @@ public class MonitoringServiceIMQTTmpl { ...@@ -283,20 +283,20 @@ 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"));
stationBasicList.forEach(stationBasic -> { // stationBasicList.forEach(stationBasic -> {
String gatewayId = stationBasic.getFanGatewayId(); // String gatewayId = stationBasic.getFanGatewayId();
Map<String, Object> detailsWindSpeed = monitorFanIndicator.getDetailsWindSpeedAll(gatewayId); // Map<String, Object> detailsWindSpeed = monitorFanIndicator.getDetailsWindSpeedAll(gatewayId);
try { // try {
emqKeeper.getMqttClient().publish(stationBasic.getSequenceNbr() + "_fanStationPowerBight_topic", JSON.toJSON(detailsWindSpeed).toString().getBytes("UTF-8"), 1, true); // emqKeeper.getMqttClient().publish(stationBasic.getSequenceNbr() + "_fanStationPowerBight_topic", JSON.toJSON(detailsWindSpeed).toString().getBytes("UTF-8"), 1, true);
logger.info("-----------------发送风电站功率曲线数据消息=================== 成功!" + JSON.toJSONString(detailsWindSpeed)); // logger.info("-----------------发送风电站功率曲线数据消息=================== 成功!" + JSON.toJSONString(detailsWindSpeed));
} catch (Exception exception) { // } catch (Exception exception) {
logger.error("-----------------发送风电站功率曲线数据消息=================== 失败!"); // logger.error("-----------------发送风电站功率曲线数据消息=================== 失败!");
} // }
}); // });
} // }
/** /**
* 实时同送-获取各场站的风机列表 * 实时同送-获取各场站的风机列表
......
...@@ -830,7 +830,7 @@ public class MonitoringServiceImpl { ...@@ -830,7 +830,7 @@ public class MonitoringServiceImpl {
sorted.forEach(stationBasic -> { sorted.forEach(stationBasic -> {
HashMap<String, String> hashMap1 = new HashMap<>(); HashMap<String, String> hashMap1 = new HashMap<>();
hashMap1.put("stationName", stationBasic.getStationName()); hashMap1.put("stationName", stationBasic.getStationName());
hashMap1.put("value", stationBasic.getAddress()); hashMap1.put("value", stationBasic.getAddress()+"%");
hashMap1.put("value1", stationBasic.getAddress()); hashMap1.put("value1", stationBasic.getAddress());
mapList.add(hashMap1); mapList.add(hashMap1);
}); });
...@@ -1051,19 +1051,19 @@ public class MonitoringServiceImpl { ...@@ -1051,19 +1051,19 @@ public class MonitoringServiceImpl {
page2.setRecords(list2); page2.setRecords(list2);
Double totalAnnual = (powerOfAnnualFD + powerOfAnnualGF); Double totalAnnual = (powerOfAnnualFD + powerOfAnnualGF);
HashMap<String, String> stringHashMap13 = new HashMap<>(); HashMap<String, String> stringHashMap13 = new HashMap<>();
stringHashMap13.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.carbonDioxide * CommonConstans.kgToT))); stringHashMap13.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.carbonDioxide )));
stringHashMap13.put("title2", "二氧化碳减排量(t)"); stringHashMap13.put("title2", "二氧化碳减排量(t)");
list3.add(stringHashMap13); list3.add(stringHashMap13);
HashMap<String, String> stringHashMap14 = new HashMap<>(); HashMap<String, String> stringHashMap14 = new HashMap<>();
stringHashMap14.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.standardCoal * CommonConstans.kgToT))); stringHashMap14.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.standardCoal )));
stringHashMap14.put("title2", "节约标准煤(t)"); stringHashMap14.put("title2", "节约标准煤(t)");
list3.add(stringHashMap14); list3.add(stringHashMap14);
HashMap<String, String> stringHashMap15 = new HashMap<>(); HashMap<String, String> stringHashMap15 = new HashMap<>();
stringHashMap15.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.toner * CommonConstans.kgToT))); stringHashMap15.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.toner )));
stringHashMap15.put("title2", "碳粉尘减排量(t)"); stringHashMap15.put("title2", "碳粉尘减排量(t)");
list3.add(stringHashMap15); list3.add(stringHashMap15);
HashMap<String, String> stringHashMap16 = new HashMap<>(); HashMap<String, String> stringHashMap16 = new HashMap<>();
stringHashMap16.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.sulfurDioxide * CommonConstans.kgToT))); stringHashMap16.put("title1", String.format(CommonConstans.Twodecimalplaces, (totalAnnual * CommonConstans.sulfurDioxide )));
stringHashMap16.put("title2", "二氧化硫减排量(t)"); stringHashMap16.put("title2", "二氧化硫减排量(t)");
list3.add(stringHashMap16); list3.add(stringHashMap16);
page3.setRecords(list3); page3.setRecords(list3);
......
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