Commit 419157fc authored by chenzhao's avatar chenzhao

修改代码

parent 399ebcab
package com.yeejoin.amos.boot.module.jxiop.biz.constants;
import java.util.HashMap;
public class CommonConstans {
//光伏发电量系数
public static final Double pvGenPoweActor = 0.000001;
// 风电站:
// (日/月/年)发电量=场站所有风机(日/月/年)发电量总和
// 装机容量=场站所有风机装机容量总和
//
// 光伏站:
// (日/月/年)发电量=场站所有逆变器(日/月/年)发电量总和
// 装机容量=场站所有逆变器装机容量总和
//
// 通用:
// 发电量完成率=(月/年)发电量/(月/年)发电量指标
// 小时数完成率=(月/年)可利用小时/(月/年)可利用小时数指标
// 可利用小时(h)=(日/月/年)发电量(万kW·h)/装机容量(万kW)
// 二氧化碳减排量(万t)=发电量(万kW·h)*0.79
public static final Double carbonDioxide = 0.79;
// 节约标准煤(万t)=发电量(万kW·h)*0.29
public static final Double standardCoal = 0.29;
// 炭粉尘减排量(t)=发电量(万kW·h)*0.30
public static final Double toner = 0.30;
// 二氧化硫减排量(t)=发电量(万kW·h)*1.51
public static final Double sulfurDioxide = 1.51;
// 氮氧化物减排量(t)=发电量(万kW·h)*1.69
public static final Double oxynitride = 1.69;
//吨转万吨
public static final Double tToWT = 0.0001;
//万Kwh转MV
public static final Integer wkwhToMv = 10;
// 正常运行 发电状态=1
// 告警运行 报警状态=1
// 正常停机 停机状态=1
// 故障停机 故障状态=1
// 限功率
// 待机状态 待机状态=1
// 维护状态 维护状态=1
// 通讯中断
public static final HashMap<String, String> fanStatus = new HashMap<String, String>() {
{
put("发电状态", "正常运行");
put("报警状态", "报警运行");
put("停机状态", "停机状态");
put("故障状态", "故障状态");
put("待机状态", "待机状态");
put("维护状态", "维护状态");
put("限功率", "限功率");
put("通讯中断", "通讯中断");
}
};
// 正常运行 运行=1
// 正常停机 停机=1
// 限功率 限额运行=1
// 限电停机 降额运行=1
// 告警运行 告警运行=1
// 故障停机 故障停机=1
// 待机状态 待机=1
// 通讯中断 通讯故障=1
public static final HashMap<String, String> pvStatus = new HashMap<String, String>() {
{
put("运行", "正常运行");
put("停机", "正常停机");
put("限额运行", "限功率");
put("降额运行", "限电停机");
put("告警运行", "告警运行");
put("故障停机", "故障停机");
put("待机", "待机状态");
put("通讯故障", "通讯中断");
}
};
}
...@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.entity.StationBasic; ...@@ -15,6 +15,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.StationBasicMapper; import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper;
import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments; import com.yeejoin.amos.boot.module.jxiop.biz.ESDto.ESEquipments;
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.service.impl.CommonServiceImpl; import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.CommonServiceImpl;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.MonitorFanIndicatorImpl; import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.MonitorFanIndicatorImpl;
...@@ -906,13 +907,13 @@ public class MonitorFanIdxController extends BaseController { ...@@ -906,13 +907,13 @@ public class MonitorFanIdxController extends BaseController {
Map<String, Object> yearMap = new HashMap<>(); Map<String, Object> yearMap = new HashMap<>();
dayMap.put("name",name); dayMap.put("name",name);
dayMap.put("gateWayId",stationBasic.getFanGatewayId()); dayMap.put("gateWayId",stationBasic.getFanGatewayId());
dayMap.put("value",map.get("日发电量") == null?0:String.format("%.4f",map.get("日发电量"))); dayMap.put("value",map.get("日发电量") == null?0:String.format("%.4f",Double.parseDouble(map.get("日发电量").toString())* CommonConstans.pvGenPoweActor));
monthMap.put("name",name); monthMap.put("name",name);
monthMap.put("gateWayId",stationBasic.getFanGatewayId()); monthMap.put("gateWayId",stationBasic.getFanGatewayId());
monthMap.put("value",map.get("月发电量") == null?0:String.format("%.4f",map.get("月发电量"))); monthMap.put("value",map.get("月发电量") == null?0:String.format("%.4f",Double.parseDouble(map.get("月发电量").toString())* CommonConstans.pvGenPoweActor));
yearMap.put("name",name); yearMap.put("name",name);
yearMap.put("gateWayId",stationBasic.getFanGatewayId()); yearMap.put("gateWayId",stationBasic.getFanGatewayId());
yearMap.put("value",map.get("年发电量") == null?0:String.format("%.4f",map.get("年发电量"))); yearMap.put("value",map.get("年发电量") == null?0:String.format("%.4f",Double.parseDouble(map.get("年发电量").toString())* CommonConstans.pvGenPoweActor));
datDataGF.add(dayMap); datDataGF.add(dayMap);
monthDataGF.add(monthMap); monthDataGF.add(monthMap);
yearDataGF.add(yearMap); yearDataGF.add(yearMap);
...@@ -921,8 +922,8 @@ public class MonitorFanIdxController extends BaseController { ...@@ -921,8 +922,8 @@ public class MonitorFanIdxController extends BaseController {
monitorFanIndicator.sendMqttByRanking(datDataFJ, GeneratingCapacity.DAY.getCode(),"fjpm"); monitorFanIndicator.sendMqttByRanking(datDataFJ, GeneratingCapacity.DAY.getCode(),"fjpm");
monitorFanIndicator.sendMqttByRanking(monthDataFJ,GeneratingCapacity.MONTH.getCode(),"fjpm"); monitorFanIndicator.sendMqttByRanking(monthDataFJ,GeneratingCapacity.MONTH.getCode(),"fjpm");
monitorFanIndicator.sendMqttByRanking(yearDataFJ,GeneratingCapacity.YEAR.getCode(),"fjpm"); monitorFanIndicator.sendMqttByRanking(yearDataFJ,GeneratingCapacity.YEAR.getCode(),"fjpm");
monitorFanIndicator.sendMqttByRanking(datDataGF,GeneratingCapacity.YEAR.getCode(),"gfpm"); monitorFanIndicator.sendMqttByRanking(datDataGF,GeneratingCapacity.DAY.getCode(),"gfpm");
monitorFanIndicator.sendMqttByRanking(monthDataGF,GeneratingCapacity.YEAR.getCode(),"gfpm"); monitorFanIndicator.sendMqttByRanking(monthDataGF,GeneratingCapacity.MONTH.getCode(),"gfpm");
monitorFanIndicator.sendMqttByRanking(yearDataGF,GeneratingCapacity.YEAR.getCode(),"gfpm"); monitorFanIndicator.sendMqttByRanking(yearDataGF,GeneratingCapacity.YEAR.getCode(),"gfpm");
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} }
......
...@@ -1756,24 +1756,6 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1756,24 +1756,6 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
} }
public void sendMqttByRanking( List< Map<String,Object>> list,String code,String topic){ public void sendMqttByRanking( List< Map<String,Object>> list,String code,String topic){
//先发送区域消息
List<StationCacheInfoDto> listStationCacheInfoDto = commonServiceImpl.getListStationCacheInfoDto();
Map<String, List<StationCacheInfoDto>> belongAreaList = listStationCacheInfoDto.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getAreaCode));
for (String s : belongAreaList.keySet()) {
List<String> ids = belongAreaList.get(s).stream().map(StationCacheInfoDto::getFanGatewayId).collect(Collectors.toList());
String idStrings = String.join(",", ids);
List<Map<String, Object>> dataList = list.stream().filter(e -> idStrings.contains(e.get("gateWayId").toString())).collect(Collectors.toList());
List<Map<String, Object>> resultList = mapListToSort(dataList).stream().limit(5).collect(Collectors.toList());
IPage<Map<String,Object>> result = new Page<>();
result.setRecords(resultList);
result.setCurrent(1);
result.setTotal(resultList.size());
try {
emqKeeper.getMqttClient().publish(topic+"/"+code+"/"+s,JSON.toJSONString(result).getBytes(),0,false);
} catch (MqttException e) {
e.printStackTrace();
}
}
//发送全国数据消息 //发送全国数据消息
List<Map<String, Object>> maps = mapListToSort(list); List<Map<String, Object>> maps = mapListToSort(list);
...@@ -1788,6 +1770,26 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1788,6 +1770,26 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
e.printStackTrace(); e.printStackTrace();
} }
//先发送区域消息
List<StationCacheInfoDto> listStationCacheInfoDto = commonServiceImpl.getListStationCacheInfoDto();
Map<String, List<StationCacheInfoDto>> belongAreaList = listStationCacheInfoDto.stream().collect(Collectors.groupingBy(StationCacheInfoDto::getAreaCode));
for (String s : belongAreaList.keySet()) {
List<String> ids = belongAreaList.get(s).stream().map(StationCacheInfoDto::getFanGatewayId).collect(Collectors.toList());
String idStrings = String.join(",", ids);
List<Map<String, Object>> dataList = list.stream().filter(e -> idStrings.contains(e.get("gateWayId").toString())).collect(Collectors.toList());
List<Map<String, Object>> data = mapListToSort(dataList).stream().limit(5).collect(Collectors.toList());
IPage<Map<String,Object>> resultMap = new Page<>();
resultMap.setRecords(data);
resultMap.setCurrent(1);
resultMap.setTotal(data.size());
try {
emqKeeper.getMqttClient().publish(topic+"/"+code+"/"+s,JSON.toJSONString(resultMap).getBytes(),0,false);
} catch (MqttException e) {
e.printStackTrace();
}
}
} }
List< Map<String,Object>> mapListToSort(List< Map<String,Object>> list){ List< Map<String,Object>> mapListToSort(List< Map<String,Object>> list){
......
...@@ -98,6 +98,8 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -98,6 +98,8 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
@Autowired @Autowired
private StationBasicMapper stationBasicMapper; private StationBasicMapper stationBasicMapper;
@Autowired @Autowired
private SjglZsjZsbtzMapper sjglZsjZsbtzMapper;
@Autowired
private RegionMapper regionMapper; private RegionMapper regionMapper;
//风机状态列表 //风机状态列表
@Value("${fan.statuts.stattuspath}") @Value("${fan.statuts.stattuspath}")
...@@ -1498,10 +1500,34 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator { ...@@ -1498,10 +1500,34 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
// resultMap.put("equipmentSpecificName", list.get(0).getEquipmentSpecificName()); // resultMap.put("equipmentSpecificName", list.get(0).getEquipmentSpecificName());
// resultMap.put("equipmentIndexName", list.get(0).getEquipmentSpecificName()); // resultMap.put("equipmentIndexName", list.get(0).getEquipmentSpecificName());
//箱变名称与箱变型号去掉区域 //箱变名称与箱变型号去掉区域
String type = "光伏阵区系统";
String queryEquipNum = "";
if (equipmentNumber.contains("-")){
String[] equipNames = equipmentNumber.split("-");
if (equipNames.length>2){
type ="汇流箱系统";
queryEquipNum = equipNames[0]+equipNames[1]+Integer.parseInt(equipNames[2]);
}else {
type ="光伏逆变器系统";
String sql1 = " SELECT * FROM indicators_" + gatewayId + " WHERE (equipmentIndexName ='待机' or equipmentIndexName ='故障停机' or equipmentIndexName ='告警运行' or equipmentIndexName ='限额运行' or equipmentIndexName ='停机' or equipmentIndexName = '通讯故障' or equipmentIndexName = '降额运行' or equipmentIndexName = '运行') and value = 'true' and equipmentNumber ='"+equipmentNumber+"'";
List<IndicatorsDto> list1 = influxDButils.getListData(sql1, IndicatorsDto.class);
resultMap.put("status", AlarmDesc.getCode(list1.get(0).getEquipmentIndexName()));
queryEquipNum="#"+Integer.parseInt(equipNames[0]);
}
}else {
queryEquipNum ="#"+ Integer.parseInt(equipmentNumber)+"";
}
queryEquipNum = queryEquipNum + type;
LambdaQueryWrapper<SjglZsjZsbtz> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(SjglZsjZsbtz::getSbmc,queryEquipNum);
SjglZsjZsbtz sjglZsjZsbtz = sjglZsjZsbtzMapper.selectOne(queryWrapper);
resultMap.put("equipmentSpecificName", list.get(0).getEquipmentSpecificName().split("区域/")[1]); resultMap.put("equipmentSpecificName", list.get(0).getEquipmentSpecificName().split("区域/")[1]);
resultMap.put("equipmentIndexName", list.get(0).getEquipmentSpecificName().split("区域/")[1]); resultMap.put("equipmentIndexName",null == sjglZsjZsbtz.getGgxh()?"": sjglZsjZsbtz.getGgxh());
resultMap.put("equipmentInfoName", list.get(0).getEquipmentSpecificName().substring(5).replace("/", " ")); resultMap.put("equipmentInfoName", list.get(0).getEquipmentSpecificName().substring(5).replace("/", " "));
resultMap.put("status", list.get(0).getValue().equals("false") ? "异常" : "正常运行");
} }
return resultMap; return resultMap;
} }
......
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