464 lines
28 KiB
XML
464 lines
28 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.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>
|