659 lines
29 KiB
XML
659 lines
29 KiB
XML
|
|
<?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>
|