接口调整

This commit is contained in:
xy
2024-07-16 09:21:10 +08:00
parent c1bfc2347f
commit 458b2347ed
12 changed files with 274 additions and 247 deletions

View File

@@ -1714,12 +1714,13 @@
left join pq_voltage pv on pv.Id = pl2.Id left join pq_voltage pv on pv.Id = pl2.Id
left join pq_device pd on pl3.Id = pd.Id left join pq_device pd on pl3.Id = pd.Id
left join sys_dict_data sdd on pv.`Scale` = sdd.Id left join sys_dict_data sdd on pv.`Scale` = sdd.Id
where <where>
<if test="ids!=null and ids.size() > 0"> <if test="ids!=null and ids.size() > 0">
pl.Id IN pl.Id IN
<foreach collection="ids" item="item" open="(" close=")" separator=","> <foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
</if> </if>
</where>
</select> </select>
</mapper> </mapper>

View File

@@ -96,6 +96,7 @@ public class RStatIntegrityDServiceImpl extends ServiceImpl<RStatIntegrityDMappe
}else { }else {
lineDataQualityDTO.setIntegrityRate(0.00); lineDataQualityDTO.setIntegrityRate(0.00);
} }
result.add(lineDataQualityDTO);
} }
return result; return result;
} }

View File

@@ -1890,7 +1890,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
deviceDetail.setCheckFlag(1); deviceDetail.setCheckFlag(1);
deviceDetail.setThisTimeCheck(PubUtils.localDateFormat(deviceParam.getThisTimeCheck())); deviceDetail.setThisTimeCheck(PubUtils.localDateFormat(deviceParam.getThisTimeCheck()));
deviceDetail.setNextTimeCheck(PubUtils.localDateFormat(deviceParam.getNextTimeCheck())); deviceDetail.setNextTimeCheck(PubUtils.localDateFormat(deviceParam.getNextTimeCheck()));
deviceDetail.setLoginTime(PubUtils.localDateFormat(deviceParam.getNextTimeCheck())); deviceDetail.setLoginTime(PubUtils.localDateFormat(deviceParam.getLoginTime()));
deviceDetail.setUpdateTime(LocalDateTime.now()); deviceDetail.setUpdateTime(LocalDateTime.now());
//处理装置识别码秘钥 //处理装置识别码秘钥

View File

@@ -308,7 +308,7 @@
inuharm_15_overtime+ inuharm_15_overtime+
inuharm_16_overtime)>0,1,0)) AS allCount inuharm_16_overtime)>0,1,0)) AS allCount
FROM FROM
r_stat_limit_target_d r_stat_limit_rate_d
<where> <where>
<if test=" ids != null and ids.size > 0"> <if test=" ids != null and ids.size > 0">
AND my_index IN AND my_index IN
@@ -353,6 +353,80 @@
</select> </select>
<select id="getSumTargetDetails" resultType="com.njcn.harmonic.pojo.vo.RStatLimitTargetVO"> <select id="getSumTargetDetails" resultType="com.njcn.harmonic.pojo.vo.RStatLimitTargetVO">
SELECT SELECT
A.lineId,
SUM(
CASE
WHEN A.freqDevOvertime > 0
THEN 1
ELSE 0
END
) freqDevOvertime,
SUM(
CASE
WHEN A.flickerOvertime > 0
THEN 1
ELSE 0
END
) flickerOvertime,
SUM(
CASE
WHEN A.voltageDevOvertime > 0
THEN 1
ELSE 0
END
) voltageDevOvertime,
SUM(
CASE
WHEN A.ubalanceOvertime > 0
THEN 1
ELSE 0
END
) ubalanceOvertime,
SUM(
CASE
WHEN A.uaberranceOvertime > 0
THEN 1
ELSE 0
END
) uaberranceOvertime,
SUM(
CASE
WHEN A.iNegOvertime > 0
THEN 1
ELSE 0
END
) iNegOvertime,
SUM(
CASE
WHEN A.uharmOvertime > 0
THEN 1
ELSE 0
END
) uharmOvertime,
SUM(
CASE
WHEN A.iharmOvertime > 0
THEN 1
ELSE 0
END
) iharmOvertime,
SUM(
CASE
WHEN A.inuharmOvertime > 0
THEN 1
ELSE 0
END
) inuharmOvertime,
SUM(
CASE
WHEN A.allOvertime > 0
THEN 1
ELSE 0
END
) allOvertime
FROM
(SELECT
time_id,
my_index AS lineId, my_index AS lineId,
SUM(freq_dev_overtime) AS freqDevOvertime, SUM(freq_dev_overtime) AS freqDevOvertime,
SUM(flicker_overtime) AS flickerOvertime, SUM(flicker_overtime) AS flickerOvertime,
@@ -360,143 +434,44 @@
SUM(ubalance_overtime) AS ubalanceOvertime, SUM(ubalance_overtime) AS ubalanceOvertime,
SUM(uaberrance_overtime) AS uaberranceOvertime, SUM(uaberrance_overtime) AS uaberranceOvertime,
SUM(i_neg_overtime) AS iNegOvertime, SUM(i_neg_overtime) AS iNegOvertime,
sum(if((uaberrance_overtime+ SUM(
uharm_2_overtime+ IF(
uharm_3_overtime+ (
uharm_4_overtime+ uaberrance_overtime + uharm_2_overtime + uharm_3_overtime + uharm_4_overtime + uharm_5_overtime + uharm_6_overtime + uharm_7_overtime + uharm_8_overtime + uharm_9_overtime + uharm_10_overtime + uharm_11_overtime + uharm_12_overtime + uharm_13_overtime + uharm_14_overtime + uharm_15_overtime + uharm_16_overtime + uharm_17_overtime + uharm_18_overtime + uharm_19_overtime + uharm_20_overtime + uharm_21_overtime + uharm_22_overtime + uharm_23_overtime + uharm_24_overtime + uharm_25_overtime
uharm_5_overtime+ ) > 0,
uharm_6_overtime+ 1,
uharm_7_overtime+ 0
uharm_8_overtime+ )
uharm_9_overtime+ ) AS uharmOvertime,
uharm_10_overtime+ SUM(
uharm_11_overtime+ IF(
uharm_12_overtime+ (
uharm_13_overtime+ iharm_2_overtime + iharm_3_overtime + iharm_4_overtime + iharm_5_overtime + iharm_6_overtime + iharm_7_overtime + iharm_8_overtime + iharm_9_overtime + iharm_10_overtime + iharm_11_overtime + iharm_12_overtime + iharm_13_overtime + iharm_14_overtime + iharm_15_overtime + iharm_16_overtime + iharm_17_overtime + iharm_18_overtime + iharm_19_overtime + iharm_20_overtime + iharm_21_overtime + iharm_22_overtime + iharm_23_overtime + iharm_24_overtime + iharm_25_overtime
uharm_14_overtime+ ) > 0,
uharm_15_overtime+ 1,
uharm_16_overtime+ 0
uharm_17_overtime+ )
uharm_18_overtime+ ) AS iharmOvertime,
uharm_19_overtime+ SUM(
uharm_20_overtime+ IF(
uharm_21_overtime+ (
uharm_22_overtime+ inuharm_1_overtime + inuharm_2_overtime + inuharm_3_overtime + inuharm_4_overtime + inuharm_5_overtime + inuharm_6_overtime + inuharm_7_overtime + inuharm_8_overtime + inuharm_9_overtime + inuharm_10_overtime + inuharm_11_overtime + inuharm_12_overtime + inuharm_13_overtime + inuharm_14_overtime + inuharm_15_overtime + inuharm_16_overtime
uharm_23_overtime+ ) > 0,
uharm_24_overtime+ 1,
uharm_25_overtime)>0,1,0))as uharmOvertime, 0
sum(if((iharm_2_overtime+ )
iharm_3_overtime+ ) AS inuharmOvertime,
iharm_4_overtime+ SUM(
iharm_5_overtime+ IF(
iharm_6_overtime+ (
iharm_7_overtime+ freq_dev_overtime + flicker_overtime + voltage_dev_overtime + ubalance_overtime + uaberrance_overtime + i_neg_overtime + uharm_2_overtime + uharm_3_overtime + uharm_4_overtime + uharm_5_overtime + uharm_6_overtime + uharm_7_overtime + uharm_8_overtime + uharm_9_overtime + uharm_10_overtime + uharm_11_overtime + uharm_12_overtime + uharm_13_overtime + uharm_14_overtime + uharm_15_overtime + uharm_16_overtime + uharm_17_overtime + uharm_18_overtime + uharm_19_overtime + uharm_20_overtime + uharm_21_overtime + uharm_22_overtime + uharm_23_overtime + uharm_24_overtime + uharm_25_overtime + iharm_2_overtime + iharm_3_overtime + iharm_4_overtime + iharm_5_overtime + iharm_6_overtime + iharm_7_overtime + iharm_8_overtime + iharm_9_overtime + iharm_10_overtime + iharm_11_overtime + iharm_12_overtime + iharm_13_overtime + iharm_14_overtime + iharm_15_overtime + iharm_16_overtime + iharm_17_overtime + iharm_18_overtime + iharm_19_overtime + iharm_20_overtime + iharm_21_overtime + iharm_22_overtime + iharm_23_overtime + iharm_24_overtime + iharm_25_overtime + inuharm_1_overtime + inuharm_2_overtime + inuharm_3_overtime + inuharm_4_overtime + inuharm_5_overtime + inuharm_6_overtime + inuharm_7_overtime + inuharm_8_overtime + inuharm_9_overtime + inuharm_10_overtime + inuharm_11_overtime + inuharm_12_overtime + inuharm_13_overtime + inuharm_14_overtime + inuharm_15_overtime + inuharm_16_overtime
iharm_8_overtime+ ) > 0,
iharm_9_overtime+ 1,
iharm_10_overtime+ 0
iharm_11_overtime+ )
iharm_12_overtime+ ) AS allOvertime
iharm_13_overtime+
iharm_14_overtime+
iharm_15_overtime+
iharm_16_overtime+
iharm_17_overtime+
iharm_18_overtime+
iharm_19_overtime+
iharm_20_overtime+
iharm_21_overtime+
iharm_22_overtime+
iharm_23_overtime+
iharm_24_overtime+
iharm_25_overtime)>0,1,0)) as iharmOvertime,
sum(if((inuharm_1_overtime+
inuharm_2_overtime+
inuharm_3_overtime+
inuharm_4_overtime+
inuharm_5_overtime+
inuharm_6_overtime+
inuharm_7_overtime+
inuharm_8_overtime+
inuharm_9_overtime+
inuharm_10_overtime+
inuharm_11_overtime+
inuharm_12_overtime+
inuharm_13_overtime+
inuharm_14_overtime+
inuharm_15_overtime+
inuharm_16_overtime)>0,1,0)) as inuharmOvertime,
sum(if((freq_dev_overtime+
flicker_overtime+
voltage_dev_overtime+
ubalance_overtime+
uaberrance_overtime+
i_neg_overtime+
uharm_2_overtime+
uharm_3_overtime+
uharm_4_overtime+
uharm_5_overtime+
uharm_6_overtime+
uharm_7_overtime+
uharm_8_overtime+
uharm_9_overtime+
uharm_10_overtime+
uharm_11_overtime+
uharm_12_overtime+
uharm_13_overtime+
uharm_14_overtime+
uharm_15_overtime+
uharm_16_overtime+
uharm_17_overtime+
uharm_18_overtime+
uharm_19_overtime+
uharm_20_overtime+
uharm_21_overtime+
uharm_22_overtime+
uharm_23_overtime+
uharm_24_overtime+
uharm_25_overtime+
iharm_2_overtime+
iharm_3_overtime+
iharm_4_overtime+
iharm_5_overtime+
iharm_6_overtime+
iharm_7_overtime+
iharm_8_overtime+
iharm_9_overtime+
iharm_10_overtime+
iharm_11_overtime+
iharm_12_overtime+
iharm_13_overtime+
iharm_14_overtime+
iharm_15_overtime+
iharm_16_overtime+
iharm_17_overtime+
iharm_18_overtime+
iharm_19_overtime+
iharm_20_overtime+
iharm_21_overtime+
iharm_22_overtime+
iharm_23_overtime+
iharm_24_overtime+
iharm_25_overtime+
inuharm_1_overtime+
inuharm_2_overtime+
inuharm_3_overtime+
inuharm_4_overtime+
inuharm_5_overtime+
inuharm_6_overtime+
inuharm_7_overtime+
inuharm_8_overtime+
inuharm_9_overtime+
inuharm_10_overtime+
inuharm_11_overtime+
inuharm_12_overtime+
inuharm_13_overtime+
inuharm_14_overtime+
inuharm_15_overtime+
inuharm_16_overtime)>0,1,0)) as allOvertime
FROM FROM
r_stat_limit_target_d `r_stat_limit_rate_d`
<where> <where>
and time_id between #{startTime} and #{endTime} and time_id between #{startTime} and #{endTime}
<if test=" ids != null and ids.size > 0"> <if test=" ids != null and ids.size > 0">
@@ -506,7 +481,7 @@
</foreach> </foreach>
</if> </if>
</where> </where>
GROUP BY GROUP BY time_id,my_index) A
my_index GROUP BY A.lineId
</select> </select>
</mapper> </mapper>

View File

@@ -7,21 +7,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank, @rankSum := IF( @CI := phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_i_d r_stat_data_i_d
@@ -61,21 +61,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
@rank := IF( @CI = phasic_type, @rank + 1, 1 ) AS rank, @rankSum := IF( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_v_d r_stat_data_v_d
@@ -175,21 +175,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms_lvr as rms, 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 @CI := phasic_type
FROM FROM
r_stat_data_v_d r_stat_data_v_d
@@ -229,23 +229,23 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
p as rms, p as rms,
@rank := @rankSum :=
IF IF
( @CI = phasic_type, @rank + 1, 1 ) AS rank, ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_harmpower_p_d r_stat_data_harmpower_p_d
@@ -288,23 +288,23 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
pf as rms, pf as rms,
@rank := @rankSum :=
IF IF
( @CI = phasic_type, @rank + 1, 1 ) AS rank, ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_harmpower_p_d r_stat_data_harmpower_p_d
@@ -347,23 +347,23 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
q as rms, q as rms,
@rank := @rankSum :=
IF IF
( @CI = phasic_type, @rank + 1, 1 ) AS rank, ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_harmpower_q_d r_stat_data_harmpower_q_d
@@ -406,23 +406,23 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
s as rms, s as rms,
@rank := @rankSum :=
IF IF
( @CI = phasic_type, @rank + 1, 1 ) AS rank, ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_harmpower_s_d r_stat_data_harmpower_s_d
@@ -465,23 +465,23 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
plt as rms, plt as rms,
@rank := @rankSum :=
IF IF
( @CI = phasic_type, @rank + 1, 1 ) AS rank, ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_flicker_d r_stat_data_flicker_d
@@ -524,23 +524,23 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
pst as rms, pst as rms,
@rank := @rankSum :=
IF IF
( @CI = phasic_type, @rank + 1, 1 ) AS rank, ( @CI = phasic_type, @rankSum + 1, 1 ) AS rankSum,
@CI := phasic_type @CI := phasic_type
FROM FROM
r_stat_data_flicker_d r_stat_data_flicker_d
@@ -583,21 +583,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
vu_dev as rms, 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 @CI := phasic_type
FROM FROM
r_stat_data_v_d r_stat_data_v_d
@@ -637,21 +637,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
vl_dev as rms, 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 @CI := phasic_type
FROM FROM
r_stat_data_v_d r_stat_data_v_d
@@ -691,21 +691,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
v_thd as rms, 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 @CI := phasic_type
FROM FROM
r_stat_data_v_d r_stat_data_v_d
@@ -745,21 +745,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
i_thd as rms, 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 @CI := phasic_type
FROM FROM
r_stat_data_i_d r_stat_data_i_d
@@ -799,21 +799,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
freq as rms, 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 @CI := phasic_type
FROM FROM
r_stat_data_v_d r_stat_data_v_d
@@ -853,21 +853,21 @@
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue, AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue, 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 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 FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
rms, rms,
rank rankSum
FROM FROM
( (
SELECT SELECT
phasic_type, phasic_type,
value_type, value_type,
freq_dev as rms, 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 @CI := phasic_type
FROM FROM
r_stat_data_v_d r_stat_data_v_d

View File

@@ -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.RStatDataPltDPO;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; 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.AssessDetailVo;
import com.njcn.harmonic.pojo.vo.hebeinorth.AssessVo; import com.njcn.harmonic.pojo.vo.hebeinorth.AssessVo;
import com.njcn.harmonic.pojo.vo.hebeinorth.EvaluationLevelVo; import com.njcn.harmonic.pojo.vo.hebeinorth.EvaluationLevelVo;
@@ -72,7 +73,6 @@ public class GridServiceImpl implements IGridService {
List<AssessVo> children = new ArrayList<>(); List<AssessVo> children = new ArrayList<>();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合
@@ -124,7 +124,6 @@ public class GridServiceImpl implements IGridService {
//查询部门监测点关系 //查询部门监测点关系
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合
@@ -166,7 +165,6 @@ public class GridServiceImpl implements IGridService {
//查询部门监测点关系 //查询部门监测点关系
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合
@@ -270,7 +268,6 @@ public class GridServiceImpl implements IGridService {
List<EvaluationVo.Children> childrenList = new ArrayList<>(); List<EvaluationVo.Children> childrenList = new ArrayList<>();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合
@@ -319,7 +316,6 @@ public class GridServiceImpl implements IGridService {
List<EvaluationLevelVo> result = new ArrayList<>(); List<EvaluationLevelVo> result = new ArrayList<>();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合
@@ -385,7 +381,6 @@ public class GridServiceImpl implements IGridService {
List<EvaluationLevelVo.EvaluationRatio> result = new ArrayList<>(); List<EvaluationLevelVo.EvaluationRatio> result = new ArrayList<>();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合
@@ -430,7 +425,6 @@ public class GridServiceImpl implements IGridService {
List<EvaluationLevelVo.EvaluationDetail> result = new ArrayList<>(); List<EvaluationLevelVo.EvaluationDetail> result = new ArrayList<>();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合
@@ -441,7 +435,7 @@ public class GridServiceImpl implements IGridService {
.collect(Collectors.toList()); .collect(Collectors.toList());
if (CollUtil.isNotEmpty(lineList)) { if (CollUtil.isNotEmpty(lineList)) {
//获取监测点越限集合 //获取监测点越限集合
List<RStatLimitTargetDPO> overLimitList = rStatLimitTargetDMapper.getSumTarget(lineList,param.getStartTime(),param.getEndTime()); List<RStatLimitTargetVO> overLimitList = rStatLimitTargetDMapper.getSumTargetDetails(lineList,param.getStartTime(),param.getEndTime());
//获取部门 //获取部门
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData(); List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData();
deptList.forEach(item->{ deptList.forEach(item->{
@@ -453,7 +447,7 @@ public class GridServiceImpl implements IGridService {
List<String> ll = lineMap.get(item.getId()); List<String> ll = lineMap.get(item.getId());
detail.setOnlineNum(ll.size()); detail.setOnlineNum(ll.size());
//筛选当前部门下监测点的超标数据 //筛选当前部门下监测点的超标数据
List<RStatLimitTargetDPO> list2 = overLimitList.stream().filter(it->ll.contains(it.getLineId())).collect(Collectors.toList()); List<RStatLimitTargetVO> list2 = overLimitList.stream().filter(it->ll.contains(it.getLineId())).collect(Collectors.toList());
EvaluationLevelVo.TargetDetail detail1 = new EvaluationLevelVo.TargetDetail(); EvaluationLevelVo.TargetDetail detail1 = new EvaluationLevelVo.TargetDetail();
detail1.setTargetName(DicDataEnum.FREQUENCY_DEV.getName()); detail1.setTargetName(DicDataEnum.FREQUENCY_DEV.getName());
EvaluationLevelVo.TargetDetail detail2 = new EvaluationLevelVo.TargetDetail(); EvaluationLevelVo.TargetDetail detail2 = new EvaluationLevelVo.TargetDetail();
@@ -464,47 +458,71 @@ public class GridServiceImpl implements IGridService {
detail4.setTargetName(DicDataEnum.FLICKER.getName()); detail4.setTargetName(DicDataEnum.FLICKER.getName());
EvaluationLevelVo.TargetDetail detail5 = new EvaluationLevelVo.TargetDetail(); EvaluationLevelVo.TargetDetail detail5 = new EvaluationLevelVo.TargetDetail();
detail5.setTargetName(DicDataEnum.phase_Voltage.getName()); 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)) { if (CollUtil.isNotEmpty(list2)) {
//筛选出项指标(电压偏差、频率偏差、电压总谐波畸变率、电压闪变、三相电压不平衡度)超标监测点 //筛选出9项指标(电压偏差、频率偏差、电压总谐波畸变率、电压闪变、三相电压不平衡度、负序电流、谐波电流、间谐波电压、谐波电压)超标监测点
long allNum = list2.stream().filter(o->o.getFreqDevOvertime() > 0 long allNum = list2.stream().filter(o->o.getAllOvertime() > 0).count();
|| o.getVoltageDevOvertime() > 0
|| o.getFlickerOvertime() > 0
|| o.getUaberranceOvertime() > 0
|| o.getUbalanceOvertime() > 0).count();
detail.setOverNum((int) allNum); detail.setOverNum((int) allNum);
detail.setOverRatio(PubUtils.doubleRound(2,detail.getOverNum()*100.0/detail.getOnlineNum())); detail.setOverRatio(PubUtils.doubleRound(2,detail.getOverNum()*100.0/detail.getOnlineNum()));
//筛选出电压偏差超标监测点 //筛选出电压偏差超标监测点
long num1 = list2.stream().filter(o->o.getFreqDevOvertime() > 0).count(); 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.setOverNum((int) num1);
detail1.setOverDay(day1); detail1.setOverDay(day1);
//筛选出频率偏差超标监测点 //筛选出频率偏差超标监测点
long num2 = list2.stream().filter(o->o.getVoltageDevOvertime() > 0).count(); 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.setOverNum((int) num2);
detail2.setOverDay(day2); detail2.setOverDay(day2);
//筛选出电压总谐波畸变率超标监测点 //筛选出电压总谐波畸变率超标监测点
long num3 = list2.stream().filter(o->o.getUaberranceOvertime() > 0).count(); 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.setOverNum((int) num3);
detail3.setOverDay(day3); detail3.setOverDay(day3);
//筛选出电压闪变超标监测点 //筛选出电压闪变超标监测点
long num4 = list2.stream().filter(o->o.getFlickerOvertime() > 0).count(); 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.setOverNum((int) num4);
detail4.setOverDay(day4); detail4.setOverDay(day4);
//筛选出三相电压不平衡度超标监测点 //筛选出三相电压不平衡度超标监测点
long num5 = list2.stream().filter(o->o.getUbalanceOvertime() > 0).count(); 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.setOverNum((int) num5);
detail5.setOverDay(day5); 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<EvaluationLevelVo.TargetDetail> details = Arrays.asList(detail1, detail2, detail3, detail4, detail5); List<EvaluationLevelVo.TargetDetail> details = Arrays.asList(detail1, detail2, detail3, detail4, detail5, detail6, detail7, detail8, detail9);
detail.setList(details); detail.setList(details);
} }
result.add(detail); result.add(detail);
@@ -519,7 +537,6 @@ public class GridServiceImpl implements IGridService {
List<EvaluationLevelVo.QualifiedDetail> result = new ArrayList<>(); List<EvaluationLevelVo.QualifiedDetail> result = new ArrayList<>();
DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setDeptId(param.getDeptIndex());
deptGetLineParam.setServerName("harmonic-boot");
deptGetLineParam.setLineRunFlag(0); deptGetLineParam.setLineRunFlag(0);
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
//获取监测点集合 //获取监测点集合

View File

@@ -259,7 +259,7 @@ public class RStatLimitServiceImpl implements RStatLimitService {
List<String> online = onData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList()); List<String> online = onData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam(); StatSubstationBizBaseParam baseParam=new StatSubstationBizBaseParam();
baseParam.setIds(online); baseParam.setIds(line);
baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString()); baseParam.setStartTime(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())).toString());
baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString()); baseParam.setEndTime(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())).toString());
List<String> linesTarget=targetDService.getLinesTarget(baseParam); List<String> linesTarget=targetDService.getLinesTarget(baseParam);

View File

@@ -86,7 +86,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
private final WordUtil2 wordUtil2; private final WordUtil2 wordUtil2;
private final DataVMapper dataVMapper; private final DataVMapper dataVMapper;
private final DataIMapper dataIMapper; private final IDataIMapper dataIMapper;
private final DataHarmRateVMapper dataHarmRateVMapper; private final DataHarmRateVMapper dataHarmRateVMapper;
private final DataInHarmVMapper dataInHarmVMapper; private final DataInHarmVMapper dataInHarmVMapper;
private final DataPltMapper dataPltMapper; private final DataPltMapper dataPltMapper;
@@ -252,8 +252,8 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
param.setDeptName(deptName); param.setDeptName(deptName);
String inputUrl = "file/warningReport.docx"; String inputUrl = "file/warningReport.docx";
String alarmType = param.getType() == 1 ? "" : ""; String alarmType = param.getType() == 1 ? "" : "";
String fileName = "电能[]"+param.getYear()+""+param.getNumber()+"号-"+param.getDeptName()+"地市 电能质量技术监督"+alarmType+"单.docx"; String fileName = "电能["+alarmType+"]"+param.getYear()+""+param.getNumber()+"号-"+param.getDeptName()+"地市 电能质量技术监督"+alarmType+"单.docx";
//获取无数据监测点集合 //获取无数据监测点集合
List<ReportLineInfoVo> list1 = getReportLineInfo(true,param.getIdList(),null,param.getSearchBeginTime(),param.getSearchEndTime(),param.getDeptId(),allLineWarnings); List<ReportLineInfoVo> list1 = getReportLineInfo(true,param.getIdList(),null,param.getSearchBeginTime(),param.getSearchEndTime(),param.getDeptId(),allLineWarnings);
//获取谐波电压超标监测点集合 //获取谐波电压超标监测点集合
@@ -272,7 +272,10 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
dataMap.put("${harmonicV}", CollUtil.isEmpty(list2)?"0":String.valueOf(list2.size())); dataMap.put("${harmonicV}", CollUtil.isEmpty(list2)?"0":String.valueOf(list2.size()));
dataMap.put("${harmonicI}", CollUtil.isEmpty(list3)?"0":String.valueOf(list3.size())); dataMap.put("${harmonicI}", CollUtil.isEmpty(list3)?"0":String.valueOf(list3.size()));
dataMap.put("${alarmDay}", String.valueOf(param.getAlarmThreshold())); dataMap.put("${alarmDay}", String.valueOf(param.getAlarmThreshold()));
dataMap.put("${title}", alarmType); dataMap.put("${title}", alarmType + "");
dataMap.put("${alarmType}", alarmType);
dataMap.put("${gdName}", getGdName(param.getDeptName()));
dataMap.put("${time}", LocalDate.now().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN)));
List<String[]> dataList1 = new ArrayList<String[]>(),dataList2 = new ArrayList<String[]>(),dataList3 = new ArrayList<String[]>(); List<String[]> dataList1 = new ArrayList<String[]>(),dataList2 = new ArrayList<String[]>(),dataList3 = new ArrayList<String[]>();
if (CollUtil.isNotEmpty(list1)) { if (CollUtil.isNotEmpty(list1)) {
@@ -336,13 +339,18 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
@Override @Override
public List<LineLimitDetailVo> getOverLimitDetail(OnlineParam.DetailParam param) { public List<LineLimitDetailVo> getOverLimitDetail(OnlineParam.DetailParam param) {
List<LineLimitDetailVo> result = new ArrayList<>();
String targetCode = dicDataFeignClient.getDicDataById(param.getTargetId()).getData().getCode(); String targetCode = dicDataFeignClient.getDicDataById(param.getTargetId()).getData().getCode();
//获取监测点统计间隔 //获取监测点统计间隔
Integer timeInterval = commTerminalGeneralClient.getMonitorDetail(param.getLineId()).getData().getInterval(); Integer timeInterval = commTerminalGeneralClient.getMonitorDetail(param.getLineId()).getData().getInterval();
//获取限值 //获取限值
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(param.getLineId()).getData(); Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(param.getLineId()).getData();
//处理数据 //处理数据
return chanelTarget(param,overlimit,timeInterval,targetCode); List<LineLimitDetailVo> 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<LineWarningMapper, Li
} }
} }
//电压总谐波畸变率 //电压总谐波畸变率
if (Objects.equals(targetCode,DicDataEnum.THD_V.getCode()) || Objects.equals(targetCode,DicDataEnum.TOTAL_INDICATOR.getCode())) { if (Objects.equals(targetCode,DicDataEnum.THD_V.getCode())) {
List<RStatLimitRateDPO> list = limitRateDClient.getOverData(param.getLineId(),param.getSearchBeginTime(),param.getSearchEndTime(),4).getData(); List<RStatLimitRateDPO> list = limitRateDClient.getOverData(param.getLineId(),param.getSearchBeginTime(),param.getSearchEndTime(),4).getData();
if (CollUtil.isNotEmpty(list)) { if (CollUtil.isNotEmpty(list)) {
list.forEach(item->{ list.forEach(item->{
@@ -583,6 +591,19 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
result.add(vo); result.add(vo);
} }
/**
* 获取供电公司名称
*/
public String getGdName(String deptName) {
String gdName;
if (Objects.equals(deptName,"风光储") || Objects.equals(deptName,"超高压") ) {
gdName = deptName + "公司";
} else {
gdName = deptName + "供电公司";
}
return gdName;
}
public List<ReportLineInfoVo> getReportLineInfo(boolean type, List<String> idList, String codeId, String startTime, String endTime, String deptId,List<LineWarning> allLineWarnings) { public List<ReportLineInfoVo> getReportLineInfo(boolean type, List<String> idList, String codeId, String startTime, String endTime, String deptId,List<LineWarning> allLineWarnings) {
List<ReportLineInfoVo> list = new ArrayList<>(); List<ReportLineInfoVo> list = new ArrayList<>();
LambdaQueryWrapper<LineWarning> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<LineWarning> lambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -786,7 +807,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class); InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper2.eq(DataV::getLineId, lineIndex) influxQueryWrapper2.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX) .eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
.eq(DataV::getPhaseType,"T") .eq(DataV::getPhasicType,"T")
.max(DataV::getFreqDev) .max(DataV::getFreqDev)
.between(DataV::getTime, startTime, endTime); .between(DataV::getTime, startTime, endTime);
return dataVMapper.getStatisticsByWraper(influxQueryWrapper2); return dataVMapper.getStatisticsByWraper(influxQueryWrapper2);
@@ -799,14 +820,14 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper.eq(DataV::getLineId, lineIndex) influxQueryWrapper.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MIN) .eq(DataV::getValueType, InfluxDbSqlConstant.MIN)
.regular(DataV::getPhaseType,Arrays.asList("A","B","C")) .regular(DataV::getPhasicType,Arrays.asList("A","B","C"))
.min(DataV::getVuDev) .min(DataV::getVuDev)
.between(DataV::getTime, startTime, endTime); .between(DataV::getTime, startTime, endTime);
List<DataV> result = new ArrayList<>(dataVMapper.getStatisticsByWraper(influxQueryWrapper)); List<DataV> result = new ArrayList<>(dataVMapper.getStatisticsByWraper(influxQueryWrapper));
InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class); InfluxQueryWrapper influxQueryWrapper2 = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper2.eq(DataV::getLineId, lineIndex) influxQueryWrapper2.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX) .eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
.regular(DataV::getPhaseType,Arrays.asList("A","B","C")) .regular(DataV::getPhasicType,Arrays.asList("A","B","C"))
.max(DataV::getVuDev) .max(DataV::getVuDev)
.between(DataV::getTime, startTime, endTime); .between(DataV::getTime, startTime, endTime);
result.addAll(dataVMapper.getStatisticsByWraper(influxQueryWrapper2)); result.addAll(dataVMapper.getStatisticsByWraper(influxQueryWrapper2));
@@ -832,7 +853,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper.eq(DataV::getLineId, lineIndex) influxQueryWrapper.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.CP95) .eq(DataV::getValueType, InfluxDbSqlConstant.CP95)
.regular(DataV::getPhaseType,Arrays.asList("A","B","C")) .regular(DataV::getPhasicType,Arrays.asList("A","B","C"))
.max(DataV::getVThd) .max(DataV::getVThd)
.between(DataV::getTime, startTime, endTime); .between(DataV::getTime, startTime, endTime);
return dataVMapper.getStatisticsByWraper(influxQueryWrapper); return dataVMapper.getStatisticsByWraper(influxQueryWrapper);
@@ -845,7 +866,7 @@ public class LineWarningServiceImpl extends MppServiceImpl<LineWarningMapper, Li
InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class); InfluxQueryWrapper influxQueryWrapper = new InfluxQueryWrapper(DataV.class);
influxQueryWrapper.eq(DataV::getLineId, lineIndex) influxQueryWrapper.eq(DataV::getLineId, lineIndex)
.eq(DataV::getValueType, InfluxDbSqlConstant.MAX) .eq(DataV::getValueType, InfluxDbSqlConstant.MAX)
.eq(DataV::getPhaseType,"T") .eq(DataV::getPhasicType,"T")
.max(DataV::getVUnbalance) .max(DataV::getVUnbalance)
.between(DataV::getTime, startTime, endTime); .between(DataV::getTime, startTime, endTime);
return dataVMapper.getStatisticsByWraper(influxQueryWrapper); return dataVMapper.getStatisticsByWraper(influxQueryWrapper);

View File

@@ -89,7 +89,7 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
QueryWrapper<SurveyTestVO> surveyTestVOQueryWrapper = new QueryWrapper<>(); QueryWrapper<SurveyTestVO> surveyTestVOQueryWrapper = new QueryWrapper<>();
if (Objects.nonNull(surveyTestQueryParam)) { 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.beginOfDay(DateUtil.parse(surveyTestQueryParam.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(surveyTestQueryParam.getSearchEndTime()))); DateUtil.endOfDay(DateUtil.parse(surveyTestQueryParam.getSearchEndTime())));
//根据工程名称模糊搜索 //根据工程名称模糊搜索
@@ -121,6 +121,9 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
surveyTestVOQueryWrapper surveyTestVOQueryWrapper
.eq("supervision_survey_test.state", DataStateEnum.ENABLE.getCode()) .eq("supervision_survey_test.state", DataStateEnum.ENABLE.getCode())
.orderByDesc("supervision_survey_test.Update_Time"); .orderByDesc("supervision_survey_test.Update_Time");
//未完成的技术监督计划,也要展示出来,不受时间限制
surveyTestVOQueryWrapper.or().isNull("supervision_survey_test.complete_time")
.le("supervision_survey_plan.plan_start_time",surveyTestQueryParam.getSearchBeginTime());
Page<SurveyTestVO> surveyTestVOPage = this.baseMapper.surveyTestPage(new Page<>(PageFactory.getPageNum(surveyTestQueryParam), PageFactory.getPageSize(surveyTestQueryParam)), surveyTestVOQueryWrapper); Page<SurveyTestVO> surveyTestVOPage = this.baseMapper.surveyTestPage(new Page<>(PageFactory.getPageNum(surveyTestQueryParam), PageFactory.getPageSize(surveyTestQueryParam)), surveyTestVOQueryWrapper);
List<SurveyTestVO> records = surveyTestVOPage.getRecords(); List<SurveyTestVO> records = surveyTestVOPage.getRecords();
if (CollectionUtil.isNotEmpty(records)) { if (CollectionUtil.isNotEmpty(records)) {
@@ -358,7 +361,7 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
surveyTestVO.getDeptId(), surveyTestVO.getDeptId(),
IdWorker.get32UUID(), IdWorker.get32UUID(),
warningAddParam.getId(), warningAddParam.getId(),
ProblemTypeEnum.SITE_TEST.getCode(), ProblemTypeEnum.PLAN.getCode(),
LeafletTypeEnum.ALARM.getCode(), LeafletTypeEnum.ALARM.getCode(),
surveyTestVO.getProblemDetail(), surveyTestVO.getProblemDetail(),
warningAddParam.getReformAdvice(), warningAddParam.getReformAdvice(),

View File

@@ -553,7 +553,7 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
//评估类型 //评估类型
List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData();
//指标类型 //指标类型
List<DictData> indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); List<DictData> indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PROBLEM_INDICATORS.getCode()).getData();
//行业类型 //行业类型
List<DictData> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData(); List<DictData> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE_JB.getCode()).getData();
//负荷级别 //负荷级别
@@ -671,6 +671,8 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); List<DictData> devVoltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData();
//指标类型 //指标类型
List<DictData> indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData(); List<DictData> indicatorType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
//敏感用户字典
List<DictData> problemIndicators = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PROBLEM_INDICATORS.getCode()).getData();
//评估类型 //评估类型
List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData(); List<DictData> evaluationType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVALUATION_TYPE.getCode()).getData();
//行业类型 //行业类型
@@ -717,12 +719,18 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
userReportPO.setState(DataStateEnum.ENABLE.getCode()); userReportPO.setState(DataStateEnum.ENABLE.getCode());
this.baseMapper.insert(userReportPO); this.baseMapper.insert(userReportPO);
//处理敏感用户的信息 //处理敏感用户的信息
List<String> indexList = new ArrayList<>();
UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO(); UserReportSensitivePO userReportSensitivePO = new UserReportSensitivePO();
userReportSensitivePO.setId(userReportPO.getId()); userReportSensitivePO.setId(userReportPO.getId());
userReportSensitivePO.setPccPoint(userExcel.getPccPoint()); userReportSensitivePO.setPccPoint(userExcel.getPccPoint());
userReportSensitivePO.setDeviceName(userExcel.getDeviceName()); userReportSensitivePO.setDeviceName(userExcel.getDeviceName());
userReportSensitivePO.setPowerSupplyCount(userExcel.getPowerSupplyCount()); 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.setEvaluationType(PubUtil.getDicById(userExcel.getEvaluationType(), evaluationType));
userReportSensitivePO.setAntiInterferenceTest(userExcel.getAntiInterferenceTest() + ""); userReportSensitivePO.setAntiInterferenceTest(userExcel.getAntiInterferenceTest() + "");
userReportSensitivePO.setEvaluationChekDept(userExcel.getEvaluationChekDept()); userReportSensitivePO.setEvaluationChekDept(userExcel.getEvaluationChekDept());

View File

@@ -80,6 +80,7 @@ public enum DicDataTypeEnum {
CS_DATA_TYPE("数据模型类别", "Cs_Data_Type"), CS_DATA_TYPE("数据模型类别", "Cs_Data_Type"),
PROBLEM_INDICATORS("问题指标","Problem_Indicators"),
//pms //pms