diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml index e60c36171..56be71c32 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml @@ -1714,12 +1714,13 @@ left join pq_voltage pv on pv.Id = pl2.Id left join pq_device pd on pl3.Id = pd.Id left join sys_dict_data sdd on pv.`Scale` = sdd.Id - where + pl.Id IN #{item} + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java index 6faeedb10..993db2817 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java @@ -96,6 +96,7 @@ public class RStatIntegrityDServiceImpl extends ServiceImpl imple deviceDetail.setCheckFlag(1); deviceDetail.setThisTimeCheck(PubUtils.localDateFormat(deviceParam.getThisTimeCheck())); deviceDetail.setNextTimeCheck(PubUtils.localDateFormat(deviceParam.getNextTimeCheck())); - deviceDetail.setLoginTime(PubUtils.localDateFormat(deviceParam.getNextTimeCheck())); + deviceDetail.setLoginTime(PubUtils.localDateFormat(deviceParam.getLoginTime())); deviceDetail.setUpdateTime(LocalDateTime.now()); //处理装置识别码秘钥 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml index 88045b35d..ef0a873b6 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml @@ -308,7 +308,7 @@ inuharm_15_overtime+ inuharm_16_overtime)>0,1,0)) AS allCount FROM - r_stat_limit_target_d + r_stat_limit_rate_d AND my_index IN @@ -353,160 +353,135 @@ diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml index 8ea2a3998..968e3efab 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/ReportMapper.xml @@ -7,21 +7,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, rms, - @rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_i_d @@ -61,21 +61,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, rms, - @rank := IF( @CI = phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_v_d @@ -175,21 +175,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, rms_lvr as rms, - @rank := IF( @CI = phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_v_d @@ -229,23 +229,23 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, p as rms, - @rank := + @rankSum := IF - ( @CI = phasic_type, @rank + 1, 1 ) AS rank, + ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_harmpower_p_d @@ -288,23 +288,23 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, pf as rms, - @rank := + @rankSum := IF - ( @CI = phasic_type, @rank + 1, 1 ) AS rank, + ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_harmpower_p_d @@ -347,23 +347,23 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, q as rms, - @rank := + @rankSum := IF - ( @CI = phasic_type, @rank + 1, 1 ) AS rank, + ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_harmpower_q_d @@ -406,23 +406,23 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, s as rms, - @rank := + @rankSum := IF - ( @CI = phasic_type, @rank + 1, 1 ) AS rank, + ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_harmpower_s_d @@ -465,23 +465,23 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, plt as rms, - @rank := + @rankSum := IF - ( @CI = phasic_type, @rank + 1, 1 ) AS rank, + ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_flicker_d @@ -524,23 +524,23 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, pst as rms, - @rank := + @rankSum := IF - ( @CI = phasic_type, @rank + 1, 1 ) AS rank, + ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_flicker_d @@ -583,21 +583,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, vu_dev as rms, - @rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_v_d @@ -637,21 +637,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, vl_dev as rms, - @rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_v_d @@ -691,21 +691,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, v_thd as rms, - @rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_v_d @@ -745,21 +745,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, i_thd as rms, - @rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_i_d @@ -799,21 +799,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, freq as rms, - @rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_v_d @@ -853,21 +853,21 @@ AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue, - MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value + MAX( CASE WHEN rankSum = #{param.count} THEN rms END ) AS cp95Value FROM ( SELECT phasic_type, value_type, rms, - rank + rankSum FROM ( SELECT phasic_type, value_type, freq_dev as rms, - @rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, + @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum, @CI := phasic_type FROM r_stat_data_v_d diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java index 6812c030d..a94c87bff 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java @@ -20,6 +20,7 @@ import com.njcn.harmonic.pojo.po.day.RStatAssesDPO; import com.njcn.harmonic.pojo.po.day.RStatDataPltDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; +import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO; import com.njcn.harmonic.pojo.vo.hebeinorth.AssessDetailVo; import com.njcn.harmonic.pojo.vo.hebeinorth.AssessVo; import com.njcn.harmonic.pojo.vo.hebeinorth.EvaluationLevelVo; @@ -72,7 +73,6 @@ public class GridServiceImpl implements IGridService { List children = new ArrayList<>(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 @@ -124,7 +124,6 @@ public class GridServiceImpl implements IGridService { //查询部门监测点关系 DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 @@ -166,7 +165,6 @@ public class GridServiceImpl implements IGridService { //查询部门监测点关系 DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 @@ -270,7 +268,6 @@ public class GridServiceImpl implements IGridService { List childrenList = new ArrayList<>(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 @@ -319,7 +316,6 @@ public class GridServiceImpl implements IGridService { List result = new ArrayList<>(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 @@ -385,7 +381,6 @@ public class GridServiceImpl implements IGridService { List result = new ArrayList<>(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 @@ -430,7 +425,6 @@ public class GridServiceImpl implements IGridService { List result = new ArrayList<>(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 @@ -441,7 +435,7 @@ public class GridServiceImpl implements IGridService { .collect(Collectors.toList()); if (CollUtil.isNotEmpty(lineList)) { //获取监测点越限集合 - List overLimitList = rStatLimitTargetDMapper.getSumTarget(lineList,param.getStartTime(),param.getEndTime()); + List overLimitList = rStatLimitTargetDMapper.getSumTargetDetails(lineList,param.getStartTime(),param.getEndTime()); //获取部门 List deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData(); deptList.forEach(item->{ @@ -453,7 +447,7 @@ public class GridServiceImpl implements IGridService { List ll = lineMap.get(item.getId()); detail.setOnlineNum(ll.size()); //筛选当前部门下监测点的超标数据 - List list2 = overLimitList.stream().filter(it->ll.contains(it.getLineId())).collect(Collectors.toList()); + List list2 = overLimitList.stream().filter(it->ll.contains(it.getLineId())).collect(Collectors.toList()); EvaluationLevelVo.TargetDetail detail1 = new EvaluationLevelVo.TargetDetail(); detail1.setTargetName(DicDataEnum.FREQUENCY_DEV.getName()); EvaluationLevelVo.TargetDetail detail2 = new EvaluationLevelVo.TargetDetail(); @@ -464,47 +458,71 @@ public class GridServiceImpl implements IGridService { detail4.setTargetName(DicDataEnum.FLICKER.getName()); EvaluationLevelVo.TargetDetail detail5 = new EvaluationLevelVo.TargetDetail(); detail5.setTargetName(DicDataEnum.phase_Voltage.getName()); - + EvaluationLevelVo.TargetDetail detail6 = new EvaluationLevelVo.TargetDetail(); + detail6.setTargetName(DicDataEnum.NEG_CURRENT.getName()); + EvaluationLevelVo.TargetDetail detail7 = new EvaluationLevelVo.TargetDetail(); + detail7.setTargetName(DicDataEnum.HARMONIC_CURRENT.getName()); + EvaluationLevelVo.TargetDetail detail8 = new EvaluationLevelVo.TargetDetail(); + detail8.setTargetName(DicDataEnum.HARMONIC_VOLTAGE.getName()); + EvaluationLevelVo.TargetDetail detail9 = new EvaluationLevelVo.TargetDetail(); + detail9.setTargetName(DicDataEnum.INTERHARMONIC_VOLTAGE.getName()); if (CollUtil.isNotEmpty(list2)) { - //筛选出五项指标(电压偏差、频率偏差、电压总谐波畸变率、电压闪变、三相电压不平衡度)超标监测点 - long allNum = list2.stream().filter(o->o.getFreqDevOvertime() > 0 - || o.getVoltageDevOvertime() > 0 - || o.getFlickerOvertime() > 0 - || o.getUaberranceOvertime() > 0 - || o.getUbalanceOvertime() > 0).count(); + //筛选出9项指标(电压偏差、频率偏差、电压总谐波畸变率、电压闪变、三相电压不平衡度、负序电流、谐波电流、间谐波电压、谐波电压)超标监测点 + long allNum = list2.stream().filter(o->o.getAllOvertime() > 0).count(); detail.setOverNum((int) allNum); detail.setOverRatio(PubUtils.doubleRound(2,detail.getOverNum()*100.0/detail.getOnlineNum())); //筛选出电压偏差超标监测点 long num1 = list2.stream().filter(o->o.getFreqDevOvertime() > 0).count(); - Integer day1 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetDPO::getFreqDevOvertime)).get().getFreqDevOvertime(); + Integer day1 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getFreqDevOvertime)).get().getFreqDevOvertime(); detail1.setOverNum((int) num1); detail1.setOverDay(day1); //筛选出频率偏差超标监测点 long num2 = list2.stream().filter(o->o.getVoltageDevOvertime() > 0).count(); - Integer day2 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetDPO::getVoltageDevOvertime)).get().getVoltageDevOvertime(); + Integer day2 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getVoltageDevOvertime)).get().getVoltageDevOvertime(); detail2.setOverNum((int) num2); detail2.setOverDay(day2); //筛选出电压总谐波畸变率超标监测点 long num3 = list2.stream().filter(o->o.getUaberranceOvertime() > 0).count(); - Integer day3 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetDPO::getUaberranceOvertime)).get().getUaberranceOvertime(); + Integer day3 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getUaberranceOvertime)).get().getUaberranceOvertime(); detail3.setOverNum((int) num3); detail3.setOverDay(day3); //筛选出电压闪变超标监测点 long num4 = list2.stream().filter(o->o.getFlickerOvertime() > 0).count(); - Integer day4 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetDPO::getFlickerOvertime)).get().getFlickerOvertime(); + Integer day4 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getFlickerOvertime)).get().getFlickerOvertime(); detail4.setOverNum((int) num4); detail4.setOverDay(day4); //筛选出三相电压不平衡度超标监测点 long num5 = list2.stream().filter(o->o.getUbalanceOvertime() > 0).count(); - Integer day5 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetDPO::getUbalanceOvertime)).get().getUbalanceOvertime(); + Integer day5 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getUbalanceOvertime)).get().getUbalanceOvertime(); detail5.setOverNum((int) num5); detail5.setOverDay(day5); + + //筛选出负序电流超标监测点 + long num6 = list2.stream().filter(o->o.getINegOvertime() > 0).count(); + Integer day6 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getINegOvertime)).get().getINegOvertime(); + detail6.setOverNum((int) num6); + detail6.setOverDay(day6); + + long num7 = list2.stream().filter(o->o.getIharmOvertime() > 0).count(); + Integer day7 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getIharmOvertime)).get().getIharmOvertime(); + detail7.setOverNum((int) num7); + detail7.setOverDay(day7); + + long num8 = list2.stream().filter(o->o.getUharmOvertime() > 0).count(); + Integer day8 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getUharmOvertime)).get().getUharmOvertime(); + detail8.setOverNum((int) num8); + detail8.setOverDay(day8); + + long num9 = list2.stream().filter(o->o.getInuharmOvertime() > 0).count(); + Integer day9 = list2.stream().max(Comparator.comparingInt(RStatLimitTargetVO::getInuharmOvertime)).get().getInuharmOvertime(); + detail9.setOverNum((int) num9); + detail9.setOverDay(day9); } - List details = Arrays.asList(detail1, detail2, detail3, detail4, detail5); + List details = Arrays.asList(detail1, detail2, detail3, detail4, detail5, detail6, detail7, detail8, detail9); detail.setList(details); } result.add(detail); @@ -519,7 +537,6 @@ public class GridServiceImpl implements IGridService { List result = new ArrayList<>(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptIndex()); - deptGetLineParam.setServerName("harmonic-boot"); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); //获取监测点集合 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java index 0bd414450..5b8d9803e 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java @@ -259,7 +259,7 @@ public class RStatLimitServiceImpl implements RStatLimitService { List online = onData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList()); StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam(); - baseParam.setIds(online); + baseParam.setIds(line); baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString()); baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()); List linesTarget=targetDService.getLinesTarget(baseParam); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java index 5917c3bab..eb681e311 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java @@ -86,7 +86,7 @@ public class LineWarningServiceImpl extends MppServiceImpl list1 = getReportLineInfo(true,param.getIdList(),null,param.getSearchBeginTime(),param.getSearchEndTime(),param.getDeptId(),allLineWarnings); //获取谐波电压超标监测点集合 @@ -272,7 +272,10 @@ public class LineWarningServiceImpl extends MppServiceImpl dataList1 = new ArrayList(),dataList2 = new ArrayList(),dataList3 = new ArrayList(); if (CollUtil.isNotEmpty(list1)) { @@ -336,13 +339,18 @@ public class LineWarningServiceImpl extends MppServiceImpl getOverLimitDetail(OnlineParam.DetailParam param) { + List result = new ArrayList<>(); String targetCode = dicDataFeignClient.getDicDataById(param.getTargetId()).getData().getCode(); //获取监测点统计间隔 Integer timeInterval = commTerminalGeneralClient.getMonitorDetail(param.getLineId()).getData().getInterval(); //获取限值 Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(param.getLineId()).getData(); //处理数据 - return chanelTarget(param,overlimit,timeInterval,targetCode); + List data = chanelTarget(param,overlimit,timeInterval,targetCode); + if (CollUtil.isNotEmpty(data)) { + result = data.stream().sorted(Comparator.comparing(LineLimitDetailVo::getTime)).collect(Collectors.toList()); + } + return result; } //指标数据处理 @@ -401,7 +409,7 @@ public class LineWarningServiceImpl extends MppServiceImpl list = limitRateDClient.getOverData(param.getLineId(),param.getSearchBeginTime(),param.getSearchEndTime(),4).getData(); if (CollUtil.isNotEmpty(list)) { list.forEach(item->{ @@ -583,6 +591,19 @@ public class LineWarningServiceImpl extends MppServiceImpl getReportLineInfo(boolean type, List idList, String codeId, String startTime, String endTime, String deptId,List allLineWarnings) { List list = new ArrayList<>(); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -786,7 +807,7 @@ public class LineWarningServiceImpl extends MppServiceImpl result = new ArrayList<>(dataVMapper.getStatisticsByWraper(influxQueryWrapper)); InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class); influxQueryWrapper2.eq(DataV::getLineId, lineIndex) .eq(DataV::getValueType, InfluxDbSqlConstant.MAX) - .regular(DataV::getPhaseType,Arrays.asList("A","B","C")) + .regular(DataV::getPhasicType,Arrays.asList("A","B","C")) .max(DataV::getVuDev) .between(DataV::getTime, startTime, endTime); result.addAll(dataVMapper.getStatisticsByWraper(influxQueryWrapper2)); @@ -832,7 +853,7 @@ public class LineWarningServiceImpl extends MppServiceImpl surveyTestVOQueryWrapper = new QueryWrapper<>(); if (Objects.nonNull(surveyTestQueryParam)) { //添加上时间范围 - surveyTestVOQueryWrapper.between("supervision_survey_test.create_time", + surveyTestVOQueryWrapper.between("supervision_survey_plan.plan_start_time", DateUtil.beginOfDay(DateUtil.parse(surveyTestQueryParam.getSearchBeginTime())), DateUtil.endOfDay(DateUtil.parse(surveyTestQueryParam.getSearchEndTime()))); //根据工程名称模糊搜索 @@ -121,6 +121,9 @@ public class SurveyTestServiceImpl extends ServiceImpl surveyTestVOPage = this.baseMapper.surveyTestPage(new Page<>(PageFactory.getPageNum(surveyTestQueryParam), PageFactory.getPageSize(surveyTestQueryParam)), surveyTestVOQueryWrapper); List records = surveyTestVOPage.getRecords(); if (CollectionUtil.isNotEmpty(records)) { @@ -358,7 +361,7 @@ public class SurveyTestServiceImpl extends ServiceImpl evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); //指标类型 - List indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); + List indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PROBLEM_INDICATORS.getCode()).getData(); //行业类型 List industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData(); //负荷级别 @@ -671,6 +671,8 @@ public class UserReportPOServiceImpl extends ServiceImpl devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); //指标类型 List indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); + //敏感用户字典 + List problemIndicators = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PROBLEM_INDICATORS.getCode()).getData(); //评估类型 List evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); //行业类型 @@ -717,12 +719,18 @@ public class UserReportPOServiceImpl extends ServiceImpl indexList = new ArrayList<>(); UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO(); userReportSensitivePO.setId(userReportPO.getId()); userReportSensitivePO.setPccPoint(userExcel.getPccPoint()); userReportSensitivePO.setDeviceName(userExcel.getDeviceName()); userReportSensitivePO.setPowerSupplyCount(userExcel.getPowerSupplyCount()); - userReportSensitivePO.setEnergyQualityIndex(PubUtil.getDicById(userExcel.getEnergyQualityIndex(), indicatorType)); + //处理多指标数据 + String[] indexArr = userExcel.getEnergyQualityIndex().split(","); + for (String s : indexArr) { + indexList.add(PubUtil.getDicById(s, problemIndicators)); + } + userReportSensitivePO.setEnergyQualityIndex(indexList.stream().map(String::valueOf).collect(Collectors.joining(","))); userReportSensitivePO.setEvaluationType(PubUtil.getDicById(userExcel.getEvaluationType(), evaluationType)); userReportSensitivePO.setAntiInterferenceTest(userExcel.getAntiInterferenceTest() + ""); userReportSensitivePO.setEvaluationChekDept(userExcel.getEvaluationChekDept()); diff --git a/pqs-supervision/supervision-boot/src/main/resources/file/warningReport.docx b/pqs-supervision/supervision-boot/src/main/resources/file/warningReport.docx index d78405cbf..e198fc6b0 100644 Binary files a/pqs-supervision/supervision-boot/src/main/resources/file/warningReport.docx and b/pqs-supervision/supervision-boot/src/main/resources/file/warningReport.docx differ diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java index e3b9f0c97..788177b08 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/DicDataTypeEnum.java @@ -80,6 +80,7 @@ public enum DicDataTypeEnum { CS_DATA_TYPE("数据模型类别", "Cs_Data_Type"), + PROBLEM_INDICATORS("问题指标","Problem_Indicators"), //pms