添加谐波报告功能
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package com.njcn.harmonic.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatDataIDPO;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2023-04-17
|
||||
*/
|
||||
public interface RStatDataIDMapper extends BaseMapper<RStatDataIDPO> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
package com.njcn.harmonic.mapper;
|
||||
|
||||
import com.njcn.harmonic.pojo.param.ReportQueryParam;
|
||||
import com.njcn.harmonic.pojo.vo.ReportValue;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 谐波报告查询
|
||||
*/
|
||||
public interface ReportMapper {
|
||||
/**
|
||||
* 获取电流有效值
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getVirtualDataI(@Param("param") ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 获取电压有效值
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getVirtualDataV(@Param("param") ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* CP95条数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Integer getTotalCP95Day(@Param("param")ReportQueryParam param);
|
||||
/**
|
||||
* CP95条数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Integer getTotalPltCP95Day(@Param("param")ReportQueryParam param);
|
||||
/**
|
||||
* CP95条数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Integer getTotalPstCP95Day(@Param("param")ReportQueryParam param);
|
||||
|
||||
|
||||
List<ReportValue> getVVirtualData(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 获取有功功率
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getPowerP(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 无功功率
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getPowerQ(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 视在功率
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getPowerS(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 功率因数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getPF(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 短时闪变
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getFlickerData(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 长时闪变
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getLFlickerData(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 电压负偏差
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getUVdeviationData(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 电压正偏差
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getLVdeviationData(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 获取电压畸变率
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getDistortionDataV(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
* 获取电流畸变率
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getDistortionDataI(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
*频率
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getFrequencyData(@Param("param")ReportQueryParam param);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<ReportValue> getDEVFrequencyData(@Param("param")ReportQueryParam param);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?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.njcn.harmonic.mapper.RStatDataIDMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,905 @@
|
||||
<?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.njcn.harmonic.mapper.ReportMapper">
|
||||
<select id="getVirtualDataI" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_i_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
rms DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`;
|
||||
</select>
|
||||
<select id="getVirtualDataV" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
@rank := IF( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
rms DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getTotalCP95Day" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
count( rms ) total
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type IN ( 'A' )
|
||||
AND value_type = "CP95"
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getTotalPltCP95Day" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
count( plt ) total
|
||||
FROM
|
||||
r_stat_data_plt_d
|
||||
<where>
|
||||
phasic_type IN ( 'A' )
|
||||
AND value_type = "CP95"
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getTotalPstCP95Day" resultType="java.lang.Integer">
|
||||
SELECT
|
||||
count( plt ) total
|
||||
FROM
|
||||
r_stat_data_flicker_d
|
||||
<where>
|
||||
phasic_type IN ( 'A' )
|
||||
AND value_type = "CP95"
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getVVirtualData" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms_lvr as rms,
|
||||
@rank := IF( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
rms_lvr DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getPowerP" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
p as rms,
|
||||
@rank :=
|
||||
IF
|
||||
( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_harmpower_p_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' ,'T')
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN
|
||||
1
|
||||
WHEN value_type = 'MAX' THEN
|
||||
2
|
||||
WHEN value_type = 'MIN' THEN
|
||||
3
|
||||
WHEN value_type = 'AVG' THEN
|
||||
4 ELSE 5
|
||||
END
|
||||
),
|
||||
p DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getPF" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
pf as rms,
|
||||
@rank :=
|
||||
IF
|
||||
( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_harmpower_p_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' ,'T')
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN
|
||||
1
|
||||
WHEN value_type = 'MAX' THEN
|
||||
2
|
||||
WHEN value_type = 'MIN' THEN
|
||||
3
|
||||
WHEN value_type = 'AVG' THEN
|
||||
4 ELSE 5
|
||||
END
|
||||
),
|
||||
pf DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getPowerQ" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
q as rms,
|
||||
@rank :=
|
||||
IF
|
||||
( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_harmpower_q_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' ,'T')
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN
|
||||
1
|
||||
WHEN value_type = 'MAX' THEN
|
||||
2
|
||||
WHEN value_type = 'MIN' THEN
|
||||
3
|
||||
WHEN value_type = 'AVG' THEN
|
||||
4 ELSE 5
|
||||
END
|
||||
),
|
||||
q DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getPowerS" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
s as rms,
|
||||
@rank :=
|
||||
IF
|
||||
( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_harmpower_s_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' ,'T')
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN
|
||||
1
|
||||
WHEN value_type = 'MAX' THEN
|
||||
2
|
||||
WHEN value_type = 'MIN' THEN
|
||||
3
|
||||
WHEN value_type = 'AVG' THEN
|
||||
4 ELSE 5
|
||||
END
|
||||
),
|
||||
s DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getFlickerData" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
plt as rms,
|
||||
@rank :=
|
||||
IF
|
||||
( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_flicker_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN
|
||||
1
|
||||
WHEN value_type = 'MAX' THEN
|
||||
2
|
||||
WHEN value_type = 'MIN' THEN
|
||||
3
|
||||
WHEN value_type = 'AVG' THEN
|
||||
4 ELSE 5
|
||||
END
|
||||
),
|
||||
plt DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getLFlickerData" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
pst as rms,
|
||||
@rank :=
|
||||
IF
|
||||
( @CI = phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_flicker_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C')
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN
|
||||
1
|
||||
WHEN value_type = 'MAX' THEN
|
||||
2
|
||||
WHEN value_type = 'MIN' THEN
|
||||
3
|
||||
WHEN value_type = 'AVG' THEN
|
||||
4 ELSE 5
|
||||
END
|
||||
),
|
||||
pst DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`
|
||||
</select>
|
||||
<select id="getUVdeviationData" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
vu_dev as rms,
|
||||
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
vu_dev DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`;
|
||||
</select>
|
||||
<select id="getLVdeviationData" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
vl_dev as rms,
|
||||
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
vl_dev DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`;
|
||||
</select>
|
||||
<select id="getDistortionDataV" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
v_thd as rms,
|
||||
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
v_thd DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`;
|
||||
</select>
|
||||
<select id="getDistortionDataI" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
i_thd as rms,
|
||||
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_i_d
|
||||
<where>
|
||||
phasic_type IN ( 'A', 'B', 'C' )
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
i_thd DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`;
|
||||
</select>
|
||||
<select id="getFrequencyData" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
freq as rms,
|
||||
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type = 'T'
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
freq DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`;
|
||||
</select>
|
||||
<select id="getDEVFrequencyData" resultType="com.njcn.harmonic.pojo.vo.ReportValue">
|
||||
SELECT
|
||||
`phasic_type` AS phaseType,
|
||||
AVG( CASE WHEN value_type = 'AVG' THEN rms END ) AS meanValue,
|
||||
MIN( CASE WHEN value_type = 'MIN' THEN rms END ) AS minValue,
|
||||
MAX( CASE WHEN value_type = 'MAX' THEN rms END ) AS fmaxValue,
|
||||
MAX( CASE WHEN rank = #{param.count} THEN rms END ) AS cp95Value
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
rms,
|
||||
rank
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
phasic_type,
|
||||
value_type,
|
||||
freq_dev as rms,
|
||||
@rank := IF( @CI := phasic_type, @rank + 1, 1 ) AS rank,
|
||||
@CI := phasic_type
|
||||
FROM
|
||||
r_stat_data_v_d
|
||||
<where>
|
||||
phasic_type = 'T'
|
||||
and quality_flag = 0
|
||||
<if test="param.startTime != null and param.startTime != ''">
|
||||
and `time` >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param.endTime != null and param.endTime != ''">
|
||||
and `time` <= #{param.endTime}
|
||||
</if>
|
||||
<if test="param.lineId != null and param.lineId != ''">
|
||||
and line_id = #{param.lineId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY
|
||||
phasic_type,
|
||||
(
|
||||
CASE
|
||||
WHEN value_type = 'CP95' THEN 1
|
||||
WHEN value_type = 'MAX' THEN 2
|
||||
WHEN value_type = 'MIN' THEN 3
|
||||
WHEN value_type = 'AVG' THEN 4
|
||||
ELSE 5
|
||||
END
|
||||
),
|
||||
freq_dev DESC
|
||||
) AS t1
|
||||
) a
|
||||
GROUP BY
|
||||
`phasic_type`;
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user