初始化项目
This commit is contained in:
@@ -0,0 +1,659 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pqs9000.mapper.responsibility.AreaOverNormalMapper">
|
||||
|
||||
<!-- 获取在线监测点、超标监测点和各指标超标监测点数 -->
|
||||
<select id="getInfo" resultType="com.pqs9000.pojo.responsibility.AreaOverNoraml">
|
||||
select
|
||||
X.allLine onlineMonitorNumber,
|
||||
Y.overLine overLimitMonitorNumber,
|
||||
ROUND(case when X.allLine = 0 then 0 else Y.overLine/X.allLine*100 end,2) overBiLi,
|
||||
P.frequencyOverLine frequencyMonitorNumber,
|
||||
Q.voltageOverLine voltageMonitorNumber,
|
||||
S.harmonicVoltageOverLine harmonicVoltageMonitorNumber,
|
||||
R.harmonicCurrentOverLine harmonicCurrentMonitorNumber,
|
||||
T.ubalanceOverLine threePhaseVoltageMonitorNumber,
|
||||
Z.flicketOverLine flickerMonitorNumber,
|
||||
A.negativeOverLine negativeMonitorNumber,
|
||||
C.interharmonicOverLine interharmonicMonitorNumber
|
||||
from
|
||||
(
|
||||
select
|
||||
count(distinct myindex) allLine
|
||||
from
|
||||
limit_target
|
||||
where
|
||||
myindex IN
|
||||
<foreach collection="list" item="list1" open="(" close=")" separator=",">
|
||||
#{list1}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and phasic_type = 'T'
|
||||
) X,
|
||||
(
|
||||
SELECT
|
||||
COUNT(DISTINCT(MYINDEX)) overLine
|
||||
FROM
|
||||
limit_target b1,
|
||||
PQS_DEPTSLINE b2,
|
||||
PQS_DEPTS b3
|
||||
WHERE
|
||||
b1.PHASIC_TYPE = 'T'
|
||||
AND b1.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND b1.MYINDEX IN
|
||||
<foreach collection="list" item="list2" open="(" close=")" separator=",">
|
||||
#{list2}
|
||||
</foreach>
|
||||
AND b1.MYINDEX = b2.LINE_INDEX AND b2.DEPTS_INDEX = b3.DEPTS_INDEX AND b3.CUSTOM_DEPT = 0
|
||||
AND (b1.flicker_overtime >0 or b1.ubalance_overtime >0 or b1.freq_dev_overtime >0 or b1.uaberrance_overtime >0 or b1.voltage_dev_overtime >0 or b1.uharm_2_overtime >0 or b1.iharm_2_overtime >0 or b1.uharm_3_overtime >0 or b1.iharm_3_overtime >0 or b1.uharm_4_overtime >0 or b1.iharm_4_overtime >0
|
||||
or b1.uharm_5_overtime >0 or b1.iharm_5_overtime >0 or b1.uharm_6_overtime >0 or b1.iharm_6_overtime >0 or b1.uharm_7_overtime >0 or b1.iharm_7_overtime >0
|
||||
or b1.uharm_8_overtime >0 or b1.iharm_8_overtime >0 or b1.uharm_9_overtime >0 or b1.iharm_9_overtime >0 or b1.uharm_10_overtime >0 or b1.iharm_10_overtime >0
|
||||
or b1.uharm_11_overtime >0 or b1.iharm_11_overtime >0 or b1.uharm_12_overtime >0 or b1.iharm_12_overtime >0 or b1.uharm_13_overtime >0 or b1.iharm_13_overtime >0
|
||||
or b1.uharm_14_overtime >0 or b1.iharm_14_overtime >0 or b1.uharm_15_overtime >0 or b1.iharm_15_overtime >0 or b1.uharm_16_overtime >0 or b1.iharm_16_overtime >0
|
||||
or b1.uharm_17_overtime >0 or b1.iharm_17_overtime >0 or b1.uharm_18_overtime >0 or b1.iharm_18_overtime >0 or b1.uharm_19_overtime >0 or b1.iharm_19_overtime >0
|
||||
or b1.uharm_20_overtime >0 or b1.iharm_20_overtime >0 or b1.uharm_21_overtime >0 or b1.iharm_24_overtime >0 or b1.uharm_22_overtime >0 or b1.iharm_22_overtime >0
|
||||
or b1.uharm_23_overtime >0 or b1.iharm_23_overtime >0 or b1.uharm_24_overtime >0 or b1.iharm_24_overtime >0 or b1.uharm_25_overtime >0 or b1.iharm_25_overtime >0
|
||||
or b1.I_NEG_OVERTIME > 0 or b1.INUHARM_1_OVERTIME >0 or b1.INUHARM_2_OVERTIME >0 or b1.INUHARM_3_OVERTIME >0 or b1.INUHARM_4_OVERTIME >0 or b1.INUHARM_5_OVERTIME >0
|
||||
or b1.INUHARM_6_OVERTIME >0 or b1.INUHARM_7_OVERTIME >0 or b1.INUHARM_8_OVERTIME >0 or b1.INUHARM_9_OVERTIME >0 or b1.INUHARM_10_OVERTIME >0 or b1.INUHARM_11_OVERTIME >0
|
||||
or b1.INUHARM_12_OVERTIME >0 or b1.INUHARM_13_OVERTIME >0 or b1.INUHARM_14_OVERTIME >0 or b1.INUHARM_15_OVERTIME >0 or b1.INUHARM_16_OVERTIME >0)
|
||||
) Y,
|
||||
(
|
||||
select
|
||||
count(distinct myindex) frequencyOverLine
|
||||
from
|
||||
limit_target
|
||||
where
|
||||
myindex IN
|
||||
<foreach collection="list" item="list3" open="(" close=")" separator=",">
|
||||
#{list3}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and phasic_type = 'T' and FREQ_DEV_OVERTIME > 0
|
||||
) P,
|
||||
(select
|
||||
count(distinct myindex) voltageOverLine
|
||||
from
|
||||
limit_target
|
||||
where
|
||||
myindex IN
|
||||
<foreach collection="list" item="list4" open="(" close=")" separator=",">
|
||||
#{list4}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and phasic_type = 'T' and VOLTAGE_DEV_OVERTIME > 0
|
||||
) Q,
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) harmonicVoltageOverLine
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="harmonicVoltageList" open="(" close=")" separator=",">
|
||||
#{harmonicVoltageList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and (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) > 0
|
||||
) S,
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) harmonicCurrentOverLine
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
||||
#{harmonicCurrentList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and (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) > 0
|
||||
) R,
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) ubalanceOverLine
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="threePhaseVoltageList" open="(" close=")" separator=",">
|
||||
#{threePhaseVoltageList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and UBALANCE_OVERTIME>0
|
||||
) T,
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) flicketOverLine
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="flickerList" open="(" close=")" separator=",">
|
||||
#{flickerList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and FLICKER_OVERTIME > 0
|
||||
) Z,
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) negativeOverLine
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="negativeList" open="(" close=")" separator=",">
|
||||
#{negativeList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and I_Neg_OverTime > 0
|
||||
) A,
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) interharmonicOverLine
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
||||
#{harmonicCurrentList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and (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
|
||||
) C
|
||||
</select>
|
||||
|
||||
<!-- 国网监测点 -->
|
||||
<select id="getCountryMonitor" resultType="int">
|
||||
SELECT LINE_INDEX FROM PQ_LINEDETAIL WHERE MONITOR_ID is NOT NULL
|
||||
AND LINE_INDEX IN
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="getFrequency" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
c.TIMEID,NVL(count(distinct c.myindex),0) overTotal
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="frequencyList" open="(" close=")" separator=",">
|
||||
#{frequencyList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and FREQ_DEV_OVERTIME > 0
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getVoltage" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
c.TIMEID,NVL(count(distinct c.myindex),0) overTotal
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="voltageList" open="(" close=")" separator=",">
|
||||
#{voltageList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and VOLTAGE_DEV_OVERTIME > 0
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getHarmonicVoltage" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
c.TIMEID,NVL(count(distinct c.myindex), 0) overTotal
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="harmonicVoltageList" open="(" close=")" separator=",">
|
||||
#{harmonicVoltageList}
|
||||
</foreach>
|
||||
AND c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and (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) > 0
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getHarmonicCurrent" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) overTotal,c.timeid
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
||||
#{harmonicCurrentList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and (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) > 0
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getThreePhaseVoltage" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) overTotal,c.timeid
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="threePhaseVoltageList" open="(" close=")" separator=",">
|
||||
#{threePhaseVoltageList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and UBALANCE_OVERTIME>0
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getFlicker" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
c.timeid,NVL(count(distinct c.myindex),0) overTotal
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="flickerList" open="(" close=")" separator=",">
|
||||
#{flickerList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and FLICKER_OVERTIME > 0
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
<select id="getNegative" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
count(distinct c.myindex) overTotal,c.timeid
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="negativeList" open="(" close=")" separator=",">
|
||||
#{negativeList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and I_Neg_OverTime > 0
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
<select id="getInterharmonic" resultType="com.pqs9000.pojo.responsibility.OverLimitByDays">
|
||||
SELECT A.TIMEID totalDate,B.allOver overCounts,A.overTotal FROM
|
||||
(
|
||||
select
|
||||
c.timeid,NVL(count(distinct c.myindex),0) overTotal
|
||||
from
|
||||
limit_target c
|
||||
where
|
||||
c.myindex in
|
||||
<foreach collection="list" item="harmonicCurrentList" open="(" close=")" separator=",">
|
||||
#{harmonicCurrentList}
|
||||
</foreach>
|
||||
and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
and c.phasic_type = 'T' and (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
|
||||
group by c.timeid
|
||||
) A,
|
||||
(
|
||||
SELECT
|
||||
TIMEID,NVL(COUNT(DISTINCT(MYINDEX)),0) allOver
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
MYINDEX in
|
||||
<foreach collection="list" item="list" open="(" close=")" separator=",">
|
||||
#{list}
|
||||
</foreach>
|
||||
AND PHASIC_TYPE = 'T'
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
group by TIMEID
|
||||
) B
|
||||
WHERE A.TIMEID = B.TIMEID ORDER BY A.TIMEID asc
|
||||
</select>
|
||||
|
||||
<select id="getTypeList" resultType="map">
|
||||
SELECT B.DIC_NAME,A.LOADTYPE FROM PQ_LINEDETAIL A,PQS_DICDATA B
|
||||
WHERE A.LINE_INDEX IN
|
||||
<foreach collection="list" item="totalList" open="(" close=")" separator=",">
|
||||
#{totalList}
|
||||
</foreach>
|
||||
AND A.LOADTYPE = B.DIC_INDEX GROUP BY A.LOADTYPE,B.DIC_NAME
|
||||
</select>
|
||||
|
||||
<select id="getMonitorByType" resultType="int">
|
||||
SELECT
|
||||
LINE_INDEX
|
||||
FROM PQ_LINEDETAIL
|
||||
WHERE LINE_INDEX IN
|
||||
<foreach collection="list" item="totalList" open="(" close=")" separator=",">
|
||||
#{totalList}
|
||||
</foreach>
|
||||
AND LOADTYPE = #{type}
|
||||
</select>
|
||||
|
||||
<select id="getVolList" resultType="map">
|
||||
SELECT A.SCALE,B.DIC_NAME FROM PQ_LINE A,PQS_DICDATA B WHERE A.SCALE = B.DIC_INDEX AND A.LINE_INDEX IN
|
||||
<foreach collection="list" item="totalList" open="(" close=")" separator=",">
|
||||
#{totalList}
|
||||
</foreach>
|
||||
GROUP BY A.SCALE,B.DIC_NAME
|
||||
</select>
|
||||
|
||||
<select id="getMonitorByVol" resultType="int">
|
||||
SELECT LINE_INDEX FROM PQ_LINE WHERE SCALE = #{type} AND LINE_INDEX IN
|
||||
<foreach collection="list" item="totalList" open="(" close=")" separator=",">
|
||||
#{totalList}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="getAvg" resultType="com.pqs9000.pojo.responsibility.AreaOverNoraml">
|
||||
SELECT
|
||||
ROUND(AVG(NVL(B.frequencyOverLine,0)/A.count)*100,2) frequencyAvg,
|
||||
ROUND(AVG(NVL(C.voltageOverLine,0)/A.count)*100,2) voltageAvg,
|
||||
ROUND(AVG(NVL(D.harmonicVoltageOverLine,0)/A.count)*100,2) harmonicVoltageAvg,
|
||||
ROUND(AVG(NVL(E.harmonicCurrentOverLine,0)/A.count)*100,2) harmonicCurrentAvg,
|
||||
ROUND(AVG(NVL(F.ubalanceOverLine,0)/A.count)*100,2) threePhaseVoltageAvg,
|
||||
ROUND(AVG(NVL(G.flicketOverLine,0)/A.count)*100,2) flickerAvg,
|
||||
ROUND(AVG(NVL(H.negativeOverLine,0)/A.count)*100,2) negativeAvg,
|
||||
ROUND(AVG(NVL(I.interharmonicOverLine,0)/A.count)*100,2) interharmonicAvg
|
||||
FROM
|
||||
/*计算每天在线监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
COUNT(MYINDEX) count
|
||||
FROM
|
||||
LIMIT_TARGET
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list1" open="(" close=")" separator=",">
|
||||
#{list1}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
GROUP BY TIMEID
|
||||
) A
|
||||
LEFT JOIN
|
||||
/*计算每天频率偏差超标监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(myindex) frequencyOverLine
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list2" open="(" close=")" separator=",">
|
||||
#{list2}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND phasic_type = 'T'
|
||||
AND FREQ_DEV_OVERTIME > 0
|
||||
GROUP BY TIMEID
|
||||
) B
|
||||
ON A.TIMEID = B.TIMEID
|
||||
LEFT JOIN
|
||||
/*计算每天电压偏差超标监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(myindex) voltageOverLine
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list3" open="(" close=")" separator=",">
|
||||
#{list3}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND phasic_type = 'T'
|
||||
AND VOLTAGE_DEV_OVERTIME > 0
|
||||
GROUP BY TIMEID
|
||||
) C
|
||||
ON A.TIMEID = C.TIMEID
|
||||
LEFT JOIN
|
||||
/*计算每天谐波电压超标监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(c.myindex) harmonicVoltageOverLine
|
||||
FROM
|
||||
limit_target c
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list4" open="(" close=")" separator=",">
|
||||
#{list4}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND c.phasic_type = 'T'
|
||||
AND (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) > 0
|
||||
GROUP BY TIMEID
|
||||
) D
|
||||
ON A.TIMEID = D.TIMEID
|
||||
LEFT JOIN
|
||||
/*计算每天谐波电流超标监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(c.myindex) harmonicCurrentOverLine
|
||||
FROM
|
||||
limit_target c
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list5" open="(" close=")" separator=",">
|
||||
#{list5}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND c.phasic_type = 'T'
|
||||
AND (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) > 0
|
||||
GROUP BY TIMEID
|
||||
) E
|
||||
ON A.TIMEID = E.TIMEID
|
||||
LEFT JOIN
|
||||
/*计算每天三相电压不平衡度超标监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(c.myindex) ubalanceOverLine
|
||||
FROM
|
||||
limit_target c
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list6" open="(" close=")" separator=",">
|
||||
#{list6}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND c.phasic_type = 'T'
|
||||
AND UBALANCE_OVERTIME>0
|
||||
GROUP BY TIMEID
|
||||
) F
|
||||
ON A.TIMEID = F.TIMEID
|
||||
LEFT JOIN
|
||||
/*计算每天闪变超标监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(c.myindex) flicketOverLine
|
||||
FROM
|
||||
limit_target c
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list7" open="(" close=")" separator=",">
|
||||
#{list7}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND c.phasic_type = 'T'
|
||||
AND FLICKER_OVERTIME > 0
|
||||
GROUP BY TIMEID
|
||||
) G
|
||||
ON A.TIMEID = G.TIMEID
|
||||
LEFT JOIN
|
||||
/*计算每天负序电流监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(c.myindex) negativeOverLine
|
||||
FROM
|
||||
limit_target c
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list8" open="(" close=")" separator=",">
|
||||
#{list8}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND c.phasic_type = 'T'
|
||||
AND I_Neg_OverTime > 0
|
||||
GROUP BY TIMEID
|
||||
) H
|
||||
ON A.TIMEID = H.TIMEID
|
||||
LEFT JOIN
|
||||
/*计算每天间谐波电压监测点数据*/
|
||||
(
|
||||
SELECT
|
||||
TIMEID,
|
||||
count(c.myindex) interharmonicOverLine
|
||||
FROM
|
||||
limit_target c
|
||||
WHERE
|
||||
myindex IN
|
||||
<foreach collection="list" item="list9" open="(" close=")" separator=",">
|
||||
#{list9}
|
||||
</foreach>
|
||||
and timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND c.phasic_type = 'T'
|
||||
AND (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
|
||||
GROUP BY TIMEID
|
||||
) I
|
||||
ON A.TIMEID = I.TIMEID
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pqs9000.mapper.responsibility.DataHarmonicDetailMapper">
|
||||
|
||||
<delete id="deleteData">
|
||||
DELETE
|
||||
FROM
|
||||
DATA_HARMONIC_DETAIL
|
||||
WHERE
|
||||
TIME_ID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</delete>
|
||||
|
||||
<insert id="insertData" parameterType="java.util.List" databaseId="Oracle">
|
||||
insert into DATA_HARMONIC_DETAIL (
|
||||
<foreach collection="list" item="item" index="index" separator="UNION ALL">
|
||||
select #{item.timeId},#{item.lineId},#{item.targetType},#{item.maxData},#{item.limitData},#{item.diffData} from dual
|
||||
</foreach>
|
||||
)
|
||||
</insert>
|
||||
|
||||
<select id="selectMaxData" resultType="com.pqs9000.pojo.data.DataHarmonicDetail">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
t.*,
|
||||
ROW_NUMBER() OVER (PARTITION BY t.LINE_ID,t.TARGET_TYPE,t.MAX_DATA
|
||||
ORDER BY t.LINE_ID) AS rn
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
A.LINE_ID ,
|
||||
A.TARGET_TYPE ,
|
||||
A.MAX_DATA ,
|
||||
A.LIMIT_DATA ,
|
||||
A.DIFF_DATA
|
||||
FROM
|
||||
DATA_HARMONIC_DETAIL A
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
LINE_ID,
|
||||
TARGET_TYPE,
|
||||
MAX(MAX_DATA) maxData
|
||||
FROM
|
||||
DATA_HARMONIC_DETAIL
|
||||
WHERE
|
||||
TIME_ID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
GROUP BY
|
||||
LINE_ID ,
|
||||
TARGET_TYPE
|
||||
)
|
||||
B ON
|
||||
A.LINE_ID = B.LINE_ID
|
||||
AND A.TARGET_TYPE = B.TARGET_TYPE
|
||||
AND A.MAX_DATA = B.maxData
|
||||
<if test="list != null and list.size()>0">
|
||||
<where>
|
||||
B.LINE_ID IN
|
||||
<foreach collection="list" open="(" close=")" separator="," item="item">
|
||||
#{item}
|
||||
</foreach>
|
||||
</where>
|
||||
</if>
|
||||
) t
|
||||
)
|
||||
WHERE
|
||||
rn = 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,835 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pqs9000.mapper.responsibility.OverLimitMonitorMapper">
|
||||
<select id="getOverLimitMonitorList" resultType="com.pqs9000.pojo.responsibility.OverLimitMonitor">
|
||||
SELECT * from
|
||||
(
|
||||
SELECT
|
||||
primary.LINE_INDEX monitorId,
|
||||
primary.NAME monitorName,
|
||||
primary.cityCompany,
|
||||
primary.provinceCompany,
|
||||
primary.MONITORVOLTAGELEVEL,
|
||||
primary.PLANTNAME,
|
||||
primary.PLANTVOLAGELEVEL,
|
||||
primary.objName,
|
||||
primary.powerSubstationName,
|
||||
primary.DLCMP dlcMp,
|
||||
primary.DEVCMP devcMp,
|
||||
primary.XYCMP xycMp,
|
||||
NVL(A.OVERTIMES, 0) overLimitDay,
|
||||
NVL(B.OVERTIMES, 0) overFrequencyDeviationDay,
|
||||
NVL(C.OVERTIMES, 0) overVoltageDeviationDay,
|
||||
NVL(harmV.OVERTIMES,0) overLimitHarmVDay,
|
||||
NVL(D.OVERTIMES, 0) overVoltageDistortionDay,
|
||||
NVL(E.OVERTIMES, 0) overHarmonicVoltageDay,
|
||||
NVL(F.OVERTIMES, 0) overHarmonicCurrentDay,
|
||||
NVL(G.OVERTIMES, 0) overVoltageThreeTimes,
|
||||
NVL(H.OVERTIMES, 0) overVoltageFiveTimes,
|
||||
NVL(I.OVERTIMES, 0) overVoltageSevenTimes,
|
||||
NVL(J.OVERTIMES, 0) overVoltageElevenTimes,
|
||||
NVL(K.OVERTIMES, 0) overVoltageThirteenTimes,
|
||||
NVL(L.OVERTIMES, 0) overVoltageTwentyThirdTimes,
|
||||
NVL(M.OVERTIMES, 0) overVoltageTwentyFiveTimes,
|
||||
NVL(N.OVERTIMES, 0) overVoltageOtherTimes,
|
||||
NVL(O.OVERTIMES, 0) overCurrentThreeTimes,
|
||||
NVL(P.OVERTIMES, 0) overCurrentFiveTimes,
|
||||
NVL(Q.OVERTIMES, 0) overCurrentSevenTimes,
|
||||
NVL(R.OVERTIMES, 0) overCurrentElevenTimes,
|
||||
NVL(S.OVERTIMES, 0) overCurrentThirteenTimes,
|
||||
NVL(T.OVERTIMES, 0) overCurrentTwentyThirdTimes,
|
||||
NVL(U.OVERTIMES, 0) overCurrentTwentyFiveTimes,
|
||||
NVL(V.OVERTIMES, 0) overCurrentOtherTimes,
|
||||
NVL(W.OVERTIMES, 0) overThreeVoltageUnbalanceDay,
|
||||
NVL(X.OVERTIMES, 0) overFlickerDay,
|
||||
Y.monitorType,
|
||||
Y.monitorNumber,
|
||||
NVL(Z.OVERTIMES, 0) overNegativeDay,
|
||||
NVL(interharmonics.OVERTIMES, 0) overInterharmonicsDay
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
fir.LINE LINE_INDEX,
|
||||
fir.NAME,
|
||||
fir.objName,
|
||||
fir.DLCMP ,
|
||||
fir.DEVCMP ,
|
||||
fir.XYCMP ,
|
||||
A.DIC_NAME cityCompany,
|
||||
B.DEPTSNAME provinceCompany,
|
||||
C.DIC_NAME MONITORVOLTAGELEVEL,
|
||||
fir.SUBNAME PLANTNAME,
|
||||
fir.powerSubstationName,
|
||||
D.DIC_NAME PLANTVOLAGELEVEL
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
DISTINCT(A.LINE_INDEX) line,
|
||||
A.NAME,
|
||||
A.DLCMP ,
|
||||
A.DEVCMP ,
|
||||
A.XYCMP ,
|
||||
C.AREA,
|
||||
C.PARENTNODEID,
|
||||
A.SCALE lineScale,
|
||||
D.NAME subName,
|
||||
D.SCALE subScale,
|
||||
E.objname objName,
|
||||
E.POWER_SUBSTATION_NAME powerSubstationName
|
||||
FROM
|
||||
PQ_LINE A,
|
||||
PQS_DEPTSLINE B,
|
||||
PQS_DEPTS C,
|
||||
PQ_SUBSTATION D,
|
||||
PQ_LINEDETAIL E
|
||||
WHERE A.LINE_INDEX IN
|
||||
<foreach collection="list" item="list1" open="(" close=")" separator=",">
|
||||
#{list1}
|
||||
</foreach>
|
||||
AND A.LINE_INDEX = B.LINE_INDEX
|
||||
AND B.DEPTS_INDEX = C.DEPTS_INDEX
|
||||
<!-- 不限制部门类型 0:非自定义部门 1:自定义部门-->
|
||||
<!-- AND C.CUSTOM_DEPT = 0 -->
|
||||
AND c.state = 1
|
||||
AND A.SUB_INDEX = D.SUB_INDEX
|
||||
AND A.LINE_INDEX = E.LINE_INDEX
|
||||
<if test=" vollevel != ''">
|
||||
AND A.SCALE=#{vollevel}
|
||||
</if>
|
||||
) fir
|
||||
LEFT JOIN
|
||||
PQS_DICDATA A
|
||||
ON fir.AREA = A.DIC_INDEX
|
||||
LEFT JOIN
|
||||
PQS_DEPTS B
|
||||
ON fir.PARENTNODEID = B.DEPTS_INDEX
|
||||
LEFT JOIN
|
||||
PQS_DICDATA C
|
||||
ON fir.lineScale = C.DIC_INDEX
|
||||
LEFT JOIN
|
||||
PQS_DICDATA D
|
||||
ON fir.SUBSCALE = D.DIC_INDEX
|
||||
ORDER BY fir.LINE
|
||||
) primary
|
||||
LEFT JOIN
|
||||
(SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list2" open="(" close=")" separator=",">
|
||||
#{list2}
|
||||
</foreach>
|
||||
and (flicker_overtime >0 or ubalance_overtime >0 or freq_dev_overtime >0 or uaberrance_overtime >0 or voltage_dev_overtime >0 or uharm_2_overtime >0 or iharm_2_overtime >0 or uharm_3_overtime >0 or iharm_3_overtime >0 or uharm_4_overtime >0 or iharm_4_overtime >0
|
||||
or uharm_5_overtime >0 or iharm_5_overtime >0 or uharm_6_overtime >0 or iharm_6_overtime >0 or uharm_7_overtime >0 or iharm_7_overtime >0
|
||||
or uharm_8_overtime >0 or iharm_8_overtime >0 or uharm_9_overtime >0 or iharm_9_overtime >0 or uharm_10_overtime >0 or iharm_10_overtime >0
|
||||
or uharm_11_overtime >0 or iharm_11_overtime >0 or uharm_12_overtime >0 or iharm_12_overtime >0 or uharm_13_overtime >0 or iharm_13_overtime >0
|
||||
or uharm_14_overtime >0 or iharm_14_overtime >0 or uharm_15_overtime >0 or iharm_15_overtime >0 or uharm_16_overtime >0 or iharm_16_overtime >0
|
||||
or uharm_17_overtime >0 or iharm_17_overtime >0 or uharm_18_overtime >0 or iharm_18_overtime >0 or uharm_19_overtime >0 or iharm_19_overtime >0
|
||||
or uharm_20_overtime >0 or iharm_20_overtime >0 or uharm_21_overtime >0 or iharm_24_overtime >0 or uharm_22_overtime >0 or iharm_22_overtime >0
|
||||
or uharm_23_overtime >0 or iharm_23_overtime >0 or uharm_24_overtime >0 or iharm_24_overtime >0 or uharm_25_overtime >0 or iharm_25_overtime >0
|
||||
or I_NEG_OVERTIME > 0 or INUHARM_1_OVERTIME >0 or INUHARM_2_OVERTIME >0 or INUHARM_3_OVERTIME >0 or INUHARM_4_OVERTIME >0 or INUHARM_5_OVERTIME >0
|
||||
or INUHARM_6_OVERTIME >0 or INUHARM_7_OVERTIME >0 or INUHARM_8_OVERTIME >0 or INUHARM_9_OVERTIME >0 or INUHARM_10_OVERTIME >0 or INUHARM_11_OVERTIME >0
|
||||
or INUHARM_12_OVERTIME >0 or INUHARM_13_OVERTIME >0 or INUHARM_14_OVERTIME >0 or INUHARM_15_OVERTIME >0 or INUHARM_16_OVERTIME >0
|
||||
) GROUP BY MYINDEX
|
||||
)A
|
||||
ON primary.LINE_INDEX = A.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list3" open="(" close=")" separator=",">
|
||||
#{list3}
|
||||
</foreach>
|
||||
and freq_dev_overtime >0 GROUP BY MYINDEX
|
||||
) B
|
||||
ON primary.LINE_INDEX = B.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list4" open="(" close=")" separator=",">
|
||||
#{list4}
|
||||
</foreach>
|
||||
and voltage_dev_overtime >0 GROUP BY MYINDEX
|
||||
) C
|
||||
ON primary.LINE_INDEX = C.MYINDEX
|
||||
LEFT JOIN
|
||||
(select MYINDEX,COUNT(1) overTimes
|
||||
from limit_target
|
||||
where phasic_type = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list4" open="(" close=")"
|
||||
separator=",">
|
||||
#{list4}
|
||||
</foreach>
|
||||
and (uaberrance_overtime > 0 or uharm_2_overtime > 0 or
|
||||
uharm_3_overtime > 0 or uharm_4_overtime > 0 or
|
||||
uharm_5_overtime > 0 or uharm_6_overtime > 0 or
|
||||
uharm_7_overtime > 0 or uharm_8_overtime > 0 or
|
||||
uharm_9_overtime > 0 or uharm_10_overtime > 0 or
|
||||
uharm_11_overtime > 0 or uharm_12_overtime > 0 or
|
||||
uharm_13_overtime > 0 or uharm_14_overtime > 0 or
|
||||
uharm_15_overtime > 0 or uharm_16_overtime > 0 or
|
||||
uharm_17_overtime > 0 or uharm_18_overtime > 0 or
|
||||
uharm_19_overtime > 0 or uharm_20_overtime > 0 or
|
||||
uharm_21_overtime > 0 or uharm_22_overtime > 0 or
|
||||
uharm_23_overtime > 0 or uharm_24_overtime > 0 or
|
||||
uharm_25_overtime > 0) GROUP BY MYINDEX
|
||||
) harmV
|
||||
ON primary.LINE_INDEX = harmV.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list5" open="(" close=")" separator=",">
|
||||
#{list5}
|
||||
</foreach>
|
||||
and uaberrance_overtime >0 GROUP BY MYINDEX
|
||||
) D
|
||||
ON primary.LINE_INDEX = D.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list6" open="(" close=")" separator=",">
|
||||
#{list6}
|
||||
</foreach>
|
||||
and (uharm_2_overtime >0 or uharm_3_overtime >0 or uharm_4_overtime >0 or uharm_5_overtime >0 or uharm_6_overtime >0 or uharm_7_overtime >0 or uharm_8_overtime >0 or uharm_9_overtime >0 or uharm_10_overtime >0 or uharm_11_overtime >0 or uharm_12_overtime >0 or uharm_13_overtime >0 or uharm_14_overtime >0 or uharm_15_overtime >0 or uharm_16_overtime >0 or uharm_17_overtime >0 or uharm_18_overtime >0 or uharm_19_overtime >0 or uharm_20_overtime >0 or uharm_21_overtime >0 or uharm_22_overtime >0 or uharm_23_overtime >0 or uharm_24_overtime >0 or uharm_25_overtime >0) GROUP BY MYINDEX
|
||||
) E
|
||||
ON primary.LINE_INDEX = E.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list7" open="(" close=")" separator=",">
|
||||
#{list7}
|
||||
</foreach>
|
||||
and (iharm_2_overtime >0 or iharm_3_overtime >0 or iharm_4_overtime >0 or iharm_5_overtime >0 or iharm_6_overtime >0 or iharm_7_overtime >0 or iharm_8_overtime >0 or iharm_9_overtime >0 or iharm_10_overtime >0 or iharm_11_overtime >0 or iharm_12_overtime >0 or iharm_13_overtime >0 or iharm_14_overtime >0 or iharm_15_overtime >0 or iharm_16_overtime >0 or iharm_17_overtime >0 or iharm_18_overtime >0 or iharm_19_overtime >0 or iharm_20_overtime >0 or iharm_21_overtime >0 or iharm_22_overtime >0 or iharm_23_overtime >0 or iharm_24_overtime >0 or iharm_25_overtime >0) GROUP BY MYINDEX
|
||||
) F
|
||||
ON primary.LINE_INDEX = F.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list8" open="(" close=")" separator=",">
|
||||
#{list8}
|
||||
</foreach>
|
||||
and uharm_3_overtime >0 GROUP BY MYINDEX
|
||||
) G
|
||||
ON primary.LINE_INDEX = G.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list9" open="(" close=")" separator=",">
|
||||
#{list9}
|
||||
</foreach>
|
||||
and uharm_5_overtime >0 GROUP BY MYINDEX
|
||||
) H
|
||||
ON primary.LINE_INDEX = H.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list10" open="(" close=")" separator=",">
|
||||
#{list10}
|
||||
</foreach>
|
||||
and uharm_7_overtime >0 GROUP BY MYINDEX
|
||||
) I
|
||||
ON primary.LINE_INDEX = I.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list11" open="(" close=")" separator=",">
|
||||
#{list11}
|
||||
</foreach>
|
||||
and uharm_11_overtime >0 GROUP BY MYINDEX
|
||||
) J
|
||||
ON primary.LINE_INDEX = J.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list12" open="(" close=")" separator=",">
|
||||
#{list12}
|
||||
</foreach>
|
||||
and uharm_13_overtime >0 GROUP BY MYINDEX
|
||||
) K
|
||||
ON primary.LINE_INDEX = K.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list13" open="(" close=")" separator=",">
|
||||
#{list13}
|
||||
</foreach>
|
||||
and uharm_23_overtime >0 GROUP BY MYINDEX
|
||||
) L
|
||||
ON primary.LINE_INDEX = L.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list14" open="(" close=")" separator=",">
|
||||
#{list14}
|
||||
</foreach>
|
||||
and uharm_25_overtime >0 GROUP BY MYINDEX
|
||||
) M
|
||||
ON primary.LINE_INDEX = M.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,SUM(uharm_2_overtime + uharm_4_overtime + uharm_6_overtime + uharm_8_overtime + uharm_9_overtime + uharm_10_overtime + uharm_12_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_24_overtime) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list15" open="(" close=")" separator=",">
|
||||
#{list15}
|
||||
</foreach>
|
||||
and (uharm_2_overtime >0 or uharm_4_overtime >0 or uharm_6_overtime >0 or uharm_8_overtime >0 or uharm_9_overtime >0 or uharm_10_overtime >0 or uharm_12_overtime >0 or uharm_14_overtime >0 or uharm_15_overtime >0 or uharm_16_overtime >0 or uharm_17_overtime >0 or uharm_18_overtime >0 or uharm_19_overtime >0 or uharm_20_overtime >0 or uharm_21_overtime >0 or uharm_22_overtime >0 or uharm_24_overtime >0) GROUP BY MYINDEX
|
||||
) N
|
||||
ON primary.LINE_INDEX = N.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list16" open="(" close=")" separator=",">
|
||||
#{list16}
|
||||
</foreach>
|
||||
and iharm_3_overtime >0 GROUP BY MYINDEX
|
||||
) O
|
||||
ON primary.LINE_INDEX = O.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list17" open="(" close=")" separator=",">
|
||||
#{list17}
|
||||
</foreach>
|
||||
and iharm_5_overtime >0 GROUP BY MYINDEX
|
||||
) P
|
||||
ON primary.LINE_INDEX = P.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list18" open="(" close=")" separator=",">
|
||||
#{list18}
|
||||
</foreach>
|
||||
and iharm_7_overtime >0 GROUP BY MYINDEX
|
||||
) Q
|
||||
ON primary.LINE_INDEX = Q.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list19" open="(" close=")" separator=",">
|
||||
#{list19}
|
||||
</foreach>
|
||||
and iharm_11_overtime >0 GROUP BY MYINDEX
|
||||
) R
|
||||
ON primary.LINE_INDEX = R.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list20" open="(" close=")" separator=",">
|
||||
#{list20}
|
||||
</foreach>
|
||||
and iharm_13_overtime >0 GROUP BY MYINDEX
|
||||
) S
|
||||
ON primary.LINE_INDEX = S.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list21" open="(" close=")" separator=",">
|
||||
#{list21}
|
||||
</foreach>
|
||||
and iharm_23_overtime >0 GROUP BY MYINDEX
|
||||
) T
|
||||
ON primary.LINE_INDEX = T.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list22" open="(" close=")" separator=",">
|
||||
#{list22}
|
||||
</foreach>
|
||||
and iharm_25_overtime >0 GROUP BY MYINDEX
|
||||
) U
|
||||
ON primary.LINE_INDEX = U.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,SUM(iharm_2_overtime + iharm_4_overtime + iharm_6_overtime + iharm_8_overtime + iharm_9_overtime + iharm_10_overtime + iharm_12_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_24_overtime) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list23" open="(" close=")" separator=",">
|
||||
#{list23}
|
||||
</foreach>
|
||||
and (iharm_2_overtime >0 or iharm_4_overtime >0 or iharm_6_overtime >0 or iharm_8_overtime >0 or iharm_9_overtime >0 or iharm_10_overtime >0 or iharm_12_overtime >0 or iharm_14_overtime >0 or iharm_15_overtime >0 or iharm_16_overtime >0 or iharm_17_overtime >0 or iharm_18_overtime >0 or iharm_19_overtime >0 or iharm_20_overtime >0 or iharm_21_overtime >0 or iharm_22_overtime >0 or iharm_24_overtime >0) GROUP BY MYINDEX
|
||||
) V
|
||||
ON primary.LINE_INDEX = V.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list24" open="(" close=")" separator=",">
|
||||
#{list24}
|
||||
</foreach>
|
||||
and ubalance_overtime >0 GROUP BY MYINDEX
|
||||
) W
|
||||
ON primary.LINE_INDEX = W.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list25" open="(" close=")" separator=",">
|
||||
#{list25}
|
||||
</foreach>
|
||||
and flicker_overtime >0 GROUP BY MYINDEX
|
||||
) X
|
||||
ON primary.LINE_INDEX = X.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
pqld.LINE_INDEX MYINDEX,
|
||||
pd.DIC_NAME monitorType,
|
||||
pqld.MONITOR_ID monitorNumber
|
||||
FROM PQ_LINEDETAIL pqld,PQS_DICDATA pd WHERE LINE_INDEX IN
|
||||
<foreach collection="list" item="list26" open="(" close=")" separator=",">
|
||||
#{list26}
|
||||
</foreach>
|
||||
AND pqld.LOADTYPE = pd.DIC_INDEX
|
||||
) Y
|
||||
ON primary.LINE_INDEX = Y.MYINDEX
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND MYINDEX IN
|
||||
<foreach collection="list" item="list27" open="(" close=")" separator=",">
|
||||
#{list27}
|
||||
</foreach>
|
||||
and I_Neg_OverTime >0 GROUP BY MYINDEX
|
||||
) Z
|
||||
ON primary.LINE_INDEX = Z.MYINDEX
|
||||
LEFT JOIN
|
||||
(SELECT
|
||||
MYINDEX,COUNT(1) overTimes
|
||||
FROM
|
||||
limit_target
|
||||
WHERE
|
||||
PHASIC_TYPE = 'T' AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS') AND
|
||||
MYINDEX IN
|
||||
<foreach collection="list" item="list28" open="(" close=")" separator=",">
|
||||
#{list28}
|
||||
</foreach>
|
||||
and (InUHARM_1_OverTime >0 or InUHARM_2_OverTime >0 or InUHARM_3_OverTime >0 or InUHARM_4_OverTime >0 or InUHARM_5_OverTime >0 or InUHARM_6_OverTime >0
|
||||
or InUHARM_7_OverTime >0 or InUHARM_8_OverTime >0 or InUHARM_9_OverTime >0 or InUHARM_10_OverTime >0 or InUHARM_11_OverTime >0 or InUHARM_12_OverTime >0
|
||||
or InUHARM_13_OverTime >0 or InUHARM_14_OverTime >0 or InUHARM_15_OverTime >0 or InUHARM_16_OverTime >0) GROUP BY MYINDEX) interharmonics
|
||||
ON primary.LINE_INDEX = interharmonics.MYINDEX
|
||||
ORDER BY primary.provinceCompany,primary.cityCompany,primary.NAME
|
||||
) where overLimitDay >0
|
||||
</select>
|
||||
|
||||
<select id="getLineList" resultType="java.lang.String">
|
||||
SELECT
|
||||
DISTINCT MYINDEX
|
||||
FROM
|
||||
LIMIT_TARGET
|
||||
WHERE
|
||||
(ALLTIME > 0 OR FLICKET_ALLTIME > 0)
|
||||
AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
</select>
|
||||
|
||||
<select id="getData1" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.LINEID monitorId,
|
||||
max(abs(A.VU_DEV_MAX)) maxVoltageDeviationData,
|
||||
B.VOLTAGE_DEV limitVoltageDeviationData,
|
||||
max(abs(A.VU_DEV_MAX))-B.VOLTAGE_DEV diffVoltageDeviationData,
|
||||
max(A.V_THD_CP95) maxVoltageDistortionData,
|
||||
B.UBALANCE limitVoltageDistortionData,
|
||||
max(A.V_THD_CP95)-B.UBALANCE diffVoltageDistortionData,
|
||||
max(A.V_UNBALANCE_CP95) maxThreeVoltageUnbalanceData,
|
||||
B.UABERRANCE limitThreeVoltageUnbalanceData,
|
||||
max(A.V_UNBALANCE_CP95)-B.UABERRANCE diffThreeVoltageUnbalanceData,
|
||||
max(abs(A.FREQ_DEV_MAX)) maxFrequencyDeviationData,
|
||||
B.FREQ_DEV limitFrequencyDeviationData,
|
||||
max(abs(A.FREQ_DEV_MAX))-B.FREQ_DEV diffFrequencyDeviationData
|
||||
FROM
|
||||
DATA_V A
|
||||
RIGHT JOIN OVERLIMIT B ON A.LINEID = B.MYINDEX
|
||||
WHERE
|
||||
A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND B.MYINDEX IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY A.LINEID,B.VOLTAGE_DEV,B.UBALANCE,B.UABERRANCE,B.FREQ_DEV
|
||||
</select>
|
||||
|
||||
<select id="getData2" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.LINEID monitorId,
|
||||
max(A.I_NEG_CP95) maxNegativeDay,
|
||||
B.I_NEG limitNegativeData,
|
||||
max(A.I_NEG_CP95)-B.I_NEG diffNegativeData
|
||||
FROM
|
||||
DATA_I A
|
||||
RIGHT JOIN OVERLIMIT B ON A.LINEID = B.MYINDEX
|
||||
WHERE
|
||||
A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND B.MYINDEX IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY A.LINEID,B.I_NEG
|
||||
</select>
|
||||
|
||||
<select id="getData3" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.LINEID monitorId,
|
||||
max(A.PLT) maxFlickerData,
|
||||
B.FLICKER limitFlickerData,
|
||||
max(A.PLT)-B.FLICKER diffFlickerData
|
||||
FROM
|
||||
DATA_PLT A
|
||||
RIGHT JOIN OVERLIMIT B ON A.LINEID = B.MYINDEX
|
||||
WHERE
|
||||
A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND B.MYINDEX IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY A.LINEID,B.FLICKER
|
||||
</select>
|
||||
|
||||
<select id="getData4" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.LINEID monitorId,
|
||||
MAX(A.I_2_CP95/NULLIF(B.IHARM_2,0)) ratio1,
|
||||
MAX(A.I_3_CP95/NULLIF(B.IHARM_3,0)) ratio2,
|
||||
MAX(A.I_4_CP95/NULLIF(B.IHARM_4,0)) ratio3,
|
||||
MAX(A.I_5_CP95/NULLIF(B.IHARM_5,0)) ratio4,
|
||||
MAX(A.I_6_CP95/NULLIF(B.IHARM_6,0)) ratio5,
|
||||
MAX(A.I_7_CP95/NULLIF(B.IHARM_7,0)) ratio6,
|
||||
MAX(A.I_8_CP95/NULLIF(B.IHARM_8,0)) ratio7,
|
||||
MAX(A.I_9_CP95/NULLIF(B.IHARM_9,0)) ratio8,
|
||||
MAX(A.I_10_CP95/NULLIF(B.IHARM_10,0)) ratio9,
|
||||
MAX(A.I_11_CP95/NULLIF(B.IHARM_11,0)) ratio10,
|
||||
MAX(A.I_12_CP95/NULLIF(B.IHARM_12,0)) ratio11,
|
||||
MAX(A.I_13_CP95/NULLIF(B.IHARM_13,0)) ratio12,
|
||||
MAX(A.I_14_CP95/NULLIF(B.IHARM_14,0)) ratio13,
|
||||
MAX(A.I_15_CP95/NULLIF(B.IHARM_15,0)) ratio14,
|
||||
MAX(A.I_16_CP95/NULLIF(B.IHARM_16,0)) ratio15,
|
||||
MAX(A.I_17_CP95/NULLIF(B.IHARM_17,0)) ratio16,
|
||||
MAX(A.I_18_CP95/NULLIF(B.IHARM_18,0)) ratio17,
|
||||
MAX(A.I_19_CP95/NULLIF(B.IHARM_19,0)) ratio18,
|
||||
MAX(A.I_20_CP95/NULLIF(B.IHARM_20,0)) ratio19,
|
||||
MAX(A.I_21_CP95/NULLIF(B.IHARM_21,0)) ratio20,
|
||||
MAX(A.I_22_CP95/NULLIF(B.IHARM_22,0)) ratio21,
|
||||
MAX(A.I_23_CP95/NULLIF(B.IHARM_23,0)) ratio22,
|
||||
MAX(A.I_24_CP95/NULLIF(B.IHARM_24,0)) ratio23,
|
||||
MAX(A.I_25_CP95/NULLIF(B.IHARM_25,0)) ratio24
|
||||
FROM
|
||||
DATA_I A
|
||||
RIGHT JOIN OVERLIMIT B ON A.LINEID = B.MYINDEX
|
||||
WHERE
|
||||
A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND B.MYINDEX IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY A.LINEID
|
||||
</select>
|
||||
|
||||
<select id="getData5" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.LINEID monitorId,
|
||||
MAX(A.V_THD_CP95/NULLIF(B.UBALANCE,0)) ratio1,
|
||||
MAX(C.V_2_CP95/NULLIF(B.UHARM_2,0)) ratio2,
|
||||
MAX(C.V_3_CP95/NULLIF(B.UHARM_3,0)) ratio3,
|
||||
MAX(C.V_4_CP95/NULLIF(B.UHARM_4,0)) ratio4,
|
||||
MAX(C.V_5_CP95/NULLIF(B.UHARM_5,0)) ratio5,
|
||||
MAX(C.V_6_CP95/NULLIF(B.UHARM_6,0)) ratio6,
|
||||
MAX(C.V_7_CP95/NULLIF(B.UHARM_7,0)) ratio7,
|
||||
MAX(C.V_8_CP95/NULLIF(B.UHARM_8,0)) ratio8,
|
||||
MAX(C.V_9_CP95/NULLIF(B.UHARM_9,0)) ratio9,
|
||||
MAX(C.V_10_CP95/NULLIF(B.UHARM_10,0)) ratio10,
|
||||
MAX(C.V_11_CP95/NULLIF(B.UHARM_11,0)) ratio11,
|
||||
MAX(C.V_12_CP95/NULLIF(B.UHARM_12,0)) ratio12,
|
||||
MAX(C.V_13_CP95/NULLIF(B.UHARM_13,0)) ratio13,
|
||||
MAX(C.V_14_CP95/NULLIF(B.UHARM_14,0)) ratio14,
|
||||
MAX(C.V_15_CP95/NULLIF(B.UHARM_15,0)) ratio15,
|
||||
MAX(C.V_16_CP95/NULLIF(B.UHARM_16,0)) ratio16,
|
||||
MAX(C.V_17_CP95/NULLIF(B.UHARM_17,0)) ratio17,
|
||||
MAX(C.V_18_CP95/NULLIF(B.UHARM_18,0)) ratio18,
|
||||
MAX(C.V_19_CP95/NULLIF(B.UHARM_19,0)) ratio19,
|
||||
MAX(C.V_20_CP95/NULLIF(B.UHARM_20,0)) ratio20,
|
||||
MAX(C.V_21_CP95/NULLIF(B.UHARM_21,0)) ratio21,
|
||||
MAX(C.V_22_CP95/NULLIF(B.UHARM_22,0)) ratio22,
|
||||
MAX(C.V_23_CP95/NULLIF(B.UHARM_23,0)) ratio23,
|
||||
MAX(C.V_24_CP95/NULLIF(B.UHARM_24,0)) ratio24,
|
||||
MAX(C.V_25_CP95/NULLIF(B.UHARM_25,0)) ratio25
|
||||
FROM
|
||||
OVERLIMIT B
|
||||
LEFT JOIN DATA_V A ON A.LINEID = B.MYINDEX
|
||||
LEFT JOIN Data_HarmRate_V C ON C.LINEID = B.MYINDEX
|
||||
WHERE
|
||||
A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND B.MYINDEX IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND A.TIMEID = C.TIMEID
|
||||
GROUP BY A.LINEID
|
||||
</select>
|
||||
|
||||
<select id="getData6" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.LINEID monitorId,
|
||||
MAX(A.V_2_CP95/NULLIF(B.UHARM_2,0)) ratio2,
|
||||
MAX(A.V_3_CP95/NULLIF(B.UHARM_3,0)) ratio3,
|
||||
MAX(A.V_4_CP95/NULLIF(B.UHARM_4,0)) ratio4,
|
||||
MAX(A.V_5_CP95/NULLIF(B.UHARM_5,0)) ratio5,
|
||||
MAX(A.V_6_CP95/NULLIF(B.UHARM_6,0)) ratio6,
|
||||
MAX(A.V_7_CP95/NULLIF(B.UHARM_7,0)) ratio7,
|
||||
MAX(A.V_8_CP95/NULLIF(B.UHARM_8,0)) ratio8,
|
||||
MAX(A.V_9_CP95/NULLIF(B.UHARM_9,0)) ratio9,
|
||||
MAX(A.V_10_CP95/NULLIF(B.UHARM_10,0)) ratio10,
|
||||
MAX(A.V_11_CP95/NULLIF(B.UHARM_11,0)) ratio11,
|
||||
MAX(A.V_12_CP95/NULLIF(B.UHARM_12,0)) ratio12,
|
||||
MAX(A.V_13_CP95/NULLIF(B.UHARM_13,0)) ratio13,
|
||||
MAX(A.V_14_CP95/NULLIF(B.UHARM_14,0)) ratio14,
|
||||
MAX(A.V_15_CP95/NULLIF(B.UHARM_15,0)) ratio15,
|
||||
MAX(A.V_16_CP95/NULLIF(B.UHARM_16,0)) ratio16,
|
||||
MAX(A.V_17_CP95/NULLIF(B.UHARM_17,0)) ratio17,
|
||||
MAX(A.V_18_CP95/NULLIF(B.UHARM_18,0)) ratio18,
|
||||
MAX(A.V_19_CP95/NULLIF(B.UHARM_19,0)) ratio19,
|
||||
MAX(A.V_20_CP95/NULLIF(B.UHARM_20,0)) ratio20,
|
||||
MAX(A.V_21_CP95/NULLIF(B.UHARM_21,0)) ratio21,
|
||||
MAX(A.V_22_CP95/NULLIF(B.UHARM_22,0)) ratio22,
|
||||
MAX(A.V_23_CP95/NULLIF(B.UHARM_23,0)) ratio23,
|
||||
MAX(A.V_24_CP95/NULLIF(B.UHARM_24,0)) ratio24,
|
||||
MAX(A.V_25_CP95/NULLIF(B.UHARM_25,0)) ratio25
|
||||
FROM
|
||||
Data_HarmRate_V A
|
||||
RIGHT JOIN OVERLIMIT B ON A.LINEID = B.MYINDEX
|
||||
WHERE
|
||||
A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND B.MYINDEX IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY A.LINEID
|
||||
</select>
|
||||
|
||||
<select id="getData7" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.LINEID monitorId,
|
||||
MAX(A.V_1_CP95/NULLIF(B.INUHARM_1,0)) ratio1,
|
||||
MAX(A.V_2_CP95/NULLIF(B.INUHARM_2,0)) ratio2,
|
||||
MAX(A.V_3_CP95/NULLIF(B.INUHARM_3,0)) ratio3,
|
||||
MAX(A.V_4_CP95/NULLIF(B.INUHARM_4,0)) ratio4,
|
||||
MAX(A.V_5_CP95/NULLIF(B.INUHARM_5,0)) ratio5,
|
||||
MAX(A.V_6_CP95/NULLIF(B.INUHARM_6,0)) ratio6,
|
||||
MAX(A.V_7_CP95/NULLIF(B.INUHARM_7,0)) ratio7,
|
||||
MAX(A.V_8_CP95/NULLIF(B.INUHARM_8,0)) ratio8,
|
||||
MAX(A.V_9_CP95/NULLIF(B.INUHARM_9,0)) ratio9,
|
||||
MAX(A.V_10_CP95/NULLIF(B.INUHARM_10,0)) ratio10,
|
||||
MAX(A.V_11_CP95/NULLIF(B.INUHARM_11,0)) ratio11,
|
||||
MAX(A.V_12_CP95/NULLIF(B.INUHARM_12,0)) ratio12,
|
||||
MAX(A.V_13_CP95/NULLIF(B.INUHARM_13,0)) ratio13,
|
||||
MAX(A.V_14_CP95/NULLIF(B.INUHARM_14,0)) ratio14,
|
||||
MAX(A.V_15_CP95/NULLIF(B.INUHARM_15,0)) ratio15,
|
||||
MAX(A.V_16_CP95/NULLIF(B.INUHARM_16,0)) ratio16
|
||||
FROM
|
||||
Data_InHarm_V A
|
||||
RIGHT JOIN OVERLIMIT B ON A.LINEID = B.MYINDEX
|
||||
WHERE
|
||||
A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
AND B.MYINDEX IN
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
GROUP BY A.LINEID
|
||||
</select>
|
||||
|
||||
<select id="getHarmonicData1" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.MYINDEX monitorId,
|
||||
A.IHARM_${time} data1,
|
||||
MAX(B.I_${time}_CP95) data2
|
||||
FROM
|
||||
OVERLIMIT A
|
||||
LEFT JOIN DATA_I B ON
|
||||
A.MYINDEX = B.LINEID
|
||||
WHERE
|
||||
A.MYINDEX = #{lineId} AND B.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
GROUP BY A.MYINDEX,A.IHARM_${time}
|
||||
</select>
|
||||
|
||||
<select id="getHarmonicData2" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.MYINDEX monitorId,
|
||||
A.UBALANCE data1,
|
||||
MAX(B.V_THD_CP95) data2
|
||||
FROM
|
||||
OVERLIMIT A
|
||||
LEFT JOIN DATA_V B ON
|
||||
A.MYINDEX = B.LINEID
|
||||
WHERE
|
||||
A.MYINDEX = #{lineId} AND B.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
GROUP BY A.MYINDEX,A.UBALANCE
|
||||
</select>
|
||||
|
||||
<select id="getHarmonicData3" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.MYINDEX monitorId,
|
||||
A.UHARM_${time} data1,
|
||||
MAX(B.V_${time}_CP95) data2
|
||||
FROM
|
||||
OVERLIMIT A
|
||||
LEFT JOIN Data_HarmRate_V B ON
|
||||
A.MYINDEX = B.LINEID
|
||||
WHERE
|
||||
A.MYINDEX = #{lineId} AND B.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
GROUP BY A.MYINDEX,A.UHARM_${time}
|
||||
</select>
|
||||
|
||||
<select id="getHarmonicData4" resultType="com.pqs9000.pojo.responsibility.TargetDetailDto">
|
||||
SELECT
|
||||
A.MYINDEX monitorId,
|
||||
A.INUHARM_${time} data1,
|
||||
MAX(B.V_${time}_CP95) data2
|
||||
FROM
|
||||
OVERLIMIT A
|
||||
LEFT JOIN Data_InHarm_V B ON
|
||||
A.MYINDEX = B.LINEID
|
||||
WHERE
|
||||
A.MYINDEX = #{lineId} AND B.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')
|
||||
GROUP BY A.MYINDEX,A.INUHARM_${time}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pqs9000.mapper.responsibility.ResponsibilityDataMapper">
|
||||
|
||||
<select id="responsibilityDataList" resultType="ResponsibilityData">
|
||||
select
|
||||
*
|
||||
from
|
||||
pqs_responsibilityData
|
||||
where
|
||||
update_time between #{startTime} and #{endTime}
|
||||
</select>
|
||||
|
||||
<select id="selectData" resultType="ResponsibilityData">
|
||||
select
|
||||
*
|
||||
from
|
||||
pqs_responsibilityData
|
||||
where
|
||||
line_index=#{lineName}
|
||||
and
|
||||
user_data=#{excelName}
|
||||
and
|
||||
time_win=#{timeWin}
|
||||
and
|
||||
res_type=#{type}
|
||||
</select>
|
||||
|
||||
<delete id="deleteByResIndex">
|
||||
delete
|
||||
from
|
||||
pqs_responsibilityData t1
|
||||
where
|
||||
t1.res_index=#{resIndex}
|
||||
</delete>
|
||||
|
||||
<select id="getLimitU" resultType="float">
|
||||
SELECT
|
||||
t.UHARM_${time}
|
||||
FROM
|
||||
OVERLIMIT t
|
||||
WHERE
|
||||
MYINDEX = #{lineIndex}
|
||||
</select>
|
||||
|
||||
<select id="getLimitI" resultType="float">
|
||||
SELECT
|
||||
t.IHARM_${time}
|
||||
FROM
|
||||
OVERLIMIT t
|
||||
WHERE
|
||||
MYINDEX = #{lineIndex}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pqs9000.mapper.responsibility.UserExcelDataMapper">
|
||||
|
||||
<select id="selectUserExcelData" resultType="UserExcelData">
|
||||
select
|
||||
*
|
||||
from
|
||||
PQS_USEREXCELDATA T1
|
||||
where
|
||||
t1.excel_name=#{excelName}
|
||||
and
|
||||
t1.start_time=#{startTime}
|
||||
and
|
||||
t1.end_time=#{endTime}
|
||||
</select>
|
||||
|
||||
<delete id="deleteByIndex">
|
||||
delete
|
||||
from
|
||||
PQS_USEREXCELDATA t1
|
||||
where
|
||||
t1.EXCEL_INDEX=#{excelIndex}
|
||||
</delete>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pqs9000.mapper.responsibility.UserExcelDataNoIntegrityMapper">
|
||||
<insert id="insertAll" useGeneratedKeys="false">
|
||||
insert into PQS_USEREXCELDATANOINTERGRITY (
|
||||
INTERGRITY_INDEX,
|
||||
EXCEL_INDEX,
|
||||
USER_NAME,
|
||||
LINE_NO,
|
||||
LACK_DATE,
|
||||
INTERGRITY,
|
||||
USER_NO
|
||||
)(
|
||||
<foreach collection ="list" item="userExcelDataNoIntegrity" index="index" separator="UNION ALL">
|
||||
select
|
||||
#{userExcelDataNoIntegrity.intergrityIndex},
|
||||
#{userExcelDataNoIntegrity.excelIndex},
|
||||
#{userExcelDataNoIntegrity.userName},
|
||||
#{userExcelDataNoIntegrity.lineNo},
|
||||
#{userExcelDataNoIntegrity.lackDate},
|
||||
#{userExcelDataNoIntegrity.intergrity},
|
||||
#{userExcelDataNoIntegrity.userNo}
|
||||
from dual
|
||||
</foreach >
|
||||
)
|
||||
</insert>
|
||||
|
||||
|
||||
<delete id="deleteByExcelIndex" >
|
||||
delete from PQS_USEREXCELDATANOINTERGRITY t1
|
||||
where
|
||||
t1.EXCEL_INDEX=#{excelIndex}
|
||||
</delete>
|
||||
|
||||
<select id="getUserExcelDataNoIntergritys" resultType="userExcelDataNoIntegrity">
|
||||
SELECT
|
||||
T2.EXCEL_NAME EXCEL_INDEX,
|
||||
T1.USER_NAME,
|
||||
T1.LINE_NO,
|
||||
T1.LACK_DATE,
|
||||
T1.INTERGRITY
|
||||
FROM
|
||||
PQS_USEREXCELDATANOINTERGRITY t1,PQS_USEREXCELDATA t2
|
||||
WHERE
|
||||
T1.EXCEL_INDEX=T2.EXCEL_INDEX
|
||||
AND
|
||||
T1.EXCEL_INDEX=#{excelIndex}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,464 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.pqs9000.mapper.responsibility.WarningSubstationMapper">
|
||||
|
||||
<!-- <select id="getEachIndex" resultType="com.pqs9000.pojo.responsibility.WarningSubstation">-->
|
||||
<!-- SELECT-->
|
||||
<!-- area.DEPTSNAME provinceCompany,-->
|
||||
<!-- area.DIC_NAME cityCompany,-->
|
||||
<!-- sub.NAME plantName,-->
|
||||
<!-- dicdata.DIC_NAME plantVoltageLevel,-->
|
||||
<!-- basic.allLine onlineMonitorCounts,-->
|
||||
<!-- basic.overLine alertMonitorCounts,-->
|
||||
<!-- basic.aOverCounts+basic.bOverCounts+basic.cOverCounts+basic.dOverCounts+basic.eOverCounts+basic.fOverCounts+basic.gOverCounts+basic.hOverCounts+basic.iOverCounts+basic.xOverCounts+basic.yOverCounts alertCounts,-->
|
||||
<!-- ROUND(case when overLine = 0 then 0 else (basic.aOverCounts+basic.bOverCounts+basic.cOverCounts+basic.dOverCounts+basic.eOverCounts+basic.fOverCounts+basic.gOverCounts+basic.hOverCounts+basic.iOverCounts+basic.xOverCounts+basic.yOverCounts)/overLine end,2) alertAlarmFrequency,-->
|
||||
<!-- ROUND(case when basic.aOverTotal = 0 then 0 else basic.aOverCounts/aOverTotal end,2) frequencyDeviation,-->
|
||||
<!-- ROUND(case when basic.bOverTotal = 0 then 0 else basic.bOverCounts/bOverTotal end,2) voltageDeviation,-->
|
||||
<!-- ROUND(case when basic.cOverTotal = 0 then 0 else basic.cOverCounts/cOverTotal end,2) harmonicVoltage,-->
|
||||
<!-- ROUND(case when basic.dOverTotal = 0 then 0 else basic.dOverCounts/dOverTotal end,2) harmonicCurrent,-->
|
||||
<!-- ROUND(case when basic.eOverTotal = 0 then 0 else basic.eOverCounts/eOverTotal end,2) threePhaseVoltageUnbalance,-->
|
||||
<!-- ROUND(case when basic.fOverTotal = 0 then 0 else basic.fOverCounts/fOverTotal end,2) flicker,-->
|
||||
<!-- ROUND(case when basic.gOverTotal = 0 then 0 else basic.gOverCounts/gOverTotal end,2) shortInterruption,-->
|
||||
<!-- ROUND(case when basic.hOverTotal = 0 then 0 else basic.hOverCounts/hOverTotal end,2) voltageDip,-->
|
||||
<!-- ROUND(case when basic.iOverTotal = 0 then 0 else basic.iOverCounts/iOverTotal end,2) voltageSwell,-->
|
||||
<!-- ROUND(case when basic.xOverTotal = 0 then 0 else basic.xOverCounts/xOverTotal end,2) interharmonic,-->
|
||||
<!-- ROUND(case when basic.yOverTotal = 0 then 0 else basic.yOverCounts/yOverTotal end,2) negative-->
|
||||
<!-- FROM-->
|
||||
<!-- (-->
|
||||
<!-- SELECT-->
|
||||
<!-- S.SUB_INDEX,-->
|
||||
<!-- SUM(M.allLine) allLine,-->
|
||||
<!-- SUM(NVL(N.overLine, 0)) overLine,-->
|
||||
<!-- SUM(NVL(A.overCounts, 0)) aOverCounts,-->
|
||||
<!-- SUM(NVL(A.overTotal, 0)) aOverTotal,-->
|
||||
<!-- SUM(NVL(B.overCounts, 0)) bOverCounts,-->
|
||||
<!-- SUM(NVL(B.overTotal, 0)) bOverTotal,-->
|
||||
<!-- SUM(NVL(C.overCounts, 0)) cOverCounts,-->
|
||||
<!-- SUM(NVL(C.overTotal, 0)) cOverTotal,-->
|
||||
<!-- SUM(NVL(D.overCounts, 0)) dOverCounts,-->
|
||||
<!-- SUM(NVL(D.overTotal, 0)) dOverTotal,-->
|
||||
<!-- SUM(NVL(E.overCounts, 0)) eOverCounts,-->
|
||||
<!-- SUM(NVL(E.overTotal, 0)) eOverTotal,-->
|
||||
<!-- SUM(NVL(E.overCounts, 0)) fOverCounts,-->
|
||||
<!-- SUM(NVL(E.overTotal, 0)) fOverTotal,-->
|
||||
<!-- SUM(NVL(G.overCounts, 0)) gOverCounts,-->
|
||||
<!-- SUM(NVL(G.overTotal, 0)) gOverTotal,-->
|
||||
<!-- SUM(NVL(H.overCounts, 0)) hOverCounts,-->
|
||||
<!-- SUM(NVL(H.overTotal, 0)) hOverTotal,-->
|
||||
<!-- SUM(NVL(I.overCounts, 0)) iOverCounts,-->
|
||||
<!-- SUM(NVL(I.overTotal, 0)) iOverTotal,-->
|
||||
<!-- SUM(NVL(X.overCounts, 0)) xOverCounts,-->
|
||||
<!-- SUM(NVL(X.overTotal, 0)) xOverTotal,-->
|
||||
<!-- SUM(NVL(Y.overCounts, 0)) yOverCounts,-->
|
||||
<!-- SUM(NVL(Y.overTotal, 0)) yOverTotal-->
|
||||
<!-- FROM-->
|
||||
<!-- (select-->
|
||||
<!-- count(distinct c.myindex) allLine, c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c,-->
|
||||
<!-- PQS_DICDATA dic,-->
|
||||
<!-- PQ_SUBSTATION sub,-->
|
||||
<!-- PQ_LINE line-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex IN-->
|
||||
<!-- <foreach collection="list" item="list1" open="(" close=")" separator=",">-->
|
||||
<!-- #{list1}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and c.phasic_type = 'T'-->
|
||||
<!-- <if test="level!=null and level!=''">-->
|
||||
<!-- AND dic.DIC_INDEX = sub.SCALE AND dic.DIC_INDEX = #{level}-->
|
||||
<!-- </if>-->
|
||||
<!-- AND line.LINE_INDEX = c.MYINDEX AND line.SUB_INDEX = sub.SUB_INDEX GROUP BY c.myindex-->
|
||||
<!-- UNION-->
|
||||
<!-- SELECT-->
|
||||
<!-- NVL(COUNT(DISTINCT(A.LINEID)), 0) overTotal,A.LINEID-->
|
||||
<!-- FROM-->
|
||||
<!-- PQS_EVENTDETAIL A,-->
|
||||
<!-- PQ_SUBSTATION B,-->
|
||||
<!-- PQ_LINE C-->
|
||||
<!-- WHERE-->
|
||||
<!-- A.WAVETYPE IN (1,2,3) AND A.TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- AND-->
|
||||
<!-- A.LINEID IN-->
|
||||
<!-- <foreach collection="list" item="a" open="(" close=")" separator=",">-->
|
||||
<!-- #{a}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- <if test="level!=null and level!=''">-->
|
||||
<!-- AND-->
|
||||
<!-- A.LINEID = C.LINE_INDEX AND C.SUB_INDEX = B.SUB_INDEX-->
|
||||
<!-- AND-->
|
||||
<!-- B.SCALE = #{level}-->
|
||||
<!-- </if>-->
|
||||
<!-- GROUP BY A.LINEID-->
|
||||
<!-- ) M-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- SELECT NVL(COUNT(DISTINCT(MYINDEX)), 0) overLine,MYINDEX FROM limit_target WHERE PHASIC_TYPE = 'T'-->
|
||||
<!-- AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- AND MYINDEX IN-->
|
||||
<!-- <foreach collection="list" item="list2" open="(" close=")" separator=",">-->
|
||||
<!-- #{list2}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND (FREQ_DEV_OVERTIME>0 OR VOLTAGE_DEV_OVERTIME>0 OR UABERRANCE_OVERTIME>0 OR UHARM_2_OVERTIME>0 OR UHARM_3_OVERTIME>0 OR UHARM_4_OVERTIME>0 OR UHARM_5_OVERTIME>0 OR UHARM_6_OVERTIME>0 OR UHARM_7_OVERTIME>0 OR UHARM_8_OVERTIME>0 OR UHARM_9_OVERTIME>0 OR UHARM_10_OVERTIME>0 OR UHARM_11_OVERTIME>0 OR UHARM_12_OVERTIME>0 OR UHARM_13_OVERTIME>0 OR UHARM_14_OVERTIME>0 OR UHARM_15_OVERTIME>0 OR UHARM_16_OVERTIME>0 OR UHARM_17_OVERTIME>0 OR UHARM_18_OVERTIME>0 OR UHARM_19_OVERTIME>0 OR UHARM_20_OVERTIME>0 OR UHARM_21_OVERTIME>0 OR UHARM_22_OVERTIME>0 OR UHARM_23_OVERTIME>0 OR UHARM_24_OVERTIME>0 OR UHARM_25_OVERTIME>0 OR IHARM_2_OVERTIME>0 OR IHARM_3_OVERTIME>0 OR IHARM_4_OVERTIME>0 OR IHARM_5_OVERTIME>0 OR IHARM_6_OVERTIME>0 OR IHARM_7_OVERTIME>0 OR IHARM_8_OVERTIME>0 OR IHARM_9_OVERTIME>0 OR IHARM_10_OVERTIME>0 OR IHARM_11_OVERTIME>0 OR IHARM_12_OVERTIME>0 OR IHARM_13_OVERTIME>0 OR IHARM_14_OVERTIME>0 OR IHARM_15_OVERTIME>0 OR IHARM_16_OVERTIME>0 OR IHARM_17_OVERTIME>0 OR IHARM_18_OVERTIME>0 OR IHARM_19_OVERTIME>0 OR IHARM_20_OVERTIME>0 OR IHARM_21_OVERTIME>0 OR IHARM_22_OVERTIME>0 OR IHARM_23_OVERTIME>0 OR IHARM_24_OVERTIME>0 OR IHARM_25_OVERTIME>0 OR UBALANCE_OVERTIME>0 OR FLICKER_OVERTIME>0 OR I_NEG_OVERTIME>0 OR INUHARM_1_OVERTIME>0 OR INUHARM_2_OVERTIME>0 OR INUHARM_3_OVERTIME>0 OR INUHARM_4_OVERTIME>0 OR INUHARM_5_OVERTIME>0 OR INUHARM_6_OVERTIME>0 OR INUHARM_7_OVERTIME>0 OR INUHARM_8_OVERTIME>0 OR INUHARM_9_OVERTIME>0 OR INUHARM_10_OVERTIME>0 OR INUHARM_11_OVERTIME>0 OR INUHARM_12_OVERTIME>0 OR INUHARM_13_OVERTIME>0 OR INUHARM_14_OVERTIME>0 OR INUHARM_15_OVERTIME>0 OR INUHARM_16_OVERTIME>0) GROUP BY MYINDEX-->
|
||||
<!-- UNION-->
|
||||
<!-- SELECT-->
|
||||
<!-- NVL(COUNT(DISTINCT(LINEID)), 0) overTotal,LINEID-->
|
||||
<!-- FROM-->
|
||||
<!-- PQS_EVENTDETAIL-->
|
||||
<!-- WHERE-->
|
||||
<!-- WAVETYPE IN (1,2,3) AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- AND LINEID IN-->
|
||||
<!-- <foreach collection="list" item="b" open="(" close=")" separator=",">-->
|
||||
<!-- #{b}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- GROUP BY LINEID-->
|
||||
<!-- ) N-->
|
||||
<!-- ON M.MYINDEX = N.MYINDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- SELECT pqline.LINE_INDEX,sub.SUB_INDEX FROM PQ_SUBSTATION sub,PQ_LINE pqline,PQS_DICDATA dic-->
|
||||
<!-- WHERE pqline.LINE_INDEX IN-->
|
||||
<!-- <foreach collection="list" item="list3" open="(" close=")" separator=",">-->
|
||||
<!-- #{list3}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND pqline.SUB_INDEX = sub.SUB_INDEX AND sub.SCALE = dic.DIC_INDEX GROUP BY pqline.LINE_INDEX,sub.SUB_INDEX-->
|
||||
<!-- ) S ON M.MYINDEX = S.LINE_INDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal, NVL(sum(Freq_Dev_OverTime), 0) overCounts,MYINDEX-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in-->
|
||||
<!-- <foreach collection="list" item="list4" open="(" close=")" separator=",">-->
|
||||
<!-- #{list4}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and-->
|
||||
<!-- c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and-->
|
||||
<!-- c.phasic_type = 'T' and FREQ_DEV_OVERTIME > 0 GROUP BY MYINDEX-->
|
||||
<!-- ) A-->
|
||||
<!-- ON M.MYINDEX = A.MYINDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal, NVL(sum(VOLTAGE_DEV_OVERTIME), 0) overCounts,c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in-->
|
||||
<!-- <foreach collection="list" item="list5" open="(" close=")" separator=",">-->
|
||||
<!-- #{list5}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and-->
|
||||
<!-- c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and-->
|
||||
<!-- c.phasic_type = 'T' and VOLTAGE_DEV_OVERTIME > 0 GROUP BY c.myindex-->
|
||||
<!-- ) B-->
|
||||
<!-- ON M.MYINDEX = B.MYINDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal,NVL(sum(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),0) overCounts,c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in-->
|
||||
<!-- <foreach collection="list" item="list6" open="(" close=")" separator=",">-->
|
||||
<!-- #{list6}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and c.phasic_type = 'T' and (UABERRANCE_OVERTIME>0 OR UHARM_2_OVERTIME>0 OR UHARM_3_OVERTIME>0 OR UHARM_4_OVERTIME>0 OR UHARM_5_OVERTIME>0 OR UHARM_6_OVERTIME>0 OR UHARM_7_OVERTIME>0 OR UHARM_8_OVERTIME>0 OR UHARM_9_OVERTIME>0 OR UHARM_10_OVERTIME>0 OR UHARM_11_OVERTIME>0 OR UHARM_12_OVERTIME>0 OR UHARM_13_OVERTIME>0 OR UHARM_14_OVERTIME>0 OR UHARM_15_OVERTIME>0 OR UHARM_16_OVERTIME>0 OR UHARM_17_OVERTIME>0 OR UHARM_18_OVERTIME>0 OR UHARM_19_OVERTIME>0 OR UHARM_20_OVERTIME>0 OR UHARM_21_OVERTIME>0 OR UHARM_22_OVERTIME>0 OR UHARM_23_OVERTIME>0 OR UHARM_24_OVERTIME>0 OR UHARM_25_OVERTIME>0) GROUP BY c.myindex-->
|
||||
<!-- ) C-->
|
||||
<!-- ON M.MYINDEX = C.MYINDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal,NVL(sum(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), 0) overCounts,c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in <foreach collection="list" item="list7" open="(" close=")" separator=",">-->
|
||||
<!-- #{list7}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and c.phasic_type = 'T' and (IHARM_2_OVERTIME>0 OR IHARM_3_OVERTIME>0 OR IHARM_4_OVERTIME>0 OR IHARM_5_OVERTIME>0 OR IHARM_6_OVERTIME>0 OR IHARM_7_OVERTIME>0 OR IHARM_8_OVERTIME>0 OR IHARM_9_OVERTIME>0 OR IHARM_10_OVERTIME>0 OR IHARM_11_OVERTIME>0 OR IHARM_12_OVERTIME>0 OR IHARM_13_OVERTIME>0 OR IHARM_14_OVERTIME>0 OR IHARM_15_OVERTIME>0 OR IHARM_16_OVERTIME>0 OR IHARM_17_OVERTIME>0 OR IHARM_18_OVERTIME>0 OR IHARM_19_OVERTIME>0 OR IHARM_20_OVERTIME>0 OR IHARM_21_OVERTIME>0 OR IHARM_22_OVERTIME>0 OR IHARM_23_OVERTIME>0 OR IHARM_24_OVERTIME>0 OR IHARM_25_OVERTIME>0) GROUP BY c.myindex-->
|
||||
<!-- ) D-->
|
||||
<!-- ON M.MYINDEX = D.MYINDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal,NVL(sum(UBALANCE_OVERTIME),0) overCounts,c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in <foreach collection="list" item="list8" open="(" close=")" separator=",">-->
|
||||
<!-- #{list8}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and c.phasic_type = 'T' and UBALANCE_OVERTIME>0 GROUP BY c.myindex-->
|
||||
<!-- ) E-->
|
||||
<!-- ON M.MYINDEX = E.MYINDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal,NVL(sum(FLICKER_OVERTIME),0) overCounts,c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in <foreach collection="list" item="list9" open="(" close=")" separator=",">-->
|
||||
<!-- #{list9}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and c.phasic_type = 'T' and FLICKER_OVERTIME>0 GROUP BY c.myindex-->
|
||||
<!-- ) F-->
|
||||
<!-- ON M.MYINDEX = F.MYINDEX-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- SELECT-->
|
||||
<!-- NVL(COUNT(DISTINCT(LINEID)), 0) overTotal,NVL(COUNT(LINEID), 0) overCounts,LINEID-->
|
||||
<!-- FROM-->
|
||||
<!-- PQS_EVENTDETAIL-->
|
||||
<!-- WHERE-->
|
||||
<!-- WAVETYPE = 3-->
|
||||
<!-- AND LINEID IN <foreach collection="list" item="list10" open="(" close=")" separator=",">-->
|
||||
<!-- #{list10}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS') GROUP BY LINEID-->
|
||||
<!-- ) G-->
|
||||
<!-- ON M.MYINDEX = G.LINEID-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- SELECT-->
|
||||
<!-- NVL(COUNT(DISTINCT(LINEID)), 0) overTotal,NVL(COUNT(LINEID), 0) overCounts,LINEID-->
|
||||
<!-- FROM-->
|
||||
<!-- PQS_EVENTDETAIL-->
|
||||
<!-- WHERE-->
|
||||
<!-- WAVETYPE = 1-->
|
||||
<!-- AND LINEID IN <foreach collection="list" item="list11" open="(" close=")" separator=",">-->
|
||||
<!-- #{list11}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS') GROUP BY LINEID-->
|
||||
<!-- ) H-->
|
||||
<!-- ON M.MYINDEX = H.LINEID-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- SELECT-->
|
||||
<!-- NVL(COUNT(DISTINCT(LINEID)), 0) overTotal,NVL(COUNT(LINEID), 0) overCounts,LINEID-->
|
||||
<!-- FROM-->
|
||||
<!-- PQS_EVENTDETAIL-->
|
||||
<!-- WHERE-->
|
||||
<!-- WAVETYPE = 2-->
|
||||
<!-- AND LINEID IN <foreach collection="list" item="list12" open="(" close=")" separator=",">-->
|
||||
<!-- #{list12}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND TIMEID BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS') GROUP BY LINEID-->
|
||||
<!-- ) I-->
|
||||
<!-- ON M.MYINDEX = I.LINEID-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal,NVL(sum(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) overCounts,c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in <foreach collection="list" item="list13" open="(" close=")" separator=",">-->
|
||||
<!-- #{list13}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and c.phasic_type = 'T' and (INUHARM_1_OVERTIME>0 OR INUHARM_2_OVERTIME>0 OR INUHARM_3_OVERTIME>0 OR INUHARM_4_OVERTIME>0 OR INUHARM_5_OVERTIME>0 OR INUHARM_6_OVERTIME>0 OR INUHARM_7_OVERTIME>0 OR INUHARM_8_OVERTIME>0 OR INUHARM_9_OVERTIME>0 OR INUHARM_10_OVERTIME>0 OR INUHARM_11_OVERTIME>0 OR INUHARM_12_OVERTIME>0 OR INUHARM_13_OVERTIME>0 OR INUHARM_14_OVERTIME>0 OR INUHARM_15_OVERTIME>0 OR INUHARM_16_OVERTIME>0) GROUP BY c.myindex-->
|
||||
<!-- ) X-->
|
||||
<!-- ON M.MYINDEX = X.myindex-->
|
||||
<!-- LEFT JOIN-->
|
||||
<!-- (-->
|
||||
<!-- select-->
|
||||
<!-- count(distinct c.myindex) overTotal, NVL(sum(I_Neg_OverTime), 0) overCounts,c.myindex-->
|
||||
<!-- from-->
|
||||
<!-- limit_target c-->
|
||||
<!-- where-->
|
||||
<!-- c.myindex in <foreach collection="list" item="list14" open="(" close=")" separator=",">-->
|
||||
<!-- #{list14}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and-->
|
||||
<!-- c.timeid BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{endTime}, 'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- and-->
|
||||
<!-- c.phasic_type = 'T' and I_Neg_OverTime > 0 GROUP BY c.myindex-->
|
||||
<!-- ) Y-->
|
||||
<!-- ON M.MYINDEX = Y.myindex-->
|
||||
<!-- GROUP BY S.SUB_INDEX-->
|
||||
<!-- ) basic,-->
|
||||
<!-- PQ_SUBSTATION sub,-->
|
||||
<!-- PQS_DICDATA dicdata,-->
|
||||
<!-- (-->
|
||||
<!-- SELECT A.SUB_INDEX,A.DIC_NAME,B.DEPTSNAME FROM-->
|
||||
<!-- (-->
|
||||
<!-- SELECT-->
|
||||
<!-- D.SUB_INDEX,C.DIC_NAME,B.PARENTNODEID-->
|
||||
<!-- FROM-->
|
||||
<!-- PQS_DEPTSLINE A,-->
|
||||
<!-- PQS_DEPTS B,-->
|
||||
<!-- PQS_DICDATA C,-->
|
||||
<!-- PQ_SUBSTATION D,-->
|
||||
<!-- PQ_LINE E-->
|
||||
<!-- WHERE-->
|
||||
<!-- A.LINE_INDEX IN-->
|
||||
<!-- <foreach collection="list" item="list15" open="(" close=")" separator=",">-->
|
||||
<!-- #{list15}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- AND A.DEPTS_INDEX = B.DEPTS_INDEX AND B.CUSTOM_DEPT = 0 AND B.AREA = C.DIC_INDEX AND A.LINE_INDEX = E.LINE_INDEX AND E.SUB_INDEX = D.SUB_INDEX GROUP BY D.SUB_INDEX-->
|
||||
<!-- ,D.NAME,C.DIC_NAME,PARENTNODEID-->
|
||||
<!-- )A,-->
|
||||
<!-- PQS_DEPTS B-->
|
||||
<!-- WHERE A.PARENTNODEID = DEPTS_INDEX-->
|
||||
<!-- ) area-->
|
||||
<!-- WHERE basic.SUB_INDEX = sub.SUB_INDEX AND sub.SCALE = dicdata.DIC_INDEX AND basic.SUB_INDEX = area.SUB_INDEX-->
|
||||
<!-- AND (basic.aOverCounts+basic.bOverCounts+basic.cOverCounts+basic.dOverCounts+basic.eOverCounts+basic.fOverCounts+basic.gOverCounts+basic.hOverCounts+basic.iOverCounts+basic.xOverCounts+basic.yOverCounts) >0 ORDER BY area.DEPTSNAME,area.DIC_NAME-->
|
||||
<!-- </select>-->
|
||||
|
||||
|
||||
<select id="getEachIndex" resultType="com.pqs9000.pojo.responsibility.WarningSubstation">
|
||||
WITH t0 AS (
|
||||
SELECT
|
||||
MYINDEX,
|
||||
--频率偏差
|
||||
SUM( FREQ_DEV_OVERTIME ) frequencyDeviation,
|
||||
--电压偏差
|
||||
SUM( VOLTAGE_DEV_OVERTIME ) voltageDeviation,
|
||||
--谐波电压
|
||||
SUM(
|
||||
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
|
||||
) harmonicVoltage,
|
||||
--谐波电流
|
||||
SUM(
|
||||
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
|
||||
) harmonicCurrent,
|
||||
--三项电压不平衡度
|
||||
SUM( UBALANCE_OVERTIME ) threePhaseVoltageUnbalance,
|
||||
--闪变
|
||||
SUM( FLICKER_OVERTIME ) flicker,
|
||||
--负序电流
|
||||
SUM( I_Neg_OverTime ) negative,
|
||||
--间谐波电压
|
||||
SUM(
|
||||
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
|
||||
) interharmonic
|
||||
FROM
|
||||
LIMIT_TARGET
|
||||
WHERE
|
||||
timeid BETWEEN TO_DATE( #{startTime}, 'yyyy-MM-dd' )
|
||||
AND TO_DATE( #{endTime}, 'yyyy-MM-dd' )
|
||||
AND myindex IN
|
||||
<foreach collection="list" item="list1" open="(" close=")" separator=",">
|
||||
#{list1}
|
||||
</foreach>
|
||||
GROUP BY
|
||||
MYINDEX
|
||||
),
|
||||
t1 AS (
|
||||
SELECT
|
||||
LINEID,
|
||||
SUM( CASE WHEN WAVETYPE = 1 THEN 1 ELSE 0 END ) voltageDip,
|
||||
SUM( CASE WHEN WAVETYPE = 2 THEN 1 ELSE 0 END ) voltageSwell,
|
||||
SUM( CASE WHEN WAVETYPE = 3 THEN 1 ELSE 0 END ) shortInterruption
|
||||
FROM
|
||||
PQS_EVENTDETAIL
|
||||
WHERE
|
||||
timeid BETWEEN TO_DATE( #{startTime}, 'yyyy-MM-dd' )
|
||||
AND TO_DATE( #{endTime}, 'yyyy-MM-dd' )
|
||||
AND WAVETYPE IN ( 1, 2, 3 )
|
||||
AND LINEID IN
|
||||
<foreach collection="list" item="list2" open="(" close=")" separator=",">
|
||||
#{list2}
|
||||
</foreach>
|
||||
GROUP BY
|
||||
LINEID
|
||||
),
|
||||
t2 AS (
|
||||
SELECT
|
||||
A.SUB_INDEX,
|
||||
COUNT( MYINDEX ) onlineMonitorCounts,
|
||||
SUM(
|
||||
CASE
|
||||
|
||||
WHEN (
|
||||
NVL( t0.FREQUENCYDEVIATION, 0 ) > 0
|
||||
OR NVL( t0.voltageDeviation, 0 ) > 0
|
||||
OR NVL( t0.harmonicVoltage, 0 ) > 0
|
||||
OR NVL( t0.harmonicCurrent, 0 ) > 0
|
||||
OR NVL( t0.threePhaseVoltageUnbalance, 0 ) > 0
|
||||
OR NVL( t0.flicker, 0 ) > 0
|
||||
OR NVL( t0.negative, 0 ) > 0
|
||||
OR NVL( t0.interharmonic, 0 ) > 0
|
||||
OR NVL( t1.SHORTINTERRUPTION, 0 ) > 0
|
||||
OR NVL( t1.VOLTAGEDIP, 0 ) > 0
|
||||
OR NVL( t1.VOLTAGESWELL, 0 ) > 0
|
||||
) THEN
|
||||
1 ELSE 0
|
||||
END
|
||||
) alertMonitorCounts,
|
||||
SUM(
|
||||
NVL( t0.FREQUENCYDEVIATION, 0 ) + NVL( t0.voltageDeviation, 0 ) + NVL( t0.harmonicVoltage, 0 ) + NVL( t0.harmonicCurrent, 0 ) + NVL( t0.threePhaseVoltageUnbalance, 0 ) + NVL( t0.flicker, 0 ) + NVL( t0.negative, 0 ) + NVL( t0.interharmonic, 0 ) + NVL( t1.SHORTINTERRUPTION, 0 ) + NVL( t1.VOLTAGEDIP, 0 ) + NVL( t1.VOLTAGESWELL, 0 )
|
||||
) alarmTimes,
|
||||
SUM( CASE WHEN NVL( t0.FREQUENCYDEVIATION, 0 ) > 0 THEN 1 ELSE 0 END ) count1,
|
||||
SUM( NVL( t0.FREQUENCYDEVIATION, 0 ) ) times1,
|
||||
SUM( CASE WHEN NVL( t0.voltageDeviation, 0 ) > 0 THEN 1 ELSE 0 END ) count2,
|
||||
SUM( NVL( t0.voltageDeviation, 0 ) ) times2,
|
||||
SUM( CASE WHEN NVL( t0.harmonicVoltage, 0 ) > 0 THEN 1 ELSE 0 END ) count3,
|
||||
SUM( NVL( t0.harmonicVoltage, 0 ) ) times3,
|
||||
SUM( CASE WHEN NVL( t0.harmonicCurrent, 0 ) > 0 THEN 1 ELSE 0 END ) count4,
|
||||
SUM( NVL( t0.harmonicCurrent, 0 ) ) times4,
|
||||
SUM( CASE WHEN NVL( t0.threePhaseVoltageUnbalance, 0 ) > 0 THEN 1 ELSE 0 END ) count5,
|
||||
SUM( NVL( t0.threePhaseVoltageUnbalance, 0 ) ) times5,
|
||||
SUM( CASE WHEN NVL( t0.flicker, 0 ) > 0 THEN 1 ELSE 0 END ) count6,
|
||||
SUM( NVL( t0.flicker, 0 ) ) times6,
|
||||
SUM( CASE WHEN NVL( t0.negative, 0 ) > 0 THEN 1 ELSE 0 END ) count7,
|
||||
SUM( NVL( t0.negative, 0 ) ) times7,
|
||||
SUM( CASE WHEN NVL( t0.interharmonic, 0 ) > 0 THEN 1 ELSE 0 END ) count8,
|
||||
SUM( NVL( t0.interharmonic, 0 ) ) times8,
|
||||
SUM( CASE WHEN NVL( t1.SHORTINTERRUPTION, 0 ) > 0 THEN 1 ELSE 0 END ) count9,
|
||||
SUM( NVL( t1.SHORTINTERRUPTION, 0 ) ) times9,
|
||||
SUM( CASE WHEN NVL( t1.VOLTAGEDIP, 0 ) > 0 THEN 1 ELSE 0 END ) count10,
|
||||
SUM( NVL( t1.VOLTAGEDIP, 0 ) ) times10,
|
||||
SUM( CASE WHEN NVL( t1.VOLTAGESWELL, 0 ) > 0 THEN 1 ELSE 0 END ) count11,
|
||||
SUM( NVL( t1.VOLTAGESWELL, 0 ) ) times11
|
||||
FROM
|
||||
t0
|
||||
FULL JOIN t1 ON t0.MYINDEX = t1.LINEID
|
||||
LEFT JOIN PQ_LINE A ON t0.MYINDEX = A.LINE_INDEX
|
||||
GROUP BY
|
||||
A.SUB_INDEX
|
||||
)
|
||||
SELECT
|
||||
C.NAME cityCompany,
|
||||
A.NAME plantName,
|
||||
B.DIC_NAME plantVoltageLevel,
|
||||
t2.onlineMonitorCounts,
|
||||
t2.alertMonitorCounts,
|
||||
t2.ALARMTIMES alertCounts,
|
||||
CASE WHEN t2.alertMonitorCounts = 0 THEN 0 ELSE ROUND(t2.ALARMTIMES/t2.alertMonitorCounts, 2) END alertAlarmFrequency,
|
||||
CASE WHEN t2.count1 = 0 THEN 0 ELSE ROUND(t2.times1/t2.count1, 2) END frequencyDeviation,
|
||||
CASE WHEN t2.count2 = 0 THEN 0 ELSE ROUND(t2.times2/t2.count2, 2) END voltageDeviation,
|
||||
CASE WHEN t2.count3 = 0 THEN 0 ELSE ROUND(t2.times3/t2.count3, 2) END harmonicVoltage,
|
||||
CASE WHEN t2.count4 = 0 THEN 0 ELSE ROUND(t2.times4/t2.count4, 2) END harmonicCurrent,
|
||||
CASE WHEN t2.count5 = 0 THEN 0 ELSE ROUND(t2.times5/t2.count5, 2) END threePhaseVoltageUnbalance,
|
||||
CASE WHEN t2.count6 = 0 THEN 0 ELSE ROUND(t2.times6/t2.count6, 2) END flicker,
|
||||
CASE WHEN t2.count7 = 0 THEN 0 ELSE ROUND(t2.times7/t2.count7, 2) END negative,
|
||||
CASE WHEN t2.count8 = 0 THEN 0 ELSE ROUND(t2.times8/t2.count8, 2) END interharmonic,
|
||||
CASE WHEN t2.count9 = 0 THEN 0 ELSE ROUND(t2.times9/t2.count9, 2) END shortInterruption,
|
||||
CASE WHEN t2.count10 = 0 THEN 0 ELSE ROUND(t2.times10/t2.count10, 2) END voltageDip,
|
||||
CASE WHEN t2.count11 = 0 THEN 0 ELSE ROUND(t2.times11/t2.count11, 2) END voltageSwell
|
||||
FROM
|
||||
t2,
|
||||
PQ_SUBSTATION A,
|
||||
PQS_DICDATA B,
|
||||
PQ_GDINFORMATION C
|
||||
WHERE t2.SUB_INDEX = A.SUB_INDEX and A.SCALE = B.DIC_INDEX and A.GD_INDEX = C.GD_INDEX
|
||||
<if test="level!=null and level!=''">
|
||||
AND A.SCALE = #{level}
|
||||
</if>
|
||||
order by t2.ALARMTIMES desc
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user