Commit 707e2f0d authored by zhangsen's avatar zhangsen

风机状态公共方法处理

parent fc201591
......@@ -16,6 +16,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 +100,12 @@ 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()
.skip((long) (current - 1) * size)
.limit(size)
.collect(Collectors.toList());
......@@ -117,17 +118,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());
//用于参数传递
......
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;
}
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,25 @@ 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));
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);
esEquipmentsDTO.setState(status);
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 +346,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 +878,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());
});
......
......@@ -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