diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java index 0e09ac417..af11b1375 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineIntegrityDataServiceImpl.java @@ -128,9 +128,7 @@ public class LineIntegrityDataServiceImpl extends ServiceImpl percentageOfCompleteDatas = rStatIntegrityDMapper.getLineIntegrityRate(generalDeviceDTO.getLineIndexes(),lineIntegrityDataParam.getSearchBeginTime(), lineIntegrityDataParam.getSearchEndTime()); - - - + for (LineIntegrityDataVO lineDataIntegrity : lineList) { boolean flag = false; for (LineDataIntegrity lineData : percentageOfCompleteDatas) { diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatLimitTargetMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatLimitTargetMapper.java new file mode 100644 index 000000000..e97581d86 --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatLimitTargetMapper.java @@ -0,0 +1,18 @@ +package com.njcn.harmonic.mapper; + +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; +import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; +import com.njcn.harmonic.pojo.vo.MonitorOverLimitVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface RStatLimitTargetMapper extends BaseMapper { + + Page getSumLimitRatePage(Page p, + @Param("ids") List lineIndexes, + @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime); +} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetMapper.xml new file mode 100644 index 000000000..d9131962c --- /dev/null +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetMapper.xml @@ -0,0 +1,71 @@ + + + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java index e778d9973..98c1327e5 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java @@ -19,6 +19,7 @@ import com.njcn.device.pq.pojo.dto.WarningSubstationDTO; import com.njcn.device.pq.pojo.vo.AreaLineInfoVO; import com.njcn.harmonic.constant.Param; import com.njcn.harmonic.mapper.RStatLimitRateDMapper; +import com.njcn.harmonic.mapper.RStatLimitTargetMapper; import com.njcn.harmonic.pojo.excel.area.AreaExcel; import com.njcn.harmonic.pojo.excel.monitor.ITimes; import com.njcn.harmonic.pojo.excel.monitor.MonitorExcel; @@ -29,6 +30,7 @@ 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.po.day.RStatLimitTargetDPO; import com.njcn.harmonic.pojo.vo.MonitorOverLimitVO; import com.njcn.harmonic.pojo.vo.OverAreaLimitVO; import com.njcn.harmonic.pojo.vo.OverAreaVO; @@ -75,6 +77,8 @@ public class AnalyzeServiceImpl implements IAnalyzeService { private final RStatLimitRateDMapper rateDMapper; + private final RStatLimitTargetMapper targetMapper; + @Override public Page getAreaData(OverAreaVO param) { Page page = new Page<>(); @@ -295,7 +299,8 @@ public class AnalyzeServiceImpl implements IAnalyzeService { p.setSize(param.getPageSize()); p.setCurrent(param.getPageNum()); if (CollectionUtil.isNotEmpty(lineList)) { - Page sumLimitRatePage = rateDMapper.getSumLimitRatePage(p, lineList, param.getSearchBeginTime(), param.getSearchEndTime()); + Page sumLimitRatePage = targetMapper.getSumLimitRatePage(p, lineList, DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))); List pageRecords = sumLimitRatePage.getRecords(); Map> monMap = pageRecords.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId)); ArrayList list = new ArrayList<>(); @@ -305,13 +310,10 @@ public class AnalyzeServiceImpl implements IAnalyzeService { List data = lineFeignClient.getBaseLineAreaInfo(list).getData(); System.out.println(data); List overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData(); - List rStatLimitRateDPOS = rateDMapper.selectList(new QueryWrapper() - .in("r_stat_limit_rate_d.my_index", list) - .between("r_stat_limit_rate_d.time_id", - DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), - DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))) - ); - Map> rsMap = rStatLimitRateDPOS.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId)); + List rStatLimitTargetDPOS = targetMapper.selectList(new QueryWrapper() + .in("r_stat_limit_target_d.my_index", list).between("r_stat_limit_target_d.time_id",DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())), + DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())))); + Map> rsMap = rStatLimitTargetDPOS.stream().collect(Collectors.groupingBy(RStatLimitTargetDPO::getLineId)); for (OverLimitLineDTO vo : overLimitLineList) { MonitorOverLimitVO monitorOverLimitVO = new MonitorOverLimitVO(); BeanUtil.copyProperties(vo,monitorOverLimitVO); @@ -339,10 +341,11 @@ public class AnalyzeServiceImpl implements IAnalyzeService { monitorOverLimitVO.setOverCurTwentyThreeTimes(source.getOverCurTwentyThreeTimes()); monitorOverLimitVO.setOverCurTwentyFiveTimes(source.getOverCurTwentyFiveTimes()); monitorOverLimitVO.setOverCurOtherTimes(source.getOverCurOtherTimes()); - List limitRateDPOS = rsMap.get(vo.getId()); + List limitRateDPOS = rsMap.get(vo.getId()); // 谐波电压含有率超标天数 long volContainOverDay = limitRateDPOS.stream().filter(t -> filterNotQualifiedUharmData(t)).count(); // 谐波电流超标天数 + List collect = limitRateDPOS.stream().filter(t -> filterNotQualifiedUharmData(t)).collect(Collectors.toList()); long harmCurOverDay = limitRateDPOS.stream().filter(t -> filterNotQualifiedIharmData(t)).count(); // 间谐波电压含有率超标天数 long intHarmOverDay = limitRateDPOS.stream().filter(t -> filterNotQualifiedInuharmData(t)).count(); @@ -507,32 +510,32 @@ public class AnalyzeServiceImpl implements IAnalyzeService { // return page; } - private boolean filterNotQualifiedHarmVolData(RStatLimitRateDPO t) { + private boolean filterNotQualifiedHarmVolData(RStatLimitTargetDPO t) { // 电压畸变率+谐波电压含有率(2-25次) int i = t.getUaberranceOvertime() + 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){ + if (i > 0){ return true; } return false; } - private boolean filterNotQualifiedInuharmData(RStatLimitRateDPO t) { + private boolean filterNotQualifiedInuharmData(RStatLimitTargetDPO 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){ + if (i > 0){ return true; } return false; } - private boolean filterNotQualifiedIharmData(RStatLimitRateDPO t) { + private boolean filterNotQualifiedIharmData(RStatLimitTargetDPO 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){ + if (i > 0){ return true; } return false; } - private boolean filterNotQualifiedUharmData(RStatLimitRateDPO t) { + private boolean filterNotQualifiedUharmData(RStatLimitTargetDPO 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){