Commit 62086ac4 authored by chenzhao's avatar chenzhao

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

parents 53c76ff2 288fc5a9
package com.yeejoin.amos.boot.module.hygf.biz.x;
package com.yeejoin.amos.boot.module.hygf.biz.emqx;
import com.alibaba.fastjson.JSONObject;
......
package com.yeejoin.amos.boot.module.jxiop.biz.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -16,6 +17,7 @@ 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.constants.CommonConstans;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.DeaviationRateDto;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.ESEquipmentsDTO;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.ResultsData;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.CommonServiceImpl;
import com.yeejoin.amos.boot.module.jxiop.biz.service.impl.EquipAlarmEventServiceImpl;
......@@ -99,12 +101,13 @@ public class MonitorFanIdxController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "风机布置图 - 风机状态列表")
@GetMapping("/getFanStatusList")
public ResponseModel<IPage<ESEquipments>> getFanStatusList(@RequestParam(value = "stationId", required = false) String stationId,
public ResponseModel<IPage<ESEquipmentsDTO>> getFanStatusList(@RequestParam(value = "stationId", required = false) String stationId,
@RequestParam(value = "current", required = false) int current,
@RequestParam(value = "size", required = false) int size) {
List<ESEquipments> fanStatusList = monitorFanIndicator.getFanStatusList(stationId);
Page<ESEquipments> page = new Page<>(current, size);
List<ESEquipments> collect = fanStatusList.stream()
List<ESEquipmentsDTO> fanStatusList = monitorFanIndicator.getFanStatusList(stationId);
Page<ESEquipmentsDTO> page = new Page<>(current, size);
List<ESEquipmentsDTO> collect = fanStatusList.stream()
.sorted(Comparator.comparing(t -> Integer.parseInt(t.getEquipmentNumber())))
.skip((long) (current - 1) * size)
.limit(size)
.collect(Collectors.toList());
......@@ -117,17 +120,17 @@ public class MonitorFanIdxController extends BaseController {
@ApiOperation(value = "风机布置图 - 风机状态图片")
@GetMapping("/getFanStatusListImage")
public ResponseModel<IPage<HashMap<String,String>>> getFanStatusListImages(@RequestParam(value = "stationId", required = false) String stationId){
List<ESEquipments> fanStatusList = monitorFanIndicator.getFanStatusList(stationId);
List<ESEquipments> collect = fanStatusList.stream()
List<ESEquipmentsDTO> fanStatusList = monitorFanIndicator.getFanStatusList(stationId);
List<ESEquipmentsDTO> collect = fanStatusList.stream()
.limit(999)
.collect(Collectors.toList());
IPage<HashMap<String,String>> page = new Page<>();
HashMap<String,String> hashMap = new HashMap<>();
List<ESEquipments> indexDtoList = collect.stream().sorted(Comparator.comparing(ESEquipments::getEquipmentNumber)).collect(Collectors.toList());
List<ESEquipmentsDTO> indexDtoList = collect.stream().sorted(Comparator.comparing(ESEquipmentsDTO::getEquipmentNumber)).collect(Collectors.toList());
//获取拼音首字母
String prefix =commonService.getFanDevicePrefix(stationId);
for (int i = 1; i <= indexDtoList.size(); i++) {
ESEquipments ESEquipments = indexDtoList.get(i-1);
ESEquipmentsDTO ESEquipments = indexDtoList.get(i-1);
hashMap.put("url"+i,fanStatusImagePathPrefix+"/"+"风机-"+ESEquipments.getAddress()+".gif");
hashMap.put("name"+i,prefix+ESEquipments.getEquipmentNumber());
//用于参数传递
......@@ -491,9 +494,10 @@ public class MonitorFanIdxController extends BaseController {
@ApiOperation(value = "故障记录API")
@GetMapping("/alarmEventtList")
public ResponseModel<ResultsData> getAlarmEventList(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "stationId") String stationId,
@RequestParam(value = "type") String type) {
@RequestParam(value = "size") int size,
@RequestParam(value = "stationId") String stationId,
@RequestParam(value = "type", required = false) String type) {
type = StrUtil.isEmpty(type) ? "0" : type;
ResultsData resultsData = new ResultsData();
if (type.equals("0")){
resultsData = monitorFanIndicatorImpl.getAlarmEventList(current, size, stationId);
......
package com.yeejoin.amos.boot.module.jxiop.biz.dto;
import lombok.Data;
import java.util.Date;
@Data
public class ESEquipmentsDTO {
private String id;
private String address;
private String dataType;
private String equipmentSpecificName;
private String gatewayId;
private String isAlarm;
private Date createdTime;
private String unit;
private String value;
private Float valueDouble;
private String valueLabel;
private String traceId;
private String equipmentIndexName;
private String equipmentNumber;
private String frontModule;
private String systemType;
private String pictureName;
private String displayName;
private String state;
private String color;
}
package com.yeejoin.amos.boot.module.jxiop.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
......@@ -7,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.Query;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
......@@ -281,7 +283,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
return stationBasicMapper.selectById(stationId);
}
public List<ESEquipments> getFanStatusList(String stationId) {
public List<ESEquipmentsDTO> getFanStatusList(String stationId) {
StationBasic stationBasic = getOneByStationNumber(stationId);
Map<String, List<String>> queryCondtion = new HashMap<>();
queryCondtion.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("发电状态", "报警状态", "停机状态", "故障状态", "待机状态", "维护状态", "正常发电状态", "实时故障22"));
......@@ -291,18 +293,37 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
queryCondtion1.put(CommonConstans.QueryStringEquipmentIndexName, Arrays.asList("报警状态"));
queryCondtion1.put(CommonConstans.QueryStringGateWayId, Arrays.asList(stationBasic.getFanGatewayId()));
List<ESEquipments> equipNumList = commonServiceImpl.getListDataByCondtions(queryCondtion1, null, ESEquipments.class);
Map<String, String> collect = result.stream().collect(Collectors.toMap(ESEquipments::getEquipmentNumber, ESEquipments::getEquipmentIndexName, (item1, item2) -> item1));
Map<String, String> collect = CollectionUtils.isEmpty(result) ? new HashMap<String, String>() : result.stream().collect(Collectors.toMap(ESEquipments::getEquipmentNumber, ESEquipments::getEquipmentIndexName, (item1, item2) -> item1));
HashMap<String, String> colorMap = new HashMap<>();
colorMap.put("正常运行", "#00aa00");
colorMap.put("报警运行", "#ffc400");
colorMap.put("停机状态", "#0055ff");
colorMap.put("故障状态", "#ff0000");
colorMap.put("限功率", "#a3f5aa");
colorMap.put("待机状态", "#00aaff");
colorMap.put("维护状态", "#ff00ff");
colorMap.put("通讯中断", "#7d8e95");
List<ESEquipmentsDTO> resultList = new ArrayList<>();
equipNumList.forEach(item -> {
String status = ObjectUtils.isEmpty(CommonConstans.fanStatus.get(collect.get(item.getEquipmentNumber()))) ? "通讯中断" : CommonConstans.fanStatus.get(collect.get(item.getEquipmentNumber()));
item.setAddress(status);
ESEquipmentsDTO esEquipmentsDTO = new ESEquipmentsDTO();
BeanUtil.copyProperties(item, esEquipmentsDTO);
String color = colorMap.get(status);
esEquipmentsDTO.setState(status);
esEquipmentsDTO.setColor(color);
resultList.add(esEquipmentsDTO);
});
return equipNumList;
return resultList;
}
public List<IndexDto> getFanStatusStatistics(String stationId) {
List<ESEquipments> equipNumList = getFanStatusList(stationId);
Map<String, Long> countMap = equipNumList.stream().collect(Collectors.groupingBy(ESEquipments::getAddress, Collectors.counting()));
List<ESEquipmentsDTO> equipNumList = getFanStatusList(stationId);
Map<String, Long> countMap = equipNumList.stream().collect(Collectors.groupingBy(ESEquipmentsDTO::getAddress, Collectors.counting()));
List<IndexDto> resultList = new ArrayList<>();
List<String> list = Arrays.asList("正常运行", "报警运行", "停机状态", "故障状态", "限功率", "待机状态", "维护状态", "通讯中断");
HashMap<String, String> colorMap = new HashMap<>();
......@@ -337,7 +358,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
indexDto.setLongitude(String.valueOf(jsonObject.get("longitude")));
indexDto.setLatitude(String.valueOf(jsonObject.get("latitude")));
StationBasic stationBasic = getOneByStationNumber(stationId);
List<ESEquipments> fanStatusList = getFanStatusList(stationId);
List<ESEquipmentsDTO> fanStatusList = getFanStatusList(stationId);
String fanStatus = fanStatusList.stream().filter(esEquipments -> esEquipments.getEquipmentNumber().equals(equipNum)).collect(Collectors.toList()).get(0).getAddress();
indexDto.setEquipmentIndexName(fanStatus);
List<Map<String, String>> fanConfigPower = monitorFanIndicatorregionMapper.getFanConfigPower(stationBasic.getFanGatewayId(), equipNum);
......@@ -869,7 +890,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
TpriDmpDatabook tpriDmpDatabook = tpriDmpDatabookServiceImpl.getTpriDmpDatabookByDataName("风机");
List<Map<String, Object>> dataMaps = sjglZsjZsbtzServiceImpl.sjglZsjZsbtzMapper.getStationInfoMapByStationWerks(werks, tpriDmpDatabook.getDataid().toString());
//获取风机列表
List<ESEquipments> fanStatusList = getFanStatusList(stationId);
List<ESEquipmentsDTO> fanStatusList = getFanStatusList(stationId);
fanStatusList.forEach(equipments -> {
fanstatutsHashMap.put(equipments.getEquipmentNumber(), equipments.getAddress());
});
......@@ -1535,7 +1556,7 @@ public class MonitorFanIndicatorImpl implements IMonitorFanIndicator {
queryCondtion.put(CommonConstans.QueryStringGateWayId, Arrays.asList(gatewayId));
queryCondtion.put(CommonConstans.QueryStringFrontMoudle, Arrays.asList(frontModule));
List<ESEquipments> esEquipmentsList = commonServiceImpl.getListDataByCondtions(queryCondtion, null, ESEquipments.class);
List<ESEquipments> listData = esEquipmentsList.stream().filter(esEquipments -> !esEquipments.getEquipmentNumber().equals("")).collect(Collectors.toList());
List<ESEquipments> listData = esEquipmentsList.stream().filter(esEquipments -> !esEquipments.getEquipmentNumber().equals("")).sorted(Comparator.comparing(ESEquipments::getEquipmentNumber)).collect(Collectors.toList());
if (null != equipmentNumber) {
listData = esEquipmentsList.stream().filter(esEquipments -> !esEquipments.getEquipmentNumber().contains(equipmentNumber)).collect(Collectors.toList());
}
......
......@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationBasicMapper;
import com.yeejoin.amos.boot.module.jxiop.api.mapper.StationPlanMapper;
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.ESEquipmentsDTO;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.IndicatorsDto;
import com.yeejoin.amos.boot.module.jxiop.biz.dto.SocialContributionDto;
import com.yeejoin.amos.boot.module.jxiop.biz.utils.InfluxDButils;
......@@ -336,7 +337,7 @@ public class MonitoringServiceIMQTTmpl {
Integer size = 99;
List<StationBasic> stationBasicList = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().isNotNull("sequence_nbr").eq("station_type", "FDZ"));
stationBasicList.forEach(stationBasic -> {
List<ESEquipments> fanStatusList = monitorFanIndicator.getFanStatusList(String.valueOf(stationBasic.getSequenceNbr()));
List<ESEquipmentsDTO> fanStatusList = monitorFanIndicator.getFanStatusList(String.valueOf(stationBasic.getSequenceNbr()));
fanStatusList.forEach(indexDto -> {
String stationBasicId = String.valueOf(stationBasic.getSequenceNbr());
String equipmentNumber = indexDto.getEquipmentNumber();
......
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