1.算法调整

2.bug修改
This commit is contained in:
wr
2024-03-14 18:04:45 +08:00
parent c9e369e7bd
commit fd57278abe
9 changed files with 226 additions and 239 deletions

View File

@@ -17,8 +17,7 @@
</resultMap>
<select id="getMstatOrgBusbarVoltageVO" resultType="com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO">
SELECT aa.org_no,
aa.station_name powerStationName,
aa.scale busbarVoltageLevel,
aa.busbarId ,
ifnull(aa.average,0) average,
ifnull(aa.accrued,0) accrued,
ifnull(aa.unbalanceAverage,0) unbalanceAverage,
@@ -34,68 +33,60 @@
FROM
(
SELECT b.org_no org_no,
a.Station_Name station_name,
a.scale scale,
b.busbar_id busbarId,
avg(b.v_average) AS average,
sum(b.v_accrued) AS accrued,
avg(b.unbalance_average) unbalanceAverage,
sum(b.unbalance_accrued) unbalanceAccrued,
avg(b.flicker_average) flickerAverage,
sum(b.flicker_average) flickerAccrued
FROM r_stat_org_busbar_voltage_m b,
pms_generatrix_wire a
WHERE
a.id = b.busbar_id
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND b.data_date >= #{param.startTime}
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND b.data_date &lt;= #{param.endTime}
</if>
FROM r_stat_org_busbar_voltage_m b
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND b.data_date >= #{param.startTime}
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND b.data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY org_no,
station_name,
scale
) aa
LEFT JOIN (
busbar_id
) aa
LEFT JOIN (
SELECT b.org_no org_no,
a.Station_Name station_name,
a.scale scale,
b.busbar_id busbarId,
avg(b.v_average) AS averageSame,
sum(b.v_accrued) AS accruedSame,
avg(b.unbalance_average) unbalanceAverageSame,
sum(b.unbalance_accrued) unbalanceAccruedSame,
avg(b.flicker_average) flickerAverageSame,
sum(b.flicker_average) flickerAccruedSame
FROM r_stat_org_busbar_voltage_m b,
pms_generatrix_wire a
WHERE
a.id = b.busbar_id
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND (b.data_date >= date(
FROM r_stat_org_busbar_voltage_m b
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND (b.data_date >= date(
DATE_ADD(#{param.startTime}, INTERVAL - 1 YEAR)))
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND (b.data_date &lt;= date(
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND (b.data_date &lt;= date(
DATE_ADD(#{param.endTime}, INTERVAL - 1 YEAR)))
</if>
</if>
</where>
GROUP BY b.org_no,
a.Station_Name,
a.scale
) bb ON aa.org_no = bb.org_no
AND aa.station_name = bb.station_name
AND aa.scale = bb.scale
b.busbar_id
) bb ON aa.org_no = bb.org_no AND aa.busbarId = bb.busbarId
</select>
</mapper>

View File

@@ -17,85 +17,76 @@
</resultMap>
<select id="getQstatOrgBusbarVoltageVO" resultType="com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO">
SELECT aa.org_no,
aa.station_name powerStationName,
aa.scale busbarVoltageLevel,
ifnull(aa.average,0) average,
ifnull(aa.accrued,0) accrued,
ifnull(aa.unbalanceAverage,0) unbalanceAverage,
ifnull(aa.unbalanceAccrued,0) unbalanceAccrued,
ifnull(aa.flickerAverage,0) flickerAverage,
ifnull(aa.flickerAccrued,0) flickerAccrued,
ifnull(bb.averageSame,0) averageSame,
ifnull(bb.accruedSame,0) accruedSame,
ifnull(bb.unbalanceAverageSame,0) unbalanceAverageSame,
ifnull(bb.unbalanceAccruedSame,0) unbalanceAccruedSame,
ifnull(bb.flickerAverageSame,0) flickerAverageSame,
ifnull(bb.flickerAccruedSame,0) flickerAccruedSame
FROM
(
SELECT b.org_no org_no,
a.Station_Name station_name,
a.scale scale,
avg(b.v_average) AS average,
sum(b.v_accrued) AS accrued,
avg(b.unbalance_average) unbalanceAverage,
sum(b.unbalance_accrued) unbalanceAccrued,
avg(b.flicker_average) flickerAverage,
sum(b.flicker_average) flickerAccrued
FROM r_stat_org_busbar_voltage_q b,
pms_generatrix_wire a
WHERE
a.id = b.busbar_id
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND b.data_date >= #{param.startTime}
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND b.data_date &lt;= #{param.endTime}
</if>
aa.busbarId ,
ifnull(aa.average,0) average,
ifnull(aa.accrued,0) accrued,
ifnull(aa.unbalanceAverage,0) unbalanceAverage,
ifnull(aa.unbalanceAccrued,0) unbalanceAccrued,
ifnull(aa.flickerAverage,0) flickerAverage,
ifnull(aa.flickerAccrued,0) flickerAccrued,
ifnull(bb.averageSame,0) averageSame,
ifnull(bb.accruedSame,0) accruedSame,
ifnull(bb.unbalanceAverageSame,0) unbalanceAverageSame,
ifnull(bb.unbalanceAccruedSame,0) unbalanceAccruedSame,
ifnull(bb.flickerAverageSame,0) flickerAverageSame,
ifnull(bb.flickerAccruedSame,0) flickerAccruedSame
FROM
(
SELECT b.org_no org_no,
b.busbar_id busbarId,
avg(b.v_average) AS average,
sum(b.v_accrued) AS accrued,
avg(b.unbalance_average) unbalanceAverage,
sum(b.unbalance_accrued) unbalanceAccrued,
avg(b.flicker_average) flickerAverage,
sum(b.flicker_average) flickerAccrued
FROM r_stat_org_busbar_voltage_q b
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND b.data_date >= #{param.startTime}
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND b.data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY org_no,
station_name,
scale
) aa
LEFT JOIN (
SELECT b.org_no org_no,
a.Station_Name station_name,
a.scale scale,
avg(b.v_average) AS averageSame,
sum(b.v_accrued) AS accruedSame,
avg(b.unbalance_average) unbalanceAverageSame,
sum(b.unbalance_accrued) unbalanceAccruedSame,
avg(b.flicker_average) flickerAverageSame,
sum(b.flicker_average) flickerAccruedSame
FROM r_stat_org_busbar_voltage_q b,
pms_generatrix_wire a
WHERE
a.id = b.busbar_id
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND (b.data_date >= date(
DATE_ADD(#{param.startTime}, INTERVAL - 1 YEAR)))
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND (b.data_date &lt;= date(
DATE_ADD(#{param.endTime}, INTERVAL - 1 YEAR)))
</if>
busbar_id
) aa
LEFT JOIN (
SELECT b.org_no org_no,
b.busbar_id busbarId,
avg(b.v_average) AS averageSame,
sum(b.v_accrued) AS accruedSame,
avg(b.unbalance_average) unbalanceAverageSame,
sum(b.unbalance_accrued) unbalanceAccruedSame,
avg(b.flicker_average) flickerAverageSame,
sum(b.flicker_average) flickerAccruedSame
FROM r_stat_org_busbar_voltage_q b
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND (b.data_date >= date(
DATE_ADD(#{param.startTime}, INTERVAL - 1 YEAR)))
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND (b.data_date &lt;= date(
DATE_ADD(#{param.endTime}, INTERVAL - 1 YEAR)))
</if>
</where>
GROUP BY b.org_no,
a.Station_Name,
a.scale
) bb ON aa.org_no = bb.org_no
AND aa.station_name = bb.station_name
AND aa.scale = bb.scale
b.busbar_id
) bb ON aa.org_no = bb.org_no AND aa.busbarId = bb.busbarId
</select>

View File

@@ -16,84 +16,75 @@
</resultMap>
<select id="getYstatOrgBusbarVoltageVO" resultType="com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO">
SELECT aa.org_no,
aa.station_name powerStationName,
aa.scale busbarVoltageLevel,
ifnull(aa.average,0) average,
ifnull(aa.accrued,0) accrued,
ifnull(aa.unbalanceAverage,0) unbalanceAverage,
ifnull(aa.unbalanceAccrued,0) unbalanceAccrued,
ifnull(aa.flickerAverage,0) flickerAverage,
ifnull(aa.flickerAccrued,0) flickerAccrued,
ifnull(bb.averageSame,0) averageSame,
ifnull(bb.accruedSame,0) accruedSame,
ifnull(bb.unbalanceAverageSame,0) unbalanceAverageSame,
ifnull(bb.unbalanceAccruedSame,0) unbalanceAccruedSame,
ifnull(bb.flickerAverageSame,0) flickerAverageSame,
ifnull(bb.flickerAccruedSame,0) flickerAccruedSame
aa.busbarId ,
ifnull(aa.average,0) average,
ifnull(aa.accrued,0) accrued,
ifnull(aa.unbalanceAverage,0) unbalanceAverage,
ifnull(aa.unbalanceAccrued,0) unbalanceAccrued,
ifnull(aa.flickerAverage,0) flickerAverage,
ifnull(aa.flickerAccrued,0) flickerAccrued,
ifnull(bb.averageSame,0) averageSame,
ifnull(bb.accruedSame,0) accruedSame,
ifnull(bb.unbalanceAverageSame,0) unbalanceAverageSame,
ifnull(bb.unbalanceAccruedSame,0) unbalanceAccruedSame,
ifnull(bb.flickerAverageSame,0) flickerAverageSame,
ifnull(bb.flickerAccruedSame,0) flickerAccruedSame
FROM
(
SELECT b.org_no org_no,
a.Station_Name station_name,
a.scale scale,
avg(b.v_average) AS average,
sum(b.v_accrued) AS accrued,
avg(b.unbalance_average) unbalanceAverage,
sum(b.unbalance_accrued) unbalanceAccrued,
avg(b.flicker_average) flickerAverage,
sum(b.flicker_average) flickerAccrued
FROM r_stat_org_busbar_voltage_y b,
pms_generatrix_wire a
WHERE
a.id = b.busbar_id
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND b.data_date >= #{param.startTime}
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND b.data_date &lt;= #{param.endTime}
</if>
b.busbar_id busbarId,
avg(b.v_average) AS average,
sum(b.v_accrued) AS accrued,
avg(b.unbalance_average) unbalanceAverage,
sum(b.unbalance_accrued) unbalanceAccrued,
avg(b.flicker_average) flickerAverage,
sum(b.flicker_average) flickerAccrued
FROM r_stat_org_busbar_voltage_y b
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND b.data_date >= #{param.startTime}
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND b.data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY org_no,
station_name,
scale
) aa
LEFT JOIN (
SELECT b.org_no org_no,
a.Station_Name station_name,
a.scale scale,
avg(b.v_average) AS averageSame,
sum(b.v_accrued) AS accruedSame,
avg(b.unbalance_average) unbalanceAverageSame,
sum(b.unbalance_accrued) unbalanceAccruedSame,
avg(b.flicker_average) flickerAverageSame,
sum(b.flicker_average) flickerAccruedSame
FROM r_stat_org_busbar_voltage_y b,
pms_generatrix_wire a
WHERE
a.id = b.busbar_id
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND (b.data_date >= date(
DATE_ADD(#{param.startTime}, INTERVAL - 1 YEAR)))
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND (b.data_date &lt;= date(
DATE_ADD(#{param.endTime}, INTERVAL - 1 YEAR)))
</if>
busbar_id
) aa
LEFT JOIN (
SELECT b.org_no org_no,
b.busbar_id busbarId,
avg(b.v_average) AS averageSame,
sum(b.v_accrued) AS accruedSame,
avg(b.unbalance_average) unbalanceAverageSame,
sum(b.unbalance_accrued) unbalanceAccruedSame,
avg(b.flicker_average) flickerAverageSame,
sum(b.flicker_average) flickerAccruedSame
FROM r_stat_org_busbar_voltage_y b
<where>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND b.org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param != null and param.startTime != null and param.startTime != ''">
AND (b.data_date >= date(
DATE_ADD(#{param.startTime}, INTERVAL - 1 YEAR)))
</if>
<if test="param != null and param.endTime != null and param.endTime != ''">
AND (b.data_date &lt;= date(
DATE_ADD(#{param.endTime}, INTERVAL - 1 YEAR)))
</if>
</where>
GROUP BY b.org_no,
a.Station_Name,
a.scale
) bb ON aa.org_no = bb.org_no
AND aa.station_name = bb.station_name
AND aa.scale = bb.scale
b.busbar_id
) bb ON aa.org_no = bb.org_no AND aa.busbarId = bb.busbarId
</select>
</mapper>