问题单修复
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.njcn.device.pq.mapper;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
||||
@@ -23,7 +22,7 @@ public interface TerminalMaintainMapper {
|
||||
* @author cdf
|
||||
* @date 2022/5/11
|
||||
*/
|
||||
List<TerminalMaintainVO> getTerminalDevInfo(@Param("devIds")List<String> devIds);
|
||||
List<TerminalMaintainVO> getTerminalDevInfo(@Param("devIds") List<String> devIds, @Param("comFlag") Integer comFlag, @Param("devType") String devType);
|
||||
|
||||
/**
|
||||
* 获取区域
|
||||
|
||||
@@ -30,6 +30,12 @@ FROM
|
||||
<foreach collection="devIds" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="comFlag != null">
|
||||
AND b.Com_Flag=#{comFlag}
|
||||
</if>
|
||||
<if test="devType !=null and devType != ''">
|
||||
AND b.Dev_Type =#{devType}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getGdAndSubList" resultType="TerminalMaintainVO">
|
||||
@@ -56,7 +62,11 @@ FROM
|
||||
</select>
|
||||
|
||||
<select id="getPqLineGdAndSubList" resultType="TerminalMaintainVO">
|
||||
select a.id,a.name,a.level,a.pid from pq_line a
|
||||
select a.id,
|
||||
a.name,
|
||||
a.level,
|
||||
a.pid
|
||||
from pq_line a
|
||||
where a.id in
|
||||
<foreach collection="ids" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
device.id,
|
||||
device.pid,
|
||||
device.`Name`,
|
||||
device.`Name` AS dataName,
|
||||
device.`Level`,
|
||||
device.Sort,
|
||||
pdevice.ip,
|
||||
|
||||
@@ -90,19 +90,21 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
|
||||
if (CollectionUtils.isEmpty(devIds)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
TerminalMaintainVO terminalMaintainVO = new TerminalMaintainVO();
|
||||
terminalMaintainVO.setName(generalDeviceDTO.getName());
|
||||
terminalMaintainVO.setId(generalDeviceDTO.getIndex());
|
||||
terminalMaintainVO.setLevel(1);
|
||||
|
||||
List<TerminalMaintainVO> devList = terminalMaintainMapper.getTerminalDevInfo(devIds);
|
||||
List<TerminalMaintainVO> subList = terminalMaintainMapper.getPqLineGdAndSubList(generalDeviceDTO.getSubIndexes());
|
||||
List<TerminalMaintainVO> gdList = terminalMaintainMapper.getPqLineGdAndSubList(generalDeviceDTO.getGdIndexes());
|
||||
|
||||
dealTerminalData(subList, devList);
|
||||
dealTerminalData(gdList, subList);
|
||||
terminalMaintainVO.setChildren(gdList);
|
||||
List<TerminalMaintainVO> devList = terminalMaintainMapper.getTerminalDevInfo(devIds,terminalMainQueryParam.getComFlag(),terminalMainQueryParam.getDevType());
|
||||
if (CollectionUtil.isEmpty(devList)) {
|
||||
continue;
|
||||
}
|
||||
List<String> subIndexes = devList.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
||||
List<TerminalMaintainVO> subList1 = terminalMaintainMapper.getPqLineGdAndSubList(subIndexes);
|
||||
List<String> gdIndexes = subList1.stream().map(TerminalMaintainVO::getPid).collect(Collectors.toList());
|
||||
List<TerminalMaintainVO> gdList1 = terminalMaintainMapper.getPqLineGdAndSubList(gdIndexes);
|
||||
dealTerminalData(subList1, devList);
|
||||
dealTerminalData(gdList1, subList1);
|
||||
terminalMaintainVO.setChildren(gdList1);
|
||||
resList.add(terminalMaintainVO);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -307,8 +307,8 @@ public class TransientServiceImpl implements TransientService {
|
||||
.le(StringUtils.isNotBlank(transientParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime())))
|
||||
|
||||
//暂态幅值最小值
|
||||
.ge(Objects.nonNull(transientParam.getEventValueMin()),RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMin())
|
||||
.le(Objects.nonNull(transientParam.getEventValueMax()),RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMax())
|
||||
.ge(Objects.nonNull(transientParam.getEventValueMin().divide(new BigDecimal(100),2,BigDecimal.ROUND_UP)),RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMin().divide(new BigDecimal(100),2,BigDecimal.ROUND_UP))
|
||||
.le(Objects.nonNull(transientParam.getEventValueMax().divide(new BigDecimal(100),2,BigDecimal.ROUND_UP)),RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMax().divide(new BigDecimal(100),2,BigDecimal.ROUND_UP))
|
||||
//持续时间最小值
|
||||
.ge(Objects.nonNull(transientParam.getPersistMin()),RmpEventDetailPO::getDuration, transientParam.getPersistMin())
|
||||
.le(Objects.nonNull(transientParam.getPersistMax()),RmpEventDetailPO::getDuration, transientParam.getPersistMax())
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.harmonic.pojo.po.day;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
@@ -33,6 +34,7 @@ public class RStatLimitRateDPO {
|
||||
*/
|
||||
@MppMultiId
|
||||
@TableField(value = "time_id")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
||||
private Date time;
|
||||
|
||||
/**
|
||||
|
||||
@@ -36,6 +36,9 @@ public class HistoryDataResultVO implements Serializable {
|
||||
private Float minValue;
|
||||
|
||||
|
||||
@ApiModelProperty("最大值")
|
||||
private Float maxValue;
|
||||
|
||||
@ApiModelProperty("上限")
|
||||
private Float topLimit;
|
||||
|
||||
|
||||
@@ -54,10 +54,8 @@ public class MonitorOverLimitVO {
|
||||
|
||||
@ApiModelProperty("电压总谐波畸变率超标天数")
|
||||
private Integer volDisOverDay;
|
||||
|
||||
@ApiModelProperty("谐波电压含有率超标天数")
|
||||
private Integer volContainOverDay;
|
||||
|
||||
@ApiModelProperty("谐波电流超标天数")
|
||||
private Integer harmCurOverDay;
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.harmonic.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||
import com.njcn.harmonic.pojo.vo.MonitorOverLimitVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatLimitRateDVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -17,7 +18,14 @@ import java.util.List;
|
||||
*/
|
||||
public interface RStatLimitRateDMapper extends BaseMapper<RStatLimitRateDPO> {
|
||||
|
||||
List<RStatLimitRateDVO> getSumPassRate(@Param("ids") List<String> lineIndexes,
|
||||
List<RStatLimitRateDVO> getSumPassRate(
|
||||
@Param("ids") List<String> lineIndexes,
|
||||
@Param("statTime") String searchBeginTime,
|
||||
@Param("endTime") String searchEndTime);
|
||||
|
||||
|
||||
List<MonitorOverLimitVO> getSumLimitRateByLineIndexes(
|
||||
@Param("ids") List<String> lineIndexes,
|
||||
@Param("statTime") String searchBeginTime,
|
||||
@Param("endTime") String searchEndTime);
|
||||
}
|
||||
|
||||
@@ -31,4 +31,80 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getSumLimitRateByLineIndexes" resultType="com.njcn.harmonic.pojo.vo.MonitorOverLimitVO">
|
||||
SELECT
|
||||
my_index AS id,
|
||||
SUM(all_time) AS overDay,
|
||||
SUM(freq_dev_overtime) AS freqOverDay,
|
||||
SUM(voltage_dev_overtime ) AS volDevOverDay,
|
||||
SUM(flicker_overtime) AS flickerOverDay,
|
||||
SUM(i_neg_overtime) AS negativeOverDay,
|
||||
SUM(ubalance_overtime) AS threeUnbalance,
|
||||
SUM(uaberrance_overtime) AS volDisOverDay,
|
||||
SUM(uharm_3_overtime) AS overVolThreeTimes,
|
||||
SUM(uharm_5_overtime) AS overVolFiveTimes,
|
||||
SUM(uharm_7_overtime) AS overVolSevenTimes,
|
||||
SUM(uharm_11_overtime) AS overVolElevenTimes,
|
||||
SUM(uharm_13_overtime) AS overVolThirteenTimes,
|
||||
SUM(uharm_23_overtime) AS overVolTwentyThreeTimes,
|
||||
SUM(uharm_25_overtime) AS overVolTwentyFiveTimes,
|
||||
SUM(uharm_2_overtime)
|
||||
+ SUM(uharm_4_overtime)
|
||||
+ SUM(uharm_6_overtime)
|
||||
+ SUM(uharm_8_overtime)
|
||||
+ SUM(uharm_9_overtime)
|
||||
+ SUM(uharm_10_overtime)
|
||||
+ SUM(uharm_12_overtime)
|
||||
+ SUM(uharm_14_overtime)
|
||||
+ SUM(uharm_15_overtime)
|
||||
+ SUM(uharm_16_overtime)
|
||||
+ SUM(uharm_17_overtime)
|
||||
+ SUM(uharm_18_overtime)
|
||||
+ SUM(uharm_19_overtime)
|
||||
+ SUM(uharm_20_overtime)
|
||||
+ SUM(uharm_21_overtime)
|
||||
+ SUM(uharm_22_overtime)
|
||||
+ SUM(uharm_24_overtime) AS overVolOtherTimes,
|
||||
SUM(iharm_3_overtime) AS overCurThreeTimes,
|
||||
SUM(iharm_5_overtime) AS overCurFiveTimes,
|
||||
SUM(iharm_7_overtime) AS overCurSevenTimes,
|
||||
SUM(iharm_11_overtime) AS overCurElevenTimes,
|
||||
SUM(iharm_13_overtime) AS overCurThirteenTimes,
|
||||
SUM(iharm_23_overtime) AS overCurTwentyThreeTimes,
|
||||
SUM(iharm_25_overtime) AS overCurTwentyFiveTimes,
|
||||
SUM(iharm_2_overtime)
|
||||
+ SUM(iharm_4_overtime)
|
||||
+ SUM(iharm_6_overtime)
|
||||
+ SUM(iharm_8_overtime)
|
||||
+ SUM(iharm_9_overtime)
|
||||
+ SUM(iharm_10_overtime)
|
||||
+ SUM(iharm_12_overtime)
|
||||
+ SUM(iharm_14_overtime)
|
||||
+ SUM(iharm_15_overtime)
|
||||
+ SUM(iharm_16_overtime)
|
||||
+ SUM(iharm_17_overtime)
|
||||
+ SUM(iharm_18_overtime)
|
||||
+ SUM(iharm_19_overtime)
|
||||
+ SUM(iharm_20_overtime)
|
||||
+ SUM(iharm_21_overtime)
|
||||
+ SUM(iharm_22_overtime)
|
||||
+ SUM(iharm_24_overtime) AS overCurOtherTimes
|
||||
FROM
|
||||
r_stat_limit_rate_d
|
||||
<where>
|
||||
<if test=" ids != null and ids.size > 0">
|
||||
AND my_index IN
|
||||
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test=" statTime != null and statTime !=''">
|
||||
AND time_id >= #{statTime}
|
||||
</if>
|
||||
<if test="endTime != null and endTime != ''">
|
||||
AND time_id <= #{endTime}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY my_index
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.njcn.harmonic.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.CharUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.njcn.common.config.GeneralInfo;
|
||||
@@ -14,6 +17,7 @@ import com.njcn.device.pq.pojo.dto.OverLimitLineDTO;
|
||||
import com.njcn.device.pq.pojo.dto.PollutionParamDTO;
|
||||
import com.njcn.device.pq.pojo.dto.WarningSubstationDTO;
|
||||
import com.njcn.harmonic.constant.Param;
|
||||
import com.njcn.harmonic.mapper.RStatLimitRateDMapper;
|
||||
import com.njcn.harmonic.pojo.excel.area.AreaExcel;
|
||||
import com.njcn.harmonic.pojo.excel.monitor.ITimes;
|
||||
import com.njcn.harmonic.pojo.excel.monitor.MonitorExcel;
|
||||
@@ -23,6 +27,7 @@ import com.njcn.harmonic.pojo.excel.substation.SubstationExcel;
|
||||
import com.njcn.harmonic.pojo.po.EventDetail;
|
||||
import com.njcn.harmonic.pojo.po.LimitRate;
|
||||
import com.njcn.harmonic.pojo.po.LimitTarget;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||
import com.njcn.harmonic.pojo.vo.MonitorOverLimitVO;
|
||||
import com.njcn.harmonic.pojo.vo.OverAreaLimitVO;
|
||||
import com.njcn.harmonic.pojo.vo.OverAreaVO;
|
||||
@@ -33,12 +38,14 @@ import com.njcn.poi.excel.ExcelUtil;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.influxdb.dto.QueryResult;
|
||||
import org.influxdb.impl.InfluxDBResultMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Array;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.Instant;
|
||||
@@ -67,6 +74,8 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
private final RStatLimitRateDMapper rateDMapper;
|
||||
|
||||
@Override
|
||||
public Page<OverAreaLimitVO> getAreaData(OverAreaVO param) {
|
||||
Page<OverAreaLimitVO> page = new Page<>();
|
||||
@@ -278,143 +287,60 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
List<MonitorOverLimitVO> result = new ArrayList<>();
|
||||
List<String> lineList = new ArrayList<>();
|
||||
List<GeneralDeviceDTO> deptList = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
if (!CollectionUtils.isEmpty(deptList)){
|
||||
if (!CollectionUtils.isEmpty(deptList)) {
|
||||
deptList.forEach(item->{
|
||||
lineList.addAll(item.getLineIndexes());
|
||||
});
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(lineList)){
|
||||
page.setTotal(lineList.size());
|
||||
int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
|
||||
page.setPages(pages);
|
||||
List<List<String>> pageList = Lists.partition(lineList,param.getPageSize());
|
||||
List<String> temList = pageList.get(param.getPageNum()-1);
|
||||
List<LimitTarget> limitTargetList = getOverDays(temList,param.getSearchBeginTime(),param.getSearchEndTime());
|
||||
Map<String,List<LimitTarget>> map = limitTargetList.stream().collect(Collectors.groupingBy(LimitTarget::getLineId));
|
||||
Page<RStatLimitRateDPO> p = new Page<>();
|
||||
p.setSize(param.getPageSize());
|
||||
p.setCurrent(param.getPageNum());
|
||||
if (CollectionUtil.isNotEmpty(lineList)) {
|
||||
QueryWrapper<RStatLimitRateDPO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("r_stat_limit_rate_d.my_index",lineList)
|
||||
.between("r_stat_limit_rate_d.time_id",
|
||||
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
|
||||
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
|
||||
Page<RStatLimitRateDPO> rateDPOPage = rateDMapper.selectPage(p,queryWrapper);
|
||||
List<RStatLimitRateDPO> records = rateDPOPage.getRecords();
|
||||
Map<String, List<RStatLimitRateDPO>> lineMap = records.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
|
||||
ArrayList<String> list = new ArrayList<>();
|
||||
list.addAll(lineMap.keySet());
|
||||
PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
|
||||
pollutionParamDTO.setLineList(temList);
|
||||
pollutionParamDTO.setLineList(list);
|
||||
List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
|
||||
overLimitLineList.forEach(item->{
|
||||
int overDay=0,freqOverDay=0,volDevOverDay=0,threeUnbalance=0,flickerOverDay=0,negativeOverDay=0,harmVolOverDay=0,volDisOverDay=0,volContainOverDay=0,harmCurOverDay=0,intHarmOverDay=0;
|
||||
int overVolThreeTimes=0,overVolFiveTimes=0,overVolSevenTimes=0,overVolElevenTimes=0,overVolThirteenTimes=0,overVolTwentyThreeTimes=0,overVolTwentyFiveTimes=0,overVolOtherTimes=0;
|
||||
int overCurThreeTimes=0,overCurFiveTimes=0,overCurSevenTimes=0,overCurElevenTimes=0,overCurThirteenTimes=0,overCurTwentyThreeTimes=0,overCurTwentyFiveTimes=0,overCurOtherTimes=0;
|
||||
List<MonitorOverLimitVO> groupList = rateDMapper.getSumLimitRateByLineIndexes(list, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
Map<String, List<MonitorOverLimitVO>> groupMap = groupList.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId));
|
||||
for (OverLimitLineDTO vo : overLimitLineList) {
|
||||
MonitorOverLimitVO monitorOverLimitVO = new MonitorOverLimitVO();
|
||||
BeanUtil.copyProperties(item,monitorOverLimitVO);
|
||||
List<LimitTarget> l1 = map.get(item.getId());
|
||||
if (!CollectionUtils.isEmpty(l1)){
|
||||
for (LimitTarget item2 : l1) {
|
||||
if (item2.getFreqDevOverTime()+item2.getVoltageDevOverTime()+item2.getUBalanceOverTime()+item2.getFlickerOverTime()+item2.getINegOverTime()+item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()+item2.getIHarmAllOverTime()+item2.getInuharmAllOverTime() > 0){
|
||||
overDay++;
|
||||
}
|
||||
if (item2.getFreqDevOverTime()>0){
|
||||
freqOverDay++;
|
||||
}
|
||||
if (item2.getVoltageDevOverTime()>0){
|
||||
volDevOverDay++;
|
||||
}
|
||||
if (item2.getUBalanceOverTime()>0){
|
||||
threeUnbalance++;
|
||||
}
|
||||
if (item2.getFlickerOverTime()>0){
|
||||
flickerOverDay++;
|
||||
}
|
||||
if (item2.getINegOverTime()>0){
|
||||
negativeOverDay++;
|
||||
}
|
||||
if (item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()>0){
|
||||
harmVolOverDay++;
|
||||
}
|
||||
if (item2.getUAberranceOverTime()>0){
|
||||
volDisOverDay++;
|
||||
}
|
||||
if (item2.getUHarmAllOverTime()>0){
|
||||
volContainOverDay++;
|
||||
}
|
||||
if (item2.getIHarmAllOverTime()>0){
|
||||
harmCurOverDay++;
|
||||
}
|
||||
if (item2.getInuharmAllOverTime()>0){
|
||||
intHarmOverDay++;
|
||||
}
|
||||
if (item2.getUHarm3OverTime()>0){
|
||||
overVolThreeTimes++;
|
||||
}
|
||||
if (item2.getUHarm5OverTime()>0){
|
||||
overVolFiveTimes++;
|
||||
}
|
||||
if (item2.getUHarm7OverTime()>0){
|
||||
overVolSevenTimes++;
|
||||
}
|
||||
if (item2.getUHarm11OverTime()>0){
|
||||
overVolElevenTimes++;
|
||||
}
|
||||
if (item2.getUHarm13OverTime()>0){
|
||||
overVolThirteenTimes++;
|
||||
}
|
||||
if (item2.getUHarm23OverTime()>0){
|
||||
overVolTwentyThreeTimes++;
|
||||
}
|
||||
if (item2.getUHarm25OverTime()>0){
|
||||
overVolTwentyFiveTimes++;
|
||||
}
|
||||
if (item2.getUHarmAllOverTime()>0){
|
||||
overVolOtherTimes++;
|
||||
}
|
||||
if (item2.getIHarm3OverTime()>0){
|
||||
overCurThreeTimes++;
|
||||
}
|
||||
if (item2.getIHarm5OverTime()>0){
|
||||
overCurFiveTimes++;
|
||||
}
|
||||
if (item2.getIHarm7OverTime()>0){
|
||||
overCurSevenTimes++;
|
||||
}
|
||||
if (item2.getIHarm11OverTime()>0){
|
||||
overCurElevenTimes++;
|
||||
}
|
||||
if (item2.getIHarm13OverTime()>0){
|
||||
overCurThirteenTimes++;
|
||||
}
|
||||
if (item2.getIHarm23OverTime()>0){
|
||||
overCurTwentyThreeTimes++;
|
||||
}
|
||||
if (item2.getIHarm25OverTime()>0){
|
||||
overCurTwentyFiveTimes++;
|
||||
}
|
||||
if (item2.getIHarmAllOverTime()>0){
|
||||
overCurOtherTimes++;
|
||||
}
|
||||
}
|
||||
}
|
||||
monitorOverLimitVO.setOverDay(overDay);
|
||||
monitorOverLimitVO.setFreqOverDay(freqOverDay);
|
||||
monitorOverLimitVO.setVolDevOverDay(volDevOverDay);
|
||||
monitorOverLimitVO.setThreeUnbalance(threeUnbalance);
|
||||
monitorOverLimitVO.setFlickerOverDay(flickerOverDay);
|
||||
monitorOverLimitVO.setNegativeOverDay(negativeOverDay);
|
||||
monitorOverLimitVO.setHarmVolOverDay(harmVolOverDay);
|
||||
monitorOverLimitVO.setVolDisOverDay(volDisOverDay);
|
||||
monitorOverLimitVO.setVolContainOverDay(volContainOverDay);
|
||||
monitorOverLimitVO.setHarmCurOverDay(harmCurOverDay);
|
||||
monitorOverLimitVO.setIntHarmOverDay(intHarmOverDay);
|
||||
monitorOverLimitVO.setOverVolThreeTimes(overVolThreeTimes);
|
||||
monitorOverLimitVO.setOverVolFiveTimes(overVolFiveTimes);
|
||||
monitorOverLimitVO.setOverVolSevenTimes(overVolSevenTimes);
|
||||
monitorOverLimitVO.setOverVolElevenTimes(overVolElevenTimes);
|
||||
monitorOverLimitVO.setOverVolThirteenTimes(overVolThirteenTimes);
|
||||
monitorOverLimitVO.setOverVolTwentyThreeTimes(overVolTwentyThreeTimes);
|
||||
monitorOverLimitVO.setOverVolTwentyFiveTimes(overVolTwentyFiveTimes);
|
||||
monitorOverLimitVO.setOverVolOtherTimes(overVolOtherTimes);
|
||||
monitorOverLimitVO.setOverCurThreeTimes(overCurThreeTimes);
|
||||
monitorOverLimitVO.setOverCurFiveTimes(overCurFiveTimes);
|
||||
monitorOverLimitVO.setOverCurSevenTimes(overCurSevenTimes);
|
||||
monitorOverLimitVO.setOverCurElevenTimes(overCurElevenTimes);
|
||||
monitorOverLimitVO.setOverCurThirteenTimes(overCurThirteenTimes);
|
||||
monitorOverLimitVO.setOverCurTwentyThreeTimes(overCurTwentyThreeTimes);
|
||||
monitorOverLimitVO.setOverCurTwentyFiveTimes(overCurTwentyFiveTimes);
|
||||
monitorOverLimitVO.setOverCurOtherTimes(overCurOtherTimes);
|
||||
BeanUtil.copyProperties(vo,monitorOverLimitVO);
|
||||
List<RStatLimitRateDPO> limitRateDPOS = lineMap.get(vo.getId());
|
||||
MonitorOverLimitVO overLimitVO = groupMap.get(vo.getId()).get(0);
|
||||
BeanUtil.copyProperties(overLimitVO,monitorOverLimitVO);
|
||||
|
||||
System.out.println(monitorOverLimitVO);
|
||||
|
||||
|
||||
// 超标天数
|
||||
// long allTimeCount = limitRateDPOS.stream().filter(t -> t.getAllTime() != 0).count();
|
||||
// 频率偏差超标天数
|
||||
// long freqDevOverCount = limitRateDPOS.stream().filter(t -> t.getFreqDevOvertime() != 0).count();
|
||||
// 电压偏差超标天数
|
||||
// long voltageDevOverCount = limitRateDPOS.stream().filter(t -> t.getVoltageDevOvertime() != 0).count();
|
||||
// 电压谐波畸变率越限次数
|
||||
// long UaberranceOverCount = limitRateDPOS.stream().filter(t -> t.getUaberranceOvertime() != 0).count();
|
||||
// 谐波电压含有率超标天数
|
||||
long volContainOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedUharmData(t)).count();
|
||||
// 谐波电流超标天数
|
||||
long harmCurOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedIharmData(t)).count();
|
||||
// 间谐波电压含有率超标天数
|
||||
long intHarmOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedInuharmData(t)).count();
|
||||
monitorOverLimitVO.setVolContainOverDay((int) volContainOverDay);
|
||||
monitorOverLimitVO.setHarmCurOverDay((int) harmCurOverDay);
|
||||
monitorOverLimitVO.setIntHarmOverDay((int) intHarmOverDay);
|
||||
result.add(monitorOverLimitVO);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(result)){
|
||||
List<MonitorOverLimitVO> recordList = new ArrayList<>();
|
||||
@@ -424,6 +350,207 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
|
||||
return page;
|
||||
}
|
||||
return page;
|
||||
// if (CollectionUtil.isNotEmpty (lineList)) {
|
||||
// page.setTotal(lineList.size());
|
||||
// int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
|
||||
// page.setPages(pages);
|
||||
// List<List<String>> pageList = Lists.partition(lineList,param.getPageSize());
|
||||
// List<String> temList = pageList.get(param.getPageNum()-1);
|
||||
// List<MonitorOverLimitVO> list = rateDMapper.getSumLimitRateByLineIndexes(lineList, param.getSearchBeginTime(), param.getSearchEndTime());
|
||||
// Map<String, List<MonitorOverLimitVO>> mapperMap = list.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId));
|
||||
// PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
|
||||
// pollutionParamDTO.setLineList(temList);
|
||||
// List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
|
||||
// for (OverLimitLineDTO overLimitLineDTO : overLimitLineList) {
|
||||
// MonitorOverLimitVO vo = mapperMap.get(overLimitLineDTO.getId()).get(0);
|
||||
// if (Objects.isNull(vo)) {
|
||||
// continue;
|
||||
// }
|
||||
// vo.setProvinceCompany(overLimitLineDTO.getProvinceCompany());
|
||||
// vo.setCityCompany(overLimitLineDTO.getCityCompany());
|
||||
// vo.setLineName(overLimitLineDTO.getLineName());
|
||||
// vo.setLoadType(overLimitLineDTO.getLoadType());
|
||||
// vo.setLineObjectName(overLimitLineDTO.getLineObjectName());
|
||||
// vo.setLineScale(overLimitLineDTO.getLineScale());
|
||||
// vo.setSubName(overLimitLineDTO.getSubName());
|
||||
// vo.setSubScale(overLimitLineDTO.getSubScale());
|
||||
// result.add(vo);
|
||||
// }
|
||||
// }
|
||||
// if (!CollectionUtils.isEmpty(result)){
|
||||
// List<MonitorOverLimitVO> recordList = new ArrayList<>();
|
||||
// //默认 根据在线监测点个数 倒叙排序
|
||||
// recordList = result.stream().sorted(Comparator.comparing(MonitorOverLimitVO::getOverDay).reversed()).collect(Collectors.toList());
|
||||
// page.setRecords(recordList);
|
||||
// return page;
|
||||
// }
|
||||
// return page;
|
||||
// if (!CollectionUtils.isEmpty(lineList)){
|
||||
// page.setTotal(lineList.size());
|
||||
// int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
|
||||
// page.setPages(pages);
|
||||
// List<List<String>> pageList = Lists.partition(lineList,param.getPageSize());
|
||||
// List<String> temList = pageList.get(param.getPageNum()-1);
|
||||
// List<LimitTarget> limitTargetList = getOverDays(temList,param.getSearchBeginTime(),param.getSearchEndTime());
|
||||
// Map<String,List<LimitTarget>> map = limitTargetList.stream().collect(Collectors.groupingBy(LimitTarget::getLineId));
|
||||
// PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
|
||||
// pollutionParamDTO.setLineList(temList);
|
||||
// List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
|
||||
// overLimitLineList.forEach(item->{
|
||||
// int overDay=0,freqOverDay=0,volDevOverDay=0,threeUnbalance=0,flickerOverDay=0,negativeOverDay=0,harmVolOverDay=0,volDisOverDay=0,volContainOverDay=0,harmCurOverDay=0,intHarmOverDay=0;
|
||||
// int overVolThreeTimes=0,overVolFiveTimes=0,overVolSevenTimes=0,overVolElevenTimes=0,overVolThirteenTimes=0,overVolTwentyThreeTimes=0,overVolTwentyFiveTimes=0,overVolOtherTimes=0;
|
||||
// int overCurThreeTimes=0,overCurFiveTimes=0,overCurSevenTimes=0,overCurElevenTimes=0,overCurThirteenTimes=0,overCurTwentyThreeTimes=0,overCurTwentyFiveTimes=0,overCurOtherTimes=0;
|
||||
// MonitorOverLimitVO monitorOverLimitVO = new MonitorOverLimitVO();
|
||||
// BeanUtil.copyProperties(item,monitorOverLimitVO);
|
||||
// List<LimitTarget> l1 = map.get(item.getId());
|
||||
// if (!CollectionUtils.isEmpty(l1)) {
|
||||
// for (LimitTarget item2 : l1) {
|
||||
// if (item2.getFreqDevOverTime()+item2.getVoltageDevOverTime()+item2.getUBalanceOverTime()+item2.getFlickerOverTime()+item2.getINegOverTime()+item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()+item2.getIHarmAllOverTime()+item2.getInuharmAllOverTime() > 0){
|
||||
// overDay++;
|
||||
// }
|
||||
// if (item2.getFreqDevOverTime()>0){
|
||||
// freqOverDay++;
|
||||
// }
|
||||
// if (item2.getVoltageDevOverTime()>0){
|
||||
// volDevOverDay++;
|
||||
// }
|
||||
// if (item2.getUBalanceOverTime()>0){
|
||||
// threeUnbalance++;
|
||||
// }
|
||||
// if (item2.getFlickerOverTime()>0){
|
||||
// flickerOverDay++;
|
||||
// }
|
||||
// if (item2.getINegOverTime()>0){
|
||||
// negativeOverDay++;
|
||||
// }
|
||||
// if (item2.getUAberranceOverTime()+item2.getUHarmAllOverTime()>0){
|
||||
// harmVolOverDay++;
|
||||
// }
|
||||
// if (item2.getUAberranceOverTime()>0){
|
||||
// volDisOverDay++;
|
||||
// }
|
||||
// if (item2.getUHarmAllOverTime()>0){
|
||||
// volContainOverDay++;
|
||||
// }
|
||||
// if (item2.getIHarmAllOverTime()>0){
|
||||
// harmCurOverDay++;
|
||||
// }
|
||||
// if (item2.getInuharmAllOverTime()>0){
|
||||
// intHarmOverDay++;
|
||||
// }
|
||||
// if (item2.getUHarm3OverTime()>0){
|
||||
// overVolThreeTimes++;
|
||||
// }
|
||||
// if (item2.getUHarm5OverTime()>0){
|
||||
// overVolFiveTimes++;
|
||||
// }
|
||||
// if (item2.getUHarm7OverTime()>0){
|
||||
// overVolSevenTimes++;
|
||||
// }
|
||||
// if (item2.getUHarm11OverTime()>0){
|
||||
// overVolElevenTimes++;
|
||||
// }
|
||||
// if (item2.getUHarm13OverTime()>0){
|
||||
// overVolThirteenTimes++;
|
||||
// }
|
||||
// if (item2.getUHarm23OverTime()>0){
|
||||
// overVolTwentyThreeTimes++;
|
||||
// }
|
||||
// if (item2.getUHarm25OverTime()>0){
|
||||
// overVolTwentyFiveTimes++;
|
||||
// }
|
||||
// if (item2.getUHarmAllOverTime()>0){
|
||||
// overVolOtherTimes++;
|
||||
// }
|
||||
// if (item2.getIHarm3OverTime()>0){
|
||||
// overCurThreeTimes++;
|
||||
// }
|
||||
// if (item2.getIHarm5OverTime()>0){
|
||||
// overCurFiveTimes++;
|
||||
// }
|
||||
// if (item2.getIHarm7OverTime()>0){
|
||||
// overCurSevenTimes++;
|
||||
// }
|
||||
// if (item2.getIHarm11OverTime()>0){
|
||||
// overCurElevenTimes++;
|
||||
// }
|
||||
// if (item2.getIHarm13OverTime()>0){
|
||||
// overCurThirteenTimes++;
|
||||
// }
|
||||
// if (item2.getIHarm23OverTime()>0){
|
||||
// overCurTwentyThreeTimes++;
|
||||
// }
|
||||
// if (item2.getIHarm25OverTime()>0){
|
||||
// overCurTwentyFiveTimes++;
|
||||
// }
|
||||
// if (item2.getIHarmAllOverTime()>0){
|
||||
// overCurOtherTimes++;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// monitorOverLimitVO.setOverDay(overDay);
|
||||
// monitorOverLimitVO.setFreqOverDay(freqOverDay);
|
||||
// monitorOverLimitVO.setVolDevOverDay(volDevOverDay);
|
||||
// monitorOverLimitVO.setThreeUnbalance(threeUnbalance);
|
||||
// monitorOverLimitVO.setFlickerOverDay(flickerOverDay);
|
||||
// monitorOverLimitVO.setNegativeOverDay(negativeOverDay);
|
||||
// monitorOverLimitVO.setHarmVolOverDay(harmVolOverDay);
|
||||
// monitorOverLimitVO.setVolDisOverDay(volDisOverDay);
|
||||
// monitorOverLimitVO.setVolContainOverDay(volContainOverDay);
|
||||
// monitorOverLimitVO.setHarmCurOverDay(harmCurOverDay);
|
||||
// monitorOverLimitVO.setIntHarmOverDay(intHarmOverDay);
|
||||
// monitorOverLimitVO.setOverVolThreeTimes(overVolThreeTimes);
|
||||
// monitorOverLimitVO.setOverVolFiveTimes(overVolFiveTimes);
|
||||
// monitorOverLimitVO.setOverVolSevenTimes(overVolSevenTimes);
|
||||
// monitorOverLimitVO.setOverVolElevenTimes(overVolElevenTimes);
|
||||
// monitorOverLimitVO.setOverVolThirteenTimes(overVolThirteenTimes);
|
||||
// monitorOverLimitVO.setOverVolTwentyThreeTimes(overVolTwentyThreeTimes);
|
||||
// monitorOverLimitVO.setOverVolTwentyFiveTimes(overVolTwentyFiveTimes);
|
||||
// monitorOverLimitVO.setOverVolOtherTimes(overVolOtherTimes);
|
||||
// monitorOverLimitVO.setOverCurThreeTimes(overCurThreeTimes);
|
||||
// monitorOverLimitVO.setOverCurFiveTimes(overCurFiveTimes);
|
||||
// monitorOverLimitVO.setOverCurSevenTimes(overCurSevenTimes);
|
||||
// monitorOverLimitVO.setOverCurElevenTimes(overCurElevenTimes);
|
||||
// monitorOverLimitVO.setOverCurThirteenTimes(overCurThirteenTimes);
|
||||
// monitorOverLimitVO.setOverCurTwentyThreeTimes(overCurTwentyThreeTimes);
|
||||
// monitorOverLimitVO.setOverCurTwentyFiveTimes(overCurTwentyFiveTimes);
|
||||
// monitorOverLimitVO.setOverCurOtherTimes(overCurOtherTimes);
|
||||
// result.add(monitorOverLimitVO);
|
||||
// });
|
||||
// }
|
||||
// if (!CollectionUtils.isEmpty(result)){
|
||||
// List<MonitorOverLimitVO> recordList = new ArrayList<>();
|
||||
// //默认 根据在线监测点个数 倒叙排序
|
||||
// recordList = result.stream().sorted(Comparator.comparing(MonitorOverLimitVO::getOverDay).reversed()).collect(Collectors.toList());
|
||||
// page.setRecords(recordList);
|
||||
// return page;
|
||||
// }
|
||||
// return page;
|
||||
}
|
||||
|
||||
private boolean FilterNotQualifiedInuharmData(RStatLimitRateDPO t) {
|
||||
int i =t.getInuharm1Overtime()+ t.getInuharm2Overtime() + t.getInuharm3Overtime() + t.getInuharm4Overtime() + t.getInuharm5Overtime() + t.getInuharm6Overtime() + t.getInuharm7Overtime() + t.getInuharm8Overtime() + t.getInuharm9Overtime() + t.getInuharm10Overtime() + t.getInuharm11Overtime() + t.getInuharm12Overtime() + t.getInuharm13Overtime() + t.getInuharm14Overtime() + t.getInuharm15Overtime() + t.getInuharm16Overtime();
|
||||
if (i>0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean FilterNotQualifiedIharmData(RStatLimitRateDPO t) {
|
||||
int i = t.getIharm2Overtime() + t.getIharm3Overtime() + t.getIharm4Overtime() + t.getIharm5Overtime() + t.getIharm6Overtime() + t.getIharm7Overtime() + t.getIharm8Overtime() + t.getIharm9Overtime() + t.getIharm10Overtime() + t.getIharm11Overtime() + t.getIharm12Overtime() + t.getIharm13Overtime() + t.getIharm14Overtime() + t.getIharm15Overtime() + t.getIharm16Overtime() + t.getIharm17Overtime() + t.getIharm18Overtime() + t.getIharm19Overtime() + t.getIharm20Overtime() + t.getIharm21Overtime() + t.getIharm22Overtime() + t.getIharm23Overtime() + t.getIharm24Overtime() + t.getIharm25Overtime();
|
||||
if (i>0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean FilterNotQualifiedUharmData(RStatLimitRateDPO t) {
|
||||
int i = t.getUharm2Overtime() + t.getUharm3Overtime() + t.getUharm4Overtime() + t.getUharm5Overtime() + t.getUharm6Overtime() + t.getUharm7Overtime() + t.getUharm8Overtime() + t.getUharm9Overtime() + t.getUharm10Overtime() + t.getUharm11Overtime() + t.getUharm12Overtime() + t.getUharm13Overtime() + t.getUharm14Overtime() + t.getUharm15Overtime() + t.getUharm16Overtime() + t.getUharm17Overtime() + t.getUharm18Overtime() + t.getUharm19Overtime() + t.getUharm20Overtime() + t.getUharm21Overtime() + t.getUharm22Overtime() + t.getUharm23Overtime() + t.getUharm24Overtime() + t.getUharm25Overtime();
|
||||
|
||||
if (i>0){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -156,6 +156,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
historyDataResultVO.setTopLimit(queryResultLimitVO.getTopLimit());
|
||||
historyDataResultVO.setLowerLimit(queryResultLimitVO.getLowerLimit());
|
||||
historyDataResultVO.setMinValue(Collections.min(fValue));
|
||||
historyDataResultVO.setMaxValue(Collections.max(fValue));
|
||||
historyDataResultVO.setValue(objectListData);
|
||||
|
||||
} else {
|
||||
@@ -188,8 +189,11 @@ public class HistoryResultServiceImpl implements HistoryResultService {
|
||||
Float aValueMin = Collections.min(aValue);
|
||||
Float bValueMin = Collections.min(bValue);
|
||||
Float cValueMin = Collections.min(cValue);
|
||||
|
||||
Float aValueMax = Collections.max(aValue);
|
||||
Float bValueMax = Collections.max(bValue);
|
||||
Float cValueMax = Collections.max(cValue);
|
||||
historyDataResultVO.setMinValue((aValueMin < bValueMin) ? ((aValueMin < cValueMin) ? aValueMin : cValueMin) : ((bValueMin < cValueMin) ? bValueMin : cValueMin));
|
||||
historyDataResultVO.setMaxValue(aValueMax > bValueMax ? (aValueMax > cValueMax ? aValueMax : bValueMax) : (bValueMax > cValueMax ? bValueMax : cValueMax ));
|
||||
historyDataResultVO.setTopLimit(queryResultLimitVO.getTopLimit());
|
||||
historyDataResultVO.setLowerLimit(queryResultLimitVO.getLowerLimit());
|
||||
historyDataResultVO.setValue(objectListData);
|
||||
|
||||
Reference in New Issue
Block a user