Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -2,6 +2,7 @@ package com.njcn.device.pq.pojo.vo;
|
|||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import io.swagger.models.auth.In;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
@@ -100,12 +101,10 @@ public class TerminalOnlineRateDataVO implements Serializable {
|
|||||||
@ApiModelProperty(name = "lineGrade",value = "终端等级")
|
@ApiModelProperty(name = "lineGrade",value = "终端等级")
|
||||||
private String lineGrade;
|
private String lineGrade;
|
||||||
|
|
||||||
/*
|
|
||||||
// 终端在线率合格率
|
|
||||||
@ApiModelProperty(name = "devicePassRate",value = "终端在线率合格率 0:不合格 1:合格")
|
|
||||||
private Double devicePassRate;
|
|
||||||
|
|
||||||
*/
|
@ApiModelProperty(name = "devicePassRate",value = "终端在线率合格率 0:不合格 1:合格")
|
||||||
|
private Integer valueOver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字段表监测点等级
|
* 字段表监测点等级
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -33,27 +33,21 @@ public interface TerminalOnlineRateDataMapper extends BaseMapper<TerminalOnlineR
|
|||||||
* @param gdIndexes 供电公司索引
|
* @param gdIndexes 供电公司索引
|
||||||
* @return 省会信息
|
* @return 省会信息
|
||||||
*/
|
*/
|
||||||
List<TerminalOnlineRateDataVO> getProvinceList(@Param("gdIndex")List<String> gdIndexes,
|
List<TerminalOnlineRateDataVO> getProvinceList(@Param("gdIndex")List<String> gdIndexes);
|
||||||
@Param("searchBeginTime") String searchBeginTime,
|
|
||||||
@Param("searchEndTime") String searchEndTime);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取出供电公司的信息
|
* 获取出供电公司的信息
|
||||||
* @param gdIndexes 供电公司索引
|
* @param gdIndexes 供电公司索引
|
||||||
* @return 供电公司信息
|
* @return 供电公司信息
|
||||||
*/
|
*/
|
||||||
List<TerminalOnlineRateDataVO> getGdList(@Param("gdIndex")List<String> gdIndexes,
|
List<TerminalOnlineRateDataVO> getGdList(@Param("gdIndex")List<String> gdIndexes);
|
||||||
@Param("searchBeginTime") String searchBeginTime,
|
|
||||||
@Param("searchEndTime") String searchEndTime);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取出变电站的信息
|
* 获取出变电站的信息
|
||||||
* @param subIndexes 变电站索引
|
* @param subIndexes 变电站索引
|
||||||
* @return 变电站信息
|
* @return 变电站信息
|
||||||
*/
|
*/
|
||||||
List<TerminalOnlineRateDataVO> getSubList(@Param("subIndex")List<String> subIndexes,
|
List<TerminalOnlineRateDataVO> getSubList(@Param("subIndex")List<String> subIndexes);
|
||||||
@Param("searchBeginTime") String searchBeginTime,
|
|
||||||
@Param("searchEndTime") String searchEndTime);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据监测点索引集合获取监测点详细参数
|
* 根据监测点索引集合获取监测点详细参数
|
||||||
|
|||||||
@@ -88,12 +88,6 @@
|
|||||||
<foreach collection="gdIndex" item="item" open="(" close=")" separator=",">
|
<foreach collection="gdIndex" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
<if test="searchBeginTime != null and searchBeginTime != ''"><!-- 开始创建时间 -->
|
|
||||||
and date_format(pro.update_Time,'%y%m%d') >= date_format(#{searchBeginTime},'%y%m%d')
|
|
||||||
</if>
|
|
||||||
<if test="searchEndTime != null and searchEndTime != ''"><!-- -->
|
|
||||||
and date_format(pro.update_Time,'%y%m%d') <= date_format(#{searchEndTime},'%y%m%d')
|
|
||||||
</if>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--获取出供电公司的信息-->
|
<!--获取出供电公司的信息-->
|
||||||
@@ -109,12 +103,6 @@
|
|||||||
<foreach collection="gdIndex" item="item" open="(" close=")" separator=",">
|
<foreach collection="gdIndex" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
<if test="searchBeginTime != null and searchBeginTime != ''"><!-- 开始创建时间 -->
|
|
||||||
and date_format(gd.update_Time,'%y%m%d') >= date_format(#{searchBeginTime},'%y%m%d')
|
|
||||||
</if>
|
|
||||||
<if test="searchEndTime != null and searchEndTime != ''"><!-- -->
|
|
||||||
and date_format(gd.update_Time,'%y%m%d') <= date_format(#{searchEndTime},'%y%m%d')
|
|
||||||
</if>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--获取出变电站的信息-->
|
<!--获取出变电站的信息-->
|
||||||
@@ -135,13 +123,6 @@
|
|||||||
<foreach collection="subIndex" item="item" open="(" close=")" separator=",">
|
<foreach collection="subIndex" item="item" open="(" close=")" separator=",">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
<if test="searchBeginTime != null and searchBeginTime != ''"><!-- 开始创建时间 -->
|
|
||||||
and date_format(sub.update_Time,'%y%m%d') >= date_format(#{searchBeginTime},'%y%m%d')
|
|
||||||
</if>
|
|
||||||
<if test="searchEndTime != null and searchEndTime != ''"><!-- -->
|
|
||||||
and date_format(sub.update_Time,'%y%m%d') <= date_format(#{searchEndTime},'%y%m%d')
|
|
||||||
</if>
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--根据监测点索引集合获取监测点详细参数-->
|
<!--根据监测点索引集合获取监测点详细参数-->
|
||||||
|
|||||||
@@ -60,9 +60,6 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl<LineIntegrityDataM
|
|||||||
@Override
|
@Override
|
||||||
public List<LineIntegrityDataVO> getIntegrityDataOfLine(LineIntegrityDataParam lineIntegrityDataParam) {
|
public List<LineIntegrityDataVO> getIntegrityDataOfLine(LineIntegrityDataParam lineIntegrityDataParam) {
|
||||||
|
|
||||||
// TODO 获取部门id
|
|
||||||
// lineIntegrityDataParam.setDeptIndex(RequestUtil.getDeptIndex());
|
|
||||||
|
|
||||||
// 获取所有数据
|
// 获取所有数据
|
||||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(lineIntegrityDataParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(lineIntegrityDataParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.njcn.device.pq.service.impl;
|
package com.njcn.device.pq.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.pq.api.AlarmClient;
|
import com.njcn.device.pq.api.AlarmClient;
|
||||||
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||||
@@ -16,7 +17,11 @@ import com.njcn.device.pq.utils.DataStatisticsUtil;
|
|||||||
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
import com.njcn.influxdb.param.InfluxDBPublicParam;
|
||||||
import com.njcn.influxdb.utils.InfluxDBCommUtils;
|
import com.njcn.influxdb.utils.InfluxDBCommUtils;
|
||||||
import com.njcn.influxdb.utils.InfluxDbUtils;
|
import com.njcn.influxdb.utils.InfluxDbUtils;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.influxdb.dto.QueryResult;
|
import org.influxdb.dto.QueryResult;
|
||||||
@@ -24,10 +29,8 @@ import org.influxdb.impl.InfluxDBResultMapper;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
import java.util.function.Function;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@@ -50,6 +53,8 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
|
|
||||||
private final AlarmClient alarmClient;
|
private final AlarmClient alarmClient;
|
||||||
|
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 终端在线率列表
|
* 终端在线率列表
|
||||||
*
|
*
|
||||||
@@ -59,7 +64,6 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
@Override
|
@Override
|
||||||
public List<TerminalOnlineRateDataVO> getOnlineRateData(TerminalOnlineRateDataParam terminalOnlineRateDataParam) {
|
public List<TerminalOnlineRateDataVO> getOnlineRateData(TerminalOnlineRateDataParam terminalOnlineRateDataParam) {
|
||||||
|
|
||||||
|
|
||||||
// 获取所有数据
|
// 获取所有数据
|
||||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(terminalOnlineRateDataParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(terminalOnlineRateDataParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
||||||
|
|
||||||
@@ -89,9 +93,9 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
|
|
||||||
|
|
||||||
// 通过部分终端等级信息查询终端信息
|
// 通过部分终端等级信息查询终端信息
|
||||||
List<TerminalOnlineRateDataVO> deviceList = terminalOnlineRateDataMapper.getDevice(generalDeviceDTO.getDeviceIndexes(),terminalOnlineRateDataParam.getLineGrade());
|
List<TerminalOnlineRateDataVO> deviceList = terminalOnlineRateDataMapper.getDevice(generalDeviceDTO.getDeviceIndexes(), terminalOnlineRateDataParam.getLineGrade());
|
||||||
|
|
||||||
if(CollectionUtil.isEmpty(deviceList)){
|
if (CollectionUtil.isEmpty(deviceList)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,23 +107,18 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
List<TerminalOnlineRateData> terminalOnlineRateData = getPercentageOfOnlineRate(terminalOnlineRateDataParam.getSearchBeginTime(), terminalOnlineRateDataParam.getSearchEndTime(), devForInfluxdb);
|
List<TerminalOnlineRateData> terminalOnlineRateData = getPercentageOfOnlineRate(terminalOnlineRateDataParam.getSearchBeginTime(), terminalOnlineRateDataParam.getSearchEndTime(), devForInfluxdb);
|
||||||
|
|
||||||
// 处理终端在线率
|
// 处理终端在线率
|
||||||
DataStatisticsUtil.getTerminalOnlineRateData(terminalOnlineRateData,deviceList);
|
DataStatisticsUtil.getTerminalOnlineRateData(terminalOnlineRateData, deviceList);
|
||||||
|
|
||||||
|
|
||||||
List<String> subIds = deviceList.stream().map(TerminalOnlineRateDataVO::getPid).collect(Collectors.toList());
|
|
||||||
|
|
||||||
|
|
||||||
// 通过供电站索引查询供电站信息
|
// 通过供电站索引查询供电站信息
|
||||||
List<TerminalOnlineRateDataVO> subList = terminalOnlineRateDataMapper.getSubList(subIds,terminalOnlineRateDataParam.getSearchBeginTime(), terminalOnlineRateDataParam.getSearchEndTime());
|
List<String> subIds = deviceList.stream().map(TerminalOnlineRateDataVO::getPid).distinct().collect(Collectors.toList());
|
||||||
|
List<TerminalOnlineRateDataVO> subList = terminalOnlineRateDataMapper.getSubList(subIds);
|
||||||
|
|
||||||
List<String> gdIds = subList.stream().map(TerminalOnlineRateDataVO::getPid).collect(Collectors.toList());
|
|
||||||
// 通过供电公司索引查询供电公司信息
|
// 通过供电公司索引查询供电公司信息
|
||||||
List<TerminalOnlineRateDataVO> gdList = terminalOnlineRateDataMapper.getGdList(gdIds,terminalOnlineRateDataParam.getSearchBeginTime(), terminalOnlineRateDataParam.getSearchEndTime());
|
List<String> gdIds = subList.stream().map(TerminalOnlineRateDataVO::getPid).distinct().collect(Collectors.toList());
|
||||||
|
List<TerminalOnlineRateDataVO> gdList = terminalOnlineRateDataMapper.getGdList(gdIds);
|
||||||
List<String> proIds = gdList.stream().map(TerminalOnlineRateDataVO::getPid).collect(Collectors.toList());
|
|
||||||
|
|
||||||
// 通过供电公司索引查询省会
|
// 通过供电公司索引查询省会
|
||||||
List<TerminalOnlineRateDataVO> proList = terminalOnlineRateDataMapper.getProvinceList(proIds,terminalOnlineRateDataParam.getSearchBeginTime(), terminalOnlineRateDataParam.getSearchEndTime());
|
List<TerminalOnlineRateDataVO> proList = terminalOnlineRateDataMapper.getProvinceList(gdIds);
|
||||||
|
|
||||||
|
|
||||||
//处理变电站
|
//处理变电站
|
||||||
@@ -127,6 +126,12 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
//处理供电公司
|
//处理供电公司
|
||||||
dealChildrenData(gdList, subList, false);
|
dealChildrenData(gdList, subList, false);
|
||||||
|
|
||||||
|
|
||||||
|
// 数据封装
|
||||||
|
terminalOnlineRateDataVO.setId(generalDeviceDTO.getIndex());
|
||||||
|
terminalOnlineRateDataVO.setName(generalDeviceDTO.getName());
|
||||||
|
terminalOnlineRateDataVO.setLevel(0);
|
||||||
|
|
||||||
if (terminalOnlineRateDataParam.getStatisticalType().getCode().equalsIgnoreCase(StatisticsEnum.POWER_NETWORK.getCode())) {
|
if (terminalOnlineRateDataParam.getStatisticalType().getCode().equalsIgnoreCase(StatisticsEnum.POWER_NETWORK.getCode())) {
|
||||||
terminalOnlineRateDataVO.setChildren(gdList);
|
terminalOnlineRateDataVO.setChildren(gdList);
|
||||||
} else {
|
} else {
|
||||||
@@ -134,18 +139,10 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
dealChildrenData(proList, gdList, false);
|
dealChildrenData(proList, gdList, false);
|
||||||
terminalOnlineRateDataVO.setChildren(proList);
|
terminalOnlineRateDataVO.setChildren(proList);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理区域终端在线率
|
|
||||||
double areaOnlineRateData = DataStatisticsUtil.getAreaOnlineRateData(terminalOnlineRateData);
|
|
||||||
|
|
||||||
// 数据封装
|
|
||||||
terminalOnlineRateDataVO.setId(generalDeviceDTO.getIndex());
|
|
||||||
terminalOnlineRateDataVO.setName(generalDeviceDTO.getName());
|
|
||||||
terminalOnlineRateDataVO.setLevel(0);
|
|
||||||
terminalOnlineRateDataVO.setOnlineRate(areaOnlineRateData);
|
|
||||||
pro.add(terminalOnlineRateDataVO);
|
pro.add(terminalOnlineRateDataVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
getAreaOnlineRateData(pro, alarmStrategyVos, terminalOnlineRateDataParam.getLineGrade());
|
||||||
return pro;
|
return pro;
|
||||||
} else {
|
} else {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
@@ -218,4 +215,83 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData
|
|||||||
// 返回结果
|
// 返回结果
|
||||||
return resultMapper.toPOJO(results, TerminalOnlineRateData.class);
|
return resultMapper.toPOJO(results, TerminalOnlineRateData.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取区域终端在线率
|
||||||
|
*
|
||||||
|
* @param terminalOnlineRateData
|
||||||
|
*/
|
||||||
|
public void getAreaOnlineRateData(List<TerminalOnlineRateDataVO> terminalOnlineRateData, List<AlarmStrategyVO> alarmStrategyVos, String lineGrade) {
|
||||||
|
|
||||||
|
Map<Integer, Integer> mapAlarm = new HashMap<>();
|
||||||
|
Map<String, AlarmStrategyVO> map = alarmStrategyVos.stream().collect(Collectors.toMap(AlarmStrategyVO::getId, Function.identity()));
|
||||||
|
|
||||||
|
if (StrUtil.isNotBlank(lineGrade)) {
|
||||||
|
DictData dictData = dicDataFeignClient.getDicDataById(lineGrade).getData();
|
||||||
|
if (map.containsKey(dictData.getId())) {
|
||||||
|
mapAlarm.put(dictData.getAlgoDescribe(), map.get(dictData.getId()).getOnlineValue());
|
||||||
|
} else {
|
||||||
|
throw new BusinessException(DeviceResponseEnum.QUERY_ALARMSTRATEGY_DATA_EMPTY);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
List<DictData> dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_LEVEL.getCode()).getData();
|
||||||
|
dictDataList.forEach(it -> {
|
||||||
|
if (map.containsKey(it.getId())) {
|
||||||
|
mapAlarm.put(it.getAlgoDescribe(), map.get(it.getId()).getOnlineValue());
|
||||||
|
} else {
|
||||||
|
throw new BusinessException(DeviceResponseEnum.QUERY_ALARMSTRATEGY_DATA_EMPTY);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
terminalOnlineRateData.forEach(proItem -> {
|
||||||
|
List<TerminalOnlineRateDataVO> gd = proItem.getChildren();
|
||||||
|
if (CollectionUtil.isNotEmpty(gd)) {
|
||||||
|
gd.forEach(gdItem -> {
|
||||||
|
List<TerminalOnlineRateDataVO> sub = gdItem.getChildren();
|
||||||
|
if (CollectionUtil.isNotEmpty(sub)) {
|
||||||
|
sub.forEach(subItem -> {
|
||||||
|
List<TerminalOnlineRateDataVO> dev = subItem.getChildren();
|
||||||
|
if (CollectionUtil.isNotEmpty(dev)) {
|
||||||
|
dev.forEach(devItem -> {
|
||||||
|
List<TerminalOnlineRateDataVO> tem = devItem.getChildren();
|
||||||
|
if (CollectionUtil.isNotEmpty(tem)) {
|
||||||
|
Double temAvg = tem.stream().filter(item -> item.getOnlineRate() != 3.14159).collect(Collectors.averagingDouble(TerminalOnlineRateDataVO::getOnlineRate));
|
||||||
|
devItem.setOnlineRate(temAvg);
|
||||||
|
|
||||||
|
if (Objects.nonNull(devItem.getAlgoDescribe())) {
|
||||||
|
if (mapAlarm.containsKey(devItem.getAlgoDescribe())) {
|
||||||
|
if (devItem.getOnlineRate() != 3.14159 && devItem.getOnlineRate() > mapAlarm.get(devItem.getAlgoDescribe())) {
|
||||||
|
devItem.setValueOver(1);
|
||||||
|
} else {
|
||||||
|
devItem.setValueOver(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
subItem.setOnlineRate(3.14159);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Double devAvg = dev.stream().filter(item -> item.getOnlineRate() != 3.14159).collect(Collectors.averagingDouble(TerminalOnlineRateDataVO::getOnlineRate));
|
||||||
|
subItem.setOnlineRate(devAvg);
|
||||||
|
} else {
|
||||||
|
subItem.setOnlineRate(3.14159);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Double subAvg = sub.stream().filter(item -> item.getOnlineRate() != 3.14159).collect(Collectors.averagingDouble(TerminalOnlineRateDataVO::getOnlineRate));
|
||||||
|
gdItem.setOnlineRate(subAvg);
|
||||||
|
} else {
|
||||||
|
gdItem.setOnlineRate(3.14159);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
Double gdAvg = gd.stream().filter(item -> item.getOnlineRate() != 3.14159).collect(Collectors.averagingDouble(TerminalOnlineRateDataVO::getOnlineRate));
|
||||||
|
proItem.setOnlineRate(gdAvg);
|
||||||
|
} else {
|
||||||
|
proItem.setOnlineRate(3.14159);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ public class DataStatisticsUtil {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!flag){
|
if (!flag) {
|
||||||
onlineRateDataVO.setOnlineRate(3.14159);
|
onlineRateDataVO.setOnlineRate(3.14159);
|
||||||
}
|
}
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
@@ -140,36 +140,8 @@ public class DataStatisticsUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取区域终端在线率
|
|
||||||
*
|
|
||||||
* @param terminalOnlineRateData
|
|
||||||
*/
|
|
||||||
public static double getAreaOnlineRateData(List<TerminalOnlineRateData> terminalOnlineRateData) {
|
|
||||||
double data = 0.0;
|
|
||||||
// 将influxdb数据用时间进行分组
|
|
||||||
Map<String, List<TerminalOnlineRateData>> groupByTime = terminalOnlineRateData.stream().collect(Collectors.groupingBy(TerminalOnlineRateData::getTime));
|
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(groupByTime)) {
|
|
||||||
Set<String> times = groupByTime.keySet();
|
|
||||||
|
|
||||||
for (String time : times) {
|
|
||||||
List<TerminalOnlineRateData> onlineRateDatas = groupByTime.get(time);
|
|
||||||
double onlineRateData = 0.0;
|
|
||||||
int size = onlineRateDatas.size();
|
|
||||||
|
|
||||||
for (TerminalOnlineRateData devDate : onlineRateDatas) {
|
|
||||||
onlineRateData += devDate.getOnlineRate();
|
|
||||||
}
|
|
||||||
Double devOnlineRateDouble = (onlineRateData / size);
|
|
||||||
String devOnlineRateString = String.format("%.2f", devOnlineRateDouble);
|
|
||||||
data = Double.parseDouble(devOnlineRateString);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
data = 3.14159;
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -200,14 +200,61 @@ public enum DicDataEnum {
|
|||||||
*/
|
*/
|
||||||
PHOTOVOLT("光伏台区","Photovolt"),
|
PHOTOVOLT("光伏台区","Photovolt"),
|
||||||
FEEDER_TENKV("10kV馈线","Feeder_TenkV"),
|
FEEDER_TENKV("10kV馈线","Feeder_TenkV"),
|
||||||
MAIN_CHANGE("主变","Main _Change"),
|
MAIN_CHANGE("主变","Main_Change"),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工单状态
|
* 工单状态
|
||||||
*/
|
*/
|
||||||
PEND_DISPATCH("待派单","Pend_Dispatch"),
|
PEND_DISPATCH("待派单","Pend_Dispatch"),
|
||||||
DISPATCHED("已派单","Dispatched"),
|
DISPATCHED("已派单","Dispatched"),
|
||||||
CLOSED("已关闭","Closed");
|
CLOSED("已关闭","Closed"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 问题类型
|
||||||
|
*/
|
||||||
|
VOLTAGE_LIMIT("谐波电压越限","Voltage_Limit"),
|
||||||
|
CURRENT_LIMIT("谐波电流越限","Current_Limit"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核状态
|
||||||
|
*/
|
||||||
|
REVIEW("待审核","Review"),
|
||||||
|
AUDITED("已审核","Audited"),
|
||||||
|
APPROVED("审核通过","Approved"),
|
||||||
|
NOT_APPROVED("审核通过","Not_Approved"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审核处理
|
||||||
|
*/
|
||||||
|
GENERATE("生成工单","Generate"),
|
||||||
|
NO_REQUIRED("无需处理","No_Required"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单流程
|
||||||
|
*/
|
||||||
|
GENERATED("生成工单","Generated"),
|
||||||
|
DISPATCH("派单","Dispatch"),
|
||||||
|
FEEDBACK("反馈","Feedback"),
|
||||||
|
AUDITING("审核","Auditing"),
|
||||||
|
RECTIFICATION("整改","Rectification"),
|
||||||
|
ASSESS("评估","Assess"),
|
||||||
|
PIGEONHOLE("归档","Pigeonhole"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 评估结果
|
||||||
|
*/
|
||||||
|
PASS("评估合格","Pass"),
|
||||||
|
NOT_PASS("评估不合格","Not_Pass"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工单类型
|
||||||
|
*/
|
||||||
|
RECT_ORDER("整改单","Rect_Order"),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 一级业务类型
|
||||||
|
*/
|
||||||
|
TRANS_BUSINESS("运检业务","Trans_Business");
|
||||||
|
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|||||||
@@ -56,7 +56,15 @@ public enum DicDataTypeEnum {
|
|||||||
PLAN_TAKE("计划采取实施","Plan_Take"),
|
PLAN_TAKE("计划采取实施","Plan_Take"),
|
||||||
MONITOR_OBJ("监测对象","Monitor_Obj"),
|
MONITOR_OBJ("监测对象","Monitor_Obj"),
|
||||||
CONNET_GROUP_WAY("牵引站变压器接线方式","Connet_Group_Way"),
|
CONNET_GROUP_WAY("牵引站变压器接线方式","Connet_Group_Way"),
|
||||||
WORK_ORDER_STATUS("工单状态","Work_Order_Status");
|
WORK_ORDER_STATUS("工单状态","Work_Order_Status"),
|
||||||
|
PROBLEM_TYPE("问题类型","Problem_Type"),
|
||||||
|
CHECK_STATUS("审核状态","Check_Status"),
|
||||||
|
CHECK_RESULT("审核处理","Check_Result"),
|
||||||
|
WORK_ORDER_PROCESS("工单流程","Work_Order_Process"),
|
||||||
|
ASSESS_RESULT("评估结果","Assess_Result"),
|
||||||
|
WORK_ORDER_TYPE("工单类型","Work_Order_Type"),
|
||||||
|
PRIMARY_TYPE("一级业务类型","Primary_Type");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|||||||
Reference in New Issue
Block a user